Benutzer-Werkzeuge

Webseiten-Werkzeuge


php:meteomatics

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

php:meteomatics [2023/03/23 14:07]
webproducer angelegt
php:meteomatics [2023/03/23 15:18] (aktuell)
webproducer mehrere Parameter abfragen
Zeile 1: Zeile 1:
 ====== Wetterbericht mit PHP abfragen ====== ====== Wetterbericht mit PHP abfragen ======
  
-Meteomatics stellt eine kostenlose (bis zu 500 Abfragen/​Tag) API zur Verfügung um Wetterinformationen per Schnittstelle abrufen zu können. Mit dem folgendem Beispiel kann die aktuelle Temperatur abgerufen werden um z. B. Rollläden automatisch steuern zu können. Voraussetzung zur Nutzung ist eine kostenfreie Registrierung. ​Nach der Registrierung werden die für die Abfrage benötigten Zugangsdaten per E-Mail zugesandt.+[[https://​www.meteomatics.com/​de/​|Meteomatics]] stellt eine kostenlose (bis zu 500 Abfragen/​Tag) API zur Verfügung um Wetterinformationen per Schnittstelle abrufen zu können. Mit dem folgendem Beispiel kann die aktuelle Temperatur abgerufen werden um z. B. Rollläden automatisch steuern zu können. Voraussetzung zur Nutzung ist eine kostenfreie Registrierung. ​Unmittelbar nach der Registrierung werden die für die Abfrage benötigten Zugangsdaten per E-Mail zugesandt.
  
 <code php> <code php>
Zeile 10: Zeile 10:
 $benutzer = '​BENUTZER';​ $benutzer = '​BENUTZER';​
 $kennwort = '​KENNWORT';​ $kennwort = '​KENNWORT';​
 +
 +$parameter[] = '​t_2m:​C'; ​           // aktuelle Temparatur
 +$parameter[] = '​t_max_2m_24h:​C'; ​   // hoechstwert in 24 Stunden
 +$parameter[] = '​sunset:​sql'; ​       // Sonnenuntergang
 +
 +date_default_timezone_set( '​Europe/​Berlin'​ );
  
 /​************* KONFIGURATION ENDE *************/​ /​************* KONFIGURATION ENDE *************/​
Zeile 16: Zeile 22:
 $time       = date( '​H:​i:​s'​ ); $time       = date( '​H:​i:​s'​ );
 $datetime ​  = sprintf( '​%sT%sZ',​ $date, $time ); $datetime ​  = sprintf( '​%sT%sZ',​ $date, $time );
 +$params ​    = implode( ',',​ $parameter );
 $latlng ​    = str_replace( ' ', '',​ $latlng ); $latlng ​    = str_replace( ' ', '',​ $latlng );
  
 $url        = '​https://​api.meteomatics.com';​ $url        = '​https://​api.meteomatics.com';​
 $splitUrl ​  = explode( '//',​ $url ); $splitUrl ​  = explode( '//',​ $url );
-$realUrl ​   = sprintf( '​%s//​%s:​%s@%s/​%s/​t_2m:C/​%s/​json',​ $splitUrl[0],​ $benutzer, $kennwort, $splitUrl[1],​ $datetime, $latlng );+$realUrl ​   = sprintf( '​%s//​%s:​%s@%s/​%s/​%s/​%s/​json',​ $splitUrl[0],​ $benutzer, $kennwort, $splitUrl[1],​ $datetime, $params, $latlng );
 $json       = file_get_contents( $realUrl ); $json       = file_get_contents( $realUrl );
 $result ​    = json_decode( $json ); $result ​    = json_decode( $json );
  
-$temparatur = $result -> data[0] -> coordinates[0] -> dates[0] -> value;+foreach( ​$parameter as $param ) 
 +
 +    foreach( ​$result->​data ​as $data ) 
 +    { 
 +        if( $data->​parameter === $param ) { 
 +            $resultArr[$param= $data -> coordinates[0] -> dates[0] -> value; 
 +        } 
 +    } 
 +}
  
-echo "​Temparatur:​ " . $temparatur;+var_dump( ​$resultArr );
  
 </​code>​ </​code>​
php/meteomatics.1679576844.txt.gz · Zuletzt geändert: 2023/03/23 14:07 von webproducer