FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Timo_FHEM am 20 November 2019, 23:14:57

Titel: [gelöst] PERL WARNING: Use of uninitialized value $20 in substitution iterator
Beitrag von: Timo_FHEM am 20 November 2019, 23:14:57
Hallo zusammen,

Ich bekomme immer wieder mal eine Reihe an Log Einträgen, mit denen ich nichts anfangen kann.


2019.11.20 21:25:13 1: PERL WARNING: Use of uninitialized value $20 in substitution iterator at (eval 533256) line 1.
2019.11.20 21:25:13 1: PERL WARNING: Use of uninitialized value $20 in substitution iterator at (eval 533257) line 1.
2019.11.20 21:25:13 1: PERL WARNING: Use of uninitialized value $20 in substitution iterator at (eval 533258) line 1.
2019.11.20 21:25:13 1: PERL WARNING: Use of uninitialized value $20 in substitution iterator at (eval 533259) line 1.
2019.11.20 21:25:13 1: PERL WARNING: Use of uninitialized value $20 in substitution iterator at (eval 533260) line 1.
2019.11.20 21:25:13 1: PERL WARNING: Use of uninitialized value $20 in substitution iterator at (eval 533261) line 1.


Das geht dann lang weiter und hört irgendwann auf einfach auf.

Was kann das sein? Von welchem Device kann das ausgelöst werden?

Ist wahrscheinlich wieder irgendeine Kleinigkeit. Ich hab aber gar keinen Anhaltspunkt für eine Fehlersuche.

Kann jemand helfen?

Danke und Gruß
Timo

Gesendet von meinem MI 9 mit Tapatalk

Titel: Antw:[gelöst] PERL WARNING: Use of uninitialized value $20 in substitution iterator
Beitrag von: amenomade am 20 November 2019, 23:18:21
Zitat von: Timo_FHEM am 20 November 2019, 23:14:57
Hallo zusammen,

Ich bekomme immer wieder mal eine Reihe an Log Einträgen, mit denen ich nichts anfangen kann.


2019.11.20 21:25:13 1: PERL WARNING: Use of uninitialized value $20 in substitution iterator at (eval 533256) line 1.
2019.11.20 21:25:13 1: PERL WARNING: Use of uninitialized value $20 in substitution iterator at (eval 533257) line 1.
2019.11.20 21:25:13 1: PERL WARNING: Use of uninitialized value $20 in substitution iterator at (eval 533258) line 1.
2019.11.20 21:25:13 1: PERL WARNING: Use of uninitialized value $20 in substitution iterator at (eval 533259) line 1.
2019.11.20 21:25:13 1: PERL WARNING: Use of uninitialized value $20 in substitution iterator at (eval 533260) line 1.
2019.11.20 21:25:13 1: PERL WARNING: Use of uninitialized value $20 in substitution iterator at (eval 533261) line 1.


Das geht dann lang weiter und hört irgendwann auf einfach auf.

Was kann das sein? Von welchem Device kann das ausgelöst werden?

Ist wahrscheinlich wieder irgendeine Kleinigkeit. Ich hab aber gar keinen Anhaltspunkt für eine Fehlersuche.

Kann jemand helfen?

Danke und Gruß
Timo

Gesendet von meinem MI 9 mit Tapatalk

Attribut stacktrace auf Device global setzen, und Log wieder posten
Titel: Antw:[gelöst] PERL WARNING: Use of uninitialized value $20 in substitution iterator
Beitrag von: Timo_FHEM am 21 November 2019, 06:32:07
Danke für den Hinweis. Hab ich gesetzt. Aktuell ist noch nichts gekommen.
Ich melde mich dann wieder.

Gesendet von meinem MI 9 mit Tapatalk

