Modul für DWD Open Data

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

Vorheriges Thema - Nächstes Thema

erwin

@SparcWolf,

so ähnlich hatte ich es heute morgen auch:
- DWD def neu erstellt - MODMIX_S
- ein manuelles update um ca. 09:00 Uhr - interessant war, das reading fc_dwdDocTime den (manuellen) downloadzeitpunt hatte.
- kein autom. update um 09:3x
- ab 10:3x regelmäßig updates jede Stunde...
l.g. erwin
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

DS_Starter

#1006
@all,

habe noch ein Problem beseitigt und hier ein verbose 5 zum Vergleich:

2024.03.06 16:22:10.408 5: DWD: GetForecast START (PID 1215)
2024.03.06 16:22:10.457 5: DWD: GetForecast END
2024.03.06 16:22:10.461 5: DWD: IsDocumentUpdated BEFORE
2024.03.06 16:22:10.846 5: DWD: GetHeaders content_length: 18496
2024.03.06 16:22:10.847 5: DWD: GetHeaders last_modified raw: Wed, 06 Mar 2024 09:54:57 GMT
2024.03.06 16:22:10.851 5: DWD: GetHeaders last_modified formatted: 2024-03-06 09:54:57
2024.03.06 16:22:10.852 5: DWD: IsDocumentUpdated docSize:18496/0 docTime:2024-03-06 09:54:57Z/2024-03-06 09:54:57Z URL:https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_L/single_stations/N5872/kml/MOSMIX_L_LATEST_N5872.kmz/https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_L/single_stations/N5872/kml/MOSMIX_L_LATEST_N5872.kmz
2024.03.06 16:22:10.852 5: DWD: IsDocumentUpdated AFTER return update: 1, docSize: 18496, docTime: 2024-03-06 09:54:57Z
2024.03.06 16:22:10.853 5: DWD: GetForecastStart 2024-03-06 09:54:57Z 1709718897 1709718897 0 0 : 1
2024.03.06 16:22:10.854 5: DWD: GetForecastStart START (PID 9427): https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_L/single_stations/N5872/kml/MOSMIX_L_LATEST_N5872.kmz
2024.03.06 16:22:13.493 5: DWD: GetForecastDataDiskless: data received, unzipping ...
2024.03.06 16:22:13.499 5: DWD: ProcessForecast START
2024.03.06 16:22:13.500 5: DWD: ProcessForecast: data unpacked, decoding ...
2024.03.06 16:22:13.501 5: DWD: ProcessForecast: parsing XML document
2024.03.06 16:22:13.503 5: DWD: ProcessForecast: extracting data
2024.03.06 16:22:13.530 5: DWD: ProcessForecast temp file /tmp/6DGzWyO4gs forecast 3 size 17699
2024.03.06 16:22:13.531 5: DWD: ProcessForecast END
2024.03.06 16:22:13.532 5: DWD: GetForecastStart END
2024.03.06 16:22:13.534 5: DWD: GetForecastFinish START (PID 1215)
2024.03.06 16:22:13.535 5: DWD: GetForecastFinish temp file /tmp/6DGzWyO4gs forecast 3 size 17699
2024.03.06 16:22:13.536 5: DWD: UpdateForecast: START
2024.03.06 16:22:13.537 5: DWD: RotateForecast: START 2 day(s) exist
2024.03.06 16:22:13.538 5: DWD: RotateForecast: END 2 day(s) remain
2024.03.06 16:22:13.768 5: DWD: UpdateForecast: END
2024.03.06 16:22:13.770 5: DWD: GetForecastFinish END


Das Reading fc_dwdDocTime wird jetzt auch (wieder?) richtig gesetzt.

Grüße,
Heiko

Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

mumpitzstuff

#1007
Ist vielleicht eine dumme Frage, aber MOSMIX L war doch die kleine Variante. Weshalb geht das dann über das Tempfile? Sollte das nicht nur bei der großen Variante passieren?

Und die URL steht auch 2x hintereinander im Logfile (die bei IsDocumentUpdated).

DS_Starter

Die URL Angabe ist aktuelle URL/letzte URL. Wenn die gleich sind, sieht es doppelt aus. Ich weiß nicht warum Jens das so ausgibt, er hat sich bestimmt etwas dabei gedacht.
Ich habe das File oben nochmal ersetzt. In der sub GetForecastDataUsingFile stand in der Logausgabe noch GetForecastDataDiskless drin.

Wenn ich es richtig sehe, ist das erwähnte Tempfile der Datenspeicher für die Ergebnisse, geschrieben imBlockingCall -> gelesen danach im Hauptprozess.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

mumpitzstuff

Für mich sah das irgendwie größenabhängig aus. Siehe Anhang.

DS_Starter

Ja, das ist schon richtig. Doch die Meldung:

DWD: ProcessForecast temp file /tmp/6DGzWyO4gs

