Modul für DWD Open Data

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

Vorheriges Thema - Nächstes Thema

jensb

@Elektrofreak

Alle Zeitstempel in den Daten vom DWD sind in UTC. Sie werden vom Modul in die lokale Zeit umgerechnet. Die Rotation der Vorhersagewerte sollte um 00:00 erfolgen. Das kann man überprüfen, indem man verbose=5 einstellt und dann nach "RotateForecast: shifting forward ..." im Log sucht. Allerdings sieht man bei verbose=5 noch sehr viel mehr, das Log bekommt dann schnell dicke Backen, also möglichst nicht zu lange so laufen lassen.

In deiner Liste seht "Gestern/Heute" aber kein Reading-Name. Ich vermute du meinst mit "Gestern 07:00" die Meldezeit und die Werte sind immer für das gleiche Reading fc1_PEvap. Es kommt bei deinem Problem auch darauf an, wann das Reading gelesen wird und wann die Rotation stattfindet, denn es passiert halt nichts wirklich gleichzeitig. Wenn das Reading stündlich gebildet wird, aber kurz vor der Rotation um 00:00, ergibt sich trotzdem dieses Bild. Der Wert 6,2 von fc2_PEvap rückt durch die Rotation an die Stelle von 3,2. Der Wert 3,2 steht dann im Reading fc0_PEvap, aber das berücksichtigt du nicht. Und um 07:00 aktualisiert der DWD die Vohersage und aus 6,2 werden 3,3. Wenn du dir die Rohdaten zu den jeweiligen Zeitpunkten ansiehst, müsstest du das so wieder finden (Downloaden, Unzippen und z.B. mit Notepad++ oder einem XML-Viewer studieren).

Man kann das Ganze aber auch anders angehen: Da es ein Tageswert ist, der sich nur einmal pro Tag signifikant ändert, könntest du ihn zu einer festen Zeit z.B. mit einem at-Modul abgreifen und in ein Dummy kopieren. Für mich sieht es so aus als ob 05:15 UTC passen könnte.

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

is2late

Hallo zusammen,

verzweifelt Suchender bittet um Hilfe:
Kann aus dem überaus umfangreichen Material nicht ersehen, welche Dateien installiert werden müssen.
99_DWD_OpenData_weblink.pm, dwd.py, dwd_data und ipynb liegen im Verzeichnis FHEM.
Auf
define DWD_Weblink_Generator DWD_OpenData_Weblink gibt es die Fehlermeldung "Cannit load module DWD_openData_Weblink.

Bin ich jetzt an einer nicht mehr aktuellen Variante dran? Ich möchte gern eine Wettervorhersage in FUIP installieren.
Dazu bedarf es wohl erst einmal eine Devices in Fhem. Und das schon bekomme ich nicht hin.
Gibt es vielleicht irgendwo eine Anleitung für Anfänger, die mir entgangen ist?

Vielen Dank im Voraus,
Ingo
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

Knallkopp_02

Ich bin mir nicht ganz sicher, aber ich glaube dass du als Voraussetzung das hier brauchst

https://fhem.de/commandref_DE.html#DWD_OpenData

Dort wird auch der Ort definiert wo die Daten herkommen sollen.
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

is2late

Hm, vielen Dank.... Danach müsste
define <name> DWD_OpenData

erfolgen... Das ist doch aber die alte Version vor dem neuen Script 99_....   , oder? Wie gesagt, ich bin blutiger Anfänger....
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

Knallkopp_02

Ich habe Weblink immer als Addon gesehen, habe mich aber damit nicht beschäftigt. Ich habe alles über besagtes DWD OpenData gelöst.

Aber schau doch mal op die Datei überhaupt im Verzeichniss ist.

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

is2late

Nein, die Datei ist nicht im Verzeichnis... aber mit dieser Anforderung  wäre ich ja im DWD OpenData-Zweig. Auch egal, wenn es denn funktioniert. Könntest Du mir vielleicht beschreiben, wie genau Du die DWD OpenData-Sache gelöst hast? Ich will Dich nicht über Gebühr strapazieren, aber vielleicht ist es mit wenigen Worten getan und schon hast Du jemanden glücklich gemacht  ;)

LG
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

