PID20 - Warnings bei Neustart

Begonnen von Nobbynews, 02 Januar 2025, 10:11:18

Vorheriges Thema - Nächstes Thema

Nobbynews

Guten Morgen,

das Modul PID20 verursacht hier bei mir bei einem Neustart von FHEM einen Haufen Warnings.
[2025.01.02 09:34:25 1: stacktrace:
2025.01.02 09:34:25 1:     main::__ANON__                      called by ./FHEM/98_PID20.pm (305)
2025.01.02 09:34:25 1:     main::PID20_Notify                  called by fhem.pl (3988)
2025.01.02 09:34:25 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.02 09:34:25 1:     main::DoTrigger                     called by fhem.pl (5017)
2025.01.02 09:34:25 1:     main::readingsEndUpdate             called by fhem.pl (5200)
2025.01.02 09:34:25 1:     main::readingsSingleUpdate          called by ./FHEM/00_TCM.pm (208)
2025.01.02 09:34:25 1:     main::TCM_InitSerialCom             called by ./FHEM/00_TCM.pm (1518)
2025.01.02 09:34:25 1:     main::TCM_Notify                    called by fhem.pl (3988)
2025.01.02 09:34:25 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.02 09:34:25 1:     main::DoTrigger                     called by fhem.pl (691)
2025.01.02 09:34:25 1: PERL WARNING: Use of uninitialized value $sensorName in string ne at ./FHEM/98_PID20.pm line 305.

2025.01.02 09:34:46 1: stacktrace:
2025.01.02 09:34:46 1:     main::__ANON__                      called by ./FHEM/98_PID20.pm (305)
2025.01.02 09:34:46 1:     main::PID20_Notify                  called by fhem.pl (3988)
2025.01.02 09:34:46 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.02 09:34:46 1:     main::DoTrigger                     called by fhem.pl (5017)
2025.01.02 09:34:46 1:     main::readingsEndUpdate             called by fhem.pl (5200)
2025.01.02 09:34:46 1:     main::readingsSingleUpdate          called by ./FHEM/90_at.pm (178)
2025.01.02 09:34:46 1:     main::at_Define                     called by fhem.pl (3988)
2025.01.02 09:34:46 1:     main::CallFn                        called by fhem.pl (2165)
2025.01.02 09:34:46 1:     main::CommandDefine                 called by fhem.pl (2263)
2025.01.02 09:34:46 1:     main::CommandDefMod                 called by fhem.pl (1285)
2025.01.02 09:34:46 1:     main::AnalyzeCommand                called by fhem.pl (1136)
2025.01.02 09:34:46 1:     main::AnalyzeCommandChain           called by fhem.pl (4028)
2025.01.02 09:34:46 1:     main::fhem                          called by (eval 398) (2)
2025.01.02 09:34:46 1:     (eval)                              called by fhem.pl (1180)
2025.01.02 09:34:46 1:     main::AnalyzePerlCommand            called by fhem.pl (1209)
2025.01.02 09:34:46 1:     main::AnalyzeCommand                called by fhem.pl (1136)
2025.01.02 09:34:46 1:     main::AnalyzeCommandChain           called by ./FHEM/91_notify.pm (122)
2025.01.02 09:34:46 1:     main::notify_Exec                   called by fhem.pl (3988)
2025.01.02 09:34:46 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.02 09:34:46 1:     main::DoTrigger                     called by fhem.pl (691)
2025.01.02 09:34:46 1: PERL WARNING: Use of uninitialized value $sensorName in string ne at ./FHEM/98_PID20.pm line 305.

Version des Moduls ist:
98_PID20.pm:0.294410/2024-12-20
Kann das etwas mit den Änderungen vom 20.12.24 bzw. 5.4.24 zu tun haben?

Edit:
Die Version vom 20.12.24 ist nicht der Übeltäter.
Habe mal die Veriosn vom 5.4.42 zurückgespielt.
Bei einem der PID-Regler bekomme ich im state die Meldung:
    
alarm - no yet for

betateilchen

Ich glaube nicht, dass PID20 selbst die Ursache für die Meldungen ist, das Modul ist nur das letzte in der Kette.

Im zweiten stacktrace sieht man, dass durch einen trigger ein notify ausgelöst wird, das per defmod ein at anlegt (oder ändert), das offenbar einen Bezug zu PID20 hat.

Mach Dich mal auf die Suche, wo in Deiner Konfiguration diese Kette gestartet wird und überlege, ob das gefundene Vorgehen sinnvoll ist.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Nobbynews

Hallo betateilchen,

Das mit dem at fiel mir auch auf, allerdings habe ich da erst einmal keinen Zusammenhang hergestellt.
defmod n_StartFhem notify global:INITIALIZED {\
fhem ("defmod atemp at 03:05 set Abfall update");;\
fhem ("defmod atemp2 at 03:06 set NRW_Ferien update");;\
Refresh_HomeStatus();;\
}

setstate n_StartFhem 2025-01-02 10:34:01
setstate n_StartFhem 2025-01-02 10:33:58 state active
setstate n_StartFhem 2025-01-02 10:34:01 triggeredByDev global
setstate n_StartFhem 2025-01-02 10:34:01 triggeredByEvent INITIALIZED

Nach dem Löschen des at mit anschließendem Neustart kommen diese Warnings:
2025.01.02 17:50:35 1: PERL WARNING: Use of uninitialized value $sensorName in string ne at ./FHEM/98_PID20.pm line 305.
2025.01.02 17:50:35 1: stacktrace:
2025.01.02 17:50:35 1:     main::__ANON__                      called by ./FHEM/98_PID20.pm (305)
2025.01.02 17:50:35 1:     main::PID20_Notify                  called by fhem.pl (3988)
2025.01.02 17:50:35 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.02 17:50:35 1:     main::DoTrigger                     called by fhem.pl (5017)
2025.01.02 17:50:35 1:     main::readingsEndUpdate             called by fhem.pl (5200)
2025.01.02 17:50:35 1:     main::readingsSingleUpdate          called by ./FHEM/00_TCM.pm (872)
2025.01.02 17:50:35 1:     main::TCM_Get                       called by ./FHEM/00_TCM.pm (161)
2025.01.02 17:50:35 1:     main::TCM_InitSerialCom             called by ./FHEM/00_TCM.pm (1518)
2025.01.02 17:50:35 1:     main::TCM_Notify                    called by fhem.pl (3988)
2025.01.02 17:50:35 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.02 17:50:35 1:     main::DoTrigger                     called by fhem.pl (691)
2025.01.02 17:50:35 1: PERL WARNING: Use of uninitialized value $sensorName in string ne at ./FHEM/98_PID20.pm line 305.

2025.01.02 17:50:35 1: PERL WARNING: Use of uninitialized value $sensorName in string ne at ./FHEM/98_PID20.pm line 305.
2025.01.02 17:50:35 1: stacktrace:
2025.01.02 17:50:35 1:     main::__ANON__                      called by ./FHEM/98_PID20.pm (305)
2025.01.02 17:50:35 1:     main::PID20_Notify                  called by fhem.pl (3988)
2025.01.02 17:50:35 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.02 17:50:35 1:     main::DoTrigger                     called by fhem.pl (5017)
2025.01.02 17:50:35 1:     main::readingsEndUpdate             called by fhem.pl (5200)
2025.01.02 17:50:35 1:     main::readingsSingleUpdate          called by ./FHEM/34_ESPEasy.pm (2365)
2025.01.02 17:50:35 1:     main::ESPEasy_TcpServer_Open        called by ./FHEM/34_ESPEasy.pm (1285)
2025.01.02 17:50:35 1:     main::ESPEasy_Notify                called by fhem.pl (3988)
2025.01.02 17:50:35 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.02 17:50:35 1:     main::DoTrigger                     called by fhem.pl (691)
2025.01.02 17:50:35 1: PERL WARNING: Use of uninitialized value $sensorName in string ne at ./FHEM/98_PID20.pm line 305.
2025.01.02 17:50:35 1: stacktrace:
2025.01.02 17:50:35 1:     main::__ANON__                      called by ./FHEM/98_PID20.pm (305)
2025.01.02 17:50:35 1:     main::PID20_Notify                  called by fhem.pl (3988)
2025.01.02 17:50:35 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.02 17:50:35 1:     main::DoTrigger                     called by fhem.pl (5017)
2025.01.02 17:50:35 1:     main::readingsEndUpdate             called by fhem.pl (5200)
2025.01.02 17:50:35 1:     main::readingsSingleUpdate          called by ./FHEM/34_ESPEasy.pm (2365)
2025.01.02 17:50:35 1:     main::ESPEasy_TcpServer_Open        called by ./FHEM/34_ESPEasy.pm (1285)
2025.01.02 17:50:35 1:     main::ESPEasy_Notify                called by fhem.pl (3988)
2025.01.02 17:50:35 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.02 17:50:35 1:     main::DoTrigger                     called by fhem.pl (691)
2025.01.02 17:50:35 1: PERL WARNING: Use of uninitialized value $sensorName in string ne at ./FHEM/98_PID20.pm line 305.

2025.01.02 17:50:35 1: PERL WARNING: Use of uninitialized value $sensorName in string ne at ./FHEM/98_PID20.pm line 305.
2025.01.02 17:50:35 1: stacktrace:
2025.01.02 17:50:35 1:     main::__ANON__                      called by ./FHEM/98_PID20.pm (305)
2025.01.02 17:50:35 1:     main::PID20_Notify                  called by fhem.pl (3988)
2025.01.02 17:50:35 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.02 17:50:35 1:     main::DoTrigger                     called by fhem.pl (5017)
2025.01.02 17:50:35 1:     main::readingsEndUpdate             called by ./FHEM/98_weekprofile.pm (678)
2025.01.02 17:50:35 1:     main::weekprofile_assignDev         called by ./FHEM/98_weekprofile.pm (1338)
2025.01.02 17:50:35 1:     main::weekprofile_Notify            called by fhem.pl (3988)
2025.01.02 17:50:35 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.02 17:50:35 1:     main::DoTrigger                     called by fhem.pl (691)
2025.01.02 17:50:35 1: PERL WARNING: Use of uninitialized value $sensorName in string ne at ./FHEM/98_PID20.pm line 305.
2025.01.02 17:50:35 1: stacktrace:
2025.01.02 17:50:35 1:     main::__ANON__                      called by ./FHEM/98_PID20.pm (305)
2025.01.02 17:50:35 1:     main::PID20_Notify                  called by fhem.pl (3988)
2025.01.02 17:50:35 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.02 17:50:35 1:     main::DoTrigger                     called by fhem.pl (5017)
2025.01.02 17:50:35 1:     main::readingsEndUpdate             called by ./FHEM/98_weekprofile.pm (678)
2025.01.02 17:50:35 1:     main::weekprofile_assignDev         called by ./FHEM/98_weekprofile.pm (1338)
2025.01.02 17:50:35 1:     main::weekprofile_Notify            called by fhem.pl (3988)
2025.01.02 17:50:35 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.02 17:50:35 1:     main::DoTrigger                     called by fhem.pl (691)
2025.01.02 17:50:35 1: PERL WARNING: Use of uninitialized value $sensorName in string ne at ./FHEM/98_PID20.pm line 305.
2025.01.02 17:50:36 1: PERL WARNING: Use of uninitialized value $sensorName in string ne at ./FHEM/98_PID20.pm line 305.
2025.01.02 17:50:36 1: stacktrace:
2025.01.02 17:50:36 1:     main::__ANON__                      called by ./FHEM/98_PID20.pm (305)
2025.01.02 17:50:36 1:     main::PID20_Notify                  called by fhem.pl (3988)
2025.01.02 17:50:36 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.02 17:50:36 1:     main::DoTrigger                     called by FHEM/DevIo.pm (423)
2025.01.02 17:50:36 1:     main::__ANON__                      called by FHEM/DevIo.pm (640)
2025.01.02 17:50:36 1:     main::DevIo_OpenDev                 called by ./FHEM/98_Modbus.pm (1727)
2025.01.02 17:50:36 1:     Modbus::DoOpen                      called by ./FHEM/98_Modbus.pm (1623)
2025.01.02 17:50:36 1:     Modbus::NotifyFn                    called by fhem.pl (3988)
2025.01.02 17:50:36 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.02 17:50:36 1:     main::DoTrigger                     called by fhem.pl (691)
2025.01.02 17:50:36 1: PERL WARNING: Use of uninitialized value $sensorName in string ne at ./FHEM/98_PID20.pm line 305.
2025.01.02 17:50:36 1: stacktrace:
2025.01.02 17:50:36 1:     main::__ANON__                      called by ./FHEM/98_PID20.pm (305)
2025.01.02 17:50:36 1:     main::PID20_Notify                  called by fhem.pl (3988)
2025.01.02 17:50:36 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.02 17:50:36 1:     main::DoTrigger                     called by FHEM/DevIo.pm (423)
2025.01.02 17:50:36 1:     main::__ANON__                      called by FHEM/DevIo.pm (640)
2025.01.02 17:50:36 1:     main::DevIo_OpenDev                 called by ./FHEM/98_Modbus.pm (1727)
2025.01.02 17:50:36 1:     Modbus::DoOpen                      called by ./FHEM/98_Modbus.pm (1623)
2025.01.02 17:50:36 1:     Modbus::NotifyFn                    called by fhem.pl (3988)
2025.01.02 17:50:36 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.02 17:50:36 1:     main::DoTrigger                     called by fhem.pl (691)
2025.01.02 17:50:36 1: PERL WARNING: Use of uninitialized value $sensorName in string ne at ./FHEM/98_PID20.pm line 305.

Das ist nur ein kurzer Auszug.
Leider habe ich in meinen Sicherungen keine ältere Version vom PID-Modul.
Zum test würde ich gerne eine Version von vor dem 5.4.24 installieren.
Das würde vielleicht ein wenig Licht ins Dunkel bringen.

Nobbynews

#3
Habe jetzt mal aus dem SVN die  Version

98_PID20.pm:0.278270/2023-08-07
Installiert.
Gleicher Effekt.
Bin jetzt ziemlich ratlos.

Wenn ich die PID-Devices mit attr disable 1 deaktivieren kommen regelmäßig nur noch diese warnings:
2025.01.02 20:12:27 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 4709.
2025.01.02 20:12:27 1: stacktrace:
2025.01.02 20:12:27 1:     main::__ANON__                      called by fhem.pl (4709)
2025.01.02 20:12:27 1:     main::ReadingsVal                   called by ./FHEM/98_PID20.pm (485)
2025.01.02 20:12:27 1:     main::PID20_Calc                    called by fhem.pl (3511)
2025.01.02 20:12:27 1:     main::HandleTimeout                 called by fhem.pl (710)
2025.01.02 20:12:27 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 4729.
2025.01.02 20:12:27 1: stacktrace:
2025.01.02 20:12:27 1:     main::__ANON__                      called by fhem.pl (4729)
2025.01.02 20:12:27 1:     main::ReadingsTimestamp             called by ./FHEM/98_PID20.pm (487)
2025.01.02 20:12:27 1:     main::PID20_Calc                    called by fhem.pl (3511)
2025.01.02 20:12:27 1:     main::HandleTimeout                 called by fhem.pl (710)
2025.01.02 20:12:27 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 4709.
2025.01.02 20:12:27 1: stacktrace:
2025.01.02 20:12:27 1:     main::__ANON__                      called by fhem.pl (4709)
2025.01.02 20:12:27 1:     main::ReadingsVal                   called by ./FHEM/98_PID20.pm (485)
2025.01.02 20:12:27 1:     main::PID20_Calc                    called by fhem.pl (3511)
2025.01.02 20:12:27 1:     main::HandleTimeout                 called by fhem.pl (710)
2025.01.02 20:12:27 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 4729.
2025.01.02 20:12:27 1: stacktrace:
2025.01.02 20:12:27 1:     main::__ANON__                      called by fhem.pl (4729)
2025.01.02 20:12:27 1:     main::ReadingsTimestamp             called by ./FHEM/98_PID20.pm (487)
2025.01.02 20:12:27 1:     main::PID20_Calc                    called by fhem.pl (3511)
2025.01.02 20:12:27 1:     main::HandleTimeout                 called by fhem.pl (710)
2025.01.02 20:12:27 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 4709.
2025.01.02 20:12:27 1: stacktrace:
2025.01.02 20:12:27 1:     main::__ANON__                      called by fhem.pl (4709)
2025.01.02 20:12:27 1:     main::ReadingsVal                   called by ./FHEM/98_PID20.pm (485)
2025.01.02 20:12:27 1:     main::PID20_Calc                    called by fhem.pl (3511)
2025.01.02 20:12:27 1:     main::HandleTimeout                 called by fhem.pl (710)
2025.01.02 20:12:27 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 4729.
2025.01.02 20:12:27 1: stacktrace:
2025.01.02 20:12:27 1:     main::__ANON__                      called by fhem.pl (4729)
2025.01.02 20:12:27 1:     main::ReadingsTimestamp             called by ./FHEM/98_PID20.pm (487)
2025.01.02 20:12:27 1:     main::PID20_Calc                    called by fhem.pl (3511)
2025.01.02 20:12:27 1:     main::HandleTimeout                 called by fhem.pl (710)
2025.01.02 20:12:27 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 4709.
2025.01.02 20:12:27 1: stacktrace:
2025.01.02 20:12:27 1:     main::__ANON__                      called by fhem.pl (4709)
2025.01.02 20:12:27 1:     main::ReadingsVal                   called by ./FHEM/98_PID20.pm (485)
2025.01.02 20:12:27 1:     main::PID20_Calc                    called by fhem.pl (3511)
2025.01.02 20:12:27 1:     main::HandleTimeout                 called by fhem.pl (710)
2025.01.02 20:12:27 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 4729.
2025.01.02 20:12:27 1: stacktrace:
2025.01.02 20:12:27 1:     main::__ANON__                      called by fhem.pl (4729)
2025.01.02 20:12:27 1:     main::ReadingsTimestamp             called by ./FHEM/98_PID20.pm (487)
2025.01.02 20:12:27 1:     main::PID20_Calc                    called by fhem.pl (3511)
2025.01.02 20:12:27 1:     main::HandleTimeout                 called by fhem.pl (710)

Nobbynews

#4
Die Warnings werden alle mit Bezug auf Zeile 305 ausgegeben.
Ich habe jetzt mal zum Testen eine zusätzliche Zeile für einen Log-Eintrag eingebaut und die config auf meinem Testsytem abgebildet.
Zeile 304:
my $temp = dev->{name}; Log 1,"**** PID20: $temp";
Damit erhalte ich nach einem Neustart folgende Log-Einträge:
2025.01.03 17:22:42 1: ***** PID20: HK_ZWave
2025.01.03 17:22:42 1: PERL WARNING: Use of uninitialized value $sensorName in string ne at ./FHEM/98_PID20.pm line 305.
2025.01.03 17:22:42 1: ***** PID20: HK_ZWave
2025.01.03 17:22:47 1: ***** PID20: fhemInstaller
2025.01.03 17:22:47 1: ***** PID20: pidFlur
2025.01.03 17:22:47 1: ***** PID20: wdT_Flur
2025.01.03 17:22:47 1: ***** PID20: wdT_Flur
2025.01.03 17:22:47 1: ***** PID20: wdT_Flur
2025.01.03 17:22:47 1: ***** PID20: wdT_Flur
2025.01.03 17:22:47 1: ***** PID20: wdT_Flur
2025.01.03 17:22:47 1: ***** PID20: wdT_Flur
2025.01.03 17:22:47 1: ***** PID20: wdT_Flur
2025.01.03 17:22:47 1: ***** PID20: SIGNALespDach
2025.01.03 17:22:47 1: ***** PID20: SIGNALESP
2025.01.03 17:22:48 1: ***** PID20: fhemInstaller 
2025.01.03 17:22:57 1: ***** PID20: pidFlur
2025.01.03 17:22:57 1: ***** PID20: pidFlur
2025.01.03 17:22:59 1: ***** PID20: SD_WS07_TH_1
2025.01.03 17:23:11 1: ***** PID20: SD_WS_89_TH_1
2025.01.03 17:23:16 1: ***** PID20: SD_WS07_TH_2
2025.01.03 17:23:19 1: ***** PID20: Mebus_30
2025.01.03 17:23:21 1: ***** PID20: HandyBirgit
2025.01.03 17:23:21 1: ***** PID20: HandyCarina
2025.01.03 17:23:21 1: ***** PID20: HandyHenrike
2025.01.03 17:23:21 1: ***** PID20: HandyNorbert
2025.01.03 17:23:21 1: ***** PID20: TabletBirgit
2025.01.03 17:23:21 1: ***** PID20: TabletHenrike2
2025.01.03 17:23:21 1: ***** PID20: TabletNorbert
2025.01.03 17:23:21 1: ***** PID20: PsnceDaemon
2025.01.03 17:23:26 1: ***** PID20: Mebus_163
2025.01.03 17:23:28 1: ***** PID20: SD_WS_27_TH_8
2025.01.03 17:23:28 1: ***** PID20: global
2025.01.03 17:23:51 1: ***** PID20: HandyBirgit
2025.01.03 17:23:51 1: ***** PID20: HandyHenrike
2025.01.03 17:23:51 1: ***** PID20: HandyNorbert
2025.01.03 17:23:51 1: ***** PID20: TabletBirgit
2025.01.03 17:23:51 1: ***** PID20: TabletNorbert
2025.01.03 17:23:51 1: ***** PID20: PsnceDaemon
2025.01.03 17:23:57 1: ***** PID20: pidFlur
2025.01.03 17:23:57 1: ***** PID20: pidFlur
2025.01.03 17:24:21 1: ***** PID20: HandyBirgit
2025.01.03 17:24:21 1: ***** PID20: HandyHenrike
2025.01.03 17:24:21 1: ***** PID20: HandyNorbert
2025.01.03 17:24:21 1: ***** PID20: TabletBirgit
2025.01.03 17:24:21 1: ***** PID20: TabletNorbert
2025.01.03 17:24:21 1: ***** PID20: PsnceDaemon
2025.01.03 17:24:31 1: ***** PID20: global
2025.01.03 17:24:42 1: ***** PID20: Hideki_30_2
2025.01.03 17:24:51 1: ***** PID20: HandyBirgit
2025.01.03 17:24:51 1: ***** PID20: HandyHenrike
2025.01.03 17:24:51 1: ***** PID20: HandyNorbert
2025.01.03 17:24:51 1: ***** PID20: TabletBirgit
2025.01.03 17:24:51 1: ***** PID20: TabletNorbert
2025.01.03 17:24:51 1: ***** PID20: PsnceDaemon
2025.01.03 17:24:51 1: ***** PID20: unknown_please_select_model
2025.01.03 17:24:57 1: ***** PID20: pidFlur
2025.01.03 17:24:57 1: ***** PID20: pidFlur
2025.01.03 17:24:59 1: ***** PID20: Hideki_30_3
2025.01.03 17:25:21 1: ***** PID20: HandyBirgit
2025.01.03 17:25:21 1: ***** PID20: HandyHenrike
2025.01.03 17:25:21 1: ***** PID20: HandyNorbert
2025.01.03 17:25:21 1: ***** PID20: TabletBirgit
2025.01.03 17:25:21 1: ***** PID20: TabletNorbert
2025.01.03 17:25:21 1: ***** PID20: PsnceDaemon
usw.
Als nächtes dann die Ausgabe um $sensorName ergänzt:
2025.01.03 17:42:48 1: ***** PID20: SIGNALespDach  | SensorName: Hideki_30_4
2025.01.03 17:42:48 1: ***** PID20: SIGNALESP  | SensorName: Hideki_30_4
2025.01.03 17:42:50 1: ***** PID20: wdT_Flur  | SensorName: Hideki_30_4
2025.01.03 17:42:50 1: ***** PID20: Mebus_30  | SensorName: Hideki_30_4
2025.01.03 17:42:55 1: ***** PID20: HK_Dummy  | SensorName: Hideki_30_4
2025.01.03 17:42:55 1: ***** PID20: pidFlur  | SensorName: Hideki_30_4
2025.01.03 17:42:55 1: ***** PID20: pidFlur  | SensorName: Hideki_30_4
2025.01.03 17:43:00 1: ***** PID20: Hideki_30_3  | SensorName: Hideki_30_4
2025.01.03 17:43:06 1: ***** PID20: Mebus_163  | SensorName: Hideki_30_4

Ist das Verhalten so gewünscht und damit korrekt? Edit: Passt zu den events im Eventmonitor. Also OK.



Das device ist definiert als:
define pidFlur PID20 Hideki_30_4:temperature HK_Dummy:dim
#   DEF        Hideki_30_4:temperature HK_Dummy:dim
#   FUUID      677773d6-f33f-2b56-c182-c3cf19702a13f221
#   FVERSION   98_PID20.pm:0.294410/2024-12-20
#   NAME       pidFlur
#   NR         130
#   NTFY_ORDER 50-pidFlur
#   STATE      processing
#   STILLDONETIME 0
#   TYPE       PID20
#   VERSION    1.0.0.11
#   eventCount 29
#   READINGS:
#     2025-01-03 17:35:57   actuation       0
#     2025-01-03 17:35:57   actuationCalc   -13.0999999999998
#     2025-01-03 17:35:57   delta           -3.5
#     2025-01-03 17:35:57   desired         18.0
#     2025-01-03 17:35:57   measured        21.5
#     2025-01-03 17:35:57   p_d             0
#     2025-01-03 17:35:57   p_i             74.4000000000002
#     2025-01-03 17:35:57   p_p             -87.5
#     2025-01-03 17:35:57   state           processing
#   helper:
#     actor      HK_Dummy
#     actorCommand dim
#     actorErrorAction freeze
#     actorErrorPos 0
#     actorInterval 180
#     actorKeepAlive 1800
#     actorLimitLower 0
#     actorLimitUpper 100
#     actorThreshold 1
#     actorTimestamp 2025-01-03 17:22:57
#     actorValueDecPlaces 0
#     adjust    
#     calcInterval 60
#     deltaGradient 0
#     deltaOld   -3.5
#     deltaOldTS 2025-01-03 17:30:39
#     deltaTreshold 0
#     desiredName desired
#     disable    0
#     factor_D   0
#     factor_I   0.25
#     factor_P   25
#     isWindUP   1
#     measuredName measured
#     reading    temperature
#     regexp     ^([\+,\-]?\d+\.?\d*$)
#     reverseAction 0
#     sensor     Hideki_30_4
#     sensorTimeout 3600
#     stopped    0
#     updateInterval 600
#
setstate pidFlur processing
setstate pidFlur 2025-01-03 17:35:57 actuation 0
setstate pidFlur 2025-01-03 17:35:57 actuationCalc -13.0999999999998
setstate pidFlur 2025-01-03 17:35:57 delta -3.5
setstate pidFlur 2025-01-03 17:35:57 desired 18.0
setstate pidFlur 2025-01-03 17:35:57 measured 21.5
setstate pidFlur 2025-01-03 17:35:57 p_d 0
setstate pidFlur 2025-01-03 17:35:57 p_i 74.4000000000002
setstate pidFlur 2025-01-03 17:35:57 p_p -87.5
setstate pidFlur 2025-01-03 17:35:57 state processing


Auf meinem Produktivsystem sieht das dann so aus:
2025.01.03 18:05:53 1: PERL WARNING: Use of uninitialized value $sensorName in concatenation (.) or string at ./FHEM/98_PID20.pm line 304.
2025.01.03 18:05:53 1: stacktrace:
2025.01.03 18:05:53 1:     main::__ANON__                      called by ./FHEM/98_PID20.pm (304)
2025.01.03 18:05:53 1:     main::PID20_Notify                  called by fhem.pl (3988)
2025.01.03 18:05:53 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.03 18:05:53 1:     main::DoTrigger                     called by fhem.pl (5017)
2025.01.03 18:05:53 1:     main::readingsEndUpdate             called by fhem.pl (5200)
2025.01.03 18:05:53 1:     main::readingsSingleUpdate          called by ./FHEM/98_PID20.pm (264)
2025.01.03 18:05:53 1:     main::PID20_Check                   called by ./FHEM/98_PID20.pm (300)
2025.01.03 18:05:53 1:     main::PID20_Notify                  called by fhem.pl (3988)
2025.01.03 18:05:53 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.03 18:05:53 1:     main::DoTrigger                     called by fhem.pl (691)
2025.01.03 18:05:53 1: ***** PID20 dev: pidGaesteWC | sensorName:
2025.01.03 18:05:53 1: PERL WARNING: Use of uninitialized value $sensorName in string ne at ./FHEM/98_PID20.pm line 305.
2025.01.03 18:05:53 1: stacktrace:
2025.01.03 18:05:53 1:     main::__ANON__                      called by ./FHEM/98_PID20.pm (305)
2025.01.03 18:05:53 1:     main::PID20_Notify                  called by fhem.pl (3988)
2025.01.03 18:05:53 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.03 18:05:53 1:     main::DoTrigger                     called by fhem.pl (5017)
2025.01.03 18:05:53 1:     main::readingsEndUpdate             called by fhem.pl (5200)
2025.01.03 18:05:53 1:     main::readingsSingleUpdate          called by ./FHEM/98_PID20.pm (264)
2025.01.03 18:05:53 1:     main::PID20_Check                   called by ./FHEM/98_PID20.pm (300)
2025.01.03 18:05:53 1:     main::PID20_Notify                  called by fhem.pl (3988)
2025.01.03 18:05:53 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.03 18:05:53 1:     main::DoTrigger                     called by fhem.pl (691)
2025.01.03 18:05:53 1: ***** PID20 dev: pidKueche | sensorName: TempFlur
2025.01.03 18:05:53 1: ***** PID20 dev: pidKueche | sensorName: TempGaesteWC
2025.01.03 18:05:53 1: ***** PID20 dev: pidKueche | sensorName: TempKueche
2025.01.03 18:05:53 1: PERL WARNING: Use of uninitialized value $sensorName in concatenation (.) or string at ./FHEM/98_PID20.pm line 304.
2025.01.03 18:05:53 1: stacktrace:
2025.01.03 18:05:53 1:     main::__ANON__                      called by ./FHEM/98_PID20.pm (304)
2025.01.03 18:05:53 1:     main::PID20_Notify                  called by fhem.pl (3988)
2025.01.03 18:05:53 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.03 18:05:53 1:     main::DoTrigger                     called by fhem.pl (5017)
2025.01.03 18:05:53 1:     main::readingsEndUpdate             called by fhem.pl (5200)
2025.01.03 18:05:53 1:     main::readingsSingleUpdate          called by ./FHEM/98_PID20.pm (264)
2025.01.03 18:05:53 1:     main::PID20_Check                   called by ./FHEM/98_PID20.pm (300)
2025.01.03 18:05:53 1:     main::PID20_Notify                  called by fhem.pl (3988)
2025.01.03 18:05:53 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.03 18:05:53 1:     main::DoTrigger                     called by fhem.pl (691)
2025.01.03 18:05:53 1: ***** PID20 dev: pidKueche | sensorName:
2025.01.03 18:05:53 1: PERL WARNING: Use of uninitialized value $sensorName in string ne at ./FHEM/98_PID20.pm line 305.
2025.01.03 18:05:53 1: stacktrace:
2025.01.03 18:05:53 1:     main::__ANON__                      called by ./FHEM/98_PID20.pm (305)
2025.01.03 18:05:53 1:     main::PID20_Notify                  called by fhem.pl (3988)
2025.01.03 18:05:53 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.03 18:05:53 1:     main::DoTrigger                     called by fhem.pl (5017)
2025.01.03 18:05:53 1:     main::readingsEndUpdate             called by fhem.pl (5200)
2025.01.03 18:05:53 1:     main::readingsSingleUpdate          called by ./FHEM/98_PID20.pm (264)
2025.01.03 18:05:53 1:     main::PID20_Check                   called by ./FHEM/98_PID20.pm (300)
2025.01.03 18:05:53 1:     main::PID20_Notify                  called by fhem.pl (3988)
2025.01.03 18:05:53 1:     main::CallFn                        called by fhem.pl (3900)
2025.01.03 18:05:53 1:     main::DoTrigger                     called by fhem.pl (691)
2025.01.03 18:05:53 1: ***** PID20 dev: pidWerkstatt | sensorName: TempFlur
2025.01.03 18:05:53 1: ***** PID20 dev: pidWerkstatt | sensorName: TempGaesteWC
2025.01.03 18:05:53 1: ***** PID20 dev: pidWerkstatt | sensorName: TempKueche
2025.01.03 18:05:53 1: ***** PID20 dev: pidWerkstatt | sensorName: TempWerkstatt  

Sieht für mich so aus, dass PID20 auf events reagiert und die Temperatursensoren noch nicht definiert sind bzw. die Initialisierung der pid noch nicht abgeschlossen ist.
Ab diesem Zeitpunkt gibt es keine fehlenden Sensoren mehr.

Nobbynews

Zitat von: betateilchen am 02 Januar 2025, 13:50:14Mach Dich mal auf die Suche, wo in Deiner Konfiguration diese Kette gestartet wird und überlege, ob das gefundene Vorgehen sinnvoll ist.
Also auch nach intensiver Suche habe nichts auffälliges entdecken können. Die pid werden über weekDayTimer hinsichtlich der Temperatur im Reading desired angesteuert. Der Wert ist aber bei einem Neustart noch gesetzt. Ansonsten wird über notify ebenfalls nur des Reading desired verändert, was ich aber zum Zeitpunkt eines Neustarts ausschließen möchte.
Die durch die Log-Einträge ermittelten anderen devices haben definitiv nichts mit den pid zu tun.

Norbert

betateilchen

Moin,

ich habe gerade eine Version eingecheckt, die PID20_Notify() nicht ausführt, solange der FHEM Start noch nicht abgeschlossen ist.

Du kannst die Version aktuell schon aus SVN holen, ansonsten kommt sie morgen früh ab 8 Uhr auf dem regulären Update-Weg.

Bitte um Rückmeldung, ob Dein Problem damit gelöst ist.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Nobbynews

#7
Hallo betateilchen,

leider kommen immer noch warnings.
Die Log-Ausgabe habe ich mal um $init_done ergänzt.

2025.01.08 11:07:27 1: ***** PID20: HK_ZWave | Sensor:  | initDone: 1
2025.01.08 11:07:27 1: ***** PID20: HK_ZWave | Sensor:  | initDone: 1
2025.01.08 11:07:32 1: ***** PID20: fhemInstaller | Sensor:  | initDone: 1

Bei dem Sensor handelt es sich um ein device vom Type Hideki.

Beta-User

Zitat von: Nobbynews am 08 Januar 2025, 11:17:28Bei dem Sensor handelt es sich um ein device vom Type Hideki.
Wann und wo steht das define zu Hideki_30_4?

Ist sehr komisch, dass der beim Start noch nicht vorhanden sein soll...
Und irgendwie hatte ich im Kopf, dass notify (-fn) auch erst nach $init_done ausgeführt werden (aber vor timern). Zu dem Zeitpunkt sollte $sensorName eigentlich immer ein Ergebnis liefern. Strange!
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Nobbynews

Zitat von: Beta-User am 08 Januar 2025, 11:28:36Wann und wo steht das define zu Hideki_30_4?
Das define vom Sensor steht in Zeile 147 der fhem.cfg und der pid20 in Zeile 431.

Nobbynews

Ich habe jetzt mal eine zusätzliche Abfrage eingebaut, und zwar in Zeile 304:

return if (!defined($sensorName);
Die Abfrage
return if (IsDisabled($name) || !$init_done)ergänzt um || !defined($sensorName))hat nicht zum Erfolg geführt.

Damit sind die warnings erst einmal weg.

betateilchen

Das ist aber nur eine Krücke, um eine ansonsten völlig belanglose und zu ignorierende Warnung zu unterdrücken.

Die Warnung wird nicht von 98_PID20.pm verursacht, deshalb wäre es viel interessanter gewesen, die tatsächliche Ursache zu finden.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Nobbynews

Zitat von: betateilchen am 08 Januar 2025, 16:03:12Das ist aber nur eine Krücke, um eine ansonsten völlig belanglose und zu ignorierende Warnung zu unterdrücken.
Das ist mir klar.
Zitat von: betateilchen am 08 Januar 2025, 16:03:12Die Warnung wird nicht von 98_PID20.pm verursacht, deshalb wäre es viel interessanter gewesen, die tatsächliche Ursache zu finden.
Dabei mithelfen würde ich ja gerne. Sicherlich wäre es der richtige Ansatz herauszufinden, warum der Sensor undefiniert ist. Dazu fehlen mir aber die nötigen Programmierkenntnisse und vor allem die vertieften Kenntnisse zur Programmierung von fhem ansich.

Wenn jemand eine Idee hat, wo ich was an Information liefern kann, dann her damit.

Beta-User

Da du von "Zeilen" sprichst..
Falls du cfg-editierer bist könnte da auch irgendwas komisches in den Zeilen dazwischen stehen.

Das Warning ist m.E. jedenfalls dahingehend klar, dass dieses Device kurzfristig nicht mehr unter diesem Namen vorhanden war...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Nobbynews

Zitat von: Beta-User am 08 Januar 2025, 16:10:17Da du von "Zeilen" sprichst..
Falls du cfg-editierer bist könnte da auch irgendwas komisches in den Zeilen dazwischen stehen.
Nein, bin ich nicht.
Damit wollte ich nur aufzeigen, dass der Sensor in der cfg weit vor dem pid definiert wird.

Stellt sich nur die Frage, warum der Sensor bzw. im Hauptsystem insgesamt 4 Sensoren (3* Hideki, 1* ESPEasy) nicht vorhanden sind.

Beta-User

"Hauptsystem"?

Sind das dummy-TYPE-Devices, die per fhem2fhem befüttert werden? Zeig doch mal ein list oder so....
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Nobbynews

#16
Zitat von: Beta-User am 08 Januar 2025, 16:23:05die per fhem2fhem befüttert werden?
Nein, keine Verbindung über fhem2fhem.
Alles lokal definiert und physisch vorhanden.
Nur der HK-Thermostat ist ein dummy.
Hier die Definitionen am Testsystem (Hauptsystem ist aber indentisch):
Definition pid:
define pidFlur PID20 Hideki_30_4:temperature HK_Dummy:dim
#   DEF        Hideki_30_4:temperature HK_Dummy:dim
#   FUUID      677773d6-f33f-2b56-c182-c3cf19702a13f221
#   FVERSION   98_PID20.pm:0.294410/2024-12-20
#   NAME       pidFlur
#   NR         129
#   NTFY_ORDER 50-pidFlur
#   STATE      processing
#   STILLDONETIME 0
#   TYPE       PID20
#   VERSION    1.0.0.11
#   eventCount 49
#   READINGS:
#     2025-01-08 16:25:41   actuation       0
#     2025-01-08 16:25:41   actuationCalc   -31.8
#     2025-01-08 16:25:41   delta           -1.4
#     2025-01-08 16:25:41   desired         18.0
#     2025-01-08 16:25:41   measured        19.4
#     2025-01-08 16:25:41   p_d             0
#     2025-01-08 16:25:41   p_i             3.2
#     2025-01-08 16:25:41   p_p             -35
#     2025-01-08 16:25:41   state           processing
#   helper:
#     actor      HK_Dummy
#     actorCommand dim
#     actorErrorAction freeze
#     actorErrorPos 0
#     actorInterval 180
#     actorKeepAlive 1800
#     actorLimitLower 0
#     actorLimitUpper 100
#     actorThreshold 1
#     actorTimestamp 2025-01-08 16:02:41
#     actorValueDecPlaces 0
#     adjust    
#     calcInterval 60
#     deltaGradient 0
#     deltaOld   -1.4
#     deltaOldTS 2025-01-08 16:23:30
#     deltaTreshold 0
#     desiredName desired
#     disable    0
#     factor_D   0
#     factor_I   0.25
#     factor_P   25
#     isWindUP   1
#     measuredName measured
#     reading    temperature
#     regexp     ^([\+,\-]?\d+\.?\d*$)
#     reverseAction 0
#     sensor     Hideki_30_4
#     sensorTimeout 3600
#     stopped    0
#     updateInterval 600
#
setstate pidFlur processing
setstate pidFlur 2025-01-08 16:25:41 actuation 0
setstate pidFlur 2025-01-08 16:25:41 actuationCalc -31.8
setstate pidFlur 2025-01-08 16:25:41 delta -1.4
setstate pidFlur 2025-01-08 16:25:41 desired 18.0
setstate pidFlur 2025-01-08 16:25:41 measured 19.4
setstate pidFlur 2025-01-08 16:25:41 p_d 0
setstate pidFlur 2025-01-08 16:25:41 p_i 3.2
setstate pidFlur 2025-01-08 16:25:41 p_p -35
setstate pidFlur 2025-01-08 16:25:41 state processing


Definition Hideki:
define Hideki_30_4 Hideki Hideki_30_4
attr Hideki_30_4 room Hideki
#   CODE       Hideki_30_4
#   DEF        Hideki_30_4
#   FUUID      675ed9a0-f33f-2b56-5213-ab93c3821d139bfc
#   LASTInputDev SIGNALESP
#   MSGCNT     4
#   NAME       Hideki_30_4
#   NR         62
#   SIGNALESP_DMSG P12#759EBA4A8CBF31513D6301
#   SIGNALESP_MSGCNT 4
#   SIGNALESP_Protocol_ID 12
#   SIGNALESP_RAWMSG MC;LL=-1032;LH=922;SL=-540;SH=434;D=A8E1B45ADE740AE775A1CE6;C=487;L=91;R=6;
#   SIGNALESP_RSSI -71
#   SIGNALESP_TIME 2025-01-08 16:23:30
#   STATE      T: 19.4 H: 53
#   TYPE       Hideki
#   eventCount 4
#   lastMSG    75a2cede94c153f3476301
#   lastReceive 1736349810.4295
#   READINGS:
#     2025-01-08 16:23:30   battery         ok
#     2025-01-08 16:23:30   batteryState    ok
#     2025-01-08 16:23:30   channel         4
#     2025-01-08 16:23:30   comfort_level   Hum. OK. Temp. uncomfortable (>24.9 or <20)
#     2025-01-08 16:23:30   humidity        53
#     2025-01-08 16:23:30   package_number  3
#     2025-01-08 16:23:30   state           T: 19.4 H: 53
#     2025-01-08 16:23:30   temperature     19.4
#
setstate Hideki_30_4 T: 19.4 H: 53
setstate Hideki_30_4 2025-01-08 16:23:30 battery ok
setstate Hideki_30_4 2025-01-08 16:23:30 batteryState ok
setstate Hideki_30_4 2025-01-08 16:23:30 channel 4
setstate Hideki_30_4 2025-01-08 16:23:30 comfort_level Hum. OK. Temp. uncomfortable (>24.9 or <20)
setstate Hideki_30_4 2025-01-08 16:23:30 humidity 53
setstate Hideki_30_4 2025-01-08 16:23:30 package_number 3
setstate Hideki_30_4 2025-01-08 16:23:30 state T: 19.4 H: 53
setstate Hideki_30_4 2025-01-08 16:23:30 temperature 19.4


Definition weekDayTimer:
define wdT_Flur WeekdayTimer pidFlur weekprofile:HK_ZWave
attr wdT_Flur userattr weekprofile
attr wdT_Flur commandTemplate set $NAME desired $EVENT
#   COMMAND   
#   CONDITION 
#   DEF        pidFlur weekprofile:HK_ZWave
#   DEVICE     pidFlur
#   FUUID      67777470-f33f-2b56-7b5a-bcdf66f097c40b1b
#   FVERSION   98_WeekdayTimer.pm:0.292580/2024-10-18
#   GlobalDaylistSpec
#   LANGUAGE   de
#   NAME       wdT_Flur
#   NR         130
#   Profil 0: Sonntag 00:10:00 16.0, 05:00:00 20.0, 15:00:00 22.0, 16:00:00 18.0, 20:00:00 16.0,
#   Profil 1: Montag 00:10:00 16.0, 05:00:00 20.0, 15:00:00 22.0, 16:00:00 18.0, 20:00:00 16.0,
#   Profil 2: Dienstag 00:10:00 16.0, 05:00:00 20.0, 15:00:00 22.0, 16:00:00 18.0, 20:00:00 16.0,
#   Profil 3: Mittwoch 00:10:00 16.0, 05:00:00 20.0, 15:00:00 22.0, 16:00:00 18.0, 20:00:00 16.0,
#   Profil 4: Donnerstag 00:10:00 16.0, 05:00:00 20.0, 15:00:00 22.0, 16:00:00 18.0, 20:00:00 16.0,
#   Profil 5: Freitag 00:10:00 16.0, 05:00:00 20.0, 15:00:00 22.0, 16:00:00 18.0, 20:00:00 16.0,
#   Profil 6: Samstag 00:10:00 16.0, 05:00:00 20.0, 15:00:00 22.0, 16:00:00 18.0, 20:00:00 16.0,
#   STATE      18.0
#   STILLDONETIME 0
#   TYPE       WeekdayTimer
#   eventCount 8
#   setModifier desired
#   READINGS:
#     2025-01-08 16:02:36   currValue       18.0
#     2025-01-08 16:02:36   nextUpdate      2025-01-08 20:00:00
#     2025-01-08 16:02:36   nextValue       16.0
#     2025-01-08 16:02:36   state           18.0
#     2025-01-03 09:15:36   weekprofiles    HK_ZWave:default:Dummy
#   SWITCHINGTIMES:
#     5|00:10|16.0
#     5|05:00|20.0
#     5|15:00|22.0
#     5|16:00|18.0
#     5|20:00|16.0
#     1|00:10|16.0
#     1|05:00|20.0
#     1|15:00|22.0
#     1|16:00|18.0
#     1|20:00|16.0
#     6|00:10|16.0
#     6|05:00|20.0
#     6|15:00|22.0
#     6|16:00|18.0
#     6|20:00|16.0
#     0|00:10|16.0
#     0|05:00|20.0
#     0|15:00|22.0
#     0|16:00|18.0
#     0|20:00|16.0
#     4|00:10|16.0
#     4|05:00|20.0
#     4|15:00|22.0
#     4|16:00|18.0
#     4|20:00|16.0
#     2|00:10|16.0
#     2|05:00|20.0
#     2|15:00|22.0
#     2|16:00|18.0
#     2|20:00|16.0
#     3|00:10|16.0
#     3|05:00|20.0
#     3|15:00|22.0
#     3|16:00|18.0
#     3|20:00|16.0
#   TIMER:
#     wdT_Flur_35:
#       HASH       wdT_Flur
#       MODIFIER   35
#       NAME       wdT_Flur_35
#     wdT_Flur_midnight:
#       HASH       wdT_Flur
#       MODIFIER   midnight
#       NAME       wdT_Flur_midnight
#       SETTIMERATMIDNIGHT 1
#   helper:
#     daysRegExp (so|mo|di|mi|do|fr|sa|\$we|\!\$we)
#     daysRegExpMessage (so|mo|di|mi|do|fr|sa|$we|!$we)
#     SWITCHINGTIME:
#       0:
#         00:10:00   16.0
#         05:00:00   20.0
#         15:00:00   22.0
#         16:00:00   18.0
#         20:00:00   16.0
#       1:
#         00:10:00   16.0
#         05:00:00   20.0
#         15:00:00   22.0
#         16:00:00   18.0
#         20:00:00   16.0
#       2:
#         00:10:00   16.0
#         05:00:00   20.0
#         15:00:00   22.0
#         16:00:00   18.0
#         20:00:00   16.0
#       3:
#         00:10:00   16.0
#         05:00:00   20.0
#         15:00:00   22.0
#         16:00:00   18.0
#         20:00:00   16.0
#       4:
#         00:10:00   16.0
#         05:00:00   20.0
#         15:00:00   22.0
#         16:00:00   18.0
#         20:00:00   16.0
#       5:
#         00:10:00   16.0
#         05:00:00   20.0
#         15:00:00   22.0
#         16:00:00   18.0
#         20:00:00   16.0
#       6:
#         00:10:00   16.0
#         05:00:00   20.0
#         15:00:00   22.0
#         16:00:00   18.0
#         20:00:00   16.0
#     WEDAYS:
#       3          1
#       4          1
#   profil:
#     1:
#       EPOCH      1736291400
#       PARA       16.0
#       TIME       00:10
#       WE_Override
#       DAYS:
#         5
#     10:
#       EPOCH      1736362800
#       PARA       16.0
#       TIME       20:00
#       WE_Override
#       DAYS:
#         1
#     11:
#       EPOCH      1736291400
#       PARA       16.0
#       TIME       00:10
#       WE_Override
#       DAYS:
#         6
#     12:
#       EPOCH      1736308800
#       PARA       20.0
#       TIME       05:00
#       WE_Override
#       DAYS:
#         6
#     13:
#       EPOCH      1736344800
#       PARA       22.0
#       TIME       15:00
#       WE_Override
#       DAYS:
#         6
#     14:
#       EPOCH      1736348400
#       PARA       18.0
#       TIME       16:00
#       WE_Override
#       DAYS:
#         6
#     15:
#       EPOCH      1736362800
#       PARA       16.0
#       TIME       20:00
#       WE_Override
#       DAYS:
#         6
#     16:
#       EPOCH      1736291400
#       PARA       16.0
#       TIME       00:10
#       WE_Override
#       DAYS:
#         0
#     17:
#       EPOCH      1736308800
#       PARA       20.0
#       TIME       05:00
#       WE_Override
#       DAYS:
#         0
#     18:
#       EPOCH      1736344800
#       PARA       22.0
#       TIME       15:00
#       WE_Override
#       DAYS:
#         0
#     19:
#       EPOCH      1736348400
#       PARA       18.0
#       TIME       16:00
#       WE_Override
#       DAYS:
#         0
#     2:
#       EPOCH      1736308800
#       PARA       20.0
#       TIME       05:00
#       WE_Override
#       DAYS:
#         5
#     20:
#       EPOCH      1736362800
#       PARA       16.0
#       TIME       20:00
#       WE_Override
#       DAYS:
#         0
#     21:
#       EPOCH      1736291400
#       PARA       16.0
#       TIME       00:10
#       WE_Override
#       DAYS:
#         4
#     22:
#       EPOCH      1736308800
#       PARA       20.0
#       TIME       05:00
#       WE_Override
#       DAYS:
#         4
#     23:
#       EPOCH      1736344800
#       PARA       22.0
#       TIME       15:00
#       WE_Override
#       DAYS:
#         4
#     24:
#       EPOCH      1736348400
#       PARA       18.0
#       TIME       16:00
#       WE_Override
#       DAYS:
#         4
#     25:
#       EPOCH      1736362800
#       PARA       16.0
#       TIME       20:00
#       WE_Override
#       DAYS:
#         4
#     26:
#       EPOCH      1736291400
#       PARA       16.0
#       TIME       00:10
#       WE_Override
#       DAYS:
#         2
#     27:
#       EPOCH      1736308800
#       PARA       20.0
#       TIME       05:00
#       WE_Override
#       DAYS:
#         2
#     28:
#       EPOCH      1736344800
#       PARA       22.0
#       TIME       15:00
#       WE_Override
#       DAYS:
#         2
#     29:
#       EPOCH      1736348400
#       PARA       18.0
#       TIME       16:00
#       WE_Override
#       DAYS:
#         2
#     3:
#       EPOCH      1736344800
#       PARA       22.0
#       TIME       15:00
#       WE_Override
#       DAYS:
#         5
#     30:
#       EPOCH      1736362800
#       PARA       16.0
#       TIME       20:00
#       WE_Override
#       DAYS:
#         2
#     31:
#       EPOCH      1736291400
#       PARA       16.0
#       TIME       00:10
#       WE_Override
#       DAYS:
#         3
#     32:
#       EPOCH      1736308800
#       PARA       20.0
#       TIME       05:00
#       WE_Override
#       DAYS:
#         3
#     33:
#       EPOCH      1736344800
#       PARA       22.0
#       TIME       15:00
#       WE_Override
#       DAYS:
#         3
#     34:
#       EPOCH      1736348400
#       PARA       18.0
#       TIME       16:00
#       WE_Override
#       DAYS:
#         3
#     35:
#       EPOCH      1736362800
#       PARA       16.0
#       TIME       20:00
#       WE_Override
#       DAYS:
#         3
#     4:
#       EPOCH      1736348400
#       PARA       18.0
#       TIME       16:00
#       WE_Override
#       DAYS:
#         5
#     5:
#       EPOCH      1736362800
#       PARA       16.0
#       TIME       20:00
#       WE_Override
#       DAYS:
#         5
#     6:
#       EPOCH      1736291400
#       PARA       16.0
#       TIME       00:10
#       WE_Override
#       DAYS:
#         1
#     7:
#       EPOCH      1736308800
#       PARA       20.0
#       TIME       05:00
#       WE_Override
#       DAYS:
#         1
#     8:
#       EPOCH      1736344800
#       PARA       22.0
#       TIME       15:00
#       WE_Override
#       DAYS:
#         1
#     9:
#       EPOCH      1736348400
#       PARA       18.0
#       TIME       16:00
#       WE_Override
#       DAYS:
#         1
#   profile_IDX:
#     0:
#       00:10:00   16
#       05:00:00   17
#       15:00:00   18
#       16:00:00   19
#       20:00:00   20
#     1:
#       00:10:00   6
#       05:00:00   7
#       15:00:00   8
#       16:00:00   9
#       20:00:00   10
#     2:
#       00:10:00   26
#       05:00:00   27
#       15:00:00   28
#       16:00:00   29
#       20:00:00   30
#     3:
#       00:10:00   31
#       05:00:00   32
#       15:00:00   33
#       16:00:00   34
#       20:00:00   35
#     4:
#       00:10:00   21
#       05:00:00   22
#       15:00:00   23
#       16:00:00   24
#       20:00:00   25
#     5:
#       00:10:00   1
#       05:00:00   2
#       15:00:00   3
#       16:00:00   4
#       20:00:00   5
#     6:
#       00:10:00   11
#       05:00:00   12
#       15:00:00   13
#       16:00:00   14
#       20:00:00   15
#   weekprofiles:
#     HK_ZWave:
#       PROFILE    default:Dummy
#       PROFILE_JSON {"Sat":{"temp":["16.0","20.0","22.0","18.0","16.0"],"time":["05:00","15:00","16:00","20:00","24:00"]},"Fri":{"temp":["16.0","20.0","22.0","18.0","16.0"],"time":["05:00","15:00","16:00","20:00","24:00"]},"Mon":{"time":["05:00","15:00","16:00","20:00","24:00"],"temp":["16.0","20.0","22.0","18.0","16.0"]},"Tue":{"time":["05:00","15:00","16:00","20:00","24:00"],"temp":["16.0","20.0","22.0","18.0","16.0"]},"Wed":{"temp":["16.0","20.0","22.0","18.0","16.0"],"time":["05:00","15:00","16:00","20:00","24:00"]},"Sun":{"temp":["16.0","20.0","22.0","18.0","16.0"],"time":["05:00","15:00","16:00","20:00","24:00"]},"Thu":{"time":["05:00","15:00","16:00","20:00","24:00"],"temp":["16.0","20.0","22.0","18.0","16.0"]}}
#       SunAsWE    0
#       PROFILE_DATA:
#         Fri:
#           temp:
#             16.0
#             20.0
#             22.0
#             18.0
#             16.0
#           time:
#             05:00
#             15:00
#             16:00
#             20:00
#             24:00
#         Mon:
#           temp:
#             16.0
#             20.0
#             22.0
#             18.0
#             16.0
#           time:
#             05:00
#             15:00
#             16:00
#             20:00
#             24:00
#         Sat:
#           temp:
#             16.0
#             20.0
#             22.0
#             18.0
#             16.0
#           time:
#             05:00
#             15:00
#             16:00
#             20:00
#             24:00
#         Sun:
#           temp:
#             16.0
#             20.0
#             22.0
#             18.0
#             16.0
#           time:
#             05:00
#             15:00
#             16:00
#             20:00
#             24:00
#         Thu:
#           temp:
#             16.0
#             20.0
#             22.0
#             18.0
#             16.0
#           time:
#             05:00
#             15:00
#             16:00
#             20:00
#             24:00
#         Tue:
#           temp:
#             16.0
#             20.0
#             22.0
#             18.0
#             16.0
#           time:
#             05:00
#             15:00
#             16:00
#             20:00
#             24:00
#         Wed:
#           temp:
#             16.0
#             20.0
#             22.0
#             18.0
#             16.0
#           time:
#             05:00
#             15:00
#             16:00
#             20:00
#             24:00
#
setstate wdT_Flur 18.0
setstate wdT_Flur 2025-01-08 16:02:36 currValue 18.0
setstate wdT_Flur 2025-01-08 16:02:36 nextUpdate 2025-01-08 20:00:00
setstate wdT_Flur 2025-01-08 16:02:36 nextValue 16.0
setstate wdT_Flur 2025-01-08 16:02:36 state 18.0
setstate wdT_Flur 2025-01-03 09:15:36 weekprofiles HK_ZWave:default:Dummy


Definition weekprofile:
define HK_ZWave weekprofile
#   CONFIGFILE ./log/weekprofile-HK_ZWave.cfg
#   FUUID      67777493-f33f-2b56-f74f-fa2275475f3ace08
#   FVERSION   98_weekprofile.pm:v1.1.0-s27006/2023-01-08
#   NAME       HK_ZWave
#   NR         131
#   NTFY_ORDER 50-HK_ZWave
#   STATE      created
#   TYPE       weekprofile
#   eventCount 2
#   PROFILES:
#     HASH(0x55b1002658)
#     HASH(0x55ac9c1c90)
#   READINGS:
#     2025-01-08 16:02:26   profile_count   2
#     2025-01-08 16:02:26   state           created
#   SNDDEVLIST:
#     HASH(0x55b14bf850)
#   TEMPMAP:
#   TOPICS:
#     default
#
setstate HK_ZWave created
setstate HK_ZWave 2025-01-08 16:02:26 profile_count 2
setstate HK_ZWave 2025-01-08 16:02:26 state created


Und zur Vollständigkeit dann noch der Dummy:
define HK_Dummy dummy
#   FUUID      677773a2-f33f-2b56-38fb-fa7c1c02fff18b5f
#   FVERSION   98_dummy.pm:0.256060/2022-02-01
#   NAME       HK_Dummy
#   NR         128
#   STATE      dim 0
#   TYPE       dummy
#   eventCount 1
#   READINGS:
#     2025-01-08 16:02:41   state           dim 0
#
setstate HK_Dummy dim 0
setstate HK_Dummy 2025-01-08 16:02:41 state dim 0


Und zum Schluß noch Definition vom SignalESP:
define SIGNALESP SIGNALduinoAdv 192.168.2.249:23
attr SIGNALESP blacklist_IDs 42,34,118
#   Clients    :CUL_TCM97001:SD_WS:SD_WS07:SD_WS09:Hideki:LaCrosse:OREGON:CUL_EM:CUL_WS:CUL_TX:SD_AS:IT: :FS10:FS20:SOMFY:FLAMINGO:SD_WS_Maverick:KOPP_FC:PCA301:SD_BELL:SD_GT:SD_RSL:SD_UT:WMBUS:HMS: :IFB:CUL_FHTTK:FHT:RFXX10REC:Revolt:Dooya:Fernotron:SD_Keeloq:SD_Rojaflex:Siro:LTECH:CUL_MAX:ESA2000:SD_Tool:SIGNALduino_un:
#   ClientsKeepOrder 1
#   DEF        192.168.2.249:23
#   DMSG       sD1E0D8A000
#   DevState   initialized
#   DeviceName 192.168.2.249:23
#   EQMSGCNT   3
#   FD         8
#   FUUID      675ecadf-f33f-2b56-67ca-8980ac47632b8fa4
#   FVERSION   00_SIGNALduinoAdv.pm:v3.5.2-s3520/2024-11-30
#   IDsNoDispatch 2,31,43.1,72.1,82,87,88
#   LASTDMSG   sD1E0D8A000
#   LASTDMSGID 0.1
#   MSGCNT     112
#   NAME       SIGNALESP
#   NR         52
#   PARTIAL   
#   RAWMSG     MS;P2=457;P3=-1981;P4=-4551;P5=-9548;D=2524242324232323242424242323232323242423242423232324232423;CP=2;SP=5;R=70;
#   RSSI       -39
#   STATE      opened
#   TIME       1736350069.34308
#   TYPE       SIGNALduinoAdv
#   a_ccconf   b=1 rx=0 freq:868.350MHz bWidth:406KHz rAmpl:40dB sens:4dB (DataRate:5603.79Baud,Modulation:ASK/OOK) [boffs=0100]
#   b_ccconf   b=2 rx=0 freq:433.920MHz bWidth:406KHz rAmpl:40dB sens:4dB (DataRate:5603.79Baud,Modulation:ASK/OOK) [boffs=0140*]
#   cc1101_frequency 433.920
#   eventCount 3
#   sendworking 0
#   version    V 4.2.2-dev220712 SIGNALduinoAdv ESP32 cc1101 (R: A1 B2*) - compiled at Jul 13 2022 01:11:33
#   versionmodul v3.5.2-ralf_30.11.24
#   versionprotoL v3.5.2-ralf_04.11.24
#   DoubleMsgIDs:
#   MatchList:
#     01:IT      ^i......
#     02:CUL_TCM97001 ^s[A-Fa-f0-9]+
#     03:SD_RSL  ^P1#[A-Fa-f0-9]{8}
#     04:OREGON  ^(3[8-9A-F]|[4-6][0-9A-F]|7[0-8]).*
#     05:CUL_TX  ^TX..........
#     06:SD_AS   ^P2#[A-Fa-f0-9]{7,8}
#     07:Hideki  ^P12#75[A-F0-9]+
#     09:CUL_FHTTK ^T[A-F0-9]{8}
#     10:SD_WS07 ^P7#[A-Fa-f0-9]{6}[AFaf][A-Fa-f0-9]{2,3}
#     11:SD_WS09 ^P9#F[A-Fa-f0-9]+
#     12:SD_WS   ^W\d+x{0,1}#.*
#     13:RFXX10REC ^(20|29)[A-Fa-f0-9]+
#     14:Dooya   ^P16#[A-Fa-f0-9]+
#     15:SOMFY   ^Ys[0-9A-F]+
#     16:SD_WS_Maverick ^P47#[A-Fa-f0-9]+
#     17:SD_UT   ^P(?:14|20|22|24|26|29|30|34|46|56|68|69|76|78|81|83|86|90|91|91.1|92|93|95|97|99|104|105|114|118|121|124|127|128|130|132|199)#.*
#     18:FLAMINGO ^P13\.?1?#[A-Fa-f0-9]+
#     19:CUL_WS  ^K[A-Fa-f0-9]{5,}
#     20:Revolt  ^r[A-Fa-f0-9]{22}
#     21:FS10    ^P61#[A-F0-9]+
#     22:Siro    ^P72#[A-Fa-f0-9]+
#     23:FHT     ^81..(04|09|0d)..(0909a001|83098301|c409c401)..
#     24:FS20    ^81..(04|0c)..0101a001
#     25:CUL_EM  ^E0.................
#     26:Fernotron ^P82#.*
#     27:SD_BELL ^P(?:15|32|41|42|57|79|96|98|112)#.*
#     28:SD_Keeloq ^P(?:87|88)#.*
#     29:SD_GT   ^P49#[A-Fa-f0-9]+
#     30:LaCrosse ^(\S+\s+9 |OK\sWS\s)
#     31:KOPP_FC ^kr..................
#     32:PCA301  ^\S+\s+24
#     33:SD_Rojaflex ^P109#[A-Fa-f0-9]+
#     34:WMBUS   ^b.*
#     35:HMS     ^810e04......a001
#     36:IFB     ^J............
#     37:LTECH   ^P31#[A-Fa-f0-9]{26,}
#     38:CUL_MAX ^Z.*
#     39:ESA2000 ^S................................
#     90:SD_Tool ^pt([0-9]+(\.[0-9])?)(#.*)?
#     X:SIGNALduino_un ^[u]\d+#.*
#   QUEUE:
#   READINGS:
#     2024-12-15 19:34:59   cc1101_config   freq:433.920MHz bWidth:406KHz rAmpl:40dB sens:4dB (DataRate:5603.79Baud,Modulation:ASK/OOK)
#     2024-12-15 19:49:42   cmdBank         Bank__ 0 1 2 3 4 5 6 7 8 9
#Radio_ - A B*- - - - - - -
#N_____ 0 0 0 - - - - - - -
#ccmode 0 0 0 - - - - - - -
#
#0 - SlowRF
#1 - Slow
#     2024-12-15 19:34:26   config          A: MS=1;MU=1;MC=1;Mred=0_MScnt=4;maxMuPrint=768;maxMsgSize=1024;maxNumPat=8;Mdebug=0
#     2024-12-15 13:47:35   freeram         268468
#     2024-12-15 14:19:47   ping            OK
#     2024-12-15 19:44:38   raw             r=B b=2 ccmode=0 sync=D391 ccconf=10B07147C43023B900070018146C060090 boffs=0140
#     2025-01-08 16:02:34   state           opened
#     2024-12-15 13:47:43   uptime          13 15:10:25
#     2024-12-15 19:40:19   version         V 4.2.2-dev220712 SIGNALduinoAdv ESP32 cc1101 (R: A1 B2*) - compiled at Jul 13 2022 01:11:33
#   keepalive:
#     ok         1
#     retry      0
#   mcIdList:
#     10
#     11
#     12
#     18
#     43
#     47
#     52
#     57
#     58
#     96
#     119
#     129
#     212
#     216
#   mnIdList:
#     100
#     101
#     102
#     103
#     107
#     108
#     109
#     112
#     115
#     116
#     123
#     125
#     126
#     201
#     202
#     203
#     204
#     205
#     206
#     207
#     208
#     209
#     210
#     214
#     215
#   msIdList:
#     0
#     0.1
#     0.2
#     0.3
#     0.4
#     0.5
#     1
#     3
#     3.1
#     4
#     6
#     7
#     13
#     13.2
#     14
#     15
#     17
#     20
#     23
#     25
#     32.1
#     33
#     33.1
#     33.2
#     35
#     41
#     49
#     51
#     53
#     54.1
#     55
#     65
#     68
#     74.1
#     90
#     91.1
#     93
#     106
#     113
#     118.1
#     124.1
#     127.1
#     128.1
#     130
#   muIdList:
#     8
#     9
#     13.1
#     16
#     17.1
#     19
#     20.1
#     21
#     22
#     24
#     26
#     27
#     28
#     29
#     30
#     32
#     36
#     37
#     38
#     39
#     40
#     44
#     44.1
#     45
#     46
#     48
#     49.1
#     49.2
#     50
#     54
#     56
#     59
#     60
#     61
#     62
#     64
#     66
#     67
#     69
#     70
#     71
#     72
#     73
#     74
#     78
#     79
#     80
#     81
#     83
#     84
#     85
#     86
#     89
#     91
#     92
#     94
#     95
#     97
#     98
#     99
#     104
#     105
#     110
#     111
#     114
#     120
#     121
#     122
#     124
#     127
#     128
#     132
#     198
#     200
#     200.1
#   rfmodesets:
#     rfmode     Avantek_433__B8_N9_FSK,Bresser_5in1_u_7in1__B28_N7_8220,Bresser_6in1__B20_N7_8220,DP100_WH51_WH57_433__B16_N16_17241,DP100_WH51_WH57_868__B16_N6_17241,HoneywActivL__SlowRf_FSK,KOPP_FC__B20_N4_4785,Lacrosse_mode1_WS1080_TX38__B12_N1_17241,Lacrosse_mode2__B12_N2_9579,PCA301_mode3__B32_N3_6631,Rojaflex_433__B12_N8_GFSK,SlowRF_ccFactoryReset,W136__B24_N10_4798,WH24_WH25__B20_N1_17241,WMBus_S__N11_ab_firmware_V422,WMBus_T_u_C__N12_ab_firmw_V422,WS1600_TX22_mode5__B16_N5_8842,custom
#   rfmodesetsTesting:
#     rfmodeTesting Avantek_433__B5_N9_FSK,Bresser_5in1_u_7in1__B26_N7_8220,Bresser_6in1__B18_N7_8220,DP100_WH51_WH57_433__B14_N16_17241,DP100_WH51_WH57_868__B14_N6_17241,Elero__N13_ab_firmw_V335_u_V422,Inkbird_433__B18_N14_FSK,Lacrosse_mode1_TX38__B5_N1_17241,Lacrosse_mode1_WS1080_TX38__B10_N1_17241,Lacrosse_mode2__B5_N2_9579,MAX__N15_ab_firmw_V423,PCA301_mode3__B12_N3_6631,W136__B24_N10_4798,WH24_WH25__B16_N1_17241,WS1600_TX22_mode5__B5_N5_8842
#
setstate SIGNALESP opened
setstate SIGNALESP 2024-12-15 19:34:59 cc1101_config freq:433.920MHz bWidth:406KHz rAmpl:40dB sens:4dB (DataRate:5603.79Baud,Modulation:ASK/OOK)
setstate SIGNALESP 2024-12-15 19:49:42 cmdBank Bank__ 0 1 2 3 4 5 6 7 8 9\
Radio_ - A B*- - - - - - -\
N_____ 0 0 0 - - - - - - -\
ccmode 0 0 0 - - - - - - -\
\
0 - SlowRF\
1 - Slow
setstate SIGNALESP 2024-12-15 19:34:26 config A: MS=1;;MU=1;;MC=1;;Mred=0_MScnt=4;;maxMuPrint=768;;maxMsgSize=1024;;maxNumPat=8;;Mdebug=0
setstate SIGNALESP 2024-12-15 13:47:35 freeram 268468
setstate SIGNALESP 2024-12-15 14:19:47 ping OK
setstate SIGNALESP 2024-12-15 19:44:38 raw r=B b=2 ccmode=0 sync=D391 ccconf=10B07147C43023B900070018146C060090 boffs=0140
setstate SIGNALESP 2025-01-08 16:02:34 state opened
setstate SIGNALESP 2024-12-15 13:47:43 uptime 13 15:10:25
setstate SIGNALESP 2024-12-15 19:40:19 version V 4.2.2-dev220712 SIGNALduinoAdv ESP32 cc1101 (R: A1 B2*) - compiled at Jul 13 2022 01:11:33


Beta-User

Wirklich strange - auch die NR deutet m.E. nicht auf ein Verlust-Problem hin; und das Warning war auch mit der alten Version drin.

Ratlos...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Nobbynews

Um das Problem weiter einzugrenzen, habe ich mal in der sub Hediki__Define ein Log-Eintrag reingeschrieben.

Danach sieh das Log so aus:
Zitat2025.01.08 19:28:35.695 0: Server shutdown
2025.01.08 19:28:37.259 1: Including fhem.cfg
2025.01.08 19:28:37.470 3: WEB: port 8083 opened
2025.01.08 19:28:37.533 2: eventTypes: loaded 849 lines from ./log/eventTypes.txt
...
2025.01.08 19:28:37.748 3: SIGNALespDach Attr: blacklist_IDs: 42,34,118
2025.01.08 19:28:38.453 1: ---- Sensor Hideki define: Hideki_30_2
2025.01.08 19:28:38.454 1: ---- Sensor Hideki define: Hideki_30_3
2025.01.08 19:28:38.474 1: ---- Sensor Hideki define: Hideki_30_4
2025.01.08 19:28:38.475 1: ---- Sensor Hideki define: Hideki_30_1
2025.01.08 19:28:38.476 1: ---- Sensor Hideki define: Hideki_30_5
2025.01.08 19:28:39.492 3: freezemon defined myFreezeMon freezemon
2025.01.08 19:28:39.687 1: Including ./log/fhem.save
...
2025.01.08 19:28:39.733 1: +++ SensorName undefiniert
2025.01.08 19:28:39.733 1: PERL WARNING: Use of uninitialized value $sensorName in string ne at ./FHEM/98_PID20.pm line 309.
2025.01.08 19:28:39.734 1: +++ SensorName undefiniert
2025.01.08 19:28:39.735 2: PRESENCE2 - PsnceDaemon: starting initial Config
2025.01.08 19:28:39.735 2: PRESENCE2 - PsnceDaemon: starting initial dbgLogInit
2025.01.08 19:28:39.735 2: PRESENCE2 - PsnceDaemon: starting initial updateConfig PsnceDaemon.Initialize
2025.01.08 19:28:39.736 2: PRESENCE2 - PsnceDaemon: one daemon found: PsnceDaemon
2025.01.08 19:28:39.737 2: PRESENCE2 - PsnceDaemon: using daemon: PsnceDaemon
2025.01.08 19:28:44.697 1: +++ SensorName undefiniert
...
2025.01.08 19:28:44.762 1: SIGNALESP/define: 192.168.2.249:23
2025.01.08 19:28:44.763 1: SIGNALESP/init: 192.168.2.249:23
2025.01.08 19:28:44.763 3: SIGNALESP device opened
2025.01.08 19:28:47.272 3: SIGNALESP/init: disable receiver (XQ)
2025.01.08 19:28:47.772 3: SIGNALESP/init: get version, retry = 0
2025.01.08 19:28:47.910 3: SIGNALESP/init: firmwareversion with ccBankSupport and multi cc1101 found -> send br
2025.01.08 19:28:47.961 2: SIGNALESP: initialized. v3.5.2-ralf_30.11.24
2025.01.08 19:28:47.972 3: SIGNALESP/init: enable receiver (XE)
2025.01.08 19:28:54.703 3: PID20 pidFlur: Calc.779 <set HK_Dummy dim 0>
Sieht also so aus, dass die Hideki-Sensoren kurz vor dem erst Eintrag zum pid definiert sind und trotzdem der Sensor als undefined verarbeitet wird.

Beta-User

#19
Zitat von: betateilchen am 08 Januar 2025, 16:03:12Die Warnung wird nicht von 98_PID20.pm verursacht, deshalb wäre es viel interessanter gewesen, die tatsächliche Ursache zu finden.
Hmmm, habe jetzt nochmal in den Code geschaut. Wenn ich das alles richtig zusammengebastelt habe:
- PID20 setzt kein NOTIFYDEV.
- daher erhält es alle Events
- Da aber erst mit/nach global:INITIALIZED das helper-Internal gesetzt wird, ist das eben in der Phase tatsächlich noch undef.

Sorry @Nobbynews - du hast da nichts falsch gemacht!

@betateilchen: Manche Entwickler halten NOTIFYDEV ja für überbewertet, trotzdem mal eine (ungetestete) Erweiterung, die diese warnings vermeiden sollte...

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Nobbynews

Zitat von: Beta-User am 09 Januar 2025, 11:39:49eine (ungetestete) Erweiterung, die diese warnings vermeiden sollte...
Kurz mal eingespielt.
Keine warnings mehr.

Nobbynews

Zitat von: Beta-User am 09 Januar 2025, 11:39:49- Da aber erst mit/nach global:INITIALIZED das helper-Internal gesetzt wird, ist das eben in der Phase tatsächlich noch undef.
Hmm, dazu habe ich mal eine Frage:
Im Wiki zu DevelopmentModuleIntro steht folgendes zu $init_done
Zitat$init_done
Dient der Erkennung für fhem.pl sowie den Modulen, ob FHEM den Initialisierungsvorgang abgeschlossen hat. Beim Starten von FHEM ist $init_done gleich 0. Erst, wenn das Einlesen der Konfiguration, sowie des State-Files (Readings) abgeschlossen ist, wird $init_done auf 1 gesetzt.

Zu global:INITIALIZED steht:
ZitatINITIALIZED
Der Start von FHEM ist abgeschlossen. Sämtliche Definitionen und Attribute wurden aus der Konfiguration (fhem.cfg oder configDB) eingelesen, sowie sämtliche Readings sind aus dem State-File eingelesen und stehen nun voll umfänglich zur Verfügung

Demnach müsste das Verhalten doch eigentlich identisch sein, ist es aber nicht.
Ich habe es auch mal getestet und ein notify auf global:INITIALIZED mit Log-Eintrag gesetzt. Erst nach dem Event global:INITIALIZED gibt es mit der Version aus dem SVN (mit Ergänzung $init_done in der sub define) keine Warnings mehr.

Habe ich da jetzt einen Verständnisknoten in meinem Hirn?

Norbert

Beta-User

Das "Problem" sind irgendwelche anderen Module, die vor $init_done Events werfen.

Sollten sie m.E. nicht....
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Nobbynews

#23
Zitat von: Beta-User am 11 Januar 2025, 11:29:45Das "Problem" sind irgendwelche anderen Module, die vor $init_done Events werfen.

Sollten sie m.E. nicht....
Da bin ich raus, kann ich nicht beurteilen.

Wenn ich mir die Liste der devices aus https://forum.fhem.de/index.php?topic=140257.msg1329345#msg1329345
ansehe, dann handelt es sich reichlich viele Module.
Und dann dürfte es einfacher sein, das Symptom zu beseitigen als die Ursache.
Vielleicht schaut sich @betateilchen Deinen Vorschlag noch einmal an.

betateilchen

Zitat von: Nobbynews am 12 Januar 2025, 05:04:27Vielleicht schaut sich @betateilchen Deinen Vorschlag noch einmal an.

Hab ich schon. Und mit einer kleinen Änderung, die verhindert, dass auch ein falscher Sensorname in NOTIFYDEV gesetzt würde, eingebaut.

Aber irgendwas sagt mir, dass ich damit wieder andere Probleme schaffe. Mal schauen, wer als nächstes mit einem Problem daherkommt.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Beta-User

#25
Zitat von: Nobbynews am 12 Januar 2025, 05:04:27Wenn ich mir die Liste der devices aus https://forum.fhem.de/index.php?topic=140257.msg1329345#msg1329345
ansehe, dann handelt es sich reichlich viele Module.
Diese Schlussfolgerung ist falsch: Tatsächlich sind nur die "unsauber", die in der Initialisierungsphase dieses "undefined"-Warning erzeugen. Das scheint (unter deinen Modulen in dieser konkreten Startphase) nur ZWave zu sein...

Nope, wenn man
Zitat von: Nobbynews am 08 Januar 2025, 11:17:28Die Log-Ausgabe habe ich mal um $init_done ergänzt.

Code Auswählen Erweitern
2025.01.08 11:07:27 1: ***** PID20: HK_ZWave | Sensor:  | initDone: 1
2025.01.08 11:07:27 1: ***** PID20: HK_ZWave | Sensor:  | initDone: 1
2025.01.08 11:07:32 1: ***** PID20: fhemInstaller | Sensor:  | initDone: 1

Bei dem Sensor handelt es sich um ein device vom Type Hideki.
anschaut, dann sind da alle Events nach $init_done; nur war eben die PID20-Instanz noch nicht von "global" aufgerufen, that's all.
Zitat von: betateilchen am 12 Januar 2025, 11:31:40Aber irgendwas sagt mir, dass ich damit wieder andere Probleme schaffe. Mal schauen, wer als nächstes mit einem Problem daherkommt.
Schauen wir mal ;) .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Nobbynews