bezieht sich auf die sub ProcessForecast  und nicht GetForecastDataUsingFile oder GetForecastDataDiskless.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

Kurze Info, die V aus dem Post #1006 läuft bei mir stabil und einwandfrei.

LG,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

stefanru

#1012
Hi,

habe jetzt auch die Version von Post #1006.

Es scheint zu gehen.

Bin auch etwas verwirrt von den Parametern, ich habe:
forecastResolution 1

Sehe aber auch noch ein
forecastRefresh dass man von 6 bis 1 stellen kann.
Was macht das und benötige ich es?
Was ist forecastPruning?

Warum steht im Log etwas von MOSMIX_L ich möchte doch S?
Ist das so korrekt?

Im Log sieht es so aus:
2024.03.07 17:56:28 5: DWD_Birkenau: GetForecast START (PID 1863966)
2024.03.07 17:56:28 5: DWD_Birkenau: GetForecast END
2024.03.07 17:56:28 5: DWD_Birkenau: IsDocumentUpdated BEFORE
2024.03.07 17:56:29 5: DWD_Birkenau: GetHeaders content_length: 18767
2024.03.07 17:56:29 5: DWD_Birkenau: GetHeaders last_modified raw: Thu, 07 Mar 2024 16:09:17 GMT
2024.03.07 17:56:29 5: DWD_Birkenau: GetHeaders last_modified formatted: 2024-03-07 16:09:17
2024.03.07 17:56:29 5: DWD_Birkenau: IsDocumentUpdated docSize:18767/0 docTime:2024-03-07 16:09:17Z/2024-03-07 16:09:17Z URL:https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_L/single_stations/L979/kml/MOSMIX_L_LATEST_L979.kmz/https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_L/single_stations/L979/kml/MOSMIX_L_LATEST_L979.kmz
2024.03.07 17:56:29 5: DWD_Birkenau: IsDocumentUpdated AFTER return update: 1, docSize: 18767, docTime: 2024-03-07 16:09:17Z
2024.03.07 17:56:29 5: DWD_Birkenau: GetForecastStart dwdDocTime: 2024-03-07 16:09:17Z, dwdDocTimestamp: 1709827757,  dwdDocSize: 18767, lastDocTimestamp: 1709827757, maxDocAge: 0, lastDocSize: 0 : update: 1
2024.03.07 17:56:29 5: DWD_Birkenau: GetForecastStart START (PID 1871758): https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_L/single_stations/L979/kml/MOSMIX_L_LATEST_L979.kmz
2024.03.07 17:56:29 5: DWD_Birkenau: GetForecastDataDiskless: data received, unzipping ...
2024.03.07 17:56:29 5: DWD_Birkenau: ProcessForecast START
2024.03.07 17:56:29 5: DWD_Birkenau: ProcessForecast: data unpacked, decoding ...
2024.03.07 17:56:29 5: DWD_Birkenau: ProcessForecast: parsing XML document
2024.03.07 17:56:29 5: DWD_Birkenau: ProcessForecast: extracting data
2024.03.07 17:56:29 5: DWD_Birkenau: ProcessForecast temp file /tmp/D3_Cx4B0xX forecast 3 size 24249
2024.03.07 17:56:29 5: DWD_Birkenau: ProcessForecast END
2024.03.07 17:56:29 5: DWD_Birkenau: GetForecastStart END
2024.03.07 17:56:29 5: DWD_Birkenau: GetForecastFinish START (PID 1863966)
2024.03.07 17:56:29 5: DWD_Birkenau: GetForecastFinish temp file /tmp/D3_Cx4B0xX forecast 3 size 24249
2024.03.07 17:56:29 5: DWD_Birkenau: UpdateForecast: START
2024.03.07 17:56:29 5: DWD_Birkenau: RotateForecast: START 3 day(s) exist
2024.03.07 17:56:29 5: DWD_Birkenau: RotateForecast: END 3 day(s) remain
2024.03.07 17:56:29 5: DWD_Birkenau: UpdateForecast: END
2024.03.07 17:56:29 5: DWD_Birkenau: GetForecastFinish END

Danke und viele Grüße,
Stefan

DS_Starter

#1013
Hi Stefan,

die Attribute sind alle in der engl. Hilfe (help DWD_OpenData en) erläutert.

Für MOSMIX_S mußt du forecastRefresh < 6 stellen.

LG,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

stefanru

#1014
Hi Heiko,

danke.

Weiß nicht was los war.
Ich habe eigentlich in die Ref geschaut und die Parameter nicht gesehen.
Eben nochmal geschaut und alles ist da ;-)

Ok habs jetzt auch mit MOSMIX_S.
Ich beobachte mal.

P.S.:
Das File auf meiner SSD in /tmp hat 0 bytes und ist leer.
Ist das so ok?

Danke,
Stefan

stefanru

