DWD_OpenData div. PERL Warning's

Begonnen von Rampler, 18 Juli 2026, 15:34:44

Vorheriges Thema - Nächstes Thema

Rampler

Hallo zusammen,

immer wenn ich Internet Ausfall habe (heute leider gehäuft) bekomme ich diese Warnings im DWD_Opendata Modul:

PERL WARNING: Odd number of elements in hash assignment at ./FHEM/55_DWD_OpenData.pm line 1753.

2026.07.18 15:06:34 1: stacktrace:
2026.07.18 15:06:34 1:     main::__ANON__                      called by ./FHEM/55_DWD_OpenData.pm (1753)
2026.07.18 15:06:34 1:     DWD_OpenData::IsDocumentUpdated     called by ./FHEM/55_DWD_OpenData.pm (1846)
2026.07.18 15:06:34 1:     DWD_OpenData::GetForecastStart      called by FHEM/Blocking.pm (194)
2026.07.18 15:06:34 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2026.07.18 15:06:34 1:     main::BlockingCall                  called by ./FHEM/55_DWD_OpenData.pm (1665)
2026.07.18 15:06:34 1:     DWD_OpenData::GetForecast           called by ./FHEM/55_DWD_OpenData.pm (1127)
2026.07.18 15:06:34 1:     DWD_OpenData::Timer                 called by fhem.pl (3522)
2026.07.18 15:06:34 1:     main::HandleTimeout                 called by fhem.pl (709)

Und für einige andere Adressen:
PERL WARNING: Use of uninitialized value $t in concatenation (.) or string at ./FHEM/55_DWD_OpenData.pm line 1266.
PERL WARNING: Use of uninitialized value $_[3] in concatenation (.) or string at ./FHEM/55_DWD_OpenData.pm line 1762.
PERL WARNING: Use of uninitialized value $_[3] in concatenation (.) or string at ./FHEM/55_DWD_OpenData.pm line 1774.
....

Nicht lebensnotwendig, aber doch unschön.
3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

Rampler

Leider heute wieder, diesmal den ganzen Auszug:

