Modul für DWD Open Data

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

Vorheriges Thema - Nächstes Thema

mumpitzstuff

#825
Und jetzt die Gretchenfrage. Könnte man sich jetzt per Userreading oder Funktion in myutils, den aktuellen Vorhersagewert zurück geben lassen? Rein zufällig hatte ich das Problem auch vor kurzem, als ich mir den aktuellen Wert im SVG als Überschrift anzeigen lassen wollte. Das ist mir im ersten Moment auch nicht geglückt.

Deine Erklärung verstehe ich auch noch nicht ganz, denn bei mir steht (1h Auflösung) fc0_0 auf 00:00 Uhr, fc0_1 auf 01:00 Uhr usw. die Uhrzeit entspricht damit aktuell genau der zweiten Zahl.
Um es mal einfach zu machen und von der aktuellen Winterzeit ausgehend (1h Auflösung), welchen Zeitraum bildet fc0_1 bei mir ab, wenn dort 01:00 steht? 00:00-01:00 oder 01:00-02:00? Wenn die Sommer/Winterzeit dort eingeht, steht dann fc0_0 im Sommer tatsächlich auf 01:00 und nicht wie jetzt auf 00:00?

jensb

A) Welche Zeit ist richtig?
Wenn es auf den Zeitzonenoffset ankommt wird es richtig spannend. Ich verwende forecastResolution=3 und bei mir ist fc0_0_time=01:00 bzw. fc0_1_time=04:00. Außerdem sehe ich die aktuelle Uhrzeit, wenn ich in die FHEM-Kommandozeile {localtime()} eingebe (siehe entsprechende Hinweise in der Modulhilfe).

Da die Daten vom DWD UTC-bezogen sind und der DWD-Vorhersagetag bei 00:00 UTC = 01:00 Europe/Berlin beginnt, erscheint mir das so stimmig. Wenn bei jemandem fc0_0_time=00:00 ist, dann ist er entweder tatsächlich in der nächsten Zeitzone oder FHEM sieht nicht die richtigen Zeitzonendaten, was der Test mit localtime klarstellen sollte.

B) Wie kommt man an das "aktuelle" Forecast-Reading?
Die Lösung steckt im DWD_OpenData_Weblink. Es wählt für das 1. Icon das nächstgelegene Reading aus.
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

#827
Uff jetzt werde ich unsicher. Also localtime liefert genau die Zeit wie sie sein sollte. Meine Forecast Station ist 10738 (bei Stuttgart) und stimmt somit auch. Forecastresolution steht auf 1.

jensb

Werde versuchen das bei mir Nachzustellen, aber nicht heute sondern nächstes Jahr ;D

Guten Rutsch!
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

Dirk070

Ein frohes neues Jahr!!

Eine kurze Frage, ich würder gerne die prognostizierte Regenmenge für den aktuellen Tag ermitteln.
Dazu hatte ich um 23:59 den Wert fc1_RRdc in ein UserReading kopiert.

Zum Vergleich habe ich die Werte der selben Wetterstation in der App Warnwetter des DWD herangezogen.
Diese differieren deutlich. Habe ich einen falschen Ansatz gewählt?

Danke vorab und schöne Grüße
Dirk

jensb

Zitat von: Dirk070 am 03 Januar 2024, 11:29:06... Diese differieren deutlich. Habe ich einen falschen Ansatz gewählt?

Da kann ich nur spekulieren. RRdc ist die vorhergesagte Niederschlagsmenge der letzten 24h. Übernimmt man RRdc vom Folgetag (fc1_RRdc) kurz vor Tagesende in ein Userreading, sollte das die wahrscheinliche Regenmenge für den neuen Tag werden.

Gehe davon aus, dass die Prognosedaten über die OpenData Schnittstelle und die Daten für die App nicht auf die gleichen Werte zurückgreifen. Genaueres kann man vielleicht beim DWD erfahren (opendata at dwd.de).

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

@Dirk070

Habe mir mal meine RR Readings angesehen. Die RR3c und RR6c sind untereinander stimmig, wenn man den Zeitbezug richtig berücksichtigt. Der Wert kommt mit der letzten Stunde und gilt für die entsprechenden davor liegenden Stunden.

Habe RRdc selbst nicht dabei, aber es ist doch eine Stunden-Eigenschaft und keine Tages-Eigenschaft. Du könntest also statt fc1_n_RRdc direkt fc0_n_RRdc verwenden, denn der wird über den Tag weiter aktualisiert, wenn sich etwas ändert.

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