Ok, habe etwas beobachtet.

Speicherverbrauch ist super, da passiert so gut wie nichts mehr.

Beim Update gibt es das Fiel das gedownloaded wird und bis auf 70MB anwächst.
Danach wird es verarbeitet, das geht sehr schnell und dann verschwindet es.

Übrig bleibt für jede Station ein 0 Byte File, das sieht so aus:
-rw------- 1 fhem   dialout    0 Mar  7 18:09 sStErJza_E
-rw------- 1 fhem   dialout    0 Mar  7 18:15 0SacCjFRsY

Ist das eine Checksumme?

Gruß,
Stefan

DS_Starter

#1016
Das ist ein Filename. Das Management der Tempfiles wird durch das eingebundene Perl Modul File::Temp gemacht. Da muss man sich nicht mit rumschlagen.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

stefanru

Ah ok, das schaue ich mir mal an.
Danke!

Ingo298

#1018
Danke dafür das diese Modul so weiter entwickelt wird. Leider läuft die aktuelle Version bei mir wieder nicht

2024.03.08 09:29:34 5: DWD_forecast: IsDocumentUpdated BEFORE
2024.03.08 09:29:34 5: DWD_forecast: GetHeaders content_length: 38675917
2024.03.08 09:29:34 5: DWD_forecast: GetHeaders last_modified raw: Fri, 08 Mar 2024 08:21:32 GMT
2024.03.08 09:29:34 5: DWD_forecast: GetHeaders last_modified formatted: 2024-03-08 08:21:32
2024.03.08 09:29:34 5: DWD_forecast: IsDocumentUpdated docSize:38675917/0 docTime:2024-03-08 08:21:32Z/2024-03-08 04:02:50Z URL:https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_S/all_stations/kml/MOSMIX_S_LATEST_240.kmz/https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_L/single_stations/M225/kml/MOSMIX_L_LATEST_M225.kmz
2024.03.08 09:29:34 5: DWD_forecast: IsDocumentUpdated AFTER return update: 1, docSize: 38675917, docTime: 2024-03-08 08:21:32Z
2024.03.08 09:29:34 5: DWD_forecast: GetForecastStart dwdDocTime: 2024-03-08 08:21:32Z, dwdDocTimestamp: 1709886092,  dwdDocSize: 38675917, lastDocTimestamp: 1709870570, maxDocAge: 0, lastDocSize: 0 : update: 1
2024.03.08 09:29:34 5: DWD_forecast: GetForecastStart START (PID 14571): https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_S/all_stations/kml/MOSMIX_S_LATEST_240.kmz
2024.03.08 09:29:38 5: DWD_forecast: GetForecastDataUsingFile: data received, unzipping ...
2024.03.08 09:31:50 1: Timeout for DWD_OpenData::GetForecastStart reached, terminated process 14571
2024.03.08 09:31:50 3: DWD_forecast: GetForecastAbort ERROR: downloading and processing weather forecast data failed (Timeout: process terminated)
2024.03.08 09:31:50 5: DWD_forecast: RotateForecast: START 2 day(s) exist
2024.03.08 09:31:50 5: DWD_forecast: RotateForecast: END 2 day(s) remain
2024.03.08 09:40:47 5: DWD_forecast: Timer START
2024.03.08 09:40:47 5: DWD_forecast: Timer first:0 forecastQuarter:2 fetchAlerts:
2024.03.08 09:40:47 5: DWD_forecast: GetForecast START (PID 12917)
2024.03.08 09:40:47 5: DWD_forecast: GetForecast END
2024.03.08 09:40:47 5: DWD_forecast: Timer END

Anwender, deren TEMP-Verzeichnis sich auf einer SD-Karte ohne Overprovisioning befindet, sollten prüfen, ob eine Umstellung des TEMP-Verzeichnisses auf tmpfs möglich ist, damit die Lebensdauer der SD-Karte nicht reduziert wird

Ich benutze nach wievor eine SD-Karte ohne OP, bleibt diese Empfehlung trotzdem bestehen ?
RPi4 8GB: Bookworm FHEM 6.4, FTUI-3, AMAD,10.1" Tablet; MiLight;IT;HM;Dect200;VZLogger;MQTT;PiVCCU3

stefanru

Hi Ingo,

ohne jetzt der Experte hier zu sein, der Fehler scheint:
2024.03.08 09:31:50 1: Timeout for DWD_OpenData::GetForecastStart reached, terminated process 14571
2024.03.08 09:31:50 3: DWD_forecast: GetForecastAbort ERROR: downloading and processing weather forecast data failed (Timeout: process terminated)

Eventuell dauert das Entpacken auf SD Karte zu lang?
Ich habe an meinem Raspberry (auch ein 4er mit 4GB Ram) eine SSD hängen und alles läuft sehr schnell ab.
Was hast du als Timeout gesetzt?

Gruß,
Stefan