DWD_OpenData

Aus FHEMWiki
Wechseln zu: Navigation, Suche


DWD_OpenData
Zweck / Funktion
Daten vom DWD OpenData Server abrufen
Allgemein
Typ Gerätemodul
Details
Dokumentation EN / DE
Support (Forum) Unterstützende Dienste/Wettermodule
Modulname 55_DWD_OpenData.pm
Ersteller JensB
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!


Der Deutsche Wetterdienst (DWD) stellt Wetterdaten über den Open Data Server zur Verfügung. Die Verwendung dieses Dienstes und der vom DWD zur Verfügung gestellten Daten unterliegt den auf der OpenData Webseite beschriebenen Bedingungen. Einen Überblick über die verfügbaren Daten findet man in der Tabelle OpenData_weather_content.xls.


Anwendung

Aufgrund der unterschiedlichen vom DWD bereitgestellten Datenformate benötigt das Modul zur Dekodierung je nach gewünschtem Funktionsumfang zusätzliche Perl-Module, die nicht standardmäßig vorinstalliert sind und je nach Systemkonfiguration nachinstalliert werden müssen. Außerdem unterstützt das Modul Zeitzonen, um z.B. die Wettervorhersage internationaler Stationen in Ortszeit darstellen zu können. Hierfür sind je nach Systemkonfiguration weitere Einstellungen erforderlich. Auch die Sprache der Wochentage für die Wettervorhersage ist frei wählbar. Je nach Systemkonfiguration ist aber die Standardsprache u.U. auf Englisch eingestellt, was weitere Anpassungen der Systemkonfiguration erforderlich macht.

Vorbereitung

Im folgenden wird z.T. von einem System mit Rasbian oder Debian mit System-V Startsystem ausgegangen. Auf anderen Betriebssystemen und auf Systemen mit System-D müssen die Installationsschritte ggf. angepasst werden.


1. Für die Wettervorhersage: Installation des Perl-Moduls Text::CSV_XS in Version 0.40 oder höher über die System-Kommandozeile mit

 sudo apt-get install libtext-csv-xs-perl 

oder mit CPAN.


2. Für die Wetterwarnungen: Installation des Perl-Moduls XML::LibXML über die System-Kommandozeile mit

 sudo apt-get install libxml-libxml-perl

oder mit CPAN.


3. Falls man einen eigenen Internet-Proxy nutzt: Die Konfiguration des Proxies für FHEM erfolgt z.B. durch Eintrag von

 attr global proxy <myProxyHost>:<myProxyPort>

in die Konfiguration, wobei myProxyHost durch den Namen oder die IP-Adresse des Proxy-Servers ersetzt werden muss und für myProxyPort der Port des Proxy-Servers eingetragen werden muss (oft 3128).


4. FHEM Uhrzeit und Zeitzone: Durch Eingabe von

 {localtime()}

in die FHEM-Kommandozeile überprüfen, ob die FHEM-Uhrzeit plausibel ist. Ist dies nicht der Fall sollten die Uhrzeit auf Systemebene überprüft werden und ggf. die Systemeinstellungen angepasst werden. Ermitteln der Bezeichnung der eigenen Zeitzone über die System-Kommandozeile mit

  tzselect

und diese Bezeichnung in die Datei /etc/timezone eintragen und

 export TZ=`cat /etc/timezone`

der Datei /etc/profile hinzufügen und dann das System neu starten. Nun muss die Zeitanzeige in FHEM korrekt sein.


5. FHEM Sprache: Durch Eingabe von

 {localtime()}
in die FHEM-Kommandozeile überprüfen, in welcher Sprache der Wochentag angezeigt wird. Stimmt die Sprache nicht, dann auf der System-Kommandozeile
 dpkg-reconfigure locales
eingeben und aus der Liste z.B. de_DE.UTF-8 zusätzlich auswählen. Mit Eingabe von
 locale -a
