Modul für DWD Open Data

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

Vorheriges Thema - Nächstes Thema

MadMax-FHEM

Ein Update der Paketlisten (apt-get update) empfiehlt sich IMMER bevor man Pakete installiert...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Da_Erdinga

Hallo Zusammen,


Nachdem ich das Update und die Libdatetime-perl installiert habe geht jetzt alles.


Vielen Dank nochmals.
Viele Grüsse aus Bayern.

Dirk

curt

Zitat von: MadMax-FHEM am 15 November 2018, 09:13:24
Ein Update der Paketlisten (apt-get update) empfiehlt sich IMMER bevor man Pakete installiert...

Da hielt ich nicht für erwähnenswert - ich würde allerdings weitergehen: Ich würde vorher das System auf den neuesten Stand bringen wollen:


sudo apt-get update && sudo apt-get upgrade


@Da_Erdinga
Obige Befehlskette bringt Dein Ubuntu/Debian/Raspian als Bestriebssystem auf den neuesten Stand der Dinge. Sollte man ab und an tun. Ach so: Datensicherung ...
RPI 4 - Jeelink HomeMatic Z-Wave

curt

#333
@jensb
Zitat von: jensb am 21 Januar 2018, 14:38:48
Die Vorhersagedaten sind relativ detailliert im 3 Stunden Raster.

Hallo Jens,
sage bitte nicht "lies die Doku beim DWD" - Du kannst meine Fragen in 30 Sekunden beantworten, während ich Stunden oder Tage unterwegs bin:

* Das bedeutet faktisch, dass es im Vorhersagebereich (der Tag übermorgen) keine Minimal/Maximalwerte gibt?

* Wie ist dieses Drei-Stundenraster aufgeteilt, wie erkenne ich das an den Variablen? Zwei Beispiele EINER Variablen reichen mir.

Ich danke Dir sehr.

P.S: Ach so, Hintergrund: Wir (sind derzeit mehrere) schauen grad, wie wir das mit dem FTUI-Widget "weather" zusammenbringen können.
RPI 4 - Jeelink HomeMatic Z-Wave

jensb

@curt
Ich habe prinzipiell kein Problem damit konkreten Fragen zu beantworten, im Gegenteil.

Die Beschreibung der Daten habe ich in der Commandref nur andeuten können. Die Daten stammen ja vom DWD und nicht von mir, und die DWD-Doku, die ich bisher gelesen habe, geht darauf auch nicht konkret ein.

Zunächst einmal ist der Link für die Vorhersagedaten seit der letzten Umstellung beim DWD nun https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_L/single_stations/. Die KMZ-Dateien lassen sich in .ZIP umbenennen und dann findet man KML-Dateien mit XML-Format im ZIP-Archiv.

Die "alten" CSV hatten Daten für Zeitstempel, die 3 Stunden auseinander liegen. Die neuen KML-Daten liegen sogar stündlich vor (siehe ForecastTimeSteps in der KML-Datei). Das OpenData-Modul liest die gesamte KML-Datei ein und wandelt je nach Attribut forecastResolution die entsprechenden Rohdaten in Readings um. Dabei werden nur Reading berücksichtigt, die ein vielfaches der forecastResolution sind.

Beispiel: forecastResolution=3, fc0_0_... = Tag 0, Index 0 -> 0*3 = 0-2 h nach 0:00, fc0_1_... = Index 1 -> 1*3 = 3-5 h nach 0:00 usw.

Die "echten" Uhrzeiten muss man dem Reading ..._time entnehmen, da der Index in der UTC-Zeitzone verankert ist.

Die verschiedenen DWD-Daten liegen in unterschiedlichen Zeitrastern vor, die auch von Station zu Station variieren können. Hier hilft nur ein Blick in die KML-Datei. Wo ein Bindestrich steht, ist für die jeweilige Zeit kein neuer Messwert vorhanden. Im OpenData-Modul fehlt dann das Reading für den jeweiligen Index.

Es gibt zum Glück für alle Vorhersagetage Min- und Maxwerte und sogar eine ganze Menge. Details gibt es hier: https://opendata.dwd.de/weather/lib/MetElementDefinition.xml. Je nach Bedarf einfach das Attribut forecastProperties anpassen. Man muss bei den Min/Max-Werten aber im Normalfall rückwärts denken: z.B. gilt ein 6h Max-Wert für 13:00 für die Zeit von 07:00 - 13:00.