matze1999

Hallo,

ich hab das hier schon mal gefragt, wund habe diese Antwort bekommen:

Zitatdie 99_DWD_OpenData_Weblink.pm ist keine Datei aus der offiziellen FHEM Distribution, deshalb es schwierig bis unmöglich, dafür support zu leisten.

Das Problem:

2024.01.06 16:58:48 1: PERL WARNING: Use of uninitialized value in subroutine entry at ./FHEM/99_Utils.pm line 21.
2024.01.06 16:58:48 1: eval: { DWD_OpenData_Weblink::AsHtmlH("DWD_Weblink_GeneratorDD") }
2024.01.06 16:58:48 1: stacktrace:
2024.01.06 16:58:48 1:     main::__ANON__                      called by ./FHEM/99_Utils.pm (21)
2024.01.06 16:58:48 1:     main::time_str2num                  called by ./FHEM/99_DWD_OpenData_Weblink.pm (734)
2024.01.06 16:58:48 1:     DWD_OpenData_Weblink::PrepareForecastData called by ./FHEM/99_DWD_OpenData_Weblink.pm (1126)
2024.01.06 16:58:48 1:     DWD_OpenData_Weblink::GetForecastHtmlH called by ./FHEM/99_DWD_OpenData_Weblink.pm (1261)
2024.01.06 16:58:48 1:     DWD_OpenData_Weblink::AsHtmlH       called by (eval 2470844) (1)
2024.01.06 16:58:48 1:     (eval)                              called by fhem.pl (1177)
2024.01.06 16:58:48 1:     main::AnalyzePerlCommand            called by ./FHEM/98_weblink.pm (106)
2024.01.06 16:58:48 1:     main::weblink_FwFn                  called by ./FHEM/01_FHEMWEB.pm (3463)
2024.01.06 16:58:48 1:     main::FW_devState                   called by ./FHEM/01_FHEMWEB.pm (1942)
2024.01.06 16:58:48 1:     main::FW_makeDeviceLine             called by ./FHEM/01_FHEMWEB.pm (2118)
2024.01.06 16:58:48 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (1205)
2024.01.06 16:58:48 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (609)
2024.01.06 16:58:48 1:     main::FW_Read                       called by fhem.pl (3985)
2024.01.06 16:58:48 1:     main::CallFn                        called by fhem.pl (786)

matze1999

frank

Zitat von: matze1999 am 09 Januar 2024, 08:00:03Hallo,

ich hab das hier schon mal gefragt, wund habe diese Antwort bekommen:

Zitatdie 99_DWD_OpenData_Weblink.pm ist keine Datei aus der offiziellen FHEM Distribution, deshalb es schwierig bis unmöglich, dafür support zu leisten.

Das Problem:

2024.01.06 16:58:48 1: PERL WARNING: Use of uninitialized value in subroutine entry at ./FHEM/99_Utils.pm line 21.
2024.01.06 16:58:48 1: eval: { DWD_OpenData_Weblink::AsHtmlH("DWD_Weblink_GeneratorDD") }
2024.01.06 16:58:48 1: stacktrace:
2024.01.06 16:58:48 1:     main::__ANON__                      called by ./FHEM/99_Utils.pm (21)
2024.01.06 16:58:48 1:     main::time_str2num                  called by ./FHEM/99_DWD_OpenData_Weblink.pm (734)
2024.01.06 16:58:48 1:     DWD_OpenData_Weblink::PrepareForecastData called by ./FHEM/99_DWD_OpenData_Weblink.pm (1126)
2024.01.06 16:58:48 1:     DWD_OpenData_Weblink::GetForecastHtmlH called by ./FHEM/99_DWD_OpenData_Weblink.pm (1261)
2024.01.06 16:58:48 1:     DWD_OpenData_Weblink::AsHtmlH       called by (eval 2470844) (1)
2024.01.06 16:58:48 1:     (eval)                              called by fhem.pl (1177)
2024.01.06 16:58:48 1:     main::AnalyzePerlCommand            called by ./FHEM/98_weblink.pm (106)
2024.01.06 16:58:48 1:     main::weblink_FwFn                  called by ./FHEM/01_FHEMWEB.pm (3463)
2024.01.06 16:58:48 1:     main::FW_devState                   called by ./FHEM/01_FHEMWEB.pm (1942)
2024.01.06 16:58:48 1:     main::FW_makeDeviceLine             called by ./FHEM/01_FHEMWEB.pm (2118)
2024.01.06 16:58:48 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (1205)
2024.01.06 16:58:48 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (609)
2024.01.06 16:58:48 1:     main::FW_Read                       called by fhem.pl (3985)
2024.01.06 16:58:48 1:     main::CallFn                        called by fhem.pl (786)