baeda

  Hallo zusammen,
  ich bräuchte Unterstützung beim DWD_Opendata Modul, bzw. den Plot in ein Meteogramm.
  Der Plot enthält keine Daten (oder nur einen Peak). Vermutlich ist das nur eine Kleinigkeit, aber ich komme seit 2 Tagen nicht weiter (betriebsblind?).
  Bei der Einrichtung habe ich mich am Wiki Eintrag orientiert:
  - Device angelegt (define DWD DWD_OpenData), inkl. attr
  - Eintrag in die 99_myUtils.pm
  - Logproxy existierte bereits
  - Filelog angelegt
  - SVG Device aus Filelog angelegt:  SVG_FileLog_DWD_1
  - gplot file editiert und gemäß wiki Beispiel für 1h Auflösung befüllt:

 
Es werden alle Readings produziert, die für den Plot in 1h Auflösung benötigt werden.
Der Plot zeigt allerdings keine Daten.

Wenn ich "Show preprocessed input" zum Plot wähle, werden auch keine Daten angezeigt (ausser die "100")

Habe ich einen Fehler im gplot file? Mir fehlt grad der Ansatz, wo ich suchen könnte...
Ich finde das Meteogramm nämlich sehr übersichtlich und intuitiv und möchte es in ftui einbauen.

Vielen Dank schon mal für Anregungen!

Thorsten Pferdekaemper

Hi,
ich bin vielleicht ein bisschen spät dran, aber darauf will ich dann doch noch antworten:

Zitat von: is2late am 15 Mai 2020, 22:48:30Ich möchte gern eine Wettervorhersage in FUIP installieren.

Wenn das wirklich vorwiegend für FUIP gedacht ist, dann würde ich PROPLANTA empfehlen. Damit kannst Du dann die Views WeatherDetail und WeatherOverview verwenden. Die sind speziell an FUIP angepasst und haben auch einige Einstellmöglichkeiten.

Gruß,
   Thorsten
FUIP

is2late

Prima, danke, Thorsten!
Ich versuche mal, dazu eine einfache Anleitung zu finden.
LG
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

jensb

@baeda
Du hast Daten im DWD_OpenData Device, aber nicht im Plot und deine Vermutung geht in Richtung gplot-Datei. Vorschlag: DWD-Device-Definition und gplot-Datei posten, dann lässt sich dass besser beurteilen.

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

is2late

ZitatWenn das wirklich vorwiegend für FUIP gedacht ist, dann würde ich PROPLANTA empfehlen. Damit kannst Du dann die Views WeatherDetail und WeatherOverview verwenden. Die sind speziell an FUIP angepasst und haben auch einige Einstellmöglichkeiten.
Das war ein sehr guter Tipp, vielen Dank, Thorsten! Die Einrichtung ist sogar mir als Anfänger leicht gefallen und die verfügbare Info reicht mir allemal.
LG
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

baeda

Hallo Jens,

danke für die Rückmeldung. Meine Konfig:

define DWD DWD_OpenData
attr DWD alertArea 111000000
attr DWD event-on-change-reading .*
attr DWD forecastDays 7
attr DWD forecastProperties Tx,Tn,Tg,TTT,DD,FX1,N,Neff,RR1c,RR3c,RR6c,RRhc,RRL1c,Rh00,ww,SunD,SunD1,SunD3,RSunD,R101,R600
attr DWD forecastResolution 1
attr DWD forecastStation 10946
attr DWD forecastWW2Text 1

define FileLog_DWD FileLog ./log/DWD-%Y-%m.log DWD

define SVG_FileLog_DWD_1 SVG FileLog_DWD:SVG_FileLog_DWD_1:CURRENT
attr SVG_FileLog_DWD_1 fixedoffset 6
attr SVG_FileLog_DWD_1 fixedrange 7days
attr SVG_FileLog_DWD_1 nrAxis 1,2


gplotfile:

set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title 'Wettervorhersage'
set ytics
set y2tics
set grid ytics
set ylabel "Regen [mm]"
#set yrange [0:4]
set y2label "Temperatur [°C]"
#set y2range [-5:35]
set y3label "Wolken/Regen/Sonne [%]"
set y3range [0:100]