Titel: Antw:[gelöst] PERL WARNING: Use of uninitialized value $20 in substitution iterator
Beitrag von: Timo_FHEM am 22 November 2019, 20:34:17
Stacktrace ist aktiviert und das Log ist brechend voll.
Nur der besagte Fehler kommt nicht drin vor.
War ja klar. Wenn man was sucht, tritt es nicht auf :-(

Gruß Timo
Titel: Antw:[gelöst] PERL WARNING: Use of uninitialized value $20 in substitution iterator
Beitrag von: Timo_FHEM am 10 Dezember 2019, 22:04:36
So, jetzt hab ich das Problem scheinbar eingegrenzt. Hab endlich den Fehlerzustand erwischen können.
Im Log steht:

2019.12.10 21:47:36 1: PERL WARNING: Use of uninitialized value $20 in substitution iterator at (eval 1756964) line 1.
2019.12.10 21:47:36 1: stacktrace:
2019.12.10 21:47:36 1:     main::__ANON__                      called by (eval 1756964) (1)
2019.12.10 21:47:36 1:     (eval)                              called by ./FHEM/93_DbLog.pm (3320)
2019.12.10 21:47:36 1:     main::DbLog_Get                     called by fhem.pl (3750)
2019.12.10 21:47:36 1:     main::CallFn                        called by fhem.pl (1957)
2019.12.10 21:47:36 1:     main::CommandGet                    called by fhem.pl (1238)
2019.12.10 21:47:36 1:     main::AnalyzeCommand                called by ./FHEM/01_FHEMWEB.pm (2683)
2019.12.10 21:47:36 1:     main::FW_fC                         called by ./FHEM/98_SVG.pm (1207)
2019.12.10 21:47:36 1:     main::SVG_getData                   called by ./FHEM/98_SVG.pm (1173)
2019.12.10 21:47:36 1:     main::SVG_doShowLog                 called by ./FHEM/98_SVG.pm (249)
2019.12.10 21:47:36 1:     main::SVG_FwFn                      called by ./FHEM/01_FHEMWEB.pm (2017)
2019.12.10 21:47:36 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (1132)
2019.12.10 21:47:36 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (580)
2019.12.10 21:47:36 1:     main::FW_Read                       called by fhem.pl (3750)
2019.12.10 21:47:36 1:     main::CallFn                        called by fhem.pl (750)
2019.12.10 21:47:36 1: PERL WARNING: Use of uninitialized value $20 in substitution iterator at (eval 1756965) line 1.
2019.12.10 21:47:36 1: stacktrace:
2019.12.10 21:47:36 1:     main::__ANON__                      called by (eval 1756965) (1)
2019.12.10 21:47:36 1:     (eval)                              called by ./FHEM/93_DbLog.pm (3320)
2019.12.10 21:47:36 1:     main::DbLog_Get                     called by fhem.pl (3750)
2019.12.10 21:47:36 1:     main::CallFn                        called by fhem.pl (1957)
2019.12.10 21:47:36 1:     main::CommandGet                    called by fhem.pl (1238)
2019.12.10 21:47:36 1:     main::AnalyzeCommand                called by ./FHEM/01_FHEMWEB.pm (2683)
2019.12.10 21:47:36 1:     main::FW_fC                         called by ./FHEM/98_SVG.pm (1207)
2019.12.10 21:47:36 1:     main::SVG_getData                   called by ./FHEM/98_SVG.pm (1173)
2019.12.10 21:47:36 1:     main::SVG_doShowLog                 called by ./FHEM/98_SVG.pm (249)
2019.12.10 21:47:36 1:     main::SVG_FwFn                      called by ./FHEM/01_FHEMWEB.pm (2017)
2019.12.10 21:47:36 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (1132)
2019.12.10 21:47:36 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (580)
2019.12.10 21:47:36 1:     main::FW_Read                       called by fhem.pl (3750)
2019.12.10 21:47:36 1:     main::CallFn                        called by fhem.pl (750)
2019.12.10 21:47:36 1: PERL WARNING: Use of uninitialized value $20 in substitution iterator at (eval 1756966) line 1.
2019.12.10 21:47:36 1: stacktrace:
2019.12.10 21:47:36 1:     main::__ANON__                      called by (eval 1756966) (1)
2019.12.10 21:47:36 1:     (eval)                              called by ./FHEM/93_DbLog.pm (3320)
2019.12.10 21:47:36 1:     main::DbLog_Get                     called by fhem.pl (3750)
2019.12.10 21:47:36 1:     main::CallFn                        called by fhem.pl (1957)
2019.12.10 21:47:36 1:     main::CommandGet                    called by fhem.pl (1238)
2019.12.10 21:47:36 1:     main::AnalyzeCommand                called by ./FHEM/01_FHEMWEB.pm (2683)
2019.12.10 21:47:36 1:     main::FW_fC                         called by ./FHEM/98_SVG.pm (1207)
2019.12.10 21:47:36 1:     main::SVG_getData                   called by ./FHEM/98_SVG.pm (1173)
2019.12.10 21:47:36 1:     main::SVG_doShowLog                 called by ./FHEM/98_SVG.pm (249)
2019.12.10 21:47:36 1:     main::SVG_FwFn                      called by ./FHEM/01_FHEMWEB.pm (2017)
2019.12.10 21:47:36 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (1132)
2019.12.10 21:47:36 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (580)
2019.12.10 21:47:36 1:     main::FW_Read                       called by fhem.pl (3750)
2019.12.10 21:47:36 1:     main::CallFn                        called by fhem.pl (750)


Das tritt dann auf, wenn ich auf einen Raum "Garten" klicke. Darin ist ein Diagramm. Das werd ich mir mal genauer ansehen.
Weiter unten im Log steht dann sehr oft:

2019.12.10 21:47:37 1: PERL WARNING: Argument "" isn't numeric in subtraction (-) at ./FHEM/98_SVG.pm line 1961.
2019.12.10 21:47:37 1: stacktrace:
2019.12.10 21:47:37 1:     main::__ANON__                      called by ./FHEM/98_SVG.pm (1961)
2019.12.10 21:47:37 1:     main::SVG_render                    called by ./FHEM/98_SVG.pm (1175)
2019.12.10 21:47:37 1:     main::SVG_doShowLog                 called by ./FHEM/98_SVG.pm (249)
2019.12.10 21:47:37 1:     main::SVG_FwFn                      called by ./FHEM/01_FHEMWEB.pm (2017)
2019.12.10 21:47:37 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (1132)
2019.12.10 21:47:37 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (580)
2019.12.10 21:47:37 1:     main::FW_Read                       called by fhem.pl (3750)
2019.12.10 21:47:37 1:     main::CallFn                        called by fhem.pl (750)


Das SVG in dem Raum hat diesen Code. Da ist bestimmt das Problem zu Hause.

# Created by FHEM/98_SVG.pm, 2019-10-11 18:55:09
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title 'Zisterne'
set ytics
set y2tics ("ON" 150,"OFF" 20)
set grid ytics
set ylabel "Abstand"
set y2label ""
set yrange [0:300]
set y2range [0:300]

#DBLogging Sonoff_Zisterne:SR04_Distance
#DBLogging Sonoff_Zisterne:POWER:::$val=~s/(ON|OFF|dim)(\d*).*/$1eq"ON"?150:($1eq"OFF"?$20:20)/eg

plot "<IN>" using 1:2 axes x1y1 title 'Füllstand' ls l0 lw 1 with lines,\
     #"<IN>" using 1:2 axes x1y1 title 'Pumpe' ls l1 lw 1 with steps
"< awk '{print $1, $3~/dim.*/? 150 : 20; }' <IN>"\
using 1:2 axes x1y1 title 'Pumpe' with steps


Ich muss gestehen, bei dem SVG steh ich auf dünnem Eis. Das hab ich irgendwo zusammengeklaubt. Hatte scheinbar erstmal funktioniert.

Wenn jemand einen heißen Tipp hat, immer raus damit ;-)