Viel Erfolg bei der Umsetzung für die FTUI! Bitte melden, wenn ihr Anpassung am DWD-Modul braucht, die sich anders nicht sinnvoll umsetzen lassen bzw. es doch für euch Sinn machen sollte, dass das OpenData-Weblink-Modul Readings generiert.

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

Knallkopp_02

Hallo an Alle,

Ich habe mir nun mit Hilfe von mehreren Threads einiges an Info zusammen gesucht. Danke erstmal für die viele Hilfe.

Aktuell stehe ich allerdings noch vor einem Problem, welches ich nicht gelöst bekomme.

Dafür würde ich dich jensb doch noch mal in Anspruch nehmen wollen, bzw brauch ich noch ein paar Infos.

Dass das Modul ,,nur" die Daten bereit stellen soll und FTUI oder ein andere Frontend für die Darstellung zuständig ist kann ich nachvollziehen.
Leider habe ich das Weblink Modul bislang nicht ans laufen bekommen (habe auch noch nicht ganz verstanden was es macht, außer eine vordefinierte Wetteranzeige) habe mir nun aber mit FTUI eine Anzeige auf meinem 7" Display für Tests zusammen gebaut die auch mit Tag/Nacht funktioniert.

Nun wirklich zu Dir jensb, wie bekomme ich das aktuelle Wetter als Icon ins FTUI?
Würde da evtl eine neue Funktion bei dir im Modul helfen, die einfach jede Stunde wenn dein Modul aktualisiert ein neues Reading (z.b. fc_aktuelles_Wetter) erzeugt welches aus dem passenden Reading das neue erzeugt (z.b. Nimm aktuelle Zeit und und hole den passenden Wert aus ww/wwd).

Oder denke ich da zu kompliziert und es geht einfach mit FTUI?

Gruß und schönen Abend
Ich bin kein Programmierer und habe keine Ahnung.

Raspberry PI 3B+ mit HM-MOD-RPI-PCB,     
HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-SEC-SCo
Raspberry PI 3B+ mit 7" Touchdisplay

jensb

@Knallkopp_02
Zitat... wie bekomme ich das aktuelle Wetter als Icon ins FTUI?
Das "alte" DWD GDS-Modul hatte eine Funktion, um das aktuelle Wetter vom DWD abzurufen. Das DWD OpenData-Modul hat diese Funktion (noch) nicht, es kann "nur" Vorhersagen und Wetterwarnungen. Das OpenData-Weblink-Modul ist aktuell nur für FHEMWEB und nicht für FTUI ausgelegt. Es macht aber das was du brauchst: es sucht aus den Vorhersagedaten abhängig von der aktuellen Uhrzeit die Vorhersage für ungefähr "jetzt" heraus und zeigt sie am 1. Icon an. Das hat natürlich nichts mit tatsächlichen Messwerten zu tun, es bleiben Vorhersagewerte.

Ich hatte hier schon einen Lösungsvorschlag gemacht, aber es hat zu dem Zeitpunkt keinen interessiert. Das was das OpenData-Weblink-Modul macht, kann man auch direkt in der FTUI mit JavaScript nachmachen. Alternativ könnte man versuchen, aktuelle Messwerte vom OpenData-Server zu verwenden und sie über das OpenData-Modul bereitstellen. Das ist aber auch nicht einfach: die stationsbezogenen Daten unter https://opendata.dwd.de/weather/weather_reports/poi/ wären zwar relativ leicht zugängig, liegen aber meist ca. 1-2 Stunden in der Vergangenheit und sind für mich damit als "Istwerte" unbrauchbar. Bei den anderen verfügbaren Istwerten, die ich mir angesehen habe, ist die Vorverarbeitung aber relativ aufwendig. Deshalb bleibe ich bis auf weiteres bei den Vorhersagedaten. Wenn jemand auf dem OpenData-Server wirklich aktuelle stationsbezogene Istwerte findet, schaue ich mir das gern an.

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

Knallkopp_02

@jensb,

