FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: kaihs am 27 Dezember 2017, 20:19:55

Titel: PERL WARNING: Use of uninitialized value $newIODev in string ne at ./FHEM/10_CUL
Beitrag von: kaihs am 27 Dezember 2017, 20:19:55
Ich habe seit einiger Zeit und auch mit der neuesten Version von 10_CUL_HM.pm diese Warning beim Start von fhem im Log:

2017.12.27 19:59:40 1: PERL WARNING: Use of uninitialized value $newIODev in string ne at ./FHEM/10_CUL_HM.pm line 8917, <$fh> line 183.
2017.12.27 19:59:40 1: stacktrace:
2017.12.27 19:59:40 1:     main::__ANON__                      called by ./FHEM/10_CUL_HM.pm (8917)
2017.12.27 19:59:40 1:     main::CUL_HM_assignIO               called by ./FHEM/10_CUL_HM.pm (555)
2017.12.27 19:59:40 1:     main::CUL_HM_Define                 called by fhem.pl (3489)
2017.12.27 19:59:40 1:     main::CallFn                        called by fhem.pl (1930)
2017.12.27 19:59:40 1:     main::CommandDefine                 called by fhem.pl (1169)
2017.12.27 19:59:40 1:     main::AnalyzeCommand                called by fhem.pl (1022)
2017.12.27 19:59:40 1:     main::AnalyzeCommandChain           called by fhem.pl (1305)
2017.12.27 19:59:40 1:     main::CommandInclude                called by fhem.pl (547)


und das wiederholt sich für jedes HM-Device.

Die Meldung wurde schon mal in einem anderen Thread (https://forum.fhem.de/index.php/topic,78841.msg709253.html#msg709253) thematisiert, aber wohl nicht vollständig behoben?

Wenn man Zeile 8918 von '$Id: 10_CUL_HM.pm 15686 2017-12-25 12:23:45Z martinp876'

  if ($oldIODev ne $newIODev) {# have a change - Assign the device at IO and remove from old one


in


  if ($oldIODev && $oldIODev ne $newIODev) {# have a change - Assign the device at IO and remove from old one


ändert verschwindet die Warnung.
Die analoge Abfrage in den Zeilen darunter könnte dann wahrscheinlich entfallen.
Titel: Antw:PERL WARNING: Use of uninitialized value $newIODev in string ne at ./FHEM/10_CUL
Beitrag von: noansi am 27 Dezember 2017, 22:04:37
Hallo Kaihs,

sind bei Dir die HM IOs vor oder hinter den HM device Definitionen in der fhem.cfg angesiedelt?

Gruß, Ansgar.
Titel: Antw:PERL WARNING: Use of uninitialized value $newIODev in string ne at ./FHEM/10_CUL
Beitrag von: kaihs am 28 Dezember 2017, 12:08:34
Danke für den Hinweis, das war das Problem.

Ich hatte ein weiteres IODev hinzugefügt und die Devices waren schon vorher da.
Daher stand das neue IODev in der fhem.cfg hinter den Devices.
Habe ich jetzt manuell korrigiert und die Meldungen sind jetzt weg.