Es geht um AttrVal, $d ist hier der Device-Name:
return $attr{$d}{$n} if(defined($attr{$d}) && defined($attr{$d}{$n}));
Hier scheint sich wohl kürzlich etwas geändert zu haben?
Ich bekomme den Fehler in verschiedenen Modulen, teilweise beim Start, diesen hier ständig bei einer Abfrage.
Aufmerksam bin ich darauf wegen einem Bugreport für Netatmo geworden.
Ich werde allerdings nicht ganz schlau daraus warum das nun plötzlich passiert.
Hab ich irgendeine Änderung verpasst?
Frage ich zu einem unpassenden Zeitpunkt oder mit nicht initialisierten Variablen an und es ist an dieser Stelle nur Errorhandling weggefallen?
Ich bin ratlos...
Gruss, Markus
HTTP Calls:
2017.04.13 13:42:50 1: PERL WARNING: Use of uninitialized value $d in hash element at /opt/fhem/fhem.pl line 4035.
2017.04.13 13:42:50 1: stacktrace:
2017.04.13 13:42:50 1: main::__ANON__ called by /opt/fhem/fhem.pl (4035)
2017.04.13 13:42:50 1: main::AttrVal called by /opt/fhem/FHEM/HttpUtils.pm (343)
2017.04.13 13:42:50 1: main::HttpUtils_Connect2 called by /opt/fhem/FHEM/HttpUtils.pm (325)
2017.04.13 13:42:50 1: main::HttpUtils_Connect called by /opt/fhem/FHEM/HttpUtils.pm (715)
2017.04.13 13:42:50 1: main::HttpUtils_BlockingGet called by /opt/fhem/FHEM/32_withings.pm (995)
2017.04.13 13:42:50 1: main::withings_getDeviceDetail called by /opt/fhem/FHEM/32_withings.pm (1844)
2017.04.13 13:42:50 1: main::withings_parseMeasurements called by /opt/fhem/FHEM/32_withings.pm (3093)
2017.04.13 13:42:50 1: main::withings_Dispatch called by /opt/fhem/FHEM/HttpUtils.pm (438)
2017.04.13 13:42:50 1: main::__ANON__ called by /opt/fhem/fhem.pl (682)
2017.04.13 13:44:00 1: PERL WARNING: Use of uninitialized value $d in hash element at /opt/fhem/fhem.pl line 4035.
2017.04.13 13:44:00 1: stacktrace:
2017.04.13 13:44:00 1: main::__ANON__ called by /opt/fhem/fhem.pl (4035)
2017.04.13 13:44:00 1: main::AttrVal called by /opt/fhem/FHEM/HttpUtils.pm (343)
2017.04.13 13:44:00 1: main::HttpUtils_Connect2 called by /opt/fhem/FHEM/HttpUtils.pm (325)
2017.04.13 13:44:00 1: main::HttpUtils_Connect called by /opt/fhem/FHEM/HttpUtils.pm (715)
2017.04.13 13:44:00 1: main::HttpUtils_BlockingGet called by /opt/fhem/FHEM/32_withings.pm (1396)
2017.04.13 13:44:00 1: main::withings_getUserDetail called by /opt/fhem/FHEM/32_withings.pm (1763)
2017.04.13 13:44:00 1: main::withings_parseMeasureGroups called by /opt/fhem/FHEM/32_withings.pm (3093)
2017.04.13 13:44:00 1: main::withings_Dispatch called by /opt/fhem/FHEM/HttpUtils.pm (438)
2017.04.13 13:44:00 1: main::__ANON__ called by /opt/fhem/fhem.pl (682)
Startup:
2017.04.13 09:14:57 1: PERL WARNING: Use of uninitialized value $d in hash element at /opt/fhem/fhem.pl line 4035, <$fh> line 2036.
2017.04.13 09:14:57 1: stacktrace:
2017.04.13 09:14:57 1: main::__ANON__ called by /opt/fhem/fhem.pl (4035)
2017.04.13 09:14:57 1: main::AttrVal called by /opt/fhem/FHEM/98_livetracking.pm (49)
2017.04.13 09:14:57 1: main::livetracking_Initialize called by /opt/fhem/fhem.pl (2419)
2017.04.13 09:14:57 1: (eval) called by /opt/fhem/fhem.pl (2402)
2017.04.13 09:14:57 1: main::CommandReload called by /opt/fhem/fhem.pl (1817)
2017.04.13 09:14:57 1: main::LoadModule called by /opt/fhem/fhem.pl (1874)
2017.04.13 09:14:57 1: main::CommandDefine called by /opt/fhem/fhem.pl (1149)
2017.04.13 09:14:57 1: main::AnalyzeCommand called by /opt/fhem/fhem.pl (1018)
2017.04.13 09:14:57 1: main::AnalyzeCommandChain called by /opt/fhem/fhem.pl (1284)
2017.04.13 09:14:57 1: main::CommandInclude called by /opt/fhem/fhem.pl (527)
2017.04.13 09:15:06 1: PERL WARNING: Use of uninitialized value $d in hash element at /opt/fhem/fhem.pl line 4035.
2017.04.13 09:15:06 1: stacktrace:
2017.04.13 09:15:06 1: main::__ANON__ called by /opt/fhem/fhem.pl (4035)
2017.04.13 09:15:06 1: main::AttrVal called by /opt/fhem/FHEM/HttpUtils.pm (343)
2017.04.13 09:15:06 1: main::HttpUtils_Connect2 called by /opt/fhem/FHEM/HttpUtils.pm (325)
2017.04.13 09:15:06 1: main::HttpUtils_Connect called by /opt/fhem/FHEM/HttpUtils.pm (715)
2017.04.13 09:15:06 1: main::HttpUtils_BlockingGet called by /opt/fhem/FHEM/38_netatmo.pm (656)
2017.04.13 09:15:06 1: main::netatmo_getToken called by /opt/fhem/FHEM/38_netatmo.pm (865)
2017.04.13 09:15:06 1: main::netatmo_connect called by /opt/fhem/FHEM/38_netatmo.pm (469)
2017.04.13 09:15:06 1: main::netatmo_Notify called by /opt/fhem/fhem.pl (3379)
2017.04.13 09:15:06 1: main::CallFn called by /opt/fhem/fhem.pl (3300)
2017.04.13 09:15:06 1: main::DoTrigger called by /opt/fhem/fhem.pl (584)
Da wird offenbar versucht, zu einem Zeitpunkt auf ein device zuzugreifen, zu dem das device noch gar nicht existiert und $d deshalb nicht initialisiert ist.
Zitat von: betateilchen am 13 April 2017, 15:38:25
Da wird offenbar versucht, zu einem Zeitpunkt auf ein device zuzugreifen, zu dem das device noch gar nicht existiert und $d deshalb nicht initialisiert ist.
Beim Start ist das möglich, bei Withings eigentlich nicht.
Das Problem ist, dass das erst seit einigen Tagen so ist.
Irgendwas muss sich also geändert haben.
Beim Withings Start kommt der Fehler aus HttpUtils:
my $sslVersion = AttrVal($hash->{NAME}, "sslVersion",
AttrVal("global", "sslVersion", "SSLv23:!SSLv3:!SSLv2"));
Schon gefixt:
https://forum.fhem.de/index.php/topic,70474 (https://forum.fhem.de/index.php/topic,70474)