Ich erhalte seit Wochen endlos Warnungen wie folgt:
2016.12.03 10:05:52 1: PERL WARNING: Argument "20_84" isn't numeric in numeric lt (<) at (eval 203247) line 1.
2016.12.03 10:10:10 1: PERL WARNING: Argument "20_84" isn't numeric in numeric lt (<) at (eval 203345) line 1.
2016.12.03 10:18:02 1: PERL WARNING: Argument "20_84" isn't numeric in numeric lt (<) at (eval 203504) line 1.
2016.12.03 10:32:35 1: PERL WARNING: Argument "20_84" isn't numeric in numeric lt (<) at (eval 203787) line 1.
2016.12.03 10:35:25 1: PERL WARNING: Argument "20_84" isn't numeric in numeric lt (<) at (eval 203857) line 1.
2016.12.03 10:45:23 1: PERL WARNING: Argument "20_84" isn't numeric in numeric lt (<) at (eval 204066) line 1.
2016.12.03 11:27:32 1: PERL WARNING: Argument "80_85" isn't numeric in numeric lt (<) at (eval 204925) line 1.
2016.12.03 11:27:32 1: PERL WARNING: Argument "80_85" isn't numeric in numeric gt (>) at (eval 204926) line 1.
2016.12.03 11:27:32 1: PERL WARNING: Argument "80_85" isn't numeric in numeric lt (<) at (eval 204928) line 1.
2016.12.03 11:27:32 1: PERL WARNING: Argument "80_85" isn't numeric in numeric lt (<) at (eval 204929) line 1.
2016.12.03 11:27:32 1: PERL WARNING: Argument "80_85" isn't numeric in numeric gt (>) at (eval 204930) line 1.
2016.12.03 11:27:33 1: PERL WARNING: Argument "80_85" isn't numeric in numeric lt (<) at (eval 204933) line 1.
Wie kann ich da überhaupt suchen? Wo kann ich erkennen, welches Modul da zuständig ist?
stacktrace (http://fhem.de/commandref_DE.html#global) aktivieren und eventuell auch verbose hoch setzen
Da bekomme ich (ich hoffe das ist der richtige und vollständige Ausschnitt aus dem nun überquellenden Log):
2016.12.04 09:08:39 1: PERL WARNING: Argument "20_86" isn't numeric in numeric lt (<) at (eval 24716) line 1.
2016.12.04 09:08:39 1: stacktrace:
2016.12.04 09:08:39 1: main::__ANON__ called by (eval 24716) (1)
2016.12.04 09:08:39 1: (eval) called by ./FHEM/98_DOIF.pm (1059)
2016.12.04 09:08:39 1: main::DOIF_CheckCond called by ./FHEM/98_DOIF.pm (1309)
2016.12.04 09:08:39 1: main::DOIF_Trigger called by ./FHEM/98_DOIF.pm (1421)
2016.12.04 09:08:39 1: main::DOIF_Notify called by fhem.pl (3283)
2016.12.04 09:08:39 1: main::CallFn called by fhem.pl (3205)
2016.12.04 09:08:39 1: main::DoTrigger called by fhem.pl (3529)
2016.12.04 09:08:39 1: main::Dispatch called by ./FHEM/00_HMLAN.pm (779)
2016.12.04 09:08:39 1: main::HMLAN_Parse called by ./FHEM/00_HMLAN.pm (604)
2016.12.04 09:08:39 1: main::HMLAN_Read called by fhem.pl (3283)
2016.12.04 09:08:39 1: main::CallFn called by fhem.pl (672)
Grübel, grübel??!? :-[
Die Info ist unterschiedlich:
2016.12.04 09:16:11 1: PERL WARNING: Argument "20_86" isn't numeric in numeric lt (<) at (eval 25024) line 1.
2016.12.04 09:16:11 1: stacktrace:
2016.12.04 09:16:11 1: main::__ANON__ called by (eval 25024) (1)
2016.12.04 09:16:11 1: (eval) called by ./FHEM/98_DOIF.pm (1059)
2016.12.04 09:16:11 1: main::DOIF_CheckCond called by ./FHEM/98_DOIF.pm (1309)
2016.12.04 09:16:11 1: main::DOIF_Trigger called by ./FHEM/98_DOIF.pm (1421)
2016.12.04 09:16:11 1: main::DOIF_Notify called by fhem.pl (3283)
2016.12.04 09:16:11 1: main::CallFn called by fhem.pl (3205)
2016.12.04 09:16:11 1: main::DoTrigger called by fhem.pl (4100)
2016.12.04 09:16:11 1: main::readingsEndUpdate called by fhem.pl (4289)
2016.12.04 09:16:11 1: main::readingsSingleUpdate called by ./FHEM/10_CUL_HM.pm (8432)
2016.12.04 09:16:11 1: main::CUL_HM_UpdtReadSingle called by ./FHEM/10_CUL_HM.pm (5910)
2016.12.04 09:16:11 1: main::CUL_HM_Set called by fhem.pl (3278)
2016.12.04 09:16:11 1: main::CallFn called by fhem.pl (1641)
2016.12.04 09:16:11 1: main::DoSet called by fhem.pl (1673)
2016.12.04 09:16:11 1: main::CommandSet called by fhem.pl (1100)
2016.12.04 09:16:11 1: main::AnalyzeCommand called by fhem.pl (970)
2016.12.04 09:16:11 1: main::AnalyzeCommandChain called by ./FHEM/98_DOIF.pm (747)
2016.12.04 09:16:11 1: main::ParseCommandsDoIf called by ./FHEM/98_DOIF.pm (1148)
2016.12.04 09:16:11 1: main::DOIF_cmd called by ./FHEM/98_DOIF.pm (1321)
2016.12.04 09:16:11 1: main::DOIF_Trigger called by ./FHEM/98_DOIF.pm (1421)
2016.12.04 09:16:11 1: main::DOIF_Notify called by fhem.pl (3283)
2016.12.04 09:16:11 1: main::CallFn called by fhem.pl (3205)
2016.12.04 09:16:11 1: main::DoTrigger called by fhem.pl (3529)
2016.12.04 09:16:11 1: main::Dispatch called by ./FHEM/00_HMLAN.pm (779)
2016.12.04 09:16:11 1: main::HMLAN_Parse called by ./FHEM/00_HMLAN.pm (604)
2016.12.04 09:16:11 1: main::HMLAN_Read called by fhem.pl (3283)
2016.12.04 09:16:11 1: main::CallFn called by fhem.pl (672)
2016.12.04 09:16:11 1: PERL WARNING: Argument "20_86" isn't numeric in numeric lt (<) at (eval 25027) line 1.
2016.12.04 09:16:11 1: stacktrace:
2016.12.04 09:16:11 1: main::__ANON__ called by (eval 25027) (1)
2016.12.04 09:16:11 1: (eval) called by ./FHEM/98_DOIF.pm (1059)
2016.12.04 09:16:11 1: main::DOIF_CheckCond called by ./FHEM/98_DOIF.pm (1309)
2016.12.04 09:16:11 1: main::DOIF_Trigger called by ./FHEM/98_DOIF.pm (1421)
2016.12.04 09:16:11 1: main::DOIF_Notify called by fhem.pl (3283)
2016.12.04 09:16:11 1: main::CallFn called by fhem.pl (3205)
2016.12.04 09:16:11 1: main::DoTrigger called by fhem.pl (4100)
2016.12.04 09:16:11 1: main::readingsEndUpdate called by fhem.pl (4289)
2016.12.04 09:16:11 1: main::readingsSingleUpdate called by ./FHEM/10_CUL_HM.pm (8432)
2016.12.04 09:16:11 1: main::CUL_HM_UpdtReadSingle called by ./FHEM/10_CUL_HM.pm (5910)
2016.12.04 09:16:11 1: main::CUL_HM_Set called by fhem.pl (3278)
2016.12.04 09:16:11 1: main::CallFn called by fhem.pl (1641)
2016.12.04 09:16:11 1: main::DoSet called by fhem.pl (1673)
2016.12.04 09:16:11 1: main::CommandSet called by fhem.pl (1100)
2016.12.04 09:16:11 1: main::AnalyzeCommand called by fhem.pl (970)
2016.12.04 09:16:11 1: main::AnalyzeCommandChain called by ./FHEM/98_DOIF.pm (747)
2016.12.04 09:16:11 1: main::ParseCommandsDoIf called by ./FHEM/98_DOIF.pm (1148)
2016.12.04 09:16:11 1: main::DOIF_cmd called by ./FHEM/98_DOIF.pm (1321)
2016.12.04 09:16:11 1: main::DOIF_Trigger called by ./FHEM/98_DOIF.pm (1421)
2016.12.04 09:16:11 1: main::DOIF_Notify called by fhem.pl (3283)
2016.12.04 09:16:11 1: main::CallFn called by fhem.pl (3205)
2016.12.04 09:16:11 1: main::DoTrigger called by fhem.pl (3529)
2016.12.04 09:16:11 1: main::Dispatch called by ./FHEM/00_HMLAN.pm (779)
2016.12.04 09:16:11 1: main::HMLAN_Parse called by ./FHEM/00_HMLAN.pm (604)
2016.12.04 09:16:11 1: main::HMLAN_Read called by fhem.pl (3283)
2016.12.04 09:16:11 1: main::CallFn called by fhem.pl (672)
2016.12.04 09:16:12 1: PERL WARNING: Argument "20_86" isn't numeric in numeric lt (<) at (eval 25035) line 1.
2016.12.04 09:16:12 1: stacktrace:
2016.12.04 09:16:12 1: main::__ANON__ called by (eval 25035) (1)
2016.12.04 09:16:12 1: (eval) called by ./FHEM/98_DOIF.pm (1059)
2016.12.04 09:16:12 1: main::DOIF_CheckCond called by ./FHEM/98_DOIF.pm (1309)
2016.12.04 09:16:12 1: main::DOIF_Trigger called by ./FHEM/98_DOIF.pm (1421)
2016.12.04 09:16:12 1: main::DOIF_Notify called by fhem.pl (3283)
2016.12.04 09:16:12 1: main::CallFn called by fhem.pl (3205)
2016.12.04 09:16:12 1: main::DoTrigger called by fhem.pl (3529)
2016.12.04 09:16:12 1: main::Dispatch called by ./FHEM/00_HMLAN.pm (779)
2016.12.04 09:16:12 1: main::HMLAN_Parse called by ./FHEM/00_HMLAN.pm (604)
2016.12.04 09:16:12 1: main::HMLAN_Read called by fhem.pl (3283)
2016.12.04 09:16:12 1: main::CallFn called by fhem.pl (672)
2016.12.04 09:16:12 1: PERL WARNING: Argument "20_86" isn't numeric in numeric lt (<) at (eval 25038) line 1.
2016.12.04 09:16:12 1: stacktrace:
2016.12.04 09:16:12 1: main::__ANON__ called by (eval 25038) (1)
2016.12.04 09:16:12 1: (eval) called by ./FHEM/98_DOIF.pm (1059)
2016.12.04 09:16:12 1: main::DOIF_CheckCond called by ./FHEM/98_DOIF.pm (1309)
2016.12.04 09:16:12 1: main::DOIF_Trigger called by ./FHEM/98_DOIF.pm (1421)
2016.12.04 09:16:12 1: main::DOIF_Notify called by fhem.pl (3283)
2016.12.04 09:16:12 1: main::CallFn called by fhem.pl (3205)
2016.12.04 09:16:12 1: main::DoTrigger called by fhem.pl (3529)
2016.12.04 09:16:12 1: main::Dispatch called by ./FHEM/00_HMLAN.pm (779)
2016.12.04 09:16:12 1: main::HMLAN_Parse called by ./FHEM/00_HMLAN.pm (604)
2016.12.04 09:16:12 1: main::HMLAN_Read called by fhem.pl (3283)
2016.12.04 09:16:12 1: main::CallFn called by fhem.pl (672)
Aufgrund dessen, dass immer "HMLAN" dabei ist, habe ich mal weiter gesucht und in fhem.cfg gefunden:
attr global motd Messages collected while initializing FHEM:\
configfile: ActionDetector: unknown IODev hmlan2 specified\
Ich hatte mal ein HMLAN2 definiert, dieses aber dann wieder gelöscht ("delete") - außer dieser Info gibt es aber in fhem.cfg nichts mehr von HMLAN2.
Nebenbei: ich habe gestern Abend noch FHEM auf den neuesten Stand gebracht und ein Restart durchgeführt.
Ich würde da eher auf ein DOIF tippen, das einen fehlerhaften Vergleich durchführen soll ("20_86" isn't numeric).
Solltest mal schauen, wo dieser Wert herkommt und in welchem DOIf der ggf. zum Vergleich herangezogen wird.
Also alle DOIF (das sind bei mir mittlerweile viele) einzeln prüfen? Ok, muss wohl sein.
Der HMLan2 hat wohl nicht unbedingt was damit zu tun. Sollte aber trotzdem sauber entfernt werden. Du solltest mal schauen, ob nach einem weiteren Neustart (vorher ein save) durchführen immernoch Fehlermeldungen auftauchen. Es gab/gibt wohl ein Device, dass mal über den hmlan2 gesendet/empfangen hat.
Das eigentlich Problem ist ein fehlerhafter Vergleich in einem DOIF,wie von Benni bereits beschrieben. Dieses DOIF untersucht wohl (u.a.) auch Homematic-Readings / Infos vom HMLan.
Also es gibt bei Dir (mind) ein DOIF, dass wohl in den Bedingungen ein Reading (oder einen anderen Wert) sowohl mit > als auch mit < verwendet.
Also gehe doch Deine DOIFS durch, wenn es nicht so viele sind
Oder schaue in den Readings (also über save und dann in der Datei fhem.save) nach dem Wert der nicht numerisch ist
Also ich habe das DOIF gefunden - anhand des Zeitstempels im Logfile, welches sich auch im DOIF wiederfindet. Jetzt muss ich nur noch den Fehler beheben, ich bin ihm auf der Spur.
Danke für die Hinweise.
Noch einen schönen Sonntag
Jürgen