auf der System-Kommandozeile überprüfen, ob die ausgewählte Sprache nun zur Verfügung steht. Durch Hinzufügen von z.B.
 export LANG=de_DE.UTF-8
in die Datei /etc/init.d/fhem (irgendwo zwischen start und perl) und anschließendem Neustart von FHEM wird die Sprache für FHEM eingestellt. Nun muss die Wochentagsanzeige in FHEM korrekt sein.


6. Für den Weblink: Installation des Perl-Moduls DateTime über die System-Kommandozeile mit

 sudo apt-get install libdatetime-perl

oder mit CPAN.


Define

siehe Commandref.

Attributes

siehe Commandref.

Anwendungsbeispiele

Beispiel zur Modul-Einrichtung

  • Wettervorhersage

Für die Wettervorhersage muss der Stationscode ermittelt werden. Dazu den MOSMIX Stationskatalog herunterladen, öffnen und die gewünschte Station heraussuchen. Einen Teil der deutschen Stationen kann man auch der Bodenmessnetzkarte entnehmen. Den ermittelten Stationscode kann man dann entweder für eine Einzelabfrage als Parameter für das Kommando get forecast verwenden oder für die automatische Aktualisierung als Attribut forecastStation hinterlegen.

  • Wetterwarnungen

Für die Wetterwarnungen muss die Warnzelle ermittelt werden. Dazu Warnzellen-ID Katalog herunterladen, öffnen und die gewünschte Warnzelle heraussuchen. Unterstützt werden Gemeinden (beginnen mit 8), Landkreise (beginnen mit 1 oder 9) oder Küste (beginnen mit 5). Die Warnzellen-ID kann man dann entweder für eine Einzelabfrage als Parameter für das Kommando get alerts verwenden oder für die automatische Aktualisierung als Attribut alertArea hinterlegen. Die Warnzellen-ID ist ab der 2. Stelle identisch mit den ersten Ziffern des amtlichen Gemeindeschlüssels. Man kann z.B. den Namen von Gemeinde oder Landkreis bei den Statistischen Ämtern des Bundes und der Länder eingeben, den amtlichen Gemeindeschlüssels ermitteln und dann mit vorangestellter 1, 8 oder 9 im Warnzellen-ID Katalog des DWD nach einem Eintrag mit exakter oder weitgehender Übereinstimmung suchen. Wem das zu kompliziert vorkommt, kann bei mehrdeutigen Gemeinde- bzw. Landkreisbezeichnungen auch versuchen auszuprobieren, welche die richtige Wanrzellen-ID ist.

Um das Modul mit automatisch Aktualisierung von Vorhersage und Wetterwarnungen zu nutzen, kann z.B. folgendes in die Konfiguration eingetragen werden:

 define DWD DWD_OpenData
 attr DWD alertArea 111000000
 attr DWD forecastStation 99810
 attr DWD forecastDays 3
 attr DWD forecastWW2Text 1

Weitere Details zur Installation und Konfiguration finden sich in der Commandref.

Beispiel für die Einrichtung eines Weblinks

Zur graphischen Darstellung der Vorhersage und der Wetterwarnungen steht ein Weblink zur Verfügung.

Die Datei DWDODweblink.pm herunterladen, in das Modulverzeichnis fhem/FHEM kopieren, irgendwo hinter package main in die Datei 99_myUtils.pm (nicht verwechseln mit 99_Utils.pm!) den Eintrag

 eval "use DWDODweblink;";
hinzufügen und FHEM neu starten. Nun kann in die Konfiguration z.B. folgendes eingetragen werden:
 define DWDweblink weblink htmlCode { DWDOD_AsHtmlH("DWD", 4, 0) }

Weitere Details zur Installation und Konfiguration finden sich am Ende der Datei DWDODweblink.pm, die man dazu mit einem Texteditor öffnen sollte, da Weblinks nicht in der Commandref aufgeführt werden.

Hier ein Ausschnitt aus der Darstellung des Weblinks mit FHEMWEB:

DWDODweblink.png