GELÖST: PERL WARNING: Use of uninitialized value $value in string eq at fhem.pl

Begonnen von Homalix99, 25 September 2020, 12:49:47

Vorheriges Thema - Nächstes Thema

Homalix99

Hallo,

ich habe seit geraumer Zeit diese Warning im fhem log:

PERL WARNING: Use of uninitialized value $value in string eq at fhem.pl line 4753, <GEN57558> line 1817

Es geht um readingsBulkUpdateIfChanged() laut main.pl
Wie kann ich ermitteln, wo der Übeltäter steckt?

Vielen Danke im voraus

Gruß

Alex
- RPI 4 fhem in Docker, 2 x Arduino Uno, HM-GW, HM-Dev. (Fensterkontakte, HK-Thermostate, div. Aktoren), JeeLink,
- GPIOs, HM-LAN, ESPs (MQTT2)
-Überwachung Fenster/Türen/Licht, HK-Thermostatregelung, Rollosteuerung, Überw. Betriebstemperaturen Heizung, Erfassung Gas/Wasser, PV-Anl., Wetter (WS1600)

rudolfkoenig

Indem Du "attr global stacktrace 1" setzt, und den Vorgang wiederholst.

Homalix99

voila:

2020.09.25 13:11:38.647 1: PERL WARNING: Use of uninitialized value $value in string eq at fhem.pl line 4753.
2020.09.25 13:11:38.648 1: stacktrace:
2020.09.25 13:11:38.648 1:     main::__ANON__                      called by fhem.pl (4753)
2020.09.25 13:11:38.649 1:     main::readingsBulkUpdateIfChanged   called by ./FHEM/36_Shelly.pm (894)
2020.09.25 13:11:38.649 1:     main::Shelly_status                 called by ./FHEM/36_Shelly.pm (848)
2020.09.25 13:11:38.649 1:     main::__ANON__                      called by FHEM/HttpUtils.pm (634)
2020.09.25 13:11:38.650 1:     main::__ANON__                      called by fhem.pl (751)



Das Shelly Modul, aha
Danke!

Gruß

Alex
- RPI 4 fhem in Docker, 2 x Arduino Uno, HM-GW, HM-Dev. (Fensterkontakte, HK-Thermostate, div. Aktoren), JeeLink,
- GPIOs, HM-LAN, ESPs (MQTT2)
-Überwachung Fenster/Türen/Licht, HK-Thermostatregelung, Rollosteuerung, Überw. Betriebstemperaturen Heizung, Erfassung Gas/Wasser, PV-Anl., Wetter (WS1600)

rudolfkoenig

So klar ist das nicht, es klingt fuer mich eher nach einem userReading, was von einem Shelly-Event getriggert wurde.
Da aber die Zeilenangaben nicht zum aktuellen fhem.pl passen, kann das auch ein Irrtum sein.

Homalix99

Zu diesem Objekt sind keine weiteren Readings, etc. definiert, bzw andere Module wie at, notify, etc. . mit diesem verküpft.
Siehe list des Objekts:

Internals:
   .AttrList 
   CHANGED   
   DEF        192.168.3.60
   DURATION   0
   FUUID      5f3281f9-f33f-5615-55df-3a0b529bd742fd17
   INTERVAL   60
   NAME       Shelly_DG_Bad
   NR         1740
   STATE      off
   TCPIP      192.168.3.60
   TYPE       Shelly
   .attraggr:
   .attrminint:
   READINGS:
     2020-08-11 13:33:14   cloud           disabled
     2020-09-19 13:48:31   firmware        1047-long-id-for-shelly-devices
     2020-09-22 08:01:39   network         <html>connected to <a href="http://192.168.3.60">192.168.3.60</a></html>
     2020-09-25 07:09:11   relay           off
     2020-09-25 07:09:11   state           off
Attributes:
   group      Licht
   model      shelly1
   room       DG_Nord
- RPI 4 fhem in Docker, 2 x Arduino Uno, HM-GW, HM-Dev. (Fensterkontakte, HK-Thermostate, div. Aktoren), JeeLink,
- GPIOs, HM-LAN, ESPs (MQTT2)
-Überwachung Fenster/Türen/Licht, HK-Thermostatregelung, Rollosteuerung, Überw. Betriebstemperaturen Heizung, Erfassung Gas/Wasser, PV-Anl., Wetter (WS1600)

Homalix99

Hallo Rudi,

anbei ein neues Log nachdem ich ein fhem update gemacht hatte.

2020.09.25 16:37:09.610 1: PERL WARNING: Use of uninitialized value $value in string eq at fhem.pl line 4824.
2020.09.25 16:37:09.611 1: stacktrace:
2020.09.25 16:37:09.612 1:     main::__ANON__                      called by fhem.pl (4824)
2020.09.25 16:37:09.612 1:     main::readingsBulkUpdateIfChanged   called by ./FHEM/36_Shelly.pm (925)
2020.09.25 16:37:09.613 1:     main::Shelly_status                 called by ./FHEM/36_Shelly.pm (879)
2020.09.25 16:37:09.613 1:     main::__ANON__                      called by FHEM/HttpUtils.pm (634)
2020.09.25 16:37:09.613 1:     main::__ANON__                      called by fhem.pl (760)


Frage: was bedeutet eigentlich das <GEN11> im Log ???

2020.09.25 16:36:09.540 1: PERL WARNING: Use of uninitialized value $value in string eq at fhem.pl line 4824, <GEN11> line 88.

- RPI 4 fhem in Docker, 2 x Arduino Uno, HM-GW, HM-Dev. (Fensterkontakte, HK-Thermostate, div. Aktoren), JeeLink,
- GPIOs, HM-LAN, ESPs (MQTT2)
-Überwachung Fenster/Türen/Licht, HK-Thermostatregelung, Rollosteuerung, Überw. Betriebstemperaturen Heizung, Erfassung Gas/Wasser, PV-Anl., Wetter (WS1600)

rudolfkoenig

Das Problem kommt wirklich vom Modul, es versucht ein Reading auf einem undefinierten Wert zu setzen.

ZitatFrage: was bedeutet eigentlich das <GEN11> im Log ???
Weiss nicht. Wird vom perl generiert, bei mir steht beim gleichen Aufruf
PERL WARNING: Use of uninitialized value $value in string eq at fhem.pl line 4824.

Ich habe es mit perl 5.26 und 5.32 getestet. Welche perl Version hast Du?

Homalix99

Hallo Rudi,

also das Modul versucht das nicht vorhandene Reading "overpower" zu aktialisieren. Habe dazu einen neuen Thead ins Forum gestellt.
Ich habe die Perl Version:

> perl --version
This is perl 5, version 24, subversion 1 (v5.24.1) built for arm-linux-gnueabihf-thread-multi-64int
(with 85 registered patches, see perl -V for more detail)


VG

Alex
- RPI 4 fhem in Docker, 2 x Arduino Uno, HM-GW, HM-Dev. (Fensterkontakte, HK-Thermostate, div. Aktoren), JeeLink,
- GPIOs, HM-LAN, ESPs (MQTT2)
-Überwachung Fenster/Türen/Licht, HK-Thermostatregelung, Rollosteuerung, Überw. Betriebstemperaturen Heizung, Erfassung Gas/Wasser, PV-Anl., Wetter (WS1600)

rudolfkoenig

Wenn es stoert, kannst versuchen die Uebertragung auf MQTT (mit MQTT2_SERVER) umzustellen :)