Modul für DWD Open Data

Begonnen von jensb, 21 Januar 2018, 14:38:48

Vorheriges Thema - Nächstes Thema

Tutti_Bomovski

Wie ist denn eine automatische Aktualisierung der Warnungen (Alerts) und der Vorhersage (Forecast) möglich?
Ich muss doch nicht manuell updaten oder?

sinus61

Passiert doch Automatisch, Alerts alle 15 min, Forecast einmal pro Stunde. Bei Dir nicht?

Tutti_Bomovski

Zitat von: sinus61 am 09 März 2019, 16:17:30
Passiert doch Automatisch, Alerts alle 15 min, Forecast einmal pro Stunde. Bei Dir nicht?
wenn ich das richtig mitbekommen habe, dann nicht...
Ich werde das aber noch mal beobachten.

jensb

@Tutti_Bomovski
Zitatwenn ich das richtig mitbekommen habe, dann nicht...
Eine automatische Aktualisierung wird nur durchgeführt, wenn die Attribute alertArea und forecastStation gesetzt sind.

Grüße,
Jens
FHEM 6.1 - RPi 4 Raspbian 12 + PiTFT - OPi Zero Armbian 5.35
EnOcean - (W)LAN/Firmata: BMP180, TSL2561, SHT21, Heatronic 3, OBIS - WLAN/ESP8266: Gardena 1251, Zirkulationspumpe - RTL433: Oregon - Bluetooth - MQTT
Contributions: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/jensb

Tutti_Bomovski

Zitat von: jensb am 10 März 2019, 11:33:39
@Tutti_BomovskiEine automatische Aktualisierung wird nur durchgeführt, wenn die Attribute alertArea und forecastStation gesetzt sind.

Grüße,
Jens

Danke für die Information! Aktualisierung erfolgt.
Wie bereits in einem anderen Beitrag https://forum.fhem.de/index.php/topic,98363.msg917058.html#msg917058 beschrieben würde ich jetzt nur noch gerne aufgrund der Warnmeldungen auch Infos per Telegram versenden.

jensb

Auf GitHub gibt es eine neue Version des DWD_OpenData-Moduls mit folgenden Änderungen:


  • neue Vorhersage-Readings SunRise und SunSet
  • SunUp wird nun auf Basis der theoretischen Sichtbarkeit der Sonnenoberkante (ca. -0.9° + Standort-Höhenanteil) und nicht mehr nach der Nautischen Dämmung (-12° Elevation) bestimmt - der Tag beginnt damit wieder etwas später

Die beiden neuen Readings waren für mich die logische Erweiterung der zuvor eingeführten Sonnenpostions-Readings. Der Aufwand war jedoch sehr viel größer als von mir zunächst angenommen. Das lag an mehreren Komponenten:

Beim Sonnenpositions-Code aus dem Twilight-Modul ist mir die "wahre" Herkunft des Algorithmus nicht klar geworden, weshalb ich diesen Codeanteil ersetzt habe. Der neue Code hat einen in Astronomiekreisen bekannten Schöpfer.

Dann bin ich davon ausgegangen, dass man aus dem Sonnenpostions-Algorithmus die Zeiten für Sonnenaufgang und Sonnenuntergang ermitteln kann, z.B. durch Differenzierung, Nullstellenbestimmung o.ä. Doch Astronomen ticken da anders - es gibt für die Berechnung dieser Zeiten sogar diverse Ansätze. Der von mir gewählte iterative Algorithmus (Stundenwinkeldifferenzminimierung) stammt von unseren seefahrenden Nachbarn und ist komplexer als der für den Sonnenstand und deshalb hat die Implementierung und Validierung etwas gedauert. Die Sonnenauf- und -untergangszeiten wichen unabhängig vom gewählten Standort bei den von mir durchgeführten Stichproben meist um weniger als 2 Minuten von denen der National Oceanic and Atmospheric Administration ab. Nicht funktionieren dürfte der Code für die Polarregionen - hierfür müssten noch die Sonderfälle "Sonne geht nie auf bzw. unter" erkannt und verarbeitet werden.

Nicht gefallen tut mir, dass im DWD_OpenData-Modul die vermutlich vierte Sonnenparameterberechung von FHEM steckt - die anderen mir bekannten stecken in SUNRISE_EL, Astro und Twilight. Nur SUNRISE_EL ist so aufgebaut, dass man es aus anderen Modulen aufrufen kann und es hat die meisten Gemeinsamkeiten mit dem von mir gewählten Ansatz, verzichtet aber auf die von mir implementierte Genauigkeitsoptimierung, den Betrachter-Zeitzonenbezug und ein paar andere Details. Astro und Twilight sind wie das DWD_OpenData-Modul keine Funktionsmodule (lassen sich also nicht ohne weiteres in anderen Modulen), wobei Astro einen anderen wissenschaftlichen Ansatz als SUNRISE_EL und DWD_OpenData verwendet und Twilight die Daten gar nicht selbst berechnet sondern von einem Webdienst übernimmt. Wer sich mit der Theorie einmal auseinander gesetzt hat, den dürfte es nicht wundern, dass keine der 4 Ansätze die gleichen Werte liefern. Welcher Algorithmus der "wahre" ist, muss jeder selbst entscheiden. Meiner Ansicht nach würde es sich anbieten, SUNRISE_EL zu erweitern und den Code aus dem DWD_OpenData-Modul wieder zu entfernen.

