Hallo!
Habe seit dem Update diese Fehlermeldung im Log:
2014.10.06 17:39:14 1: PERL WARNING: Found = in conditional, should be == at (eval 362) line 3.
2014.10.06 17:39:14 3: stacktrace:
2014.10.06 17:39:14 3: main::__ANON__ called by (eval 362) (3)
2014.10.06 17:39:14 3: (eval) called by fhem.pl (894)
2014.10.06 17:39:14 3: main::AnalyzePerlCommand called by fhem.pl (912)
2014.10.06 17:39:14 3: main::AnalyzeCommand called by fhem.pl (847)
2014.10.06 17:39:14 3: main::AnalyzeCommandChain called by /opt/fhem/FHEM/91_notify.pm (87)
2014.10.06 17:39:14 3: main::notify_Exec called by fhem.pl (2902)
2014.10.06 17:39:14 3: main::CallFn called by fhem.pl (2825)
2014.10.06 17:39:14 3: main::DoTrigger called by fhem.pl (3119)
2014.10.06 17:39:14 3: main::Dispatch called by /opt/fhem/FHEM/00_HMLAN.pm (707)
2014.10.06 17:39:14 3: main::HMLAN_Parse called by /opt/fhem/FHEM/00_HMLAN.pm (522)
2014.10.06 17:39:14 3: main::HMLAN_Read called by fhem.pl (2902)
2014.10.06 17:39:14 3: main::CallFn called by fhem.pl (594)
2014.10.06 17:39:23 1: PERL WARNING: Found = in conditional, should be == at (eval 364) line 2.
2014.10.06 17:39:23 3: stacktrace:
2014.10.06 17:39:23 3: main::__ANON__ called by (eval 364) (2)
2014.10.06 17:39:23 3: (eval) called by fhem.pl (894)
2014.10.06 17:39:23 3: main::AnalyzePerlCommand called by fhem.pl (912)
2014.10.06 17:39:23 3: main::AnalyzeCommand called by fhem.pl (847)
2014.10.06 17:39:23 3: main::AnalyzeCommandChain called by /opt/fhem/FHEM/91_notify.pm (87)
2014.10.06 17:39:23 3: main::notify_Exec called by fhem.pl (2902)
2014.10.06 17:39:23 3: main::CallFn called by fhem.pl (2825)
2014.10.06 17:39:23 3: main::DoTrigger called by fhem.pl (3119)
2014.10.06 17:39:23 3: main::Dispatch called by /opt/fhem/FHEM/00_HMLAN.pm (707)
2014.10.06 17:39:23 3: main::HMLAN_Parse called by /opt/fhem/FHEM/00_HMLAN.pm (522)
2014.10.06 17:39:23 3: main::HMLAN_Read called by fhem.pl (2902)
2014.10.06 17:39:23 3: main::CallFn called by fhem.pl (594)
2014.10.06 17:39:23 1: PERL WARNING: Found = in conditional, should be == at (eval 365) line 2.
2014.10.06 17:39:23 3: stacktrace:
2014.10.06 17:39:23 3: main::__ANON__ called by (eval 365) (2)
2014.10.06 17:39:23 3: (eval) called by fhem.pl (894)
2014.10.06 17:39:23 3: main::AnalyzePerlCommand called by fhem.pl (912)
2014.10.06 17:39:23 3: main::AnalyzeCommand called by fhem.pl (847)
2014.10.06 17:39:23 3: main::AnalyzeCommandChain called by /opt/fhem/FHEM/91_notify.pm (87)
2014.10.06 17:39:23 3: main::notify_Exec called by fhem.pl (2902)
2014.10.06 17:39:23 3: main::CallFn called by fhem.pl (2825)
2014.10.06 17:39:23 3: main::DoTrigger called by fhem.pl (3119)
2014.10.06 17:39:23 3: main::Dispatch called by /opt/fhem/FHEM/00_HMLAN.pm (707)
2014.10.06 17:39:23 3: main::HMLAN_Parse called by /opt/fhem/FHEM/00_HMLAN.pm (522)
2014.10.06 17:39:23 3: main::HMLAN_Read called by fhem.pl (2902)
2014.10.06 17:39:23 3: main::CallFn called by fhem.pl (594)
2014.10.06 17:39:23 1: PERL WARNING: Found = in conditional, should be == at (eval 366) line 2.
2014.10.06 17:39:23 3: stacktrace:
2014.10.06 17:39:23 3: main::__ANON__ called by (eval 366) (2)
2014.10.06 17:39:23 3: (eval) called by fhem.pl (894)
2014.10.06 17:39:23 3: main::AnalyzePerlCommand called by fhem.pl (912)
2014.10.06 17:39:23 3: main::AnalyzeCommand called by fhem.pl (847)
2014.10.06 17:39:23 3: main::AnalyzeCommandChain called by /opt/fhem/FHEM/91_notify.pm (87)
2014.10.06 17:39:23 3: main::notify_Exec called by fhem.pl (2902)
2014.10.06 17:39:23 3: main::CallFn called by fhem.pl (2825)
2014.10.06 17:39:23 3: main::DoTrigger called by fhem.pl (3119)
2014.10.06 17:39:23 3: main::Dispatch called by /opt/fhem/FHEM/00_HMLAN.pm (707)
2014.10.06 17:39:23 3: main::HMLAN_Parse called by /opt/fhem/FHEM/00_HMLAN.pm (522)
2014.10.06 17:39:23 3: main::HMLAN_Read called by fhem.pl (2902)
2014.10.06 17:39:23 3: main::CallFn called by fhem.pl (594)
2014.10.06 17:39:38 1: PERL WARNING: Found = in conditional, should be == at (eval 367) line 2.
2014.10.06 17:39:38 3: stacktrace:
2014.10.06 17:39:38 3: main::__ANON__ called by (eval 367) (2)
2014.10.06 17:39:38 3: (eval) called by fhem.pl (894)
2014.10.06 17:39:38 3: main::AnalyzePerlCommand called by fhem.pl (912)
2014.10.06 17:39:38 3: main::AnalyzeCommand called by fhem.pl (847)
2014.10.06 17:39:38 3: main::AnalyzeCommandChain called by /opt/fhem/FHEM/91_notify.pm (87)
2014.10.06 17:39:38 3: main::notify_Exec called by fhem.pl (2902)
2014.10.06 17:39:38 3: main::CallFn called by fhem.pl (2825)
2014.10.06 17:39:38 3: main::DoTrigger called by fhem.pl (3119)
2014.10.06 17:39:38 3: main::Dispatch called by /opt/fhem/FHEM/00_HMLAN.pm (707)
2014.10.06 17:39:38 3: main::HMLAN_Parse called by /opt/fhem/FHEM/00_HMLAN.pm (522)
2014.10.06 17:39:38 3: main::HMLAN_Read called by fhem.pl (2902)
2014.10.06 17:39:38 3: main::CallFn called by fhem.pl (594)
2014.10.06 17:39:38 1: PERL WARNING: Found = in conditional, should be == at (eval 368) line 2.
2014.10.06 17:39:38 3: stacktrace:
2014.10.06 17:39:38 3: main::__ANON__ called by (eval 368) (2)
2014.10.06 17:39:38 3: (eval) called by fhem.pl (894)
2014.10.06 17:39:38 3: main::AnalyzePerlCommand called by fhem.pl (912)
2014.10.06 17:39:38 3: main::AnalyzeCommand called by fhem.pl (847)
2014.10.06 17:39:38 3: main::AnalyzeCommandChain called by /opt/fhem/FHEM/91_notify.pm (87)
2014.10.06 17:39:38 3: main::notify_Exec called by fhem.pl (2902)
2014.10.06 17:39:38 3: main::CallFn called by fhem.pl (2825)
2014.10.06 17:39:38 3: main::DoTrigger called by fhem.pl (3119)
2014.10.06 17:39:38 3: main::Dispatch called by /opt/fhem/FHEM/00_HMLAN.pm (707)
2014.10.06 17:39:38 3: main::HMLAN_Parse called by /opt/fhem/FHEM/00_HMLAN.pm (522)
2014.10.06 17:39:38 3: main::HMLAN_Read called by fhem.pl (2902)
2014.10.06 17:39:38 3: main::CallFn called by fhem.pl (594)
2014.10.06 17:39:38 1: PERL WARNING: Found = in conditional, should be == at (eval 369) line 2.
2014.10.06 17:39:38 3: stacktrace:
2014.10.06 17:39:38 3: main::__ANON__ called by (eval 369) (2)
2014.10.06 17:39:38 3: (eval) called by fhem.pl (894)
2014.10.06 17:39:38 3: main::AnalyzePerlCommand called by fhem.pl (912)
2014.10.06 17:39:38 3: main::AnalyzeCommand called by fhem.pl (847)
2014.10.06 17:39:38 3: main::AnalyzeCommandChain called by /opt/fhem/FHEM/91_notify.pm (87)
2014.10.06 17:39:38 3: main::notify_Exec called by fhem.pl (2902)
2014.10.06 17:39:38 3: main::CallFn called by fhem.pl (2825)
2014.10.06 17:39:38 3: main::DoTrigger called by fhem.pl (3119)
2014.10.06 17:39:38 3: main::Dispatch called by /opt/fhem/FHEM/00_HMLAN.pm (707)
2014.10.06 17:39:38 3: main::HMLAN_Parse called by /opt/fhem/FHEM/00_HMLAN.pm (522)
2014.10.06 17:39:38 3: main::HMLAN_Read called by fhem.pl (2902)
2014.10.06 17:39:38 3: main::CallFn called by fhem.pl (594)
2014.10.06 17:40:26 1: PERL WARNING: Found = in conditional, should be == at (eval 370) line 2.
2014.10.06 17:40:26 3: stacktrace:
2014.10.06 17:40:26 3: main::__ANON__ called by (eval 370) (2)
2014.10.06 17:40:26 3: (eval) called by fhem.pl (894)
2014.10.06 17:40:26 3: main::AnalyzePerlCommand called by fhem.pl (912)
2014.10.06 17:40:26 3: main::AnalyzeCommand called by fhem.pl (847)
2014.10.06 17:40:26 3: main::AnalyzeCommandChain called by /opt/fhem/FHEM/91_notify.pm (87)
2014.10.06 17:40:26 3: main::notify_Exec called by fhem.pl (2902)
2014.10.06 17:40:26 3: main::CallFn called by fhem.pl (2825)
2014.10.06 17:40:26 3: main::DoTrigger called by fhem.pl (3119)
2014.10.06 17:40:26 3: main::Dispatch called by /opt/fhem/FHEM/00_HMLAN.pm (707)
2014.10.06 17:40:26 3: main::HMLAN_Parse called by /opt/fhem/FHEM/00_HMLAN.pm (522)
2014.10.06 17:40:26 3: main::HMLAN_Read called by fhem.pl (2902)
2014.10.06 17:40:26 3: main::CallFn called by fhem.pl (594)
2014.10.06 17:40:26 1: PERL WARNING: Found = in conditional, should be == at (eval 371) line 2.
2014.10.06 17:40:26 3: stacktrace:
2014.10.06 17:40:26 3: main::__ANON__ called by (eval 371) (2)
2014.10.06 17:40:26 3: (eval) called by fhem.pl (894)
2014.10.06 17:40:26 3: main::AnalyzePerlCommand called by fhem.pl (912)
2014.10.06 17:40:26 3: main::AnalyzeCommand called by fhem.pl (847)
2014.10.06 17:40:26 3: main::AnalyzeCommandChain called by /opt/fhem/FHEM/91_notify.pm (87)
2014.10.06 17:40:26 3: main::notify_Exec called by fhem.pl (2902)
2014.10.06 17:40:26 3: main::CallFn called by fhem.pl (2825)
2014.10.06 17:40:26 3: main::DoTrigger called by fhem.pl (3119)
2014.10.06 17:40:26 3: main::Dispatch called by /opt/fhem/FHEM/00_HMLAN.pm (707)
2014.10.06 17:40:26 3: main::HMLAN_Parse called by /opt/fhem/FHEM/00_HMLAN.pm (522)
2014.10.06 17:40:26 3: main::HMLAN_Read called by fhem.pl (2902)
2014.10.06 17:40:26 3: main::CallFn called by fhem.pl (594)
2014.10.07 00:13:49 1: PERL WARNING: Use of uninitialized value $termin in string eq at (eval 720) line 3.
2014.10.07 00:13:49 3: stacktrace:
2014.10.07 00:13:49 3: main::__ANON__ called by (eval 720) (3)
2014.10.07 00:13:49 3: (eval) called by fhem.pl (894)
2014.10.07 00:13:49 3: main::AnalyzePerlCommand called by fhem.pl (912)
2014.10.07 00:13:49 3: main::AnalyzeCommand called by fhem.pl (847)
2014.10.07 00:13:49 3: main::AnalyzeCommandChain called by /opt/fhem/FHEM/91_notify.pm (87)
2014.10.07 00:13:49 3: main::notify_Exec called by fhem.pl (2902)
2014.10.07 00:13:49 3: main::CallFn called by fhem.pl (2825)
2014.10.07 00:13:49 3: main::DoTrigger called by fhem.pl (3565)
2014.10.07 00:13:49 3: main::readingsEndUpdate called by /opt/fhem/FHEM/57_Calendar.pm (870)
2014.10.07 00:13:49 3: main::Calendar_CheckTimes called by /opt/fhem/FHEM/57_Calendar.pm (802)
2014.10.07 00:13:49 3: main::Calendar_Wakeup called by fhem.pl (2521)
2014.10.07 00:13:49 3: main::HandleTimeout called by fhem.pl (531)
2014.10.07 00:13:49 1: PERL WARNING: Use of uninitialized value $termin in string eq at (eval 720) line 6.
2014.10.07 00:13:49 3: stacktrace:
2014.10.07 00:13:49 3: main::__ANON__ called by (eval 720) (3)
2014.10.07 00:13:49 3: (eval) called by fhem.pl (894)
2014.10.07 00:13:49 3: main::AnalyzePerlCommand called by fhem.pl (912)
2014.10.07 00:13:49 3: main::AnalyzeCommand called by fhem.pl (847)
2014.10.07 00:13:49 3: main::AnalyzeCommandChain called by /opt/fhem/FHEM/91_notify.pm (87)
2014.10.07 00:13:49 3: main::notify_Exec called by fhem.pl (2902)
2014.10.07 00:13:49 3: main::CallFn called by fhem.pl (2825)
2014.10.07 00:13:49 3: main::DoTrigger called by fhem.pl (3565)
2014.10.07 00:13:49 3: main::readingsEndUpdate called by /opt/fhem/FHEM/57_Calendar.pm (870)
2014.10.07 00:13:49 3: main::Calendar_CheckTimes called by /opt/fhem/FHEM/57_Calendar.pm (802)
2014.10.07 00:13:49 3: main::Calendar_Wakeup called by fhem.pl (2521)
2014.10.07 00:13:49 3: main::HandleTimeout called by fhem.pl (531)
Bin ich da der einzige, so das an meinem System liegt?!
Mfg Steffen
shutdown restart hast aber gemacht nach dem update?
Zitat von: micomat am 07 Oktober 2014, 07:04:53
shutdown restart hast aber gemacht nach dem update?
Ja hatte ich sogar mehrmals, selbst meinen Cubietruck!
Mfg Steffen
Hi,
das kann auch durch eigenen code (notify?) ausgelöst werden.
vg
Jörg
Zitat von: herrmannj am 07 Oktober 2014, 07:44:17
Hi,
das kann auch durch eigenen code (notify?) ausgelöst werden.
vg
Jörg
Ok danke für info, hatte aber vor dem Update keine dieser Fehlermeldungen.
Ist aus diesen Fehlermeldungen vielleicht ersichtlich aus welchen notify oder gibt es eine andere Möglichkeit das raus zu finden?
Mfg Steffen
Moin,
und wieder werden Infos gefiltert.
Schau bei der stacktrace-Meldung ein paar Zeilen vorher - da müsste das auslösende notify stehen.
Wenn nicht stacktrace deaktivieren und gut ist.
Und nochmal - nicht alles was nach einer Meldung aussieht ist eine FEHLERmeldung.
Allerdings wäre ein passender Titel auch nicht verkehrt.
Grüße
Zitat von: Puschel74 am 07 Oktober 2014, 08:26:29
Moin,
und wieder werden Infos gefiltert.
Schau bei der stacktrace-Meldung ein paar Zeilen vorher - da müsste das auslösende notify stehen.
Wenn nicht stacktrace deaktivieren und gut ist.
Und nochmal - nicht alles was nach einer Meldung aussieht ist eine FEHLERmeldung.
Allerdings wäre ein passender Titel auch nicht verkehrt.
Grüße
Könnte es vielleicht damit was zu tun haben:
Zitat
2014.10.07 09:19:02 1: PERL WARNING: Argument "" isn't numeric in numeric eq (==) at /opt/fhem/FHEM/57_CALVIEW.pm line 147.
2014.10.07 09:19:02 3: stacktrace:
2014.10.07 09:19:02 3: main::__ANON__ called by /opt/fhem/FHEM/57_CALVIEW.pm (147)
2014.10.07 09:19:02 3: main::CALVIEW_GetUpdate called by fhem.pl (2521)
2014.10.07 09:19:02 3: main::HandleTimeout called by fhem.pl (531)
Ok, aber dachte eigentlich würde noch mehr betreffen, daher hier die Anfrage und für mich sah das wie ein Fehler aus, sonst wäre ja nichts im Log vor dem Update aufgetaucht!
Mfg Steffen
Guten Morgen,
hab seit gestern ebenfalls fast dieselbe "Meldung":
2014.10.07 08:35:12 1: PERL WARNING: Argument "19.6 C (measured)" isn't numeric in numeric gt (>) at (eval 29317) line 1.
2014.10.07 08:35:12 3: stacktrace:
2014.10.07 08:35:12 3: main::__ANON__ called by (eval 29317) (1)
2014.10.07 08:35:12 3: (eval) called by /opt/fhem/FHEM/33_readingsGroup.pm (286)
2014.10.07 08:35:12 3: main::lookup2 called by /opt/fhem/FHEM/33_readingsGroup.pm (607)
2014.10.07 08:35:12 3: main::readingsGroup_2html called by /opt/fhem/FHEM/33_readingsGroup.pm (736)
2014.10.07 08:35:12 3: main::readingsGroup_detailFn called by /opt/fhem/FHEM/01_FHEMWEB.pm (2344)
2014.10.07 08:35:12 3: main::FW_devState called by /opt/fhem/FHEM/01_FHEMWEB.pm (1323)
2014.10.07 08:35:12 3: main::FW_showRoom called by /opt/fhem/FHEM/01_FHEMWEB.pm (736)
2014.10.07 08:35:12 3: main::FW_answerCall called by /opt/fhem/FHEM/01_FHEMWEB.pm (393)
2014.10.07 08:35:12 3: main::FW_Read called by fhem.pl (2902)
2014.10.07 08:35:12 3: main::CallFn called by fhem.pl (594)
Da ich leider nichts mit "stacktrace deaktivieren" anfangen kann hab ich das Update von gestern rückgängig gemacht und die Meldungen sind wieder weg!
hier ebenfalls Perl Warnings im Log:
2014.10.06 15:44:15 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/71_YAMAHA_AVR.pm line 176.
2014.10.06 15:44:15 3: stacktrace:
2014.10.06 15:44:15 3: main::__ANON__ called by ./FHEM/71_YAMAHA_AVR.pm (176)
2014.10.06 15:44:15 3: main::YAMAHA_AVR_Set called by fhem.pl (2902)
2014.10.06 15:44:15 3: main::CallFn called by fhem.pl (1430)
2014.10.06 15:44:15 3: main::DoSet called by fhem.pl (1464)
2014.10.06 15:44:15 3: main::CommandSet called by fhem.pl (2100)
2014.10.06 15:44:15 3: main::getAllSets called by ./FHEM/01_FHEMWEB.pm (2270)
2014.10.06 15:44:15 3: main::FW_devState called by ./FHEM/01_FHEMWEB.pm (2174)
2014.10.06 15:44:15 3: main::FW_roomStatesForInform called by ./FHEM/01_FHEMWEB.pm (552)
2014.10.06 15:44:15 3: main::FW_answerCall called by ./FHEM/01_FHEMWEB.pm (393)
2014.10.06 15:44:15 3: main::FW_Read called by fhem.pl (2902)
2014.10.06 15:44:15 3: main::CallFn called by fhem.pl (594)
Grüße
Chris
Hallo,
die SuFu zu stacktrace liefert mir diesen Beitrag:
http://forum.fhem.de/index.php/topic,27471.msg204652.html#msg204652 (http://forum.fhem.de/index.php/topic,27471.msg204652.html#msg204652)
Bitte mal durchlesen.
Grüße
Diese Warnungen waren auch bisher im FHEM-Log (oder sollten zumindest sein), aber leichter zu uebersehen/ignorieren, da nur die Fehlermeldung auftauchte, ohne Zeitstempel und den Text "PERL WARNING". Ein Stacktrace war auch nicht zu sehen.
In dem vom Puschel74 verlinkten Beitrag ist zu lesen, dass ich diese zusaetzlichen Ausgaben (stacktrace, Datum, etc) eingebaut habe, nach einem Vorschlag von Dietmar63. An dem Problem selbst aendert das nichts, nur an der Darstellung.
Wenn die Ausgaben ein Modul betreffen, dann bitte dem Modul-Maintainer melden. Den Modulnamen sieht man in diesem Fall hinten in der "PERL WARNING" Zeile. Wenn die Ursache das eigene Programm ist (das ist der Fall, wenn notify_Exec oder at_Exec im stacktrace auftaucht), dann bitte selbst fixen.
@punker: du hast in deiner readings group eine valueFn in der du mit > auf den wert vergleichst ohne zu berücksichtigen das hinter der zahl noch etwas steht.
am besten vor dem vergleich den rest abscheiden oder die zahl per regex aus dem string raus holen.
gruss
andre
Ok vielleicht könnte ihr bitte doch ein wenig helfen, denn ich denke das hat was mit diesen Code zu tun:
Ferien_Brandenburg {
fhem "set Ferien " . (ReadingsVal("Ferien_Brandenburg", "modeStart", "") =~ "schulferien" ? 1: 0) }
der Meldung im Log ist:
2014.10.07 10:45:20 1: PERL WARNING: Found = in conditional, should be == at (eval 270) line 2.
2014.10.07 10:45:20 3: stacktrace:
2014.10.07 10:45:20 3: main::__ANON__ called by (eval 270) (2)
2014.10.07 10:45:20 3: (eval) called by fhem.pl (894)
2014.10.07 10:45:20 3: main::AnalyzePerlCommand called by fhem.pl (912)
2014.10.07 10:45:20 3: main::AnalyzeCommand called by fhem.pl (847)
2014.10.07 10:45:20 3: main::AnalyzeCommandChain called by /opt/fhem/FHEM/91_notify.pm (87)
2014.10.07 10:45:20 3: main::notify_Exec called by fhem.pl (2902)
2014.10.07 10:45:20 3: main::CallFn called by fhem.pl (2825)
2014.10.07 10:45:20 3: main::DoTrigger called by fhem.pl (3119)
2014.10.07 10:45:20 3: main::Dispatch called by /opt/fhem/FHEM/00_HMLAN.pm (707)
2014.10.07 10:45:20 3: main::HMLAN_Parse called by /opt/fhem/FHEM/00_HMLAN.pm (522)
2014.10.07 10:45:20 3: main::HMLAN_Read called by fhem.pl (2902)
2014.10.07 10:45:20 3: main::CallFn called by fhem.pl (594)
oder vielleicht dieser:
2014.10.07 09:45:45 1: PERL WARNING: Argument "" isn't numeric in numeric eq (==) at /opt/fhem/FHEM/57_CALVIEW.pm line 147.
2014.10.07 09:45:45 3: stacktrace:
2014.10.07 09:45:45 3: main::__ANON__ called by /opt/fhem/FHEM/57_CALVIEW.pm (147)
2014.10.07 09:45:45 3: main::CALVIEW_GetUpdate called by fhem.pl (2521)
2014.10.07 09:45:45 3: main::HandleTimeout called by fhem.pl (531)
Zitat von: justme1968 am 07 Oktober 2014, 10:52:19
@punker: du hast in deiner readings group eine valueFn in der du mit > auf den wert vergleichst ohne zu berücksichtigen das hinter der zahl noch etwas steht.
am besten vor dem vergleich den rest abscheiden oder die zahl per regex aus dem string raus holen.
gruss
andre
Danke für den Hinweis!
Schuld ist die neue Fritzbox-Soft 6.20. Diese liest ja aus den FBDect200 seit neuestem einen Temperaturwert aus und ergänzt diesen mit dem Wort "measured"!
Hier die Definition:
define Temperaturen readingsGroup TYPE=.*:temperature
attr Temperaturen group Temperaturen
attr Temperaturen noheading 1
attr Temperaturen nolinks 0
attr Temperaturen room Unsorted
attr Temperaturen valueFormat %.1f °C
attr Temperaturen valueStyle {($READING eq "temperature" && $VALUE > 0)?'style="color:red;; font-weight:bold;; text-align:right"':'style="color:blue;; font-weight:bold;; text-align:right"'}
Leider weiß ich nicht, wie ich den Rest abschneiden kann!
Ich habe dasselbe Problem. Es löst sich beim Rückspielen der Version vom 5.10.2014. Ich denke, es liegt daran, dass seit gestern die erste Subroutine in 99_Utils.pm genauso heißt wie die erste, die in 99_myUtils.pm erfordelich ist, nämlich: sub myUtils_Initialize($$) { my ($hash) = @_;}
Vorher war die erste Subroutine in 99_Utils.pm: sub Utils_Initialize($$) {my ($hash) = @_;}
Da ist möglicherweise in der 99_Utils.pm ein Fehler passiert oder alle Nutzer müssten in der 99_myUtile den Namen ändern. Frage ist aber, welcher Name dort erforderlich ist?
Hallo,
ZitatIch denke, es liegt daran, dass seit gestern die erste Subroutine in 99_Utils.pm genauso heißt wie die erste, die in 99_myUtils.pm erfordelich ist,
Nö.
In der 99_Utils.pm heisst die Routine sub Utils und in der 99_myUtils.pm heisst sie sub myUtils - zumindest bei mir.
Ich bin jetzt aber noch am grübeln was dein Vorschlag mit dem Betreff zu tun haben könnte :o
Grüße
@punker: zum beispiel so:($READING eq "temperature" && [split(" ", $VALUE)]->[0] > 0)
gruss
andre
Wie Rudi schon ausgeführt hat sollte in jedem Fall die Ursache für den stacktrace gesucht werden.
Die Fehler waren schon immer vorhanden, aber für die meisten von euch unsichtbar im perl error log verbuddelt.
Jetzt können Sie nach und nach behoben werden.
Zitat von: Dietmar63 am 07 Oktober 2014, 18:02:57
Wie Rudi schon ausgeführt hat sollte in jedem Fall die Ursache für den stacktrace gesucht werden.
Die Fehler waren schon immer vorhanden, aber für die meisten von euch unsichtbar im perl error log verbuddelt.
Jetzt können Sie nach und nach behoben werden.
Ok würde ich ja gerne versuchen aber weist irgendwas darauf hin welches "notify/at" oder ganz von vorne anfangen?
Mfg Steffen
benutzt du in einem if ein = anstelle eines ==, wenn ja dann reparieren.
wenn du so nichts findest, dann alle verdächtigen notify auf verbose 5 anheben, dann solltest du im Log Hinweise auf den fehlerhaften notify finden.
Ich habe die Warnung erweitert, dass es auch das vom AnalyzePerlCommand ausgefuehrte Argument ausgibt. D.h. im Fall von notify und at sieht man das fragliche Codestueck, wie im folgenden konstruierten Beispiel:
fhem> define xx notify xx { Log 1, "Halo" if($a=7) }
fhem> trigger xx
Fhem-Log:
Zitat2014.10.07 18:31:54.299 1: PERL WARNING: Found = in conditional, should be == at (eval 25) line 1.
2014.10.07 18:31:54.299 3: eval: { Log 1, "Halo" if($a=7) }
Ab morgen per update verfuegbar, oder ab sofort per SVN.
Kann man denn nicht einen gemeinsamen Thread für die Maintainer machen?
Ich habe leider bei mehreren Modulen Fehler:
PERL WARNING: Use of uninitialized value $args[0] in string eq at ./FHEM/98_SB_PLAYER.pm line 505.
PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/42_SYSMON.pm line 2189.
PERL WARNING: Argument "on" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 612.
PERL WARNING: Argument "off" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 612.
PERL WARNING: Argument "216.79 W" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 612.
PERL WARNING: Argument "0.00 W" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 612.
PERL WARNING: ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE $/ at ./FHEM/33_readingsGroup.pm line 126.
PERL WARNING: Argument "23.8 C (measured)" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 612.
Anwesenheit.Check.Zuhause return value: Can't use an undefined value as a symbol reference at ./FHEM/93_RFHEM.pm line 81.
PERL WARNING: Use of uninitialized value $stat in string eq at ./FHEM/99_myUtilsTelefon.pm line 219.
Hallo,
ZitatKann man denn nicht einen gemeinsamen Thread für die Maintainer machen?
Wo dann alle schreiben können/dürfen?
Also wären wir wieder hier 8)
Gemach, gemach.
Es sind KEINE Fehler! im Sinne von - Hilfe es funktioniert nichts mehr.
Genau dieselben Meldungen hattest du immer schon im Logfile - jetzt werden sie einfach nur extra hervor gehoben.
Aber ich vermute das hast du bereits gelesen.
Einfach lt. Maintainer.txt im passenden Bereich posten und den Modulschreiber bitten diese Meldungen zu beheben.
Oder einfach stacktrace wieder abschalten.
Grüße
ZitatKann man denn nicht einen gemeinsamen Thread für die Maintainer machen?
Als Anwender und Nicht-Maintainer halte ich das für unpraktikabel. Sollen die Entwickler, die in Ihrer Freizeit für uns Fhem auf die Beine stellen, auch noch an zig Stellen lesen. Wir sollten doch dankbar sein, dass es solche Leute gibt und Ihnen als Anwender Arbeit abnehmen. D.h. wir können doch zumindest im passenden Bereich des Forums laut MAINTAINER.txt posten.
Tippe auch, dass zumindest 2 Deiner Probleme durch Deine Entwicklungen verursacht werden (readingsGoup und myUtils..)
Gruß, Christian
Hallo,
ZitatTippe auch, dass zumindest 2 Deiner Probleme durch Deine Entwicklungen verursacht werden (readingsGoup und myUtils..)
Nein, denke ich nicht.
readingsGroup = 33_readingsGroup.pm line 612.
myUtils.. = zu kurz gelesen = 99_myUtilsTelefon.pm line 219.
Grüße
@Mitch: du musst in deinen valueFormat immer mit dem passenden operator (string/zahl) arbeiten bzw. den wert passend machen. siehe an vielen stellen im forum oder auch weiter oben im thread.
gruss
andre
Danke, habe ich verstanden und oben das Beispiel gesehen.
Leider habe ich keinen Schimmer, wie und wo ich das ändern muss :-[
@Puschel: bei readingsGroup ist es in 99% der fälle der code der vom anwender zusätzlich geschrieben wird aus der readingsGroup aufgerufen wird.
@Mitch: such mal im forum. es gibt wirklich einige beispiele.
gruss
andre
Hallo,
@andre
Jop - darüber bin ich auch schon gestolpert - mea culpa.
Das Modul kann da wirklich nichts dafür :-[
Grüße
Zitat von: rudolfkoenig am 07 Oktober 2014, 18:37:19
Ich habe die Warnung erweitert, dass es auch das vom AnalyzePerlCommand ausgefuehrte Argument ausgibt. D.h. im Fall von notify und at sieht man das fragliche Codestueck, wie im folgenden konstruierten Beispiel:
fhem> define xx notify xx { Log 1, "Halo" if($a=7) }
fhem> trigger xx
Fhem-Log:
Ab morgen per update verfuegbar, oder ab sofort per SVN.
Ich konnte es irgendwie nicht finden im SVN?!
Mfg Steffen
Sorry, mein SVN commit ist gestern schiefgegangen, und das habe ich uebersehen.
Ich habe das commit jetzt wiederholt, und danach fhemupdate manuell ausgefuehrt, d.h. update sollte ab sofort das neue fhem.pl abholen.
Guten Morgen,
also konnte schon viele Perl-Warnings entschärfen doch eins habe ich noch und komme nicht weiter, sehe bestimmt da den Wald vor lauter Bäumen nicht:
2014.10.09 01:55:53 1: PERL WARNING: Use of uninitialized value $termin in string eq at (eval 793) line 9.
2014.10.09 01:55:53 3: eval: {
my $termin = fhem("get EntsorgungsTermin summary modeStarted");
if(($termin) eq "SBAZV Papiertonnen"){
fhem("set SBAZV_Status 1")
}
elsif(($termin) eq "SBAZV Restmülltonnen"){
fhem("set SBAZV_Status 2");
}
elsif(($termin) eq "SBAZV Gelbe Säcke"){
fhem("set SBAZV_Status 3");
}
else {
fhem("set SBAZV_Status 0");
}
}
Vielleicht könnte ihr mir ja bitte helfen wo da der Fehler sein könnte?
Mfg Steffen
Hallo Rudi,
die Einführung der Ausgabe des Aufrufstapels bei Warnungen und Fehlern finde ich gut!
Ich sehe mich jedoch nicht in der Lage, in nächster Zeit in allen meinen Modulen alle tatsächlich oder potentiell auftretenden Fälle abzufangen, die zu undefinierten Variablen führen.
Ich schlage daher vor, ein Attribut stacktrace für die Ausgabe des Aufrufstapels einzuführen:
attr global stacktrace 1
mit Default: aus.
Das verhindert, dass bei den Anwendern die Logs aus allen Nähten platzen.
Viele Grüße
Boris
@Boris: Ich verstehe das Problem und die Begruendung, und habe das Attribut eingefuehrt.
Kannst Du mich Benachrichtigen, wenn ich das Attribut wieder entfernen kann?
Zitat von: rudolfkoenig am 09 Oktober 2014, 14:30:34
@Boris: Ich verstehe das Problem und die Begruendung, und habe das Attribut eingefuehrt.
Danke!
Zitat
Kannst Du mich Benachrichtigen, wenn ich das Attribut wieder entfernen kann?
Warum willst Du es entfernen?
Meiner Auffassung nach hilft der Aufrufstapel dem Modulentwickler sowie dem versierten mit Perl werkelnden Anwender beim Debugging. Alle anderen verwirrt es eher und bläht die Logs auf.
Ich schlage daher vor, den Aufrufstapel optional zu halten, und in dem Sticky Posting, wie man richtig Probleme meldet, einen entsprechenden Hinweis anzubringen ("hast Du einen Perl-Fehler gefunden, dann schalte stracktrace ein und poste das Log mit Aufrufstapel", oder so - das Texten und Editieren des Postings kann ich dann gerne übernehmen).
Grüße
Boris
Ich habe ebenfalls einen Logeintrag nach der Wetterabfrage. Log hält an.
read timeout at /usr/share/perl5/LWP/Protocol/http.pm line 452.
2014.10.09 15:28:42 1: PERL WARNING: Use of uninitialized value $a[0] in hash element at ./FHEM/92_FileLog.pm line 352.
2014.10.09 15:28:42 3: stacktrace:
2014.10.09 15:28:42 3: main::__ANON__ called by ./FHEM/92_FileLog.pm (352)
2014.10.09 15:28:42 3: main::FileLog_fhemwebFn called by ./FHEM/01_FHEMWEB.pm (992)
2014.10.09 15:28:42 3: main::FW_doDetail called by ./FHEM/01_FHEMWEB.pm (737)
2014.10.09 15:28:42 3: main::FW_answerCall called by ./FHEM/01_FHEMWEB.pm (393)
2014.10.09 15:28:42 3: main::FW_Read called by fhem.pl (2902)
2014.10.09 15:28:42 3: main::CallFn called by fhem.pl (594)
2014.10.09 15:28:42 1: PERL WARNING: Use of uninitialized value $a[0] in hash element at ./FHEM/92_FileLog.pm line 353.
2014.10.09 15:28:42 3: stacktrace:
2014.10.09 15:28:42 3: main::__ANON__ called by ./FHEM/92_FileLog.pm (353)
2014.10.09 15:28:42 3: main::FileLog_fhemwebFn called by ./FHEM/01_FHEMWEB.pm (992)
2014.10.09 15:28:42 3: main::FW_doDetail called by ./FHEM/01_FHEMWEB.pm (737)
2014.10.09 15:28:42 3: main::FW_answerCall called by ./FHEM/01_FHEMWEB.pm (393)
2014.10.09 15:28:42 3: main::FW_Read called by fhem.pl (2902)
2014.10.09 15:28:42 3: main::CallFn called by fhem.pl (594
Soeben wurde ein Update durchgeführt. Felhler kommt immer noch
2014.10.09 17:13:34 3: owo owo: response:
read timeout at /usr/share/perl5/LWP/Protocol/http.pm line 452.
Hallo an alle,
ich habe ähnliches im Log stehen:
2014.10.09 17:40:02 1: PERL WARNING: ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE $/ at ./FHEM/33_readingsGroup.pm line 586.
2014.10.09 17:40:02 3: stacktrace:
2014.10.09 17:40:02 3: main::__ANON__ called by ./FHEM/33_readingsGroup.pm (586)
2014.10.09 17:40:02 3: (eval) called by ./FHEM/33_readingsGroup.pm (586)
2014.10.09 17:40:02 3: main::readingsGroup_2html called by ./FHEM/33_readingsGroup.pm (736)
2014.10.09 17:40:02 3: main::readingsGroup_detailFn called by ./FHEM/01_FHEMWEB.pm (2344)
2014.10.09 17:40:02 3: main::FW_devState called by ./FHEM/01_FHEMWEB.pm (1323)
2014.10.09 17:40:02 3: main::FW_showRoom called by ./FHEM/01_FHEMWEB.pm (736)
2014.10.09 17:40:02 3: main::FW_answerCall called by ./FHEM/01_FHEMWEB.pm (393)
2014.10.09 17:40:02 3: main::FW_Read called by fhem.pl (2906)
2014.10.09 17:40:02 3: main::CallFn called by fhem.pl (595)
2014.10.09 17:40:02 1: PERL WARNING: ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE $/ at ./FHEM/33_readingsGroup.pm line 591.
2014.10.09 17:40:02 3: stacktrace:
2014.10.09 17:40:02 3: main::__ANON__ called by ./FHEM/33_readingsGroup.pm (591)
2014.10.09 17:40:02 3: main::readingsGroup_2html called by ./FHEM/33_readingsGroup.pm (736)
2014.10.09 17:40:02 3: main::readingsGroup_detailFn called by ./FHEM/01_FHEMWEB.pm (2344)
2014.10.09 17:40:02 3: main::FW_devState called by ./FHEM/01_FHEMWEB.pm (1323)
2014.10.09 17:40:02 3: main::FW_showRoom called by ./FHEM/01_FHEMWEB.pm (736)
2014.10.09 17:40:02 3: main::FW_answerCall called by ./FHEM/01_FHEMWEB.pm (393)
2014.10.09 17:40:02 3: main::FW_Read called by fhem.pl (2906)
2014.10.09 17:40:02 3: main::CallFn called by fhem.pl (595)
Das erste mal am 06.10.2014 nach update und restart und heute vor ca. 5 Minuten, sowie dazwischen ca. 10 mal.
Sieht nach einem Problem in 33_readingsGroup.pm aus, welches wohl geupdatet wurde?
Gruß Bracew
@Bracew: das schaut nach einem fehler in deinem define für eine readingsGroup aus.
ein * am anfang einer regex ist nicht gültig und sinnvoll. da bei dir ziemlich sicher ein . davor.
gruss
andre
@Bracew, @Bert: ich moechte euch gerne auf meinem vorherigen Beitrag Hinweisen: bitte die Probleme in den passenden Bereich posten.
@Bert: es sind korrupte eventTypes Daten. Ich habe es nicht geschafft, das zu reproduzieren, habe aber zusaetzliche Pruefungen in FileLog eingebaut.
@Boris: ok (bevor ich lange rumdiskutiere). Habs auch dokumentiert.
@justme1968:
die define sieht wie folgt aus:
define TwilightWerte readingsGroup myTwilight:*
Ist das einzige "readingsGroup" das ich habe. Ein "regex" habe ich nicht in fhem.cfg
Wo ist da der Fehler?
@rudolfkoenig
In welchem Bereich sollen wir das Posten, wenn nicht im "Merkwürdige Meldungen im Log seit Update!!!", denn so ist es!
Zitat von: Bracew am 09 Oktober 2014, 20:13:15
In welchem Bereich sollen wir das Posten, wenn nicht im "Merkwürdige Meldungen im Log seit Update!!!", denn so ist es!
Bitte in dem Board posten, das für das Modul zuständig ist, das die den Stacktrace auslösende Warnung generiert.
Grüße
Boris
@Bracew: ich sage doch dein define ist falsch. vor den * gehört ein .:define TwilightWerte readingsGroup myTwilight:.*
* in deiner regex bedeutet das das direkt davor stehende zeichen beliebig oft vorkommen kann. bei dir steht nichts davor. in verbindung mit der auswertung bedeutet das das der wort anfang beliebig oft vorkommen soll. das macht keinen sinn.
. bedeuete ein beliebiges zeichen
.* bedeuete also jedes beliebige zeichen beliebig oft.
gruss
andre
Zitat von: Steffen am 09 Oktober 2014, 05:37:18
Guten Morgen,
also konnte schon viele Perl-Warnings entschärfen doch eins habe ich noch und komme nicht weiter, sehe bestimmt da den Wald vor lauter Bäumen nicht:
2014.10.09 01:55:53 1: PERL WARNING: Use of uninitialized value $termin in string eq at (eval 793) line 9.
2014.10.09 01:55:53 3: eval: {
my $termin = fhem("get EntsorgungsTermin summary modeStarted");
if(($termin) eq "SBAZV Papiertonnen"){
fhem("set SBAZV_Status 1")
}
elsif(($termin) eq "SBAZV Restmülltonnen"){
fhem("set SBAZV_Status 2");
}
elsif(($termin) eq "SBAZV Gelbe Säcke"){
fhem("set SBAZV_Status 3");
}
else {
fhem("set SBAZV_Status 0");
}
}
Vielleicht könnte ihr mir ja bitte helfen wo da der Fehler sein könnte?
Mfg Steffen
Soll ich das doch besser einen anderen Bereich geben oder hat einer von euch doch eine Idee was der Fehler im Code sein könnte, ist das vorletzte was mir noch im Log noch angezeigt wird.
Mfg Steffen
vermutlich liefert das get EntsorgungsTermin summary modeStarted nichts zurück. du solltest dann als erstes auf if( !$termin ) prüfen.
gruss
andre
@justme1968: Danke für den Wink mit dem Zaunpfahl. Manchmal sieht man die . vor lauter * nicht. Scheint nun ohne Fehlermeldung im log zu funktionieren. Nochmals vielen Dank!!!
@Dr. Boris Neubert: Das verstehe ich als Anfänger leider nicht. Ich würde gerne das richtige Board benutzen, wenn ich denn wüsste welches "Modul zuständig" in meinem Fall ist und was ein "Stacktrace" ist. Es können schließlich nicht alle "Cracks" sein. Jeder fängt mal klein an. Bisher kenne ich eine fhem.cfg und eine riesengroße Blackbox dahinter, welche ich eigentlich in aller Tiefe auch nicht kennen lernen will.
Hallo,
ZitatIch würde gerne das richtige Board benutzen,
http://forum.fhem.de/index.php/topic,13092.0.html (http://forum.fhem.de/index.php/topic,13092.0.html)
ZitatEs können schließlich nicht alle "Cracks" sein.
http://forum.fhem.de/index.php/topic,16311.0.html (http://forum.fhem.de/index.php/topic,16311.0.html)
Zitatund was ein "Stacktrace" ist.
http://forum.fhem.de/index.php/topic,27471.msg203610.html#msg203610 (http://forum.fhem.de/index.php/topic,27471.msg203610.html#msg203610)
Edith2: War mir doch so das ich das schonmal gepostet hätte - genau in DIESEM Beitrag hier:
http://forum.fhem.de/index.php/topic,27662.msg205861.html#msg205861 (http://forum.fhem.de/index.php/topic,27662.msg205861.html#msg205861)
Man sollte die Beiträge auch versuchen von Anfang an zu lesen - zumal ich den Link bereits auf der ersten Seite gepostet habe.
Auch Anfänger dürfen die angepinnten Beiträge lesen und die Suchfunktion benutzen - das hat mit "Crack" nichts zu tun.
ZitatBisher kenne ich eine fhem.cfg
Die würde ich als Anfänger gleich wieder vergessen.
Zitatund eine riesengroße Blackbox dahinter, welche ich eigentlich in aller Tiefe auch nicht kennen lernen will.
Dann wirst du als Anfänger aber immer Probleme haben.
Ein bischen sollte man sich mit der Materie schon vertraut machen - und lesen.
Grüße
Edith:
ZitatEin "regex" habe ich nicht in fhem.cfg
Wetten das ...
Hallo Puschel74,
Du hast sicher in ALLEN Punkten recht. Aber ich will doch nur Autofahren und nicht selbst das Auto neu erfinden.
Und ansonsten bitte ich um großzügige Vergebung aller meiner Sünden.
Gruß Bracew
P.S. Es soll vorkommen, dass es hin und wieder auch auch anderslautende Meinungen geben soll ... und doch werden sie toleriert werden müssen.
Hallo,
du darfst dein "Auto" gerne fahren - solltest dann aber nicht vergessen ab und an zu tanken.
Und auch die Verkehrsregeln sollten beachtet werden - oder MUSS dann auch die Exekutive "Tolerant" sein?
Zitatund doch werden sie toleriert werden müssen.
Toleranz endet für mich dort wo die Nötigung anderer beginnt - und wenn ich etwas tolerieren MUSS fühle ich mich bereits genötigt.
Und nötigen wollen wir ja niemanden ;)
Daher finde ich das man die Meinung anderer tolerieren SOLLTE - aber niemals ein MUSS daraus werden darf.
Grüße
Edith: Deine Sünden kann ich dir nicht vergeben da ich die falsche Instanz dafür bin (und mir soetwas NIE anmaßen würde).
Zitat von: justme1968 am 09 Oktober 2014, 20:34:01
vermutlich liefert das get EntsorgungsTermin summary modeStarted nichts zurück. du solltest dann als erstes auf if( !$termin ) prüfen.
gruss
andre
Ja genau, es liefert erst am diesem Tag/Ereingniss was zurück.
Aber wie meinst du das
if( !$termin )
?
So bestimmt nicht oder?
EntsorgungsTermin:modeStarted.* {
my $termin = fhem("get EntsorgungsTermin summary modeStarted");
if( !$termin ){
elsif(($termin) eq "SBAZV Papiertonnen"){
fhem("set SBAZV_Status 1");
}
elsif(($termin) eq "SBAZV Restmülltonnen"){
fhem("set SBAZV_Status 2");
}
elsif(($termin) eq "SBAZV Gelbe Säcke"){
fhem("set SBAZV_Status 3");
}
else {
fhem("set SBAZV_Status 0");
}
}
Mfg Steffeb
da hat zumindest eine klammer gefehlt. ich denke etwa so: EntsorgungsTermin:modeStarted.* {
my $termin = fhem("get EntsorgungsTermin summary modeStarted");
if( !$termin ){
fhem("set SBAZV_Status 0");
} elsif(($termin) eq "SBAZV Papiertonnen"){
fhem("set SBAZV_Status 1");
} elsif(($termin) eq "SBAZV Restmülltonnen"){
fhem("set SBAZV_Status 2");
} elsif(($termin) eq "SBAZV Gelbe Säcke"){
fhem("set SBAZV_Status 3");
} else {
fhem("set SBAZV_Status 0");
}
}
Gibt es schon Erkenntnisse bezüglich der Fehlermeldung bei holen der Wetterdaten? Unverändert aus dem RSS-Workshop entnommen.
2014.10.30 19:41:19 3: owo owo: retrievingStationData: Id: 2830582 Name:
2014.10.30 19:41:19 5: Cmd: >set owo stationById 2830582<
2014.10.30 19:41:29 3: owo owo: response:
read timeout at /usr/share/perl5/LWP/Protocol/http.pm line 452.
2014.10.30 19:41:29 5: Triggering owo (1 changes)
2014.10.30 19:41:29 5: Notify loop for owo _httpResponse_c: 500 read timeout
Es funktioniert mehrere Stunden ohne Probleme, und läuft nach der Fehlermeldung nicht mehr weiter.
Gruß Bert