Ja das mit den aktuellen Werten ist eine schwierige Sache, die wahrscheinlich auch nie gelöst werden kann. Wie du schon richtig gesagt hast, man könnte die Wettervorhersage für die nächste Stunde nehmen. Außerdem wer wissen will, wie das Wetter ist, soll aus dem Fenster schauen. Ich habe hier eine kleine Wetterstation von Netatmo und selbst dort wird oft das falsche aktuelle Wetter angezeigt, obwohl es bestimmt 15 Stationen in meinem Umfeld gibt, da sie anscheinen nicht ihre eigenen Daten für diese Anzeige verwenden. Wir wohnen hier an einer Wetterscheide und die eigentliche Messstation nehme ich an ist ca 7 Km entfernt. Anzeige von der Station strahlender Sonnenschein und hier geht die Welt bei Starkregen unter.

Gruss
Ich bin kein Programmierer und habe keine Ahnung.

Raspberry PI 3B+ mit HM-MOD-RPI-PCB,     
HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-SEC-SCo
Raspberry PI 3B+ mit 7" Touchdisplay

jensb

@Knallkopp_02
Es gibt 99 internationale Wettercodes, davon mindestens 20, die sich deutlich unterscheiden. Um die als Istmesswert selbst zu ermitteln, wenn man nicht aus dem Fenster gucken will, braucht man ein ganzes Rudel von Sensoren, um z.B. Hagel von Schnee unterscheiden zu können. Das macht meiner Ansicht für die meisten von uns keinen Sinn. Hilfreich finde ich es trotzdem, einen eigenen Regensensor zu haben und genauso wichtig ist mir ein Außen-Helligkeitssensor und ein Außen-IR-Sensor. Damit kann man z.B. Rollos und Gartenbewässung viel differenzierter steuern.

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

jensb

Beim Tageswechsel vom 17.11. zum 18.11. war der DWD OpenData-Server vorübergehend nicht erreichbar. Gut fand ich, dass der Fehler ziemlich eindeutig im state zu lesen war und dass die Verarbeitung ohne Eingriff wieder aufgenommen wurde, nachdem der Server wieder erreichbar war. Nicht gefallen hat mir, dass alle Vorhersage-Readings gelöscht wurden.

Hier mein Verbesserungsvorschlag für die nächste Version:

  • Vorhersage-Readings bei Verbindungsstörung nicht löschen
  • zusätzliche Dummy-Wetterwarnung erzeugen "Keine Verbindung zum DWD-Server, Wetterwarnungen nicht aktuell"

Bitte melden, wenn jemand hierfür noch andere Ideen hat.

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

Knallkopp_02

Zitat von: jensb am 18 November 2018, 13:35:52
@Knallkopp_02
Es gibt 99 internationale Wettercodes, davon mindestens 20, die sich deutlich unterscheiden. Um die als Istmesswert selbst zu ermitteln, wenn man nicht aus dem Fenster gucken will, braucht man ein ganzes Rudel von Sensoren, um z.B. Hagel von Schnee unterscheiden zu können. Das macht meiner Ansicht für die meisten von uns keinen Sinn. Hilfreich finde ich es trotzdem, einen eigenen Regensensor zu haben und genauso wichtig ist mir ein Außen-Helligkeitssensor und ein Außen-IR-Sensor. Damit kann man z.B. Rollos und Gartenbewässung viel differenzierter steuern.

Grüße,
Jens

Ich bin da völlig bei dir, Sensoren wie Temperatur, Luftfeuchtigkeit, Luftdruck sowie deine aufgezählten sind kein Problem. Andere sind nur immenser Aufwand und sollten Profis vorbehalten sein.

Gruß
Ich bin kein Programmierer und habe keine Ahnung.

Raspberry PI 3B+ mit HM-MOD-RPI-PCB,     
HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-SEC-SCo
Raspberry PI 3B+ mit 7" Touchdisplay

curt

Zitat von: jensb am 17 November 2018, 11:46:22
@curt
Ich habe prinzipiell kein Problem damit konkreten Fragen zu beantworten, im Gegenteil.

Die Beschreibung der Daten habe ich in der Commandref nur andeuten können. Die Daten stammen ja vom DWD und nicht von mir, und die DWD-Doku, die ich bisher gelesen habe, geht darauf auch nicht konkret ein.
[gekürzt]

Ich jammere ja auch gar nicht - herzlichen Dank für Deine Ausführungen!