Wie immer sind Rückmeldungen gewünscht.

Grüße,
Jens
FHEM 6.1 - RPi 4 Raspbian 12 + PiTFT - OPi Zero Armbian 5.35
EnOcean - (W)LAN/Firmata: BMP180, TSL2561, SHT21, Heatronic 3, OBIS - WLAN/ESP8266: Gardena 1251, Zirkulationspumpe - RTL433: Oregon - Bluetooth - MQTT
Contributions: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/jensb

sinus61

Hab es gerade probiert, funktioniert alles. Da ich eh gerade Twilight überall ausbaue und da wo es brauche SUNRISE_EL nutze ist es zumindest interessant einen Vergleichswert zu haben. SUNRISE_EL ist ja auch praktisch weil man es überall in FHEM nutzen kann und auch leicht einen Offset mitgeben kann da man für bestimmte Anwendungen vielleicht etwas früher oder später etwas ausführen will.

Twilight war ansonsten wegen der Kombination mit den Wetterdaten interessant, aber das hat nur mit Yahoo einigermaßen funktioniert, mit externen Werten eher schlecht. Hier setze ich jetzt auf eine eigene Helligkeitsmessung.

Ansonsten weichen ja die Angaben aus SUNRISE_EL, Twilight und jetzt dem DWD Modul schon alle etwas voneinander ab, eben so wenn man sich verschiedene Webdienste zum Vergleich anschaut.

Immerhin, wenn ich einfach "heute sonnenuntergang" oder "heute sonnenaufgang" in die Googlesuche eingebe liefert Google mir für meinen Standort exakt die Angaben die auch aus dem DWD Modul kommen.

mi.ke

#562
Moin,

erstmal, vielen Dank für das Modul !

Ich nutze z.Z. ausschliesslich die Unwetterwarnungen. Das funktioniert auch sehr gut.

Nach den Sturmwarnungen heute ging der a_count zeitweilen auf 3 hoch.
Das Problem ist dann aufgekommen, dass die Gewichtung, welche Meldung ist a_0_.* und welche a_1_.* etc. nach a_?_onset sortiert ist und nicht nach a_?_severity. Die rote (jüngste) Meldung wurde also als a_3_.* angezeigt.

Was schön wäre, wenn das Modul die Readings a_[0-9]_.* z.B. nach "a_1_severity" sortiert oder alternativ, die neuste und schwerwiegenste Meldung ohne Nummerierung also a_.* anzeigt.

Vielleicht gibt es auch schon eine bestehende Möglichkeit, die ich übersehen oder in der DWD Open Data-Doku nicht gefunden habe.

Oder anders gefragt, wie macht Ihr das, oder geht das z.Z. einfach nicht?

Vielen Dank und Grüße

Cheers
mi.ke


FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

curt

Hallo @mi.ke

schau Dir -falls Du das nicht kennst- mal bitte das hier an:
https://forum.fhem.de/index.php?topic=97204.new;topicseen#new
RPI 4 - Jeelink HomeMatic Z-Wave

mi.ke

Zitat von: curt am 10 März 2019, 20:04:00
schau Dir -falls Du das nicht kennst- mal bitte das hier an:
https://forum.fhem.de/index.php?topic=97204.new;topicseen#new

Das hat leider überhaupt nichts mit meiner Frage zu tun.
Ich nutze weder FTUI  noch will ich Icons darstellen.
FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

Nitaro

Guten Morgen zusammen,

ich habe im wiki gelesen, dass bei Wetterwarnungen die Warnzellen beginnend mit 1,2,5,8,9 beginnend unterstützt werden.
Meine Warnzellen ID, beginnend mit 8 oder anderen, werden nicht mehr unterstützt da die Zellen aufgesplittet wurden und nun
mit 7 beginnen. Ist es möglich auch diese "funktionsfähig" zu bekommen ?

Gruß
Nitaro

mi.ke

Zitat von: Nitaro am 11 März 2019, 10:27:27
ich habe im wiki gelesen, dass bei Wetterwarnungen die Warnzellen beginnend mit 1,2,5,8,9 beginnend unterstützt werden.
Meine Warnzellen ID, beginnend mit 8 oder anderen, werden nicht mehr unterstützt da die Zellen aufgesplittet wurden und nun
mit 7 beginnen. Ist es möglich auch diese "funktionsfähig" zu bekommen ?

Schon versucht Deine 7er ID in "alertArea" einzutragen?

cheers
mi.ke
FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

Nitaro

Zitat von: mi.ke am 11 März 2019, 10:49:06
Schon versucht Deine 7er ID in "alertArea" einzutragen?

Jup, bekomme ich immer
alerts cache update in progress, please wait and try again

Gebe ich dann wieder die eines anderen Kreises an, bekomme ich direkt aktualisierte Readings.

mi.ke

Zitat von: Nitaro am 11 März 2019, 11:28:23
Gebe ich dann wieder die eines anderen Kreises an, bekomme ich direkt aktualisierte Readings.

Du kannst nur Daten abrufen, die von DWD bereitgestellt werden.
Da hilft nix, Du musst Dir eine andere ID wählen, die bei Dir räumlich am nähsten ist.
FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

Nitaro

Zitat von: mi.ke am 11 März 2019, 11:33:54
Du kannst nur Daten abrufen, die von DWD bereitgestellt werden.
Da hilft nix, Du musst Dir eine andere ID wählen, die bei Dir räumlich am nähsten ist.

Ok, danke.