FHEM Forum

FHEM => Sonstiges => Thema gestartet von: econ_sl83 am 01 Dezember 2015, 19:52:47

Titel: Log-Fehlermeldungen $cmd in substitution (s///) etc.
Beitrag von: econ_sl83 am 01 Dezember 2015, 19:52:47
Hallo zusammen,

trotz langer Suche und Studium der Doku bräuchte ich euere Hilfe bei folgenden Fehlermeldungen:
2015.11.30 21:48:06 1: PERL WARNING: Use of uninitialized value $cmd in substitution (s///) at fhem.pl line 943, <GEN19888> line 1761.
2015.11.30 21:48:06 1: PERL WARNING: Use of uninitialized value $cmd in eval "string" at fhem.pl line 978, <GEN19888> line 1761.


Ich dachte zunächst, dass diese Fehlermeldungen auf einen Hour-Conter bzw. einen Gas-Stundenverbrauchs-Notify zurückgehen. Die Abschaltung dessen bzw. verbose 0 führten jedoch nicht zum Ausbleiben der Warnungen.

Die Fehlermeldungen treten übrigens nach keinem mir erkennbaren Muster auf. Ein Update habe ich gestern durchgeführt.

Vielen Dank für eure Hilfe.

Viele Grüße
Titel: Antw:Log-Fehlermeldungen $cmd in substitution (s///) etc.
Beitrag von: dev0 am 01 Dezember 2015, 21:06:55
attr global stacktrace 1 und verbose 5 könnte Dir helfen das Problem im Log zu finden.
Titel: Antw:Log-Fehlermeldungen $cmd in substitution (s///) etc.
Beitrag von: econ_sl83 am 01 Dezember 2015, 22:35:25
Zitat von: dev0 am 01 Dezember 2015, 21:06:55
attr global stacktrace 1 und verbose 5 könnte Dir helfen das Problem im Log zu finden.

Danke für den Hinweis.
Ich konnte das Problem aufs infopanel eingrenzen.. Mir ist ziemlich unklar, woran das genau lag - ich habe aber die letzte Veränderung mal entfernt.. mal sehen.
Titel: Antw:Log-Fehlermeldungen $cmd in substitution (s///) etc.
Beitrag von: rudolfkoenig am 02 Dezember 2015, 11:29:40
Irgendwer hat AnalyzePerlCommand mit einem leeren (genauer undef) Befehl aufgerufen.
Sowas macht man nicht.
Titel: Antw:Log-Fehlermeldungen $cmd in substitution (s///) etc.
Beitrag von: econ_sl83 am 02 Dezember 2015, 23:28:22
Zitat von: rudolfkoenig am 02 Dezember 2015, 11:29:40
Irgendwer hat AnalyzePerlCommand mit einem leeren (genauer undef) Befehl aufgerufen.
Sowas macht man nicht.

Danke für den Hinweis.
Leider komme ich dennoch nicht weiter... sorry.

Hier die Ausgabe nach verbose5 und stacktrace:
2015.12.02 20:12:45 1: PERL WARNING: Use of uninitialized value $cmd in substitution (s///) at fhem.pl line 943.
2015.12.02 20:12:45 3: stacktrace:
2015.12.02 20:12:45 3:     main::__ANON__                      called by fhem.pl (943)
2015.12.02 20:12:45 3:     main::AnalyzePerlCommand            called by ./FHEM/55_InfoPanel.pm (1024)
2015.12.02 20:12:45 3:     (eval)                              called by ./FHEM/55_InfoPanel.pm (979)
2015.12.02 20:12:45 3:     main::btIP_evalLayout               called by ./FHEM/55_InfoPanel.pm (884)
2015.12.02 20:12:45 3:     (eval)                              called by ./FHEM/55_InfoPanel.pm (820)
2015.12.02 20:12:45 3:     main::btIP_returnSVG                called by ./FHEM/55_InfoPanel.pm (1381)
2015.12.02 20:12:45 3:     main::btIP_returnHTML               called by ./FHEM/55_InfoPanel.pm (1337)
2015.12.02 20:12:45 3:     main::btIP_CGI                      called by ./FHEM/01_FHEMWEB.pm (726)
2015.12.02 20:12:45 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (440)
2015.12.02 20:12:45 3:     main::FW_Read                       called by fhem.pl (3151)
2015.12.02 20:12:45 3:     main::CallFn                        called by fhem.pl (656)
2015.12.02 20:12:45 1: PERL WARNING: Use of uninitialized value $cmd in eval "string" at fhem.pl line 978.
2015.12.02 20:12:45 3: stacktrace:
2015.12.02 20:12:45 3:     main::__ANON__                      called by fhem.pl (978)
2015.12.02 20:12:45 3:     main::AnalyzePerlCommand            called by ./FHEM/55_InfoPanel.pm (1024)
2015.12.02 20:12:45 3:     (eval)                              called by ./FHEM/55_InfoPanel.pm (979)
2015.12.02 20:12:45 3:     main::btIP_evalLayout               called by ./FHEM/55_InfoPanel.pm (884)
2015.12.02 20:12:45 3:     (eval)                              called by ./FHEM/55_InfoPanel.pm (820)
2015.12.02 20:12:45 3:     main::btIP_returnSVG                called by ./FHEM/55_InfoPanel.pm (1381)
2015.12.02 20:12:45 3:     main::btIP_returnHTML               called by ./FHEM/55_InfoPanel.pm (1337)
2015.12.02 20:12:45 3:     main::btIP_CGI                      called by ./FHEM/01_FHEMWEB.pm (726)
2015.12.02 20:12:45 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (440)
2015.12.02 20:12:45 3:     main::FW_Read                       called by fhem.pl (3151)
2015.12.02 20:12:45 3:     main::CallFn                        called by fhem.pl (656)


Offensichtlich infopanel - ok. Aber darin sind lediglich marginale Änderungen (Schriftgröße o.ä.) erfolgt.
Habt ihr vielleicht noch einen Denkanstoß?
Titel: Antw:Log-Fehlermeldungen $cmd in substitution (s///) etc.
Beitrag von: rudolfkoenig am 03 Dezember 2015, 16:21:28
Hat wohl mit einem circle in einem InfoPanel zu tun, bei dem man kein Link spezifiziert hat.
Titel: Antw:Log-Fehlermeldungen $cmd in substitution (s///) etc.
Beitrag von: econ_sl83 am 03 Dezember 2015, 21:25:59
Zitat von: rudolfkoenig am 03 Dezember 2015, 16:21:28
Hat wohl mit einem circle in einem InfoPanel zu tun, bei dem man kein Link spezifiziert hat.

Herzlichen Dank.
Leider:
Was meinst Du mit Link?
# Format: circle <id> <x> <y> <r> [<filled>]
Alle meine Circles sehen so aus: circle - 825 240 15 1


Historie: Perl Warnings traten zunächst im Zusammenhang mit dem fritzbox-Modul auf - das läuft nun wieder.
Als die o.g. Perl-Warnings zum ersten mal auftraten fand _keine_ Änderung an der fraglichen infopanel-Datei wieder...

Hat vielleicht noch jemand einen weiteren Denkanstoß?
Könnte es einen Zusammenhang mit dem GDS-Modul geben? Das läuft derzeit nicht richtig...


Edit: Mein GDS läuft wieder:Es lag am fehlenden Perl-Modul Zip... http://forum.fhem.de/index.php?topic=44453.0  (http://forum.fhem.de/index.php?topic=44453.0)
Nun hatte ich folgenden Code in der infopanel-Definition:
condition {(ReadingsVal('DWD','a_0_valid','') eq '1')}
#condition {(ReadingsVal('Test','state','') eq 'on')}
rect - 10 200 500 245 10 10 1 3 # rot umrandet, ohne Füllung, runde Ecken
area - 10 200 500 245 "http://ds9:8083/fhem/HQ/wetter.html"
rgb "FFFFFF"
text - 15 220 { ReadingsVal("DWD","a_0_headline","") }
condition 1


Könnte die Fehlermeldung auch hieran liegen?
Komisch wäre nur, dass die Fehlermeldung zeitlich scheinbar willkürlich auftauchten..

Edit2: Nein - Der GDS-Teil hatte damit nichts zu tun.. frustrierend.

Edit3: Es liegt an den Circles... wenn alle weg sind läufts..

nur: Was ist hier falsch?
condition {(ReadingsVal('Garagenlicht','state','on') eq 'off')}
rgb "adff2f" #grün
circle - 825 320 8 1 0
condition 11
Titel: Antw:Log-Fehlermeldungen $cmd in substitution (s///) etc.
Beitrag von: rudolfkoenig am 04 Dezember 2015, 07:36:41
Wie man ein circle definiert, sollte der Modulautor oder einer der sich mit InfoPanel auskennt beantworten. Ich sehe nur, dass in 55_InfoPanel.pm vor dem Aufruf von AnalyzePerlCommand
              ($id,$x1,$y1,$radius,$filled,$stroked,$link)= split("[ \t]+", $def, 7);
steht, also zusaetzlich zu deinen Parametern noch stroked und link als Parameter moeglich bzw. wenn man keine Warnung sehen will, zwingend sind. Ich gehe von einer Dokumentations- oder Programmierfehler im Modul aus.

Meiner Ansicht nach musst du eine neu Diskussion im passenden Forumsbereich mit richtigen Betreff. erstellen, um die Aufmerksamkeit des Modulautors zu wecken.
Titel: Antw:Log-Fehlermeldungen $cmd in substitution (s///) etc.
Beitrag von: econ_sl83 am 04 Dezember 2015, 22:24:48
Zitat von: rudolfkoenig am 04 Dezember 2015, 07:36:41[...], also zusaetzlich zu deinen Parametern noch stroked und link als Parameter moeglich bzw. wenn man keine Warnung sehen will, zwingend sind. Ich gehe von einer Dokumentations- oder Programmierfehler im Modul aus.[...]

Das wars! Herzlichen Dank!
Ich habe überall Links eingefügt und die Fehlermeldung ist verschwunden.
Ein neuer Thread ist eröffnet. Mal sehen, ob ich ihn richtig platziert habe und es jemanden interessiert.
http://forum.fhem.de/index.php?topic=45160.msg369590#msg369590 (http://forum.fhem.de/index.php?topic=45160.msg369590#msg369590)