2026.07.27 23:10:43 1: PERL WARNING: Odd number of elements in hash assignment at ./FHEM/55_DWD_OpenData.pm line 1753.
2026.07.27 23:10:43 1: stacktrace:
2026.07.27 23:10:43 1:     main::__ANON__                      called by ./FHEM/55_DWD_OpenData.pm (1753)
2026.07.27 23:10:43 1:     DWD_OpenData::IsDocumentUpdated     called by ./FHEM/55_DWD_OpenData.pm (1846)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecastStart      called by FHEM/Blocking.pm (194)
2026.07.27 23:10:43 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2026.07.27 23:10:43 1:     main::BlockingCall                  called by ./FHEM/55_DWD_OpenData.pm (1665)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecast           called by ./FHEM/55_DWD_OpenData.pm (1127)
2026.07.27 23:10:43 1:     DWD_OpenData::Timer                 called by fhem.pl (3522)
2026.07.27 23:10:43 1:     main::HandleTimeout                 called by fhem.pl (709)
2026.07.27 23:10:43 1: PERL WARNING: Use of uninitialized value in list assignment at ./FHEM/55_DWD_OpenData.pm line 1753.
2026.07.27 23:10:43 1: stacktrace:
2026.07.27 23:10:43 1:     main::__ANON__                      called by ./FHEM/55_DWD_OpenData.pm (1753)
2026.07.27 23:10:43 1:     DWD_OpenData::IsDocumentUpdated     called by ./FHEM/55_DWD_OpenData.pm (1846)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecastStart      called by FHEM/Blocking.pm (194)
2026.07.27 23:10:43 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2026.07.27 23:10:43 1:     main::BlockingCall                  called by ./FHEM/55_DWD_OpenData.pm (1665)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecast           called by ./FHEM/55_DWD_OpenData.pm (1127)
2026.07.27 23:10:43 1:     DWD_OpenData::Timer                 called by fhem.pl (3522)
2026.07.27 23:10:43 1:     main::HandleTimeout                 called by fhem.pl (709)
2026.07.27 23:10:43 1: PERL WARNING: Use of uninitialized value $t in concatenation (.) or string at ./FHEM/55_DWD_OpenData.pm line 1266.
2026.07.27 23:10:43 1: stacktrace:
2026.07.27 23:10:43 1:     main::__ANON__                      called by ./FHEM/55_DWD_OpenData.pm (1266)
2026.07.27 23:10:43 1:     DWD_OpenData::FormatDateTimeUTC     called by ./FHEM/55_DWD_OpenData.pm (1757)
2026.07.27 23:10:43 1:     DWD_OpenData::IsDocumentUpdated     called by ./FHEM/55_DWD_OpenData.pm (1846)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecastStart      called by FHEM/Blocking.pm (194)
2026.07.27 23:10:43 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2026.07.27 23:10:43 1:     main::BlockingCall                  called by ./FHEM/55_DWD_OpenData.pm (1665)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecast           called by ./FHEM/55_DWD_OpenData.pm (1127)
2026.07.27 23:10:43 1:     DWD_OpenData::Timer                 called by fhem.pl (3522)
2026.07.27 23:10:43 1:     main::HandleTimeout                 called by fhem.pl (709)
2026.07.27 23:10:43 1: PERL WARNING: Use of uninitialized value $_[3] in concatenation (.) or string at ./FHEM/55_DWD_OpenData.pm line 1762.
2026.07.27 23:10:43 1: stacktrace:
2026.07.27 23:10:43 1:     main::__ANON__                      called by ./FHEM/55_DWD_OpenData.pm (1762)
2026.07.27 23:10:43 1:     DWD_OpenData::IsDocumentUpdated     called by ./FHEM/55_DWD_OpenData.pm (1846)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecastStart      called by FHEM/Blocking.pm (194)
2026.07.27 23:10:43 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2026.07.27 23:10:43 1:     main::BlockingCall                  called by ./FHEM/55_DWD_OpenData.pm (1665)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecast           called by ./FHEM/55_DWD_OpenData.pm (1127)
2026.07.27 23:10:43 1:     DWD_OpenData::Timer                 called by fhem.pl (3522)
2026.07.27 23:10:43 1:     main::HandleTimeout                 called by fhem.pl (709)
2026.07.27 23:10:43 1: PERL WARNING: Use of uninitialized value $_[3] in numeric eq (==) at ./FHEM/55_DWD_OpenData.pm line 1763.
2026.07.27 23:10:43 1: stacktrace:
2026.07.27 23:10:43 1:     main::__ANON__                      called by ./FHEM/55_DWD_OpenData.pm (1763)
2026.07.27 23:10:43 1:     DWD_OpenData::IsDocumentUpdated     called by ./FHEM/55_DWD_OpenData.pm (1846)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecastStart      called by FHEM/Blocking.pm (194)
2026.07.27 23:10:43 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2026.07.27 23:10:43 1:     main::BlockingCall                  called by ./FHEM/55_DWD_OpenData.pm (1665)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecast           called by ./FHEM/55_DWD_OpenData.pm (1127)
2026.07.27 23:10:43 1:     DWD_OpenData::Timer                 called by fhem.pl (3522)
2026.07.27 23:10:43 1:     main::HandleTimeout                 called by fhem.pl (709)
2026.07.27 23:10:43 1: PERL WARNING: Use of uninitialized value $_[3] in concatenation (.) or string at ./FHEM/55_DWD_OpenData.pm line 1774.
2026.07.27 23:10:43 1: stacktrace:
2026.07.27 23:10:43 1:     main::__ANON__                      called by ./FHEM/55_DWD_OpenData.pm (1774)
2026.07.27 23:10:43 1:     DWD_OpenData::IsDocumentUpdated     called by ./FHEM/55_DWD_OpenData.pm (1846)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecastStart      called by FHEM/Blocking.pm (194)
2026.07.27 23:10:43 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2026.07.27 23:10:43 1:     main::BlockingCall                  called by ./FHEM/55_DWD_OpenData.pm (1665)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecast           called by ./FHEM/55_DWD_OpenData.pm (1127)
2026.07.27 23:10:43 1:     DWD_OpenData::Timer                 called by fhem.pl (3522)
2026.07.27 23:10:43 1:     main::HandleTimeout                 called by fhem.pl (709)
2026.07.27 23:10:43 1: PERL WARNING: Use of uninitialized value $mo in subtraction (-) at ./FHEM/55_DWD_OpenData.pm line 1285.
2026.07.27 23:10:43 1: stacktrace:
2026.07.27 23:10:43 1:     main::__ANON__                      called by ./FHEM/55_DWD_OpenData.pm (1285)
2026.07.27 23:10:43 1:     (eval)                              called by ./FHEM/55_DWD_OpenData.pm (1285)
2026.07.27 23:10:43 1:     DWD_OpenData::ParseDateTimeUTC      called by ./FHEM/55_DWD_OpenData.pm (1849)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecastStart      called by FHEM/Blocking.pm (194)
2026.07.27 23:10:43 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2026.07.27 23:10:43 1:     main::BlockingCall                  called by ./FHEM/55_DWD_OpenData.pm (1665)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecast           called by ./FHEM/55_DWD_OpenData.pm (1127)
2026.07.27 23:10:43 1:     DWD_OpenData::Timer                 called by fhem.pl (3522)
2026.07.27 23:10:43 1:     main::HandleTimeout                 called by fhem.pl (709)
2026.07.27 23:10:43 1: PERL WARNING: Use of uninitialized value $y in subtraction (-) at ./FHEM/55_DWD_OpenData.pm line 1285.
2026.07.27 23:10:43 1: stacktrace:
2026.07.27 23:10:43 1:     main::__ANON__                      called by ./FHEM/55_DWD_OpenData.pm (1285)
2026.07.27 23:10:43 1:     (eval)                              called by ./FHEM/55_DWD_OpenData.pm (1285)
2026.07.27 23:10:43 1:     DWD_OpenData::ParseDateTimeUTC      called by ./FHEM/55_DWD_OpenData.pm (1849)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecastStart      called by FHEM/Blocking.pm (194)
2026.07.27 23:10:43 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2026.07.27 23:10:43 1:     main::BlockingCall                  called by ./FHEM/55_DWD_OpenData.pm (1665)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecast           called by ./FHEM/55_DWD_OpenData.pm (1127)
2026.07.27 23:10:43 1:     DWD_OpenData::Timer                 called by fhem.pl (3522)
2026.07.27 23:10:43 1:     main::HandleTimeout                 called by fhem.pl (709)
2026.07.27 23:10:43 1: PERL WARNING: Use of uninitialized value $mday in addition (+) at fhem.pl line 5277.
2026.07.27 23:10:43 1: stacktrace:
2026.07.27 23:10:43 1:     main::__ANON__                      called by fhem.pl (5277)
2026.07.27 23:10:43 1:     main::fhemTimeGm                    called by ./FHEM/55_DWD_OpenData.pm (1285)
2026.07.27 23:10:43 1:     (eval)                              called by ./FHEM/55_DWD_OpenData.pm (1285)
2026.07.27 23:10:43 1:     DWD_OpenData::ParseDateTimeUTC      called by ./FHEM/55_DWD_OpenData.pm (1849)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecastStart      called by FHEM/Blocking.pm (194)
2026.07.27 23:10:43 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2026.07.27 23:10:43 1:     main::BlockingCall                  called by ./FHEM/55_DWD_OpenData.pm (1665)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecast           called by ./FHEM/55_DWD_OpenData.pm (1127)
2026.07.27 23:10:43 1:     DWD_OpenData::Timer                 called by fhem.pl (3522)
2026.07.27 23:10:43 1:     main::HandleTimeout                 called by fhem.pl (709)
2026.07.27 23:10:43 1: PERL WARNING: Use of uninitialized value $hour in addition (+) at fhem.pl line 5277.
2026.07.27 23:10:43 1: stacktrace:
2026.07.27 23:10:43 1:     main::__ANON__                      called by fhem.pl (5277)
2026.07.27 23:10:43 1:     main::fhemTimeGm                    called by ./FHEM/55_DWD_OpenData.pm (1285)
2026.07.27 23:10:43 1:     (eval)                              called by ./FHEM/55_DWD_OpenData.pm (1285)
2026.07.27 23:10:43 1:     DWD_OpenData::ParseDateTimeUTC      called by ./FHEM/55_DWD_OpenData.pm (1849)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecastStart      called by FHEM/Blocking.pm (194)
2026.07.27 23:10:43 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2026.07.27 23:10:43 1:     main::BlockingCall                  called by ./FHEM/55_DWD_OpenData.pm (1665)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecast           called by ./FHEM/55_DWD_OpenData.pm (1127)
2026.07.27 23:10:43 1:     DWD_OpenData::Timer                 called by fhem.pl (3522)
2026.07.27 23:10:43 1:     main::HandleTimeout                 called by fhem.pl (709)
2026.07.27 23:10:43 1: PERL WARNING: Use of uninitialized value $min in addition (+) at fhem.pl line 5277.
2026.07.27 23:10:43 1: stacktrace:
2026.07.27 23:10:43 1:     main::__ANON__                      called by fhem.pl (5277)
2026.07.27 23:10:43 1:     main::fhemTimeGm                    called by ./FHEM/55_DWD_OpenData.pm (1285)
2026.07.27 23:10:43 1:     (eval)                              called by ./FHEM/55_DWD_OpenData.pm (1285)
2026.07.27 23:10:43 1:     DWD_OpenData::ParseDateTimeUTC      called by ./FHEM/55_DWD_OpenData.pm (1849)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecastStart      called by FHEM/Blocking.pm (194)
2026.07.27 23:10:43 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2026.07.27 23:10:43 1:     main::BlockingCall                  called by ./FHEM/55_DWD_OpenData.pm (1665)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecast           called by ./FHEM/55_DWD_OpenData.pm (1127)
2026.07.27 23:10:43 1:     DWD_OpenData::Timer                 called by fhem.pl (3522)
2026.07.27 23:10:43 1:     main::HandleTimeout                 called by fhem.pl (709)
2026.07.27 23:10:43 1: PERL WARNING: Use of uninitialized value $sec in addition (+) at fhem.pl line 5277.
2026.07.27 23:10:43 1: stacktrace:
2026.07.27 23:10:43 1:     main::__ANON__                      called by fhem.pl (5277)
2026.07.27 23:10:43 1:     main::fhemTimeGm                    called by ./FHEM/55_DWD_OpenData.pm (1285)
2026.07.27 23:10:43 1:     (eval)                              called by ./FHEM/55_DWD_OpenData.pm (1285)
2026.07.27 23:10:43 1:     DWD_OpenData::ParseDateTimeUTC      called by ./FHEM/55_DWD_OpenData.pm (1849)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecastStart      called by FHEM/Blocking.pm (194)
2026.07.27 23:10:43 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2026.07.27 23:10:43 1:     main::BlockingCall                  called by ./FHEM/55_DWD_OpenData.pm (1665)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecast           called by ./FHEM/55_DWD_OpenData.pm (1127)
2026.07.27 23:10:43 1:     DWD_OpenData::Timer                 called by fhem.pl (3522)
2026.07.27 23:10:43 1:     main::HandleTimeout                 called by fhem.pl (709)
2026.07.27 23:10:43 1: PERL WARNING: Use of uninitialized value $dwdDocSize in concatenation (.) or string at ./FHEM/55_DWD_OpenData.pm line 1854.
2026.07.27 23:10:43 1: stacktrace:
2026.07.27 23:10:43 1:     main::__ANON__                      called by ./FHEM/55_DWD_OpenData.pm (1854)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecastStart      called by FHEM/Blocking.pm (194)
2026.07.27 23:10:43 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2026.07.27 23:10:43 1:     main::BlockingCall                  called by ./FHEM/55_DWD_OpenData.pm (1665)
2026.07.27 23:10:43 1:     DWD_OpenData::GetForecast           called by ./FHEM/55_DWD_OpenData.pm (1127)
2026.07.27 23:10:43 1:     DWD_OpenData::Timer                 called by fhem.pl (3522)
2026.07.27 23:10:43 1:     main::HandleTimeout                 called by fhem.pl (709)
2026.07.27 23:10:45 1: SendEmail: Klaus.Voigt@Online.de,Braun.Christine@gmx.net - FHEM HM_IO: any_disconnected
2026.07.27 23:10:52 3: HMUARTLGW HMUART2: connect to http://192.168.1.5:23 timed out, retrying in 60.00s
2026.07.27 23:10:54 1: PERL WARNING: Odd number of elements in hash assignment at ./FHEM/55_DWD_OpenData.pm line 1753.
2026.07.27 23:10:54 1: stacktrace:
2026.07.27 23:10:54 1:     main::__ANON__                      called by ./FHEM/55_DWD_OpenData.pm (1753)
2026.07.27 23:10:54 1:     DWD_OpenData::IsDocumentUpdated     called by ./FHEM/55_DWD_OpenData.pm (2600)
2026.07.27 23:10:54 1:     DWD_OpenData::GetAlertsStart        called by FHEM/Blocking.pm (194)
2026.07.27 23:10:54 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2026.07.27 23:10:54 1:     main::BlockingCall                  called by ./FHEM/55_DWD_OpenData.pm (2552)
2026.07.27 23:10:54 1:     DWD_OpenData::GetAlerts             called by ./FHEM/55_DWD_OpenData.pm (1145)
2026.07.27 23:10:54 1:     DWD_OpenData::Timer                 called by fhem.pl (3522)
2026.07.27 23:10:54 1:     main::HandleTimeout                 called by fhem.pl (709)
2026.07.27 23:10:54 1: PERL WARNING: Use of uninitialized value in list assignment at ./FHEM/55_DWD_OpenData.pm line 1753.
2026.07.27 23:10:54 1: stacktrace:
2026.07.27 23:10:54 1:     main::__ANON__                      called by ./FHEM/55_DWD_OpenData.pm (1753)
2026.07.27 23:10:54 1:     DWD_OpenData::IsDocumentUpdated     called by ./FHEM/55_DWD_OpenData.pm (2600)
2026.07.27 23:10:54 1:     DWD_OpenData::GetAlertsStart        called by FHEM/Blocking.pm (194)
2026.07.27 23:10:54 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2026.07.27 23:10:54 1:     main::BlockingCall                  called by ./FHEM/55_DWD_OpenData.pm (2552)
2026.07.27 23:10:54 1:     DWD_OpenData::GetAlerts             called by ./FHEM/55_DWD_OpenData.pm (1145)
2026.07.27 23:10:54 1:     DWD_OpenData::Timer                 called by fhem.pl (3522)
2026.07.27 23:10:54 1:     main::HandleTimeout                 called by fhem.pl (709)
2026.07.27 23:10:54 1: PERL WARNING: Use of uninitialized value $t in concatenation (.) or string at ./FHEM/55_DWD_OpenData.pm line 1266.
2026.07.27 23:10:54 1: stacktrace:
2026.07.27 23:10:54 1:     main::__ANON__                      called by ./FHEM/55_DWD_OpenData.pm (1266)
2026.07.27 23:10:54 1:     DWD_OpenData::FormatDateTimeUTC     called by ./FHEM/55_DWD_OpenData.pm (1757)
2026.07.27 23:10:54 1:     DWD_OpenData::IsDocumentUpdated     called by ./FHEM/55_DWD_OpenData.pm (2600)
2026.07.27 23:10:54 1:     DWD_OpenData::GetAlertsStart        called by FHEM/Blocking.pm (194)
2026.07.27 23:10:54 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2026.07.27 23:10:54 1:     main::BlockingCall                  called by ./FHEM/55_DWD_OpenData.pm (2552)
2026.07.27 23:10:54 1:     DWD_OpenData::GetAlerts             called by ./FHEM/55_DWD_OpenData.pm (1145)
2026.07.27 23:10:54 1:     DWD_OpenData::Timer                 called by fhem.pl (3522)
2026.07.27 23:10:54 1:     main::HandleTimeout                 called by fhem.pl (709)
2026.07.27 23:10:54 1: PERL WARNING: Use of uninitialized value $_[3] in concatenation (.) or string at ./FHEM/55_DWD_OpenData.pm line 1762.
2026.07.27 23:10:54 1: stacktrace:
2026.07.27 23:10:54 1:     main::__ANON__                      called by ./FHEM/55_DWD_OpenData.pm (1762)
2026.07.27 23:10:54 1:     DWD_OpenData::IsDocumentUpdated     called by ./FHEM/55_DWD_OpenData.pm (2600)
2026.07.27 23:10:54 1:     DWD_OpenData::GetAlertsStart        called by FHEM/Blocking.pm (194)
2026.07.27 23:10:54 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2026.07.27 23:10:54 1:     main::BlockingCall                  called by ./FHEM/55_DWD_OpenData.pm (2552)
2026.07.27 23:10:54 1:     DWD_OpenData::GetAlerts             called by ./FHEM/55_DWD_OpenData.pm (1145)
2026.07.27 23:10:54 1:     DWD_OpenData::Timer                 called by fhem.pl (3522)
2026.07.27 23:10:54 1:     main::HandleTimeout                 called by fhem.pl (709)
2026.07.27 23:10:54 1: PERL WARNING: Use of uninitialized value $_[3] in numeric eq (==) at ./FHEM/55_DWD_OpenData.pm line 1763.
2026.07.27 23:10:54 1: stacktrace:
2026.07.27 23:10:54 1:     main::__ANON__                      called by ./FHEM/55_DWD_OpenData.pm (1763)
2026.07.27 23:10:54 1:     DWD_OpenData::IsDocumentUpdated     called by ./FHEM/55_DWD_OpenData.pm (2600)
2026.07.27 23:10:54 1:     DWD_OpenData::GetAlertsStart        called by FHEM/Blocking.pm (194)
2026.07.27 23:10:54 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2026.07.27 23:10:54 1:     main::BlockingCall                  called by ./FHEM/55_DWD_OpenData.pm (2552)
2026.07.27 23:10:54 1:     DWD_OpenData::GetAlerts             called by ./FHEM/55_DWD_OpenData.pm (1145)
2026.07.27 23:10:54 1:     DWD_OpenData::Timer                 called by fhem.pl (3522)
2026.07.27 23:10:54 1:     main::HandleTimeout                 called by fhem.pl (709)
2026.07.27 23:10:54 1: PERL WARNING: Use of uninitialized value $_[3] in numeric eq (==) at ./FHEM/55_DWD_OpenData.pm line 1763.
2026.07.27 23:10:54 1: stacktrace:
2026.07.27 23:10:54 1:     main::__ANON__                      called by ./FHEM/55_DWD_OpenData.pm (1763)
2026.07.27 23:10:54 1:     DWD_OpenData::IsDocumentUpdated     called by ./FHEM/55_DWD_OpenData.pm (2600)
2026.07.27 23:10:54 1:     DWD_OpenData::GetAlertsStart        called by FHEM/Blocking.pm (194)
2026.07.27 23:10:54 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2026.07.27 23:10:54 1:     main::BlockingCall                  called by ./FHEM/55_DWD_OpenData.pm (2552)
2026.07.27 23:10:54 1:     DWD_OpenData::GetAlerts             called by ./FHEM/55_DWD_OpenData.pm (1145)
2026.07.27 23:10:54 1:     DWD_OpenData::Timer                 called by fhem.pl (3522)
2026.07.27 23:10:54 1:     main::HandleTimeout                 called by fhem.pl (709)
2026.07.27 23:10:54 1: PERL WARNING: Use of uninitialized value $_[3] in concatenation (.) or string at ./FHEM/55_DWD_OpenData.pm line 1774.
2026.07.27 23:10:54 1: stacktrace:
2026.07.27 23:10:54 1:     main::__ANON__                      called by ./FHEM/55_DWD_OpenData.pm (1774)
2026.07.27 23:10:54 1:     DWD_OpenData::IsDocumentUpdated     called by ./FHEM/55_DWD_OpenData.pm (2600)
2026.07.27 23:10:54 1:     DWD_OpenData::GetAlertsStart        called by FHEM/Blocking.pm (194)
2026.07.27 23:10:54 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2026.07.27 23:10:54 1:     main::BlockingCall                  called by ./FHEM/55_DWD_OpenData.pm (2552)
2026.07.27 23:10:54 1:     DWD_OpenData::GetAlerts             called by ./FHEM/55_DWD_OpenData.pm (1145)
2026.07.27 23:10:54 1:     DWD_OpenData::Timer                 called by fhem.pl (3522)
2026.07.27 23:10:54 1:     main::HandleTimeout                 called by fhem.pl (709)
2026.07.27 23:10:54 1: PERL WARNING: Use of uninitialized value $dwdDocSize in concatenation (.) or string at ./FHEM/55_DWD_OpenData.pm line 2614.
2026.07.27 23:10:54 1: stacktrace:
2026.07.27 23:10:54 1:     main::__ANON__                      called by ./FHEM/55_DWD_OpenData.pm (2614)
2026.07.27 23:10:54 1:     DWD_OpenData::GetAlertsStart        called by FHEM/Blocking.pm (194)
2026.07.27 23:10:54 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2026.07.27 23:10:54 1:     main::BlockingCall                  called by ./FHEM/55_DWD_OpenData.pm (2552)
2026.07.27 23:10:54 1:     DWD_OpenData::GetAlerts             called by ./FHEM/55_DWD_OpenData.pm (1145)
2026.07.27 23:10:54 1:     DWD_OpenData::Timer                 called by fhem.pl (3522)
2026.07.27 23:10:54 1:     main::HandleTimeout                 called by fhem.pl (709)
2026.07.27 23:10:56 1: sendEmail returned: Jul 27 23:10:56 raspberry-prod sendemail[494]: ERROR => Connection attempt to smtp.1und1.de:587 failed: IO::Socket::INET6: getaddrinfo: Temporary failure in name resolution
2026.07.27 23:11:03 3: HMUARTLGW HMUART3: connect to http://192.168.1.17:23 timed out, retrying in 60.00s
2026.07.27 23:11:04 1: PERL WARNING: Use of uninitialized value $_ in substitution (s///) at FHEM/Blocking.pm line 238.
2026.07.27 23:11:04 1: stacktrace:
2026.07.27 23:11:04 1:     main::__ANON__                      called by FHEM/Blocking.pm (238)
2026.07.27 23:11:04 1:     main::BlockingInformParent          called by FHEM/Blocking.pm (201)
2026.07.27 23:11:04 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2026.07.27 23:11:04 1:     main::BlockingCall                  called by ./FHEM/55_DWD_OpenData.pm (2552)
2026.07.27 23:11:04 1:     DWD_OpenData::GetAlerts             called by ./FHEM/55_DWD_OpenData.pm (1145)
2026.07.27 23:11:04 1:     DWD_OpenData::Timer                 called by fhem.pl (3522)
2026.07.27 23:11:04 1:     main::HandleTimeout                 called by fhem.pl (709)
2026.07.27 23:11:04 1: PERL WARNING: Use of uninitialized value $_ in concatenation (.) or string at FHEM/Blocking.pm line 238.
2026.07.27 23:11:04 1: stacktrace:
2026.07.27 23:11:04 1:     main::__ANON__                      called by FHEM/Blocking.pm (238)
2026.07.27 23:11:04 1:     main::BlockingInformParent          called by FHEM/Blocking.pm (201)
2026.07.27 23:11:04 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2026.07.27 23:11:04 1:     main::BlockingCall                  called by ./FHEM/55_DWD_OpenData.pm (2552)
2026.07.27 23:11:04 1:     DWD_OpenData::GetAlerts             called by ./FHEM/55_DWD_OpenData.pm (1145)
2026.07.27 23:11:04 1:     DWD_OpenData::Timer                 called by fhem.pl (3522)
2026.07.27 23:11:04 1:     main::HandleTimeout                 called by fhem.pl (709)
2026.07.27 23:11:53 1: 192.168.1.5:23 reappeared (HMUART2)
2026.07.27 23:12:03 1: 192.168.1.17:23 reappeared (HMUART3)
2026.07.27 23:20:14 1: PERL WARNING: Argument "" isn't numeric in numeric eq (==) at ./FHEM/55_DWD_OpenData.pm line 1763.
2026.07.27 23:20:14 1: stacktrace:
2026.07.27 23:20:14 1:     main::__ANON__                      called by ./FHEM/55_DWD_OpenData.pm (1763)
2026.07.27 23:20:14 1:     DWD_OpenData::IsDocumentUpdated     called by ./FHEM/55_DWD_OpenData.pm (2600)
2026.07.27 23:20:14 1:     DWD_OpenData::GetAlertsStart        called by FHEM/Blocking.pm (194)
2026.07.27 23:20:14 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2026.07.27 23:20:14 1:     main::BlockingCall                  called by ./FHEM/55_DWD_OpenData.pm (2552)
2026.07.27 23:20:14 1:     DWD_OpenData::GetAlerts             called by ./FHEM/55_DWD_OpenData.pm (1145)
2026.07.27 23:20:14 1:     DWD_OpenData::Timer                 called by fhem.pl (3522)
2026.07.27 23:20:14 1:     main::HandleTimeout                 called by fhem.pl (709)
3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

Rampler

Habe einen Patch erstellt, wäre schön wenn dieser das Repository erreicht ..

Mit diesem Patch sind die lästigen Perl Warnings Geschichte..

- Die Prüfung, ob der DWD ein neues Warn-Dokument bereitgestellt
  hat, funktioniert jetzt korrekt. Ein Netzwerkausfall wird als
  solcher erkannt und nicht mehr stillschweigend als
  "unverändert" behandelt.

- Schlägt der Abruf der Warnungen fehl, wird die Fehlermeldung
  jetzt gespeichert. Dadurch erscheint der STÖRUNG-Hinweis
  in den Readings, und a_state zeigt den Fehler an, statt weiterhin
  "updated" zu melden.
3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

300P

Für welche Version/Datum ist der Patch geeignet / gedacht ?
(Hab die aus dem Contrib von DS_Starter bei mir laufen)
Gruß
300P

FHEM 6.4|RPi|SMAEM|SMAInverter|SolarForecast| DbLog|DbRep|MariaDB|Buderus-MQTT_EMS|
Fritzbox|fhempy|JsonMod|HTTPMOD|Modbus ser+TCP| ESP32_AI_on_the_Edge|ESP32CAM usw.

Rampler

Habe diese hier im Einsatz:
# -----------------------------------------------------------------------------
# $Id: 55_DWD_OpenData.pm 30318 2025-09-23 12:49:36Z DS_Starter $
# -----------------------------------------------------------------------------

Ist bei mir nicht im Ordner conrtib ...
3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

DS_Starter

ZitatHabe diese hier im Einsatz:
# -----------------------------------------------------------------------------
# $Id: 55_DWD_OpenData.pm 30318 2025-09-23 12:49:36Z DS_Starter $
# -----------------------------------------------------------------------------
Das ist die aktuelle, offiziell eingecheckte Version. Das passt.
Ich schaue mir deinen Patch an und melde mich wieder.

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

DS_Starter

#6
Ich habe den Patch übernommen. Das gepatchte Modul liegt zunächst in meinem Contrib (Fußtext).
Ich möchte den Tag morgen noch etwas beobachten ob es irgendwelche Seiteneffekte im normalen Vorhersagebetrieb gibt.

Hier noch das Changelog (auch mit meinen Änderungen):

- **Change:**
  * neue Funktion RemoveTempFile
  * @alertsData, @alertsReceived, @alertsUpdating und @alertsErrorMessage werden jetzt als Listen
    statt als Array-Referenz initialisiert
  * GetHeaders liefert eine Hash-Referenz (bisher Liste); IsDocumentUpdated angepasst
  * GetAlertsStart übernimmt das Ergebnis von IsDocumentUpdated per Rückgabeliste
    (update, dwdDocSize, dwdDocTime) statt über Ein-/Ausgabeparameter
  * Fehlermeldung beim Abruf der Wetterwarnungen wird in @alertsErrorMessage gespeichert
    (wird für die Störungsmeldung in UpdateAlerts benötigt)
 
- **Bugfix:**
  * Readings eventDesc und instruction der Störungsmeldung werden bei global encoding != unicode nach UTF-8 kodiert
  * Speicherleck behoben: tempfile(UNLINK => 1) entfernt (File::Temp merkt sich jeden Aufruf bis
    Prozessende), Temp-Dateien werden explizit gelöscht
  * Temp-Datei und Filehandle werden auch im Fehler-/up-to-date-Fall (Finish) und im Abort aufgeräumt
  * Shutdown/Undef: BlockingCall für Alerts wird beendet (Hash-Schlüssel .alertsBlockingCall<N>
    korrigiert), Temp-Dateien beider Alert-Caches werden entfernt
Proxmox+Debian+MariaDB, PV: SMA, Victron+Pylontech
Maintainer:SSCam,SSChatBot,SSCal,SSFile,DbLog,DbRep,Log2Syslog,SolarForecast,Watches,Dashboard,PylonLowVoltage,MemSaver
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Rampler

Ich hätte noch einen Vorschlag:  ;)