Zitat von: betateilchen am 12 Januar 2025, 11:31:40Hab ich schon. Und mit einer kleinen Änderung, die verhindert, dass auch ein falscher Sensorname in NOTIFYDEV gesetzt würde, eingebaut.
Aber irgendwas sagt mir, dass ich damit wieder andere Probleme schaffe. Mal schauen, wer als nächstes mit einem Problem daherkommt.
Danke.
funktioniert hier bisher ohne Auffälligkeiten.

Nobbynews

Zitat von: Beta-User am 13 Januar 2025, 09:02:32[anschaut, dann sind da alle Events nach $init_done; nur war eben die PID20-Instanz noch nicht von "global" aufgerufen, that's all.
Hört sich simpel an. Nur fehlt mir dafür der nötige background.

Beta-User

Zitat von: Nobbynews am 13 Januar 2025, 13:44:58Hört sich simpel an. Nur fehlt mir dafür der nötige background.
Ist ja kein Problem, dachte nur, du wolltest ggf. den Hintergrund etwas vertiefter verstehen.

Es waren auch "nur" warnings; von daher war das zu beheben nur eine Reinigungsmaßnahme, aber nichts dramatisch wichtiges.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Nobbynews

#29
Zitat von: Beta-User am 13 Januar 2025, 13:57:47Ist ja kein Problem, dachte nur, du wolltest ggf. den Hintergrund etwas vertiefter verstehen.
Das immer.

ZitatEs waren auch "nur" warnings; von daher war das zu beheben nur eine Reinigungsmaßnahme, aber nichts dramatisch wichtiges.
Das ist richtig. Nur wenn bei eingeschaltetem stacktrace dann im Log-File gefühlt sämtliche devices zu Meldungen führen, ist das mMn schon blöd.
Die Funktion der pid ist davon zu keinem Zeitpunkt betroffen gewesen.

hanske

#30
Moin zusammen,

ich hatte letzte Woche nach 6 Monaten mal ein FHEM Update gewagt.
Seit dem funktionieren meine PID20 Module nicht mehr und die Bude ist kalt.
Hat das eventuell mit euren kürzlichen Änderungen zu tun?
Hier ein Beispiel:
define pid_werk PID20 rt_hm3:measured-temp dm_hz_valve_dummy
Ich bekomme da immer 'alarm - no yet for' und das measured reding aktualisiert sich nicht:
measured 20.9 2025-02-07 11:35:21Der Sensor liefert aber, ich sehe auch die Events im Log

2025-02-10 08:58:35 CUL_HM rt_hm3 measured-temp: 19.7
2025-02-10 08:58:35 CUL_HM rt_hm3 T: 19.7 H: 43
2025-02-10 08:58:37 CUL_HM rt_hm3 filtered-temp: 19.7

define pid_werk PID20 rt_hm3:measured-temp dm_hz_valve_dummy
attr pid_werk event-on-change-reading actuation
attr pid_werk pidActorLimitUpper 99
attr pid_werk pidFactor_P 40
attr pid_werk pidSensorTimeout 7200
attr pid_werk room Heizung
attr pid_werk stateFormat Ist: measured°C Soll: desired°C Act: actuation
attr pid_werk webCmd desired
attr pid_werk widgetOverride desired:selectnumbers,16,0.5,23,1,lin
#   DEF        rt_hm3:measured-temp dm_hz_valve_dummy
#   FUUID      5fa9835a-f33f-5c4b-5734-884128e125b1768b
#   NAME       pid_werk
#   NOTIFYDEV  global
#   NR         930
#   NTFY_ORDER 50-pid_werk
#   STATE      Ist: 20.9°C Soll: 21.5°C Act: 0
#   STILLDONETIME 0
#   TYPE       PID20
#   eventCount 26
#   READINGS:
#     2025-02-10 09:22:04   actuation       0
#     2025-02-10 09:22:04   actuationCalc   -15.9999999999999
#     2025-02-07 11:35:21   delta           -0.399999999999999
#     2025-02-10 09:22:04   desired         21.5
#     2025-02-07 11:35:21   measured        20.9
#     2025-02-10 09:22:04   p_d             0
#     2025-02-10 09:22:04   p_i             0
#     2025-02-10 09:22:04   p_p             -15.9999999999999
#     2025-02-10 09:22:04   state           alarm - no  yet for
#   helper:
#     actorErrorAction freeze
#     actorErrorPos 0
#     actorInterval 180
#     actorKeepAlive 1800
#     actorLimitLower 0
#     actorLimitUpper 99
#     actorThreshold 1
#     actorTimestamp 2025-02-10 08:53:04
#     actorValueDecPlaces 0
#     adjust     50
#     calcInterval 60
#     deltaTreshold 0
#     desiredName desired
#     disable    0
#     factor_D   0
#     factor_I   0.25
#     factor_P   40
#     measuredName measured
#     reverseAction 0
#     sensorTimeout 7200
#     stopped    0
#     updateInterval 600
#
setstate pid_werk Ist: 20.9°C Soll: 21.5°C Act: 0
setstate pid_werk 2025-02-10 09:22:04 actuation 0
setstate pid_werk 2025-02-10 09:22:04 actuationCalc -15.9999999999999
setstate pid_werk 2025-02-07 11:35:21 delta -0.399999999999999
setstate pid_werk 2025-02-10 09:22:04 desired 21.5
setstate pid_werk 2025-02-07 11:35:21 measured 20.9
setstate pid_werk 2025-02-10 09:22:04 p_d 0
setstate pid_werk 2025-02-10 09:22:04 p_i 0
setstate pid_werk 2025-02-10 09:22:04 p_p -15.9999999999999
setstate pid_werk 2025-02-10 09:22:04 state alarm - no  yet for


Wäre schön wenn mir da jemand helfen könnte. Danke
Raspberry Pi (Wheezy), Aeon Labs Z-Wave USB Stick 2, HM-USB Adapter, EBUS 2.0 mit Wemos
diverse HM und Z-Wave Geräte

hanske

Im Log steht dann sowas:

2025.02.10 10:23:04 3: set   0 : Please define 0 first
2025.02.10 10:23:04 3: PID20 pid_werk: Calc.780 <set   0>  with return-value:Please define 0 first
Raspberry Pi (Wheezy), Aeon Labs Z-Wave USB Stick 2, HM-USB Adapter, EBUS 2.0 mit Wemos
diverse HM und Z-Wave Geräte

Beta-User

Das sieht mir so aus, als gäbe es den Aktor nicht - sonst sollte da unter helper auch der Name unter "actor" auftauchen.
Was sagt
list dm_hz_valve_dummydazu?

Und eigentlich sollte beim FHEM-Start auch was im Log dazu stehen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Nobbynews

Den Sensor kann ich unter helper auch nicht finden.
Habe auf meinem Testsystem das mal nachgestellt, funktioniert aber.
Beim Update nach 6 Monaten dürfte aber auch noch so einiges mehr aktualisiert worden sein.

OT:
ZitatRaspberry Pi (Wheezy), Aeon
Läuft der Pi wirklich noch unter Wheezy oder Signatur nicht aktualisiert?


hanske

Shutdown - Restart hat geholfen.

Danke!

Nein ich benutze inzwischen Bookworm
Raspberry Pi (Wheezy), Aeon Labs Z-Wave USB Stick 2, HM-USB Adapter, EBUS 2.0 mit Wemos
diverse HM und Z-Wave Geräte

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

hanske

Ich hatte nach dem Update vor 5 Tagen das System x-mal neu gebootet. Ich dachte das reicht.
Ein pid20 mit der gleichen Syntax funktionierte auch heute noch.
Mal sehen wie es weitergeht.
Raspberry Pi (Wheezy), Aeon Labs Z-Wave USB Stick 2, HM-USB Adapter, EBUS 2.0 mit Wemos
diverse HM und Z-Wave Geräte

betateilchen

Zitat von: hanske am 10 Februar 2025, 14:57:40Ich hatte nach dem Update vor 5 Tagen das System x-mal neu gebootet. Ich dachte das reicht.

Das würde logischerweise auch ausreichen.
Offenbar sind/waren da in Deiner Installation noch ein paar andere Dinge durcheinander.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!