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
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.
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.
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)
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.
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
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.
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.
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!
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.
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.
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.
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.
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...
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.
"Hauptsystem"?
Sind das dummy-TYPE-Devices, die per fhem2fhem befüttert werden? Zeig doch mal ein list oder so....
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
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...
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.
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...
Zitat von: Beta-User am 09 Januar 2025, 11:39:49eine (ungetestete) Erweiterung, die diese warnings vermeiden sollte...
Kurz mal eingespielt.
Keine warnings mehr.
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
Das "Problem" sind irgendwelche anderen Module, die vor $init_done Events werfen.
Sollten sie m.E. nicht....
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 (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.
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.
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 (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 ;) .
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.
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.
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.
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.
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:21
Der 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
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
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_dummy
dazu?
Und eigentlich sollte beim FHEM-Start auch was im Log dazu stehen.
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?
Shutdown - Restart hat geholfen.
Danke!
Nein ich benutze inzwischen Bookworm
Zitat von: hanske am 10 Februar 2025, 13:26:24Shutdown - Restart hat geholfen.
Herr, schmeiß Hirn!
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.
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.