FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: cs-online am 14 Dezember 2024, 09:53:19

Titel: [gelöst] PERL WARNING: Wie kann ich das weiter eingrenzen ?
Beitrag von: cs-online am 14 Dezember 2024, 09:53:19
Hallo,

seit ein paar Tagen habe ich stapelweise Einträge dieser Art:

2024.12.14 00:02:44 1: PERL WARNING: Argument "err" isn't numeric in numeric gt (>) at (eval 138328) line 1.
Vermutlich ist irgendwo ein Makro mit einem ReadingsVal, das den Wert nicht bekommt und den Errorwert "err" dann im Makro weiter verarbeitet werden soll. Leider unregelmäßig und ich habe da soooo viele von... Gibt es eine Möglichkeit, das Problem etwas einzugrenzen ?

Grüße

Christian
Titel: Aw: PERL WARNING: Wie kann ich das weiter eingrenzen ?
Beitrag von: betateilchen am 14 Dezember 2024, 11:51:05
Zitat von: cs-online am 14 Dezember 2024, 09:53:19Gibt es eine Möglichkeit, das Problem etwas einzugrenzen ?

Ja, indem man das globale Attribut stacktrace auf 1 setzt.
Gefühlt wurde dieser Tipp schon 1,2 Mio Mal hier im Forum als Antwort auf die immer wieder gleiche Frage gegeben...

(Und in >90% der Fälle ist ein SVG device der Verursacher der Warnung.)
Titel: Aw: PERL WARNING: Wie kann ich das weiter eingrenzen ?
Beitrag von: JudgeDredd am 14 Dezember 2024, 13:24:47
Zitat von: cs-online am 14 Dezember 2024, 09:53:19Vermutlich ist irgendwo ein Makro mit einem ReadingsVal, das den Wert nicht bekommt und den Errorwert "err" dann im Makro weiter verarbeitet werden soll.
Nur mal als Vorschlag für die Zukunft.
Wenn man schon in einem ReadingsVal den Defaultwert als "err" definiert, weil man ihn sowieso nicht benötigt, dann würde ich immer "err_<Device/RoutinenName>" nehmen, dann siehst Du im Log gleich wo es herkommt.
Ansonsten gilt natürlich der 1.200.001ste Tip von betateilchen  :)
Titel: Aw: PERL WARNING: Wie kann ich das weiter eingrenzen ?
Beitrag von: cs-online am 14 Dezember 2024, 16:30:26
Danke euch beiden für die beiden guten Tipps!

Und auch dafür,  dass ihr trotzdem helft, auch wenn es das xte Mal ist.

Grüße Christian