matze1999


du solltest es wenigstens mal mit den aktuellen modulen probiert haben:
https://github.com/jnsbyr/fhem/tree/master/FHEM
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

matze1999

#834
so, aktuelles modul eingespielt, svg wird nicht mehr erstellt:

2024.01.09 18:02:50 1: ERROR evaluating { DWD_OpenData_Weblink::AsHtmlH("DWD_Weblink_GeneratorDD") }: Undefined subroutine &DWD_OpenData_Weblink::AsHtmlH called at (eval 1967) line 1.


matze1999

matze1999

Zitat von: matze1999 am 09 Januar 2024, 18:04:39so, aktuelles modul eingespielt, svg wird nicht mehr erstellt:

2024.01.09 18:02:50 1: ERROR evaluating { DWD_OpenData_Weblink::AsHtmlH("DWD_Weblink_GeneratorDD") }: Undefined subroutine &DWD_OpenData_Weblink::AsHtmlH called at (eval 1967) line 1.


matze1999

mein Fehler, der Downlaod war nicht komplett :-( jetzt geht es, Warnung und Fehler ist weg. Danke!

matze1999

betateilchen

/offtopic:

Zitatdu solltest es wenigstens mal mit den aktuellen modulen probiert haben:

Eine Moduldatei, die über define ein device anlegt, sollte nicht mit 99_ beginnen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

jensb

Zitat von: betateilchen am 09 Januar 2024, 20:34:08Eine Moduldatei, die über define ein device anlegt, sollte nicht mit 99_ beginnen.
Danke für den Hinweis, erklärt die z.T. merkwürdigen Fehler beim Start.

Habe das Modul in 98_DWD_OpenData_Weblink.pm umbenannt. Die neue Version 2.16.5 kann man von GitHub mit "Link-Ziel speichern unter ..." herunterladen. Altes Modul 98_DWD_OpenData_Weblink.pm aus dem FHEM-Unterordner löschen und in der FHEM-Kommandozeile "reload 98_DWD_OpenData_Weblink" eingeben, wenn man nicht neu starten will. Anpassung der Wiki folgt ...

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

Dirk070

Zitat von: jensb am 04 Januar 2024, 23:46:06@Dirk070

Habe mir mal meine RR Readings angesehen. Die RR3c und RR6c sind untereinander stimmig, wenn man den Zeitbezug richtig berücksichtigt. Der Wert kommt mit der letzten Stunde und gilt für die entsprechenden davor liegenden Stunden.

Habe RRdc selbst nicht dabei, aber es ist doch eine Stunden-Eigenschaft und keine Tages-Eigenschaft. Du könntest also statt fc1_n_RRdc direkt fc0_n_RRdc verwenden, denn der wird über den Tag weiter aktualisiert, wenn sich etwas ändert.

Grüße,
Jens

Danke Jens. Ich suche im Sinne eines Forecast die Vorhersage der Regenmenge für den Folgetag (oder die Folgetage).
Für die Werte über den Tag lese ich meinen Regenmesser (Netatmo) aus.

jensb

@Dirk070

Zitat von: Dirk070 am 03 Januar 2024, 11:29:06... ich würde gerne die prognostizierte Regenmenge für den aktuellen Tag ermitteln ...

Zitat von: Dirk070 am 11 Januar 2024, 13:30:09... Ich suche im Sinne eines Forecast die Vorhersage der Regenmenge für den Folgetag (oder die Folgetage)...

Widerspruch? :o

Dass die Werte für den Folgetag mit fc1_ anfangen ist wahrscheinlich klar. Bleibe auch dabei, dass Differenzen zwischen verschiedenen DWD-Anwendungen nur vom DWD erklärt werden können. Natürlich kann der DWD nichts zum FHEM-Modul selbst sagen, aber die Werte von OpenData stammen nun mal vom DWD und das FHEM-Modul macht sie "nur" verfügbar.
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