[gelöst] Endlose Warnings - FHEM ist aber aktuell

Begonnen von ujaudio, 03 Dezember 2016, 19:47:39

Vorheriges Thema - Nächstes Thema

ujaudio

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?
Einen lieben Gruß
Jürgen

Benni

stacktrace aktivieren und eventuell auch verbose hoch setzen

ujaudio

#2
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.
Einen lieben Gruß
Jürgen

Benni

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.

ujaudio

Also alle DOIF (das sind bei mir mittlerweile viele) einzeln prüfen? Ok, muss wohl sein.
Einen lieben Gruß
Jürgen

viegener

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

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

ujaudio

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
Einen lieben Gruß
Jürgen