Folgendes plane ich (mit zwei, drei anderen): Deine Arbeit vermittels FTUI widget_weather.js zu nutzen. Da ist aber noch so einiges zu tun. Derzeit liegen verschiedene Templates (außerhalb des Widgets) vor - aus diesem Grund frug ich nach Wertebedeutungen. Die optische Umsetzung Sonne-Wolke-Regen-Schnee-Nebel-dunkel-usw. existiert dank @somansch im Widget, ist aber derzeit deutlich zu grob. Viel zu tun ...

Soweit erstmal von mir.
RPI 4 - Jeelink HomeMatic Z-Wave

curt

Zitat von: jensb am 17 November 2018, 11:46:22
@curt
Ich habe prinzipiell kein Problem damit konkreten Fragen zu beantworten, im Gegenteil.

@jensb
Dann möchte ich mir keck viel Anfangsarbeit mit folgenden Fragen sparen:

* Rd10 -> Probability of precipitation > 1.0 mm during the last 24 hours
Verstehe ich recht, dass -kombiniert mit Tag drei (fc3)- mir das die Niederschlagswahrscheinlichkeit für Montag (heute ist Freitag) liefert? Anders formuliert: Gibt es die Niederschlagswahrscheinlichkeit, auf den künftigen Tag bezogen? Der heißt Rd10?

* Min/Max-Werte für den heutigen bzw. einen konkreten künftigen Tag: Temperatur, Niederschlagsmenge, Windgeschwindigkeit - gibt es das? Wie heißen die?

* Windrichtung: Bezogen auf einen Tag - gibt es da einen Parameter "Hauptwindrichtung", so etwas in dieser Art?

* @somansch bastelt sich aus day_4_wwd eine Grafik: Sonne, Wolke, Regen, sowas. 4*3= 12 <- das ist also der Wert für 1200 Uhr, habe ich richtig gerechnet? Gibt es einen Parameter "heutiges vorrangiges Wetter"? (Yahoo hat so etwas - ein Symbol pro Tag.)

* wie vorheriger Punkt - nur für Vormittag/Nachmittag?

Lieber Jens, ja natürlich: Ich will mir viel Arbeit sparen - auf Deine Kosten. Kurz-präzise Antwort reicht. Ich kann auch richtig nett gucken. :)
RPI 4 - Jeelink HomeMatic Z-Wave

jensb

@curt

  • Wenn heute Freitag ist (fc0), dann ist fc3 der Montag. Rd10 gibt es um 06:00 UTC. Bei forecastResolution=3 ist das Index 2, also findet man Rd10 als fc3_2_Rd10. Der Wert bezieht sich auf Sonntag 06:00 bis Montag 06:00
  • Min/Max-Werte: Es gibt eine ganze Reihe, ein Paar sind unter "day properties" in der Modul-Hilfe zu finden, die anderen hier (einfach nach min bzw. max suchen).
  • Windrichtung: Nein, es gibt "nur" Stundenwerte. Wenn du einen Tageswert brauchst, bilde z.B. einen Mittelwert, aber das ist genau betrachtet Murks.
  • day_4_wwd, forecastResolution=3 -> 12:00 UTC. "Heutiges vorrangiges Wetter"gibt es nicht, der DWD ist hier besser als Yahoo und liefert differenzierte Daten. Wie bei der Windrichtung könnte man sie zusammenmatschen oder besser eins auswählen, z.B. das von 12:00 UTC.
  • Wetter nur für Vormittag/Nachmittag: Schaut in das DWD-Weblink-Modul, das verwendet dafür die Werte für 06:00 und 12:00 UTC.

ZitatKurz-präzise Antwort reicht.
Du hast aber auch überhaupt keine Ansprüche ::)

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

curt

Jaha ... aber ich glaube, dass ich den Teil jetzt allein verstanden habe. Also das hat sich erledigt.

Ein Teil ist mir noch unklar, aber mir ist klar, dass das kein Thema für Dich ist - ich erzähle es lediglich: Readings wie fc0_0_wwd kommen bei mir in deutsch. Warum und wie das widget nun wieder englische strings in Symbole umsetzen kann - ist mir im Moment schleierhaft.

@jensb
Ich wollte Dir nicht auf den Fuß treten oder über Gebühr beanspruchen. Andererseits ist es so: Wer fragt kann vielleicht keine Antwort bekommen. Wer nicht fragt, bekommt definitiv keine Antwort.

RPI 4 - Jeelink HomeMatic Z-Wave