Mehrere Perl Warnungen, warum..?

Begonnen von moonsorrox, 19 Dezember 2014, 02:16:38

Vorheriges Thema - Nächstes Thema

moonsorrox

wo kommen die ganzen Perl Warnungen aufeinmal her..?

diese betreffen mehrere Module, hier mal ein paar Beispiele:

2014.12.19 02:07:02 1: PERL WARNING: Use of uninitialized value $setList in concatenation (.) or string at ./FHEM/98_HTTPMOD.pm line 318.
2014.12.19 00:15:00 1: PERL WARNING: Use of uninitialized value $stat in string eq at ./FHEM/99_myUtilsTelefon.pm line 220.
2014.12.19 00:15:00 1: PERL WARNING: Use of uninitialized value $stat in string eq at ./FHEM/99_myUtilsTelefon.pm line 191.
2014.12.19 00:15:00 1: PERL WARNING: Use of uninitialized value $stat in string eq at ./FHEM/99_myUtilsTelefon.pm line 174.
2014.12.19 00:15:00 1: PERL WARNING: Use of uninitialized value $stat in string eq at ./FHEM/99_myUtilsTelefon.pm line 133.
2014.12.19 00:15:00 1: PERL WARNING: Use of uninitialized value $string in substitution (s///) at ./FHEM/99_Utils.pm line 144.
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Dietmar63

#1
diese Variable ist nicht gefüllt:
$stat

Dafür sorgen, dass sie etwas enthält.

2014.12.19 02:07:02 1: PERL WARNING: Use of uninitialized value $setList in concatenation (.) or string at ./FHEM/98_HTTPMOD.pm line 318.
den Autor des Moduls informieren.

Die Warnungen hast du schon immer bekommen. Fhem hat sie dir aber immer verschwiegen.
Die Warnungen können der Grund für einen Fehler sein.

In diesem Beitrag und vielen anderen ist beschrieben warum diese Meldungen nun ins log geschrieben werden.
http://forum.fhem.de/index.php/topic,27662.msg205873.html#msg205873
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

moonsorrox

Zitat von: Dietmar63 am 19 Dezember 2014, 03:02:39
diese Variable ist nicht gefüllt:
$stat

Dafür sorgen, dass sie etwas enthält.

2014.12.19 00:15:00 1: PERL WARNING: Use of uninitialized value $stat in string eq at ./FHEM/99_myUtilsTelefon.pm line 220.
2014.12.19 00:15:00 1: PERL WARNING: Use of uninitialized value $stat in string eq at ./FHEM/99_myUtilsTelefon.pm line 191.
2014.12.19 00:15:00 1: PERL WARNING: Use of uninitialized value $stat in string eq at ./FHEM/99_myUtilsTelefon.pm line 174.
2014.12.19 00:15:00 1: PERL WARNING: Use of uninitialized value $stat in string eq at ./FHEM/99_myUtilsTelefon.pm line 133.
2014.12.19 00:15:00 1: PERL WARNING: Use of uninitialized value $string in substitution (s///) at ./FHEM/99_Utils.pm line 144.



wenn ich jetzt alles richtig verstanden habe bedeutet es das ich mich um diese selbst kümmern muss..?
Dabei sollte ich mal in meine beiden Module schauen was dort abgefragt wird in den jeweiligen Zeilen, hoffe ich finde dann den Fehler

Zitat von: Dietmar63 am 19 Dezember 2014, 03:02:39
2014.12.19 02:07:02 1: PERL WARNING: Use of uninitialized value $setList in concatenation (.) or string at ./FHEM/98_HTTPMOD.pm line 318.
den Autor des Moduls informieren.
sicher bin ich nicht der einzige der dann diesen Fehler hat und der Modulautor weiß es sicher schon
Sonst bekommt er womöglich haufenweise Informationen  ;)
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Tommy82

Also ich habe seit heute (update) den gleichen Fehler:
2014.12.21 19:41:57.438 1: PERL WARNING: Use of uninitialized value $setList in concatenation (.) or string at ./FHEM/98_HTTPMOD.pm line 318
In 318 steht
Zitatreturn "Unknown argument $setName, choose one of $setList";
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Dietmar63

dann ist in $setList nichts drin!
Wendet  euch an den Autor.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Tommy82

Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

krikan


Tommy82

Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

StefanStrobel

Hallo,

Ich habe gerade eine neue Version von HTTPMOD eingecheckt. Die Warnung sollte bei HTTPMOD damit weg sein, sobald die neue Version per update verteilt wurde.

Gruss
   Stefan

IPPhoner2b

Hallo, wollte jetzt nicht extra einen neuen Thread aufmachen, aber bei mir sind es 2 andere Module die Probleme machen, ich weiß nur nicht, ob ich jetzt rudolfkoenig oder justme1968 anschreiben soll.

Das ist die Fehlermeldung, sobald FHEM neugestartet wird:
2014.12.27 20:46:27 1: Including ./log/fhem.save
2014.12.27 20:46:28 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3375.
2014.12.27 20:46:28 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 295) line 1.
2014.12.27 20:46:28 1: PERL WARNING: Use of uninitialized value in string ne at ./FHEM/33_readingsProxy.pm line 169.
2014.12.27 20:46:28 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 296) line 1.
2014.12.27 20:46:28 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 297) line 1.
2014.12.27 20:46:28 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 298) line 1.
2014.12.27 20:46:28 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 307) line 1.
2014.12.27 20:46:28 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 308) line 1.
2014.12.27 20:46:28 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 309) line 1.
2014.12.27 20:46:28 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 310) line 1.


Und so sieht es dann aus, sobald ein Notify ausgelöst wird: (stark gekürzte Version)
2014.12.28 06:45:34 1: PERL WARNING: Use of uninitialized value in string ne at ./FHEM/33_readingsProxy.pm line 169, <GEN4> line 32.
2014.12.28 06:45:34 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3375, <GEN4> line 32.
2014.12.28 06:45:34 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 895) line 1, <GEN4> line 32.
2014.12.28 06:45:34 3: eval: my $EVTPART0='geöffnet';my $TYPE='dummy';my $EVENT='geöffnet';my $NAME='Rollokre';{
   
fhem "define kre_oben at +00:00:16 setreading Rollokre state geöffnet";
 
2014.12.28 06:45:34 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 896) line 1, <GEN4> line 32.
2014.12.28 06:45:34 3: eval: my $EVTPART0='geöffnet';my $TYPE='dummy';my $EVENT='geöffnet';my $NAME='Rollokre';{
   
fhem "define kre_oben at +00:00:16 setreading Rollokre state geöffnet";

2014.12.28 06:45:34 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 897) line 1, <GEN4> line 32.
2014.12.28 06:45:34 3: eval: my $EVTPART0='geöffnet';my $TYPE='dummy';my $EVENT='geöffnet';my $NAME='Rollokre';{
   
fhem "define kre_oben at +00:00:16 setreading Rollokre state geöffnet";

2014.12.28 06:45:34 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 898) line 1, <GEN4> line 32.
2014.12.28 06:45:34 3: eval: my $EVTPART0='geöffnet';my $TYPE='dummy';my $EVENT='geöffnet';my $NAME='Rollokre';{
   
fhem "define kre_oben at +00:00:16 setreading Rollokre state geöffnet";

2014.12.28 06:45:34 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 907) line 1, <GEN4> line 32.
2014.12.28 06:45:34 3: eval: my $EVTPART0='geöffnet';my $TYPE='dummy';my $EVENT='geöffnet';my $NAME='Rollokre';{
 
fhem "define kre_oben at +00:00:16 setreading Rollokre state geöffnet";
   
2014.12.28 06:45:34 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 908) line 1, <GEN4> line 32.
2014.12.28 06:45:34 3: eval: my $EVTPART0='geöffnet';my $TYPE='dummy';my $EVENT='geöffnet';my $NAME='Rollokre';{
 
fhem "define kre_oben at +00:00:16 setreading Rollokre state geöffnet";
 
2014.12.28 06:45:34 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 909) line 1, <GEN4> line 32.
2014.12.28 06:45:34 3: eval: my $EVTPART0='geöffnet';my $TYPE='dummy';my $EVENT='geöffnet';my $NAME='Rollokre';{
 
fhem "define kre_oben at +00:00:16 setreading Rollokre state geöffnet";

2014.12.28 06:45:34 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 910) line 1, <GEN4> line 32.
2014.12.28 06:45:34 3: eval: my $EVTPART0='geöffnet';my $TYPE='dummy';my $EVENT='geöffnet';my $NAME='Rollokre';{
   
fhem "define kre_oben at +00:00:16 setreading Rollokre state geöffnet";
 
2014.12.28 06:45:36 1: PERL WARNING: Use of uninitialized value in string ne at ./FHEM/33_readingsProxy.pm line 169, <GEN4> line 33.
2014.12.28 06:45:36 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3375, <GEN4> line 33.
2014.12.28 06:45:36 1: PERL WARNING: Use of uninitialized value $VALUE in string eq at (eval 916) line 1, <GEN4> line 33.

Dietmar63

Dann veröffentliche mal den Code des notify. Die FMs deuten darauf hin, dass sie noch den einen oder anderen Fehler enthalten. Anhand der FMs kann dir niemand helfen.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

IPPhoner2b

#11
Aber gerne doch:

Komischerweise hat es bis letzte Woche ohne diese Fehlermeldungen funktioniert, habe am 23.12 noch ein Update gemacht, und innerhalb von 2 Tagen war die Log Datei auf Sagenhafte 16 MB angewachsen. Und in der Zeit, wo ich die ganzen Tests gemacht habe, waren es nur durchschnittlich 100kb über mehrere Tage hinweg.

Hier der Code
define Rollokre dummy
attr Rollokre alias Rollo Küche rechts
attr Rollokre fp_erdgeschoss 730,889,5,Küche Rechts
attr Rollokre room Rolladen
attr Rollokre setList hoch:noArg runter:noArg stop:noArg 30:noArg 50:noArg
attr Rollokre webCmd stop:hoch:runter:30:50
define act_on_Rollokre notify Rollokre {\
    fhem ("delete kre_down") if (Value("kre_down") ne "");;\
    fhem ("delete kre_clos") if (Value("kre_clos") ne "");;\
    fhem ("delete kre_hoch") if (Value("kre_hoch") ne "");;\
    fhem ("delete kre_oben") if (Value("kre_oben") ne "");;\
fhem "set akref off";;\
if ("$EVENT" eq "runter") {\
my $svar = ReadingsVal("skreh","state","off");;\
    if ($svar eq "off") {\
fhem "set akrew on-for-timer 30";;\
    fhem "define kre_down at +00:00:01 set akref on-for-timer 20";;\
    fhem "setreading Rollokre state runterfahren";;\
    fhem "define kre_clos at +00:00:20 setreading Rollokre state geschlossen";;\
    }\
    else {\
    fhem "setreading Rollokre state Schalter betätigt";;\
}\
} elsif ("$EVENT" eq "hoch") {\
my $svar = ReadingsVal("skrer","state","off");;\
    if ($svar eq "off") {\
    fhem "set akref,akrew off";;\
fhem "define kre_hoch at +00:00:01 set akref on-for-timer 20";;\
fhem "setreading Rollokre state hochfahren";;\
fhem "define kre_oben at +00:00:16 setreading Rollokre state geöffnet";;\
    }\
    else {\
    fhem "setreading Rollokre state Schalter betätigt";;\
}\
} elsif ("$EVENT" eq "30") {\
my $svar = ReadingsVal("skreh","state","off");;\
    if ($svar eq "off") {\
fhem "set akrew on-for-timer 22";;\
fhem "define kre_down at +00:00:01 set akref on-for-timer 12";;\
fhem "setreading Rollokre state auf 50% fahren";;\
fhem "define kre_clos at +00:00:13 setreading Rollokre state 50%";;\
    }\
    else {\
    fhem "setreading Rollokre state Schalter betätigt";;\
}\
} elsif ("$EVENT" eq "50") {\
my $svar = ReadingsVal("skreh","state","off");;\
    if ($svar eq "off") {\
fhem "set akrew on-for-timer 22";;\
fhem "define kre_down at +00:00:01 set akref on-for-timer 12";;\
fhem "setreading Rollokre state auf 50% fahren";;\
fhem "define kre_clos at +00:00:13 setreading Rollokre state 50%";;\
    }\
    else {\
    fhem "setreading Rollokre state Schalter betätigt";;\
}\
} elsif ("$EVENT" eq "stop") {\
    fhem "set akref off";;\
fhem "define kre_down at +00:00:01 set akrew off";;\
    fhem "setreading Rollokre state gestoppt";;\
} \
}


:EDIT
Habe grade erstmal alle Einträge bzgl der Logdatei deaktiviert, nach ein paar schaltvorgängen ist die log Datei auf schöne 26MB angewachsen, und fhem hat schon fast die Befehle nicht mehr richtig verarbeiten können, also egal was da passiert ist, das war definitiv vorher nicht so, und es wurde durch welches Modulupdate auch immer verursacht.

Ich meine, bis ich eine TEXT Datei auf 26mb bringe, da gehört schon einiges zu, und dass dann auch noch innerhalb von 12 Stunden, wo nur in einem Zeitraum von 2 Minuten Befehle ausgeführt werden.....

Auch wenn ich es sehr interessant finde, dass scheinbar keiner die Probleme hat, bzw zum Glück das Update vor Weihnachten nicht durchgeführt hat. Habe heute Mittag noch ein "Update Force" gemacht, aber auch das hatte keine Verbesserung gebracht.

Dietmar63

#12
http://forum.fhem.de/index.php/topic,27662.msg205873.html#msg205873
Die Fehler hast du schon lange - aber nur noch nicht gesehen.

Bist du sicher, dass dies das richtige notify ist?
Schalte mal die verdächtigen notiy ab und dann nacheinander an, bis du den richtigen gefunden hast.

Hier steckt meiner Meinung nach der Fehler. Der Rest sind Folgefehler:
./FHEM/33_readingsProxy.pm line 169
Wende dich an den Modulautor.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

justme1968

du hast entweder ein readingsProxy ohne originaldevice definiert oder ein device ohne namen.

was gibt

{ Dumper grep { !defined($defs{$_}{NAME}) } keys %defs }

wenn du es per telnet oder command box eingibst?

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

IPPhoner2b

Hallo, habe deinen Code grade auf der Konsole eingegeben, da kommt als Antwort aber nur eine Fehlermeldung.
-bash: !defined: event Not found.

Muss ich das an einer bestimmten Stelle eingeben? Habe mich nur auf der Konsole angemeldet und eingegeben.