UWZ: Unterschied zwischen den Versionen
K (Änderungen von Soulman (Diskussion) wurden auf die letzte Version von Ph1959de zurückgesetzt) |
Tdoe (Diskussion | Beiträge) (→Define) |
||
Zeile 20: | Zeile 20: | ||
== Anwendung == | == Anwendung == | ||
=== Define === | === Define === | ||
Abhängig davon ob man Unwetterwarnungen aus Deutschland oder einem anderen Land abfragen möchte, muss für das Attribut PLZ entweder die Postleitzahl (Deutschland) oder die AREA_ID (Rest der Welt) verwendet werden. | |||
'''Deutschland:''' | |||
define <name> UWZ <Ländercode> <PLZ> <INTERVAL> | |||
'''Rest der Welt:''' | |||
define <name> UWZ <Ländercode> <AREA_ID> <INTERVAL> | |||
Die AREA_ID kann folgendermaßen ermittelt werden: | |||
== 1. Geokoordinaten ermitteln == | |||
Dazu wird folgende URL aufgerufen, und am Ende der URL bei dem search Parameter den Namen des Ortes eingegeben. Im Fall von Oberwaltersdorf AT: | |||
http://alertspro.geoservice.meteogroup.de/weatherpro/SearchFeed.php?search=oberwalt | |||
Als Antwort bekommt man ein XML mit gefundenen Orten: | |||
<result> | |||
<cities previousOffset="-1" nextOffset="-1"> | |||
<city country="49" city="8512" id="18226609" country-name="Germany" province-name="Bavaria" continent="6" inhabitants="7500" longitude="12.17092" latitude="48.57422" name="Oberwaltenkofen (Ergolding)" timezone="Europe/Berlin"/> | |||
<city country="49" city="8671" id="18226768" country-name="Germany" province-name="Bavaria" continent="6" inhabitants="4000" longitude="12.51418" latitude="48.77301" name="Oberwalting (Leiblfing)" timezone="Europe/Berlin"/> | |||
<city country="43" city="1161" id="18134912" country-name="Austria" province-name="Niederösterreich" continent="6" inhabitants="2500" longitude="16.3203" latitude="47.9756" name="Oberwaltersdorf" timezone="Europe/Vienna"/> | |||
<city country="43" city="1305915" id="182199490" country-name="Austria" province-name="Niederösterreich" continent="6" inhabitants="150" longitude="15.0844" latitude="48.5394" name="Oberwaltenreith" timezone="Europe/Vienna"/> | |||
</cities> | |||
</result> | |||
Dort sucht man sich die beiden Attribute latitude und longitude für den passenden Ort heraus. Im verwendeten Beispiel wäre es für Oberwaltersdorf in Österreich: | |||
longitude="16.3203" | |||
latitude="47.9756" | |||
== 2. AREA_ID abfragen == | |||
Mit diesen Werten wird nun die nächste URL zusammengebaut (Parameter lat + lon): | |||
http://feed.alertspro.meteogroup.com/AlertsPro/AlertsProPollService.php?method=lookupCoord&lat=47.9756&lon=16.3203 | |||
Das Resultat: | |||
[{"AREA_TYPE":"UWZ","AREA_ID":"UWZAT00234","CENTER_ID":"2"}] | |||
Nun wissen wir dass die AREA_ID für Oberwaltersdorf: | |||
UWZAT00234 | |||
Bei dem Define wird nun die Nummer 00234 anstelle der PLZ, und AT bei dem Ländercode verwendet | |||
define Unwetterzentrale UWZ AT 00234 3600 | |||
=== Attribute === | === Attribute === |
Version vom 22. Juli 2015, 23:05 Uhr
ContribModul | |
---|---|
Zweck / Funktion | |
Daten von Unwetterzentrale.de holen | |
Allgemein | |
Typ | Contrib |
Details | |
Dokumentation | Thema |
Support (Forum) | Unterstützende Dienste |
Modulname | 77_UWZ.pm |
Ersteller | Tobias (tdoe ) |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
Das Modul UWZ holt Informationen für eine zu spezifizierende Postleitzahl von der Seite Unwetterzentrale.de und bereitet sie für die Darstellung in Fhem auf.
Voraussetzungen
Installation
Das Modul ist derzeit noch inoffiziell und kann / muss
- aus dem zugehörigen Forenthread (Siehe Zeile "Dokumentation" in der Infobox) geladen werden
- oder über den Befehl
update 77_UWZ.pm https://raw.githubusercontent.com/tobias-d-oe/fhem-uwz/master/control-uwz.txt
installiert / aktualisiert werden.
Anwendung
Define
Abhängig davon ob man Unwetterwarnungen aus Deutschland oder einem anderen Land abfragen möchte, muss für das Attribut PLZ entweder die Postleitzahl (Deutschland) oder die AREA_ID (Rest der Welt) verwendet werden.
Deutschland:
define <name> UWZ <Ländercode> <PLZ> <INTERVAL>
Rest der Welt:
define <name> UWZ <Ländercode> <AREA_ID> <INTERVAL>
Die AREA_ID kann folgendermaßen ermittelt werden:
1. Geokoordinaten ermitteln
Dazu wird folgende URL aufgerufen, und am Ende der URL bei dem search Parameter den Namen des Ortes eingegeben. Im Fall von Oberwaltersdorf AT:
http://alertspro.geoservice.meteogroup.de/weatherpro/SearchFeed.php?search=oberwalt
Als Antwort bekommt man ein XML mit gefundenen Orten:
<result> <cities previousOffset="-1" nextOffset="-1"> <city country="49" city="8512" id="18226609" country-name="Germany" province-name="Bavaria" continent="6" inhabitants="7500" longitude="12.17092" latitude="48.57422" name="Oberwaltenkofen (Ergolding)" timezone="Europe/Berlin"/> <city country="49" city="8671" id="18226768" country-name="Germany" province-name="Bavaria" continent="6" inhabitants="4000" longitude="12.51418" latitude="48.77301" name="Oberwalting (Leiblfing)" timezone="Europe/Berlin"/> <city country="43" city="1161" id="18134912" country-name="Austria" province-name="Niederösterreich" continent="6" inhabitants="2500" longitude="16.3203" latitude="47.9756" name="Oberwaltersdorf" timezone="Europe/Vienna"/> <city country="43" city="1305915" id="182199490" country-name="Austria" province-name="Niederösterreich" continent="6" inhabitants="150" longitude="15.0844" latitude="48.5394" name="Oberwaltenreith" timezone="Europe/Vienna"/> </cities> </result>
Dort sucht man sich die beiden Attribute latitude und longitude für den passenden Ort heraus. Im verwendeten Beispiel wäre es für Oberwaltersdorf in Österreich:
longitude="16.3203" latitude="47.9756"
2. AREA_ID abfragen
Mit diesen Werten wird nun die nächste URL zusammengebaut (Parameter lat + lon):
http://feed.alertspro.meteogroup.com/AlertsPro/AlertsProPollService.php?method=lookupCoord&lat=47.9756&lon=16.3203
Das Resultat:
[{"AREA_TYPE":"UWZ","AREA_ID":"UWZAT00234","CENTER_ID":"2"}]
Nun wissen wir dass die AREA_ID für Oberwaltersdorf:
UWZAT00234
Bei dem Define wird nun die Nummer 00234 anstelle der PLZ, und AT bei dem Ländercode verwendet
define Unwetterzentrale UWZ AT 00234 3600
Attribute
Siehe Dokumentation.