#LogProxy Func:logProxy_dwd2Plot("DWD","TTT_",$from,$to,0,"day")
#LogProxy Func:logProxy_dwd2Plot("DWD","Tx",$from,$to,18,"day")
#LogProxy Func:logProxy_dwd2Plot("DWD","Tn",$from,$to,6,"day")
#LogProxy Func:logProxy_dwd2Plot("DWD","SunD1_",$from,$to,0,"day",(-1*3600))
#LogProxy Func:logProxy_dwd2Plot("DWD","RR1c_",$from,$to,0,"day",(-1*3600))
#LogProxy Func:logProxy_dwd2Plot("DWD","FX1_",$from,$to,0,"day")
#LogProxy Func:logProxy_dwd2Plot("DWD","R101_",$from,$to,0,"day",(-0.5*3600))
#LogProxy Func:logProxy_dwd2Plot("DWD","Neff_",$from,$to,0,"day")
#LogProxy ConstX:TimeNow(),0,100
#LogProxy ConstY:0

plot "<IN>" using 1:2 axes x1y2 title 'T' ls l0 lw 2 with quadraticSmooth,\
     "<IN>" using 1:2 axes x1y2 title 'Tmax' ls l0dot lw 2 with quadraticSmooth,\
     "<IN>" using 1:2 axes x1y2 title 'Tmin' ls l0dot lw 2 with quadraticSmooth,\
     "<IN>" using 1:2 axes x1y3 title 'Sonne' ls l4fill lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Regenmenge' ls l2fill lw 1 with steps,\
     "<IN>" using 1:2 axes x1y3 title 'Wind' ls l1 lw 1 with quadraticSmooth,\
     "<IN>" using 1:2 axes x1y3 title 'Regen' ls l5fill lw 1 with quadraticSmooth,\
     "<IN>" using 1:2 axes x1y3 title 'Wolken' ls l6fill lw 1 with quadraticSmooth,\
     "<IN>" using 1:2 axes x1y3 notitle ls l5 lw 4 with lines,\
     "<IN>" using 1:2 axes x1y2 notitle ls l5 lw 1 with lines


Beste Grüße,
Baeda

jensb

Hallo Baeda,

bei deiner Konfig fällt mir nichts auf, du könntest aber noch ein paar Tests machen.

{logProxy_dwd2Plot("DWD","TTT_",0,0,0,"day")}
in die FHEM-Kommandozeile eingeben sollte einen normalen Seitenneuaufbau ohne Fehlermeldungen auslösen. Damit kann man überprüfen, ob der Code für die Funktion logProxy_dwd2Plot in 99_myUtils.pm überhaupt ausgeführt werden kann.

Im SVG-Device kannst du den Loglevel vorübergehend auf verbose=5 stellen. Dann die Seite mit dem Meteogramm aufrufen. Anschließend das FHEM-Log prüfen, ob neue Logs hinzugekommen sind, die mit dem Meteogramm im Zusammenhang stehen könnten. Im Normalfall gibt es keine Logeinträge für das SVG.

Im Code der Funktion logProxy_dwd2Plot sind ein paar auskommentierte Log-Befehle. Entferne die vorangestellten Kommentarzeichen (#), starte FHEM neu, ruf das Meteogramm auf und prüfe dann noch mal das Log. Spätestens jetzt sollten sehr viele Logeinträge vorhanden sein.

Wenn das alles keine neuen Erkenntnisse bringt, dann die Anleitung für das Meteogramm noch einmal Schritt für Schritt durchgehen, auch den Code für 99_myUtils.pm, selbst wenn es nervt - vielleicht wirst du dann fündig.

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

mumpitzstuff

Wie heißt dein logproxy Device? LogProxy oder anders?

baeda

Hallo Jens,
sorry für die späte Rückmeldung, ich kam erst heute zum Testen.
Und herzlichen Dank für den wertvollen Tip - er führte sofort zum Erfolg:

{logProxy_dwd2Plot("DWD","TTT_",0,0,0,"day")}
ZitatDamit kann man überprüfen, ob der Code für die Funktion logProxy_dwd2Plot in 99_myUtils.pm überhaupt ausgeführt werden kann.
.
Die o.g. Prüfung über die Kommandozeile ergab einen Fehler. Ich stellte dann fest, dass beim Kopieren in die 99_myUtils.pm eine Zeile zuviel eingetragen worden war.

Die Implementierung in ftui klappte auch ohne Probleme, schade ist hier nur (nach meinem Kenntnisstand..) dass man für die y-Achse "nur" 2 label/ranges angeben kann.

Nochmal vielen Dank für die Hilfe!

Grüße,
Baeda