# feature: Alert-Readings (a_N_*) werden nur noch geschrieben, wenn sich
#          der Inhalt des Blocks (also irgendein Eintrag) geändert hat (verhindert Event- und
#          Log-Flooding durch unveränderte Alerts, die bei jedem Update
#          neu indiziert werden)

Siehe Anhang: updateAlerts.txt

# bugfix: UpdateAlerts wird bei Warnzellen-Update-Modi (UPDATE_DISTRICTS,
#         UPDATE_COMMUNEUNIONS, UPDATE_ALL) nicht mehr aufgerufen; diese
#         Modi aktualisieren nur den Cache

in GetAlertsFinished:
von
    if ($paramCount > 3 && $errorMessage ne 'up-to-date') {
      # update alert readings for warncell id
      UpdateAlerts($hash, $warncellId, \%docHeader);
    }
nach
    if ($paramCount > 3 && $warncellId >= 0 && $errorMessage ne 'up-to-date') {
      # update alert readings for warncell id
      UpdateAlerts($hash, $warncellId, \%docHeader);
    }


3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

DS_Starter

ZitatIch hätte noch einen Vorschlag:  ;)
Deinen Vorschlag bezgl. GetAlertsFinish habe ich unverändert übernommen.

Den Patch für UpdateAlerts habe ich korrigiert übernommen -> Fehler:

