GDS

Aus FHEMWiki
Version vom 21. Februar 2015, 11:42 Uhr von Motivierte linke Hände (Diskussion | Beiträge) (Neu angelegt, Daten aus CommandRef und 19 Seiten Thread zusammengeführt)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
GDS
Zweck / Funktion
Herunterladen und Auswerten von Daten des Deutschen Wetterdienstes
Allgemein
Typ Gerätemodul
Details
Dokumentation EN / DE
Thema
Support (Forum) Unterstuetzende Dienste
Modulname 55_GDS.pm
Ersteller betateilchen
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!

GDS ist ein Modul, mit dessen Hilfe man sich die Daten des Deutschen Wetterdienstes herunterladen kann und dann Wetterlage, diverse Wetterkarten und/oder Unwettermeldungen anzeigen/auswerten kann.

Voraussetzungen

Anmeldung beim DWD

Als erstes muss man sich beim Deutschen Wetterdienst zur Grundversorgung kostenlos anmelden.

Installation der benötigten Perl-Module

GDS benötigt die Perl-Module Net::FTP, List::MoreUtils, XML::Simple, Text::CSV.

Für Ubuntu und Raspi sollte funktionieren:

apt-get install libnet-lite-ftp-perl liblist-moreutils-perl libxml-simple-perl libtext-csv-perl

Das ftp-Modul verursacht manchmal Probleme bei der Installation. Teilweise ist es wohl auch schon in der Grundinstallation vorhanden, ansonsten kann man versuchen:

apt-get install libnet-ftp-perl

oder

apt-get install libwww-perl

Anwendung

Define

define [gdsName] GDS [gdsUsername] [gdsPasswort]

[gdsUsername] und [gdsPasswort] gibt es nach Anmeldung vom DWD.

Attribute

Die vollständige Liste der Attribute ist in der commandref.

Station setzen, für die beim fhem-Start die Daten eingelesen werden sollen:

attr [gdsName] gdsSetCond [Station]

Hilfreich kann u.a. sein, wenn man hinter eine Firewall sitzt und der Datenabruf nicht funktioniert:

attr [gdsName] gdsPassiveFtp 1

Anwendung

Liste der verfügbaren Wetterstationen abrufen

get [gdsName] list stations

Manuelle Aktualisierung der Daten

Aktuelle Daten vom Server abrufen

set [gdsName] rereadcfg

Readings aus abgerufenen Daten aktualisieren

set [gdsName] update

Station setzen für automatischen, periodischen Abruf

set [gdsName] [Station]

Unwetterwarnungen aus gelesenen Daten raussuchen

set [gdsName] warnings [Region]

z.B.: set gds warn Nordrhein-Westfalen

Die Region kann ausgeschrieben oder mit den offiziellen Abkürzungen bezeichnet werden.

Aktuelles Wetter abrufen

get [gdsName] conditions [Station]

Karten abrufen

Wetterlage: get [gdsName] conditionsmap [Station]

Vorhersage: get [gdsName] forecastsmap [Station]

Warnungen: get [gdsName] warningsmap [Station]

Radar: get [gdsName] radarmap [Station]

Anwendungsbeispiele

Für GDS sollten die Daten regelmäßig aktualisiert werden. Dafür richtet man am besten zwei zeitlich nacheinander laufende ats ein:

Einen zum Holen aktualisierter Daten vom Server:

define readGDS at +*00:10:00 get [gdsName] rereadcfg 
attr readGDS alignTime 22:30:05 

Einen zweiten, der danach läuft, der aus den aktualisierten Serverdaten dann die Readings aktualisiert; z.B. für die Alerts:

define checkGDS at +*00:10:00 get [gdsName] alerts [Region] 
attr checkGDS alignTime 22:35:05

Wichtig ist, dass beide at zeitlich auseinander liegen, im vorstehenden Beispiel durch die unterschiedlichen "alignTime" Attribute um 5 Minuten.

Karten regelmäßig vom Server neu laden

define Karten at +*00:30:00 get DWD radarmap Nordost; get DWD conditionsmap Nordost; get DWD warningsmap Berlin