Gruß Timo
Titel: Antw:[gelöst] PERL WARNING: Use of uninitialized value $20 in substitution iterator
Beitrag von: amenomade am 10 Dezember 2019, 22:16:51
Wäre interessant, die Log von Sonoff_Zisterne zu sehen, insb. was POWER liefert

#DBLogging Sonoff_Zisterne:POWER:::$val=~s/(ON|OFF|dim)(\d*).*/$1eq"ON"?150:($1eq"OFF"?$20:20)/eg
Am Ende, ?$20:20 => Dollar weg
Meiner Meinung nach, kannst Du sogar kürzen:
$val=~s/(ON|OFF|dim)(\d*).*/$1eq"ON"?150:20/eg
Titel: Antw:[gelöst] PERL WARNING: Use of uninitialized value $20 in substitution iterator
Beitrag von: Timo_FHEM am 10 Dezember 2019, 23:10:57
Die Daten für das SVG kommen aus der Datenbank.
Das POWER Reading liefert die Werte ON oder OFF.

Ich hab die Zeile so angepasst:

#DBLogging Sonoff_Zisterne:POWER:::$val=~s/(ON|OFF)(\d*).*/$1eq"ON"?150:20/eg

Danach gab es kein Log Eintrag mehr. Scheinbar war es das schon. Aber ich werde das noch mal weiter beobachten.
Danke schon mal für die Hilfe :-)

Gruß Timo
Titel: Antw:[gelöst] PERL WARNING: Use of uninitialized value $20 in substitution iterator
Beitrag von: Timo_FHEM am 12 Dezember 2019, 22:30:40
Seit 2 Tagen keinen Eintrag mehr im Log zu dem Problem.
Deine Änderung hat gewirkt.

Danke für die Hilfe!

VG Timo

Gesendet von meinem MI 9 mit Tapatalk