* Die alte Funktion löscht a_copyright am Anfang mit allen a_*-Readings.
  Die neue schreibt es nur, wenn ein Alert da ist, und räumt es nie weg.
  Nach "keine Alerts mehr" bleibt der Lizenztext stehen, auch im Fehlerfall danach.

Weiterhin habe ich die Sortierung noch etwas aufgehübscht. Problem:

* Bei gleichem Beginn, etwa zwei gleichzeitigen Warnungen, hängt die Reihenfolge von der Hash-Reihenfolge ab.
 
Ein Tie-Breaker behebt es.
Das Ziel deines Patches bleibt unverändert erreicht.

Weiterhin habe ich selbst noch einen Bugfix eingebaut, der sich auf ein vorhandenes Problem mit RotateForecast bezieht und dadurch fc0_0_* veraltet blieb.

Somit ergibt sich ein neues, erweitertes Changelog:

- Patch von Rampler eingebaut (Forum: https://forum.fhem.de/index.php?msg=1370034)

- **Change:**
  * neue Funktion RemoveTempFile
  * @alertsData, @alertsReceived, @alertsUpdating und @alertsErrorMessage werden jetzt als Listen
    statt als Array-Referenz initialisiert
  * GetHeaders liefert eine Hash-Referenz (bisher Liste); IsDocumentUpdated angepasst
  * GetAlertsStart übernimmt das Ergebnis von IsDocumentUpdated per Rückgabeliste
    (update, dwdDocSize, dwdDocTime) statt über Ein-/Ausgabeparameter
  * Fehlermeldung beim Abruf der Wetterwarnungen wird in @alertsErrorMessage gespeichert
    (wird für die Störungsmeldung in UpdateAlerts benötigt)
  * UpdateAlerts: Alerts mit gleichem Beginn (onset) werden stabil nach Identifier sortiert, damit die Reihenfolge
    der Blöcke a_N_* zwischen Updates nicht wechselt
 
- **Bugfix:**
  * Readings eventDesc und instruction der Störungsmeldung werden bei global encoding != unicode nach UTF-8 kodiert
  * Speicherleck behoben: tempfile(UNLINK => 1) entfernt (File::Temp merkt sich jeden Aufruf bis
    Prozessende), Temp-Dateien werden explizit gelöscht
  * Temp-Datei und Filehandle werden auch im Fehler-/up-to-date-Fall (Finish) und im Abort aufgeräumt
  * Shutdown/Undef: BlockingCall für Alerts wird beendet (Hash-Schlüssel .alertsBlockingCall<N>
    korrigiert), Temp-Dateien beider Alert-Caches werden entfernt
  * ParseDateLocal lieferte immer undef (Time::Piece-Objekt an Timelocal übergeben), dadurch wurde
    RotateForecast nie ausgeführt und fc0_0_* blieb veraltet; Datum wird jetzt per Regex zerlegt
  * PruneForecast verwendete $hash->{READINGS}{TIME} statt den Zeitstempel des jeweiligen Readings
    (bei forecastPruning=1 wurde nie etwas gelöscht)
  * GetAlertsFinish: UpdateAlerts wird bei Warnzellen-Update-Modi (UPDATE_DISTRICTS, UPDATE_COMMUNEUNIONS, UPDATE_ALL) nicht mehr
    aufgerufen; diese Modi aktualisieren nur den Cache; Alert-Readings des Devices gehen dabei nicht mehr verloren
   
- **Neu:**
  * Alert-Readings (a_N_*) werden nur noch geschrieben, wenn sich der Inhalt des Blocks (irgendein Eintrag) geändert hat;
    verhindert Event- und Log-Flooding durch unveränderte Alerts, die bei jedem Update neu indiziert werden.
   Nicht mehr vorhandene Blöcke werden gelöscht, Readings unveränderter Blöcke behalten ihren Zeitstempel


Die neu gepatchte Version liegt wieder in meinem contrib. Jetzt muß ich natürlich wieder einen Tag länger mit dem CheckIn warten um den Erfolg des korrigierten Rotate bestätigen zu können.  ;)
Wer aber die neue Version schon einsetzen möchte, nimmt sie bitte aus meinem contrib. Sie läuft in meinen bisherigen Tests problemlos.

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