Hallo zusammen!
Ich habe ein kleines Problem und komme da nicht weiter. Vielleicht kann mir hier jemand helfen.
Im Logfile bekomme ich ständig folgenden Fehler:
Zitat2014.10.09 09:04:26 1: PERL WARNING: Use of uninitialized value $found[0] in string eq at fhem.pl line 3092.
2014.10.09 09:04:26 3: stacktrace:
2014.10.09 09:04:26 3: main::__ANON__ called by fhem.pl (3092)
2014.10.09 09:04:26 3: main::Dispatch called by ./FHEM/93_FHEM2FHEM.pm (170)
2014.10.09 09:04:26 3: main::FHEM2FHEM_Read called by fhem.pl (2902)
2014.10.09 09:04:26 3: main::CallFn called by fhem.pl (594)
die FHEM2FHEM Konfiguration sieht bei mir folgendermaßen aus:
define CUL0 CUL none 0000
attr CUL0 dummy 1
define CUL1 CUL none 0000
attr CUL1 dummy 1
define CUL_0 FHEM2FHEM 192.168.2.104:7072 RAW:CUL0
define CUL_1 FHEM2FHEM 192.168.2.1:7072 RAW:CUL1
define Fritzbox FHEM2FHEM 192.168.2.1:7072 LOG:presence.*|callm.*|myTM.*
define Raspi2 FHEM2FHEM 192.168.2.20:7072 LOG:.*
define JeeLink JeeLink /tmp/jdummy@directio
define myJeeLink FHEM2FHEM 192.168.2.104:7072 RAW:JeeLink
Hat hier evtl jemand eine Idee? Der Fehler kommt momentan ca 2 Mal pro Minute.
Grüße,
Thorsten
Hallo,
2 Beiträge unter deinem:
http://forum.fhem.de/index.php/topic,27662.0.html (http://forum.fhem.de/index.php/topic,27662.0.html)
Bitte durchlesen - Rudi erklärt warum und wieso und was zu tun ist.
Warum werden eigentlich keine Beiträge mehr gelesen sondern einfach drauf los gepostet?
Grüße
Es geht mir hier weniger darum, dass da seit neuestem ein stacktrace mit drin ist, als eher um die Fehlermeldung selber.
Ich komme nicht dahinter wodurch diese ausgelöst wird.
Laut Meldung hat das wohl irgendwas mit FHEM2FHEM zu tun.
Grüße, Thorsten
Hallo,
dann solltest du den vorhandenen Beitrag lesen und Rudis vorgeschlagenes Vorgehen beherzigen.
Weder eine Meldung zu fhem.pl noch zu fhem2fhem wird hier behoben werden.
Rudi liest hier sehr selten mit ;)
Grüße
Könnte man den Beitrag dann in das richtige Unterforum verschieben?
Könnt Ihr beide mal bitte beim Thema bleiben und mit dem Kindergarten aufhören? Danke.
PERL WARNING: Use of uninitialized value $found[0] in string eq at fhem.pl line 3092.
In der aktuellen Version der fhem.pl müsste die Meldung aus Zeile 3096 kommen.
Dann kannst Du in der Datei testweise die Zeile 3029 ändern in
my @found = "";
und schauen, ob die Meldung noch auftritt.
Danke.
Ich habe das geändert. Leider tritt der Fehler immernoch auf.
Zitat2014.10.09 10:31:41 1: PERL WARNING: Use of uninitialized value $found[0] in string eq at fhem.pl line 3096.
2014.10.09 10:31:41 3: stacktrace:
2014.10.09 10:31:41 3: main::__ANON__ called by fhem.pl (3096)
2014.10.09 10:31:41 3: main::Dispatch called by ./FHEM/93_FHEM2FHEM.pm (170)
2014.10.09 10:31:41 3: main::FHEM2FHEM_Read called by fhem.pl (2906)
2014.10.09 10:31:41 3: main::CallFn called by fhem.pl (595)
Natürlich hab ich auch einen shutdown restart gemacht. :)
Ok, dann nimm die Änderung mal zurück und ändere stattdessen die Zeile 3096 in
return undef if(defined($found[0]) && $found[0] eq ""); # Special return: Do not notify
und teste nochmal.
Also dieser Fehler ist weg, dafür kommt jetzt folgendes :o :
Zitat2014.10.09 10:47:41 1: PERL WARNING: Use of uninitialized value $found in pattern match (m//) at fhem.pl line 3100.
2014.10.09 10:47:41 3: stacktrace:
2014.10.09 10:47:41 3: main::__ANON__ called by fhem.pl (3100)
2014.10.09 10:47:41 3: main::Dispatch called by ./FHEM/93_FHEM2FHEM.pm (170)
2014.10.09 10:47:41 3: main::FHEM2FHEM_Read called by fhem.pl (2906)
2014.10.09 10:47:41 3: main::CallFn called by fhem.pl (595)
2014.10.09 10:47:41 1: PERL WARNING: Use of uninitialized value $found in hash element at fhem.pl line 3105.
2014.10.09 10:47:41 3: stacktrace:
2014.10.09 10:47:41 3: main::__ANON__ called by fhem.pl (3105)
2014.10.09 10:47:41 3: main::Dispatch called by ./FHEM/93_FHEM2FHEM.pm (170)
2014.10.09 10:47:41 3: main::FHEM2FHEM_Read called by fhem.pl (2906)
2014.10.09 10:47:41 3: main::CallFn called by fhem.pl (595)
2014.10.09 10:47:41 1: PERL WARNING: Use of uninitialized value $dev in hash element at fhem.pl line 2789.
2014.10.09 10:47:41 3: stacktrace:
2014.10.09 10:47:41 3: main::__ANON__ called by fhem.pl (2789)
2014.10.09 10:47:41 3: main::DoTrigger called by fhem.pl (3123)
2014.10.09 10:47:41 3: main::Dispatch called by ./FHEM/93_FHEM2FHEM.pm (170)
2014.10.09 10:47:41 3: main::FHEM2FHEM_Read called by fhem.pl (2906)
2014.10.09 10:47:41 3: main::CallFn called by fhem.pl (595)
Tja, das kommt daher, dass Rudi nicht konsequent prüft, ob in @found überhaupt sinnvolle Werte stehen. Es macht jetzt aber keinen Sinn, wenn ich Dir jetzt für jede "Problemzeile" eine Lösung poste, das muss sich Rudi einfach nochmal genau anschauen.
Der Thread gehört jetzt definitiv nach "Sonstiges", damit Rudi ihn auch findet.
ok verständlich.
kann ich den Thread verschieben?
nein kannst Du nicht. Ich hab schon um Verschiebung des Threads gebeten. (Du hättest das auch über den Link "Moderator informieren" tun können).
ah, ok. Danke
Hallo,
12 Beiträge später und dennoch verschoben ::)
Grüße
Zitat von: Puschel74 am 09 Oktober 2014, 11:19:05
12 Beiträge später und dennoch verschoben
Darum gehts doch gar nicht. Du hättest den Beitrag einfach schon vor 12 Beiträgen verschieben können, ohne dazu im Vorfeld den Schulmeister rauszuhängen.
Ausserdem war schon Deine erste Antwort (Verweis auf einen anderen Thread) völlig themenfern und hatte nichts mit dem eigentlichen Problem zu tun. Manchmal wäre es sinnvoll, wenn Du erstmal versuchen würdest zu verstehen, was ein Fragesteller eigentlich beschreibt und nicht wie der pawlowsche Hund reagierst.
Ist gut, ich weiß mittlerweile wann ich deine Meldungen getrost ignorieren kann :P
Ich habe fhem.pl modifiziert, und ich hoffe das Problem damit zu fixen. Wenn es nicht gefixed wird, dann bitte "global verbose" auf 5 zu setzen, und ca 30 Zeilen vor der Warnung hier anhaengen. Eigentlich ist die Meldung so merkwuerdig, dass ich diese 30 Zeilen auch vor dem Patch gerne sehen wuerde, damit die eigentliche Ursache auch behoben wird.
Das kommt bei verbose 5. Ich habe noch kein update gemacht.
Vor diesem Logeintrag sind 5 Sekunden Ruhe.
Zitat
2014.10.09 14:50:25 4: CUL_1: CUL CUL1 810c04xx0909a001252000002200
2014.10.09 14:50:25 5: CUL1 dispatch 810c04xx0909a001252000002200
2014.10.09 14:50:25 4: FHT sz.Heizung actuator: 0%
2014.10.09 14:50:25 5: Triggering sz.Heizung (1 changes)
2014.10.09 14:50:25 5: Notify loop for sz.Heizung actuator: 0%
2014.10.09 14:50:25 5: Fenster: not on any display, ignoring notify
2014.10.09 14:50:25 5: batteries: not on any display, ignoring notify
2014.10.09 14:50:25 4: eventTypes: FHT sz.Heizung actuator: 0% -> actuator: .*%
2014.10.09 14:50:25 5: DbLog: logging of Device: sz.Heizung , Type: FHT , Event: actuator: 0% , Reading: actuator , Value: 0 , Unit: %
2014.10.09 14:50:26 4: myJeeLink: JeeLink JeeLink OK EMT7110 84 171 0 0 0 0 0 0 0 0 2
2014.10.09 14:50:26 5: JeeLink dispatch OK EMT7110 84 171 0 0 0 0 0 0 0 0 2
2014.10.09 14:50:26 1: PERL WARNING: Use of uninitialized value $found in pattern match (m//) at fhem.pl line 3100.
2014.10.09 14:50:26 3: stacktrace:
2014.10.09 14:50:26 3: main::__ANON__ called by fhem.pl (3100)
2014.10.09 14:50:26 3: main::Dispatch called by ./FHEM/93_FHEM2FHEM.pm (170)
2014.10.09 14:50:26 3: main::FHEM2FHEM_Read called by fhem.pl (2906)
2014.10.09 14:50:26 3: main::CallFn called by fhem.pl (595)
2014.10.09 14:50:26 1: PERL WARNING: Use of uninitialized value $found in hash element at fhem.pl line 3105.
2014.10.09 14:50:26 3: stacktrace:
2014.10.09 14:50:26 3: main::__ANON__ called by fhem.pl (3105)
2014.10.09 14:50:26 3: main::Dispatch called by ./FHEM/93_FHEM2FHEM.pm (170)
2014.10.09 14:50:26 3: main::FHEM2FHEM_Read called by fhem.pl (2906)
2014.10.09 14:50:26 3: main::CallFn called by fhem.pl (595)
2014.10.09 14:50:26 1: PERL WARNING: Use of uninitialized value $dev in hash element at fhem.pl line 2789.
2014.10.09 14:50:26 3: stacktrace:
2014.10.09 14:50:26 3: main::__ANON__ called by fhem.pl (2789)
2014.10.09 14:50:26 3: main::DoTrigger called by fhem.pl (3123)
2014.10.09 14:50:26 3: main::Dispatch called by ./FHEM/93_FHEM2FHEM.pm (170)
2014.10.09 14:50:26 3: main::FHEM2FHEM_Read called by fhem.pl (2906)
2014.10.09 14:50:26 3: main::CallFn called by fhem.pl (595)
Ich probiere jetzt das ganze mit update aus
per update bekomme ich leider keine neue fhem.pl.
Per update bekommst Du die neue Version erst morgen früh. Du kannst sie allerdings jetzt schon aus SVN beziehen.
Mit der svn Version sind die Fehler wieder weg, vielen Dank fuer den schnellen Fix :)
Das kann ich leider nicht bestätigen. Sorry hat hier etwas gedauert, weil ich erstmal heimfahren wollte :)
Hier wie gefordert der Logeintrag mit verbose 5
Zitat2014.10.09 19:54:22 5: Cmd: >setReading Temperaturen USensor.West 18.12<
2014.10.09 19:54:22 5: Triggering Temperaturen (1 changes)
2014.10.09 19:54:22 5: Notify loop for Temperaturen USensor.West: 18.12
2014.10.09 19:54:22 5: Fenster: not on any display, ignoring notify
2014.10.09 19:54:22 5: batteries: not on any display, ignoring notify
2014.10.09 19:54:22 4: eventTypes: dummy Temperaturen USensor.West: 18.12 -> USensor.West: .*
2014.10.09 19:54:22 5: DbLog: logging of Device: Temperaturen , Type: DUMMY , Event: USensor.West: 18.12 , Reading: USensor.West , Value: 18.12 , Unit:
2014.10.09 19:54:22 4: Heizung.Temp.Fussb.xRueck: GPIO4 Heizung.Temp.Fussb.xRueck T: 41.25
2014.10.09 19:54:22 5: Triggering Heizung.Temp.Fussb.xRueck (1 changes)
2014.10.09 19:54:22 5: Notify loop for Heizung.Temp.Fussb.xRueck T: 41.25
2014.10.09 19:54:22 4: eventTypes: GPIO4 Heizung.Temp.Fussb.xRueck T: 41.25 -> T: .*
2014.10.09 19:54:22 5: DbLog: logging of Device: Heizung.Temp.Fussb.xRueck , Type: GPIO4 , Event: T: 41.25 , Reading: T , Value: 41.25 , Unit:
2014.10.09 19:54:22 4: Heizung.Temp.Fussb.xRueck: GPIO4 Heizung.Temp.Fussb.xRueck temperature: 41.25
2014.10.09 19:54:22 5: Triggering Heizung.Temp.Fussb.xRueck (1 changes)
2014.10.09 19:54:22 5: Notify loop for Heizung.Temp.Fussb.xRueck temperature: 41.25
2014.10.09 19:54:22 4: eventTypes: GPIO4 Heizung.Temp.Fussb.xRueck temperature: 41.25 -> temperature: .*
2014.10.09 19:54:22 5: DbLog: logging of Device: Heizung.Temp.Fussb.xRueck , Type: GPIO4 , Event: temperature: 41.25 , Reading: temperature , Value: 41.25 , Unit: °C
2014.10.09 19:54:22 5: Triggering not.Temps
2014.10.09 19:54:22 4: not.Temps exec {
fhem("setReading Temperaturen $NAME $EVTPART1");;
}
2014.10.09 19:54:22 5: Cmd: >{
fhem("setReading Temperaturen $NAME $EVTPART1");
}<
2014.10.09 19:54:22 5: Cmd: >setReading Temperaturen Heizung.Temp.Fussb.xRueck 41.25<
2014.10.09 19:54:22 5: Triggering Temperaturen (1 changes)
2014.10.09 19:54:22 5: Notify loop for Temperaturen Heizung.Temp.Fussb.xRueck: 41.25
2014.10.09 19:54:22 5: Fenster: not on any display, ignoring notify
2014.10.09 19:54:22 5: batteries: not on any display, ignoring notify
2014.10.09 19:54:22 4: eventTypes: dummy Temperaturen Heizung.Temp.Fussb.xRueck: 41.25 -> Heizung.Temp.Fussb.xRueck: .*
2014.10.09 19:54:22 5: DbLog: logging of Device: Temperaturen , Type: DUMMY , Event: Heizung.Temp.Fussb.xRueck: 41.25 , Reading: Heizung.Temp.Fussb.xRueck , Value: 41.25 , Unit:
2014.10.09 19:54:26 4: myJeeLink: JeeLink JeeLink OK EMT7110 84 171 0 0 0 0 0 0 0 0 2
2014.10.09 19:54:26 5: JeeLink dispatch OK EMT7110 84 171 0 0 0 0 0 0 0 0 2
2014.10.09 19:54:26 1: PERL WARNING: Use of uninitialized value $found[0] in string eq at fhem.pl line 3098.
Allerdings auch kein stacktrace mehr. Oder hab ich da jetzt ne falsche Datei erwischt?
Hier hab ich sie her: https://fhem.svn.sourceforge.net/svnroot/fhem/trunk/fhem/fhem.pl
Der stacktrace wurde auf Wunsch von Boris per default ausgeschaltet.
Ich habe jetzt solange mit
fhem> {Dispatch($defs{j}, "OK EMT7110 84 171 0 0 0 0 0 0 0 0 2", undef)}
experimentiert, bis ich fhem.pl gefixed habe.
Die eigentliche Ursache ist das EMT7110 Modul, das (wenn ich es richtig sehe) mit dem 2 hinten (pairing-Flag) nichts anfangen will.
Das hat aber fhem.pl/Dispatch verwirrt. Korrekterweise wird jetzt:
Zitat2014.10.09 21:19:16.972 3: j: Unknown code OK EMT7110 84 171 0 0 0 0 0 0 0 0 2, help me!
gemeldet.
In diesem Zusammenhang:
@justme1968: ich vermute, dass der EMT Eintrag in %matchListPCA301 falsch ist.
btw:
2014.10.09 21:59:37 1: PERL WARNING: Subroutine new redefined at ./FHEM/57_Calendar.pm line 57.
2014.10.09 21:59:37 1: PERL WARNING: Subroutine addproperty redefined at ./FHEM/57_Calendar.pm line 68.
2014.10.09 21:59:37 1: PERL WARNING: Subroutine value redefined at ./FHEM/57_Calendar.pm line 97.
2014.10.09 21:59:37 1: PERL WARNING: Subroutine parts redefined at ./FHEM/57_Calendar.pm line 102.
2014.10.09 21:59:37 1: PERL WARNING: Subroutine parse redefined at ./FHEM/57_Calendar.pm line 107.
2014.10.09 21:59:37 1: PERL WARNING: Subroutine parseSub redefined at ./FHEM/57_Calendar.pm line 112.
2014.10.09 21:59:37 1: PERL WARNING: Subroutine asString redefined at ./FHEM/57_Calendar.pm line 144.
2014.10.09 21:59:37 1: PERL WARNING: Subroutine new redefined at ./FHEM/57_Calendar.pm line 167.
Solche Warnungen beim reload eines fhem-Moduls (im Beispiel bei einem "reload 57_Calendar") machen m.E. wenig Sinn.
Genau diese Meldung kommt hier jetzt:
Zitat
2014.10.10 00:01:27 3: JeeLink: Unknown code OK EMT7110 84 171 0 0 0 0 0 0 0 0 2, help me!
2014.10.10 00:01:42 3: JeeLink: Unknown code OK EMT7110 84 171 0 0 0 0 0 0 0 0 2, help me!
2014.10.10 00:02:42 3: JeeLink: Unknown code OK EMT7110 84 171 0 0 0 0 0 0 0 0 2, help me!
2014.10.10 00:03:42 3: JeeLink: Unknown code OK EMT7110 84 171 0 0 0 0 0 0 0 0 2, help me!
2014.10.10 00:04:21 3: JeeLink: Unknown code OK EMT7110 84 151 0 0 0 0 0 0 0 0 2, help me!
2014.10.10 00:04:27 3: JeeLink: Unknown code OK EMT7110 84 171 0 0 0 0 0 0 0 0 2, help me!
Allerdings kommen die Events korrekt an.
Sooo, Fehler scheint behoben zu sein.
Meine Fhelermeldungen sind alle weg.
Vielen Dank an alle Beteiligten! :D