[erledigt] PERL WARNING:Use of uninitialized value $d in hash element at fhem.pl

Begonnen von Loki, 11 Dezember 2019, 15:03:12

Vorheriges Thema - Nächstes Thema

Loki

Hallo,

mein Log wird seit heute morgen im Sekundentakt von Fehlermeldungen geflutet:
2019.12.11 10:34:38 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 4525.
2019.12.11 10:34:38 1: stacktrace:
2019.12.11 10:34:38 1:     main::__ANON__                      called by fhem.pl (4525)
2019.12.11 10:34:38 1:     main::AttrVal                       called by ./FHEM/00_MQTT2_SERVER.pm (454)
2019.12.11 10:34:38 1:     main::MQTT2_SERVER_doPublish        called by ./FHEM/00_MQTT2_SERVER.pm (345)
2019.12.11 10:34:38 1:     main::MQTT2_SERVER_Read             called by fhem.pl (3754)
2019.12.11 10:34:38 1:     main::CallFn                        called by fhem.pl (754)
2019.12.11 10:34:38 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 4525.
2019.12.11 10:34:38 1: stacktrace:
2019.12.11 10:34:38 1:     main::__ANON__                      called by fhem.pl (4525)
2019.12.11 10:34:38 1:     main::AttrVal                       called by ./FHEM/00_MQTT2_SERVER.pm (457)
2019.12.11 10:34:38 1:     main::MQTT2_SERVER_doPublish        called by ./FHEM/00_MQTT2_SERVER.pm (345)
2019.12.11 10:34:38 1:     main::MQTT2_SERVER_Read             called by fhem.pl (3754)
2019.12.11 10:34:38 1:     main::CallFn                        called by fhem.pl (754)
2019.12.11 10:34:38 1: PERL WARNING: Use of uninitialized value in hash element at fhem.pl line 3925.
2019.12.11 10:34:38 1: stacktrace:
2019.12.11 10:34:38 1:     main::__ANON__                      called by fhem.pl (3925)
2019.12.11 10:34:38 1:     main::Dispatch                      called by ./FHEM/00_MQTT2_SERVER.pm (458)
2019.12.11 10:34:38 1:     main::MQTT2_SERVER_doPublish        called by ./FHEM/00_MQTT2_SERVER.pm (345)
2019.12.11 10:34:38 1:     main::MQTT2_SERVER_Read             called by fhem.pl (3754)
2019.12.11 10:34:38 1:     main::CallFn                        called by fhem.pl (754)
2019.12.11 10:34:38 1: PERL WARNING: Use of uninitialized value in split at fhem.pl line 4995.
2019.12.11 10:34:38 1: stacktrace:
2019.12.11 10:34:38 1:     main::__ANON__                      called by fhem.pl (4995)
2019.12.11 10:34:38 1:     main::computeClientArray            called by fhem.pl (3938)
2019.12.11 10:34:38 1:     main::Dispatch                      called by ./FHEM/00_MQTT2_SERVER.pm (458)
2019.12.11 10:34:38 1:     main::MQTT2_SERVER_doPublish        called by ./FHEM/00_MQTT2_SERVER.pm (345)
2019.12.11 10:34:38 1:     main::MQTT2_SERVER_Read             called by fhem.pl (3754)
2019.12.11 10:34:38 1:     main::CallFn                        called by fhem.pl (754)
2019.12.11 10:34:38 1: PERL WARNING: Use of uninitialized value $dev in hash element at fhem.pl line 3626.
2019.12.11 10:34:38 1: stacktrace:
2019.12.11 10:34:38 1:     main::__ANON__                      called by fhem.pl (3626)
2019.12.11 10:34:38 1:     main::DoTrigger                     called by fhem.pl (3995)
2019.12.11 10:34:38 1:     main::Dispatch                      called by ./FHEM/00_MQTT2_SERVER.pm (458)
2019.12.11 10:34:38 1:     main::MQTT2_SERVER_doPublish        called by ./FHEM/00_MQTT2_SERVER.pm (345)
2019.12.11 10:34:38 1:     main::MQTT2_SERVER_Read             called by fhem.pl (3754)
2019.12.11 10:34:38 1:     main::CallFn                        called by fhem.pl (754)
2019.12.11 10:34:38 1: PERL WARNING: Use of uninitialized value $name in concatenation (.) or string at fhem.pl line 3996.
2019.12.11 10:34:38 1: stacktrace:
2019.12.11 10:34:38 1:     main::__ANON__                      called by fhem.pl (3996)
2019.12.11 10:34:38 1:     main::Dispatch                      called by ./FHEM/00_MQTT2_SERVER.pm (458)
2019.12.11 10:34:38 1:     main::MQTT2_SERVER_doPublish        called by ./FHEM/00_MQTT2_SERVER.pm (345)
2019.12.11 10:34:38 1:     main::MQTT2_SERVER_Read             called by fhem.pl (3754)
2019.12.11 10:34:38 1:     main::CallFn                        called by fhem.pl (754)
2019.12.11 10:34:38 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 4525.
2019.12.11 10:34:38 1: stacktrace:
2019.12.11 10:34:38 1:     main::__ANON__                      called by fhem.pl (4525)
2019.12.11 10:34:38 1:     main::AttrVal                       called by ./FHEM/00_MQTT2_SERVER.pm (459)
2019.12.11 10:34:38 1:     main::MQTT2_SERVER_doPublish        called by ./FHEM/00_MQTT2_SERVER.pm (345)
2019.12.11 10:34:38 1:     main::MQTT2_SERVER_Read             called by fhem.pl (3754)
2019.12.11 10:34:38 1:     main::CallFn                        called by fhem.pl (754)
2019.12.11 10:34:38 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 4525.
2019.12.11 10:34:38 1: stacktrace:
2019.12.11 10:34:38 1:     main::__ANON__                      called by fhem.pl (4525)
2019.12.11 10:34:38 1:     main::AttrVal                       called by ./FHEM/00_MQTT2_SERVER.pm (454)
2019.12.11 10:34:38 1:     main::MQTT2_SERVER_doPublish        called by ./FHEM/00_MQTT2_SERVER.pm (345)
2019.12.11 10:34:38 1:     main::MQTT2_SERVER_Read             called by fhem.pl (3754)
2019.12.11 10:34:38 1:     main::CallFn                        called by fhem.pl (754)
2019.12.11 10:34:38 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 4525.
2019.12.11 10:34:38 1: stacktrace:
2019.12.11 10:34:38 1:     main::__ANON__                      called by fhem.pl (4525)
2019.12.11 10:34:38 1:     main::AttrVal                       called by ./FHEM/00_MQTT2_SERVER.pm (457)
2019.12.11 10:34:38 1:     main::MQTT2_SERVER_doPublish        called by ./FHEM/00_MQTT2_SERVER.pm (345)
2019.12.11 10:34:38 1:     main::MQTT2_SERVER_Read             called by fhem.pl (3754)
2019.12.11 10:34:38 1:     main::CallFn                        called by fhem.pl (754)


mein MQTT2 Server:
Internals:
   CONNECTS   4
   DEF        1883 global
   FD         17
   FUUID      5de95367-f33f-a31c-2c73-6ab7438356d4036b
   NAME       MQTT2_SERVER
   NR         954
   PORT       1883
   STATE      Initialized
   TYPE       MQTT2_SERVER
   READINGS:
     2019-12-10 17:16:58   RETAIN          {"tele/tasmota1/LWT":"Online","tele/tasmota2/LWT":"Online"}
     2019-12-10 17:16:58   nrclients       2
     2019-12-09 18:58:27   state           Initialized
   clients:
     m2s_192.168.178.125_55505 1
     m2s_192.168.178.126_60975 1
   retain:
     tele/tasmota1/LWT:
       ts         1575994618.32555
       val        Online
     tele/tasmota2/LWT:
       ts         1575994618.3338
       val        Online
Attributes:
   DbLogExclude .*
   autocreate simple
   devStateIcon Initialized:10px-kreis-gruen .*closed:10px-kreis-rot
   icon       mqtt
   room       MQTT2_DEVICE,System


Mein Device (Gosund Sp111):
Internals:
   CID        DVES_3510BB
   DEF        DVES_3510BB
   DEVICETOPIC Gosund1
   FUUID      5de95846-f33f-a31c-c2cf-6b90cacdfbb6c969
   IODev      MQTT2_SERVER
   LASTInputDev m2s
   MSGCNT     973
   NAME       Gosund1
   NR         957
   STATE      OFF
[Gosund2_DOIF:state:r1]
| 0.0 A / 0.0 W
| IP: <a href='http://192.168.178.126' target='_blank'>192.168.178.126</a>
   TYPE       MQTT2_DEVICE
   m2s_MSGCNT 973
   m2s_TIME   2019-12-11 10:30:10
   READINGS:
     2019-12-06 16:35:44   BASE            45
     2019-12-11 10:30:10   ENERGY_ApparentPower 0
     2019-12-11 10:30:10   ENERGY_Current  0.000
     2019-12-11 10:30:10   ENERGY_Factor   0.00
     2019-12-11 10:30:10   ENERGY_Period   0
     2019-12-11 10:30:10   ENERGY_Power    0
     2019-12-11 10:30:10   ENERGY_ReactivePower 0
     2019-12-11 10:30:10   ENERGY_Today    0.000
     2019-12-11 10:30:10   ENERGY_Total    0.027
     2019-12-11 10:30:10   ENERGY_TotalStartTime 2019-12-05T20:16:09
     2019-12-11 10:30:10   ENERGY_Voltage  0
     2019-12-11 10:30:10   ENERGY_Yesterday 0.011
     2019-12-06 16:35:44   FLAG            0
     2019-12-08 17:32:12   FallbackTopic   cmnd/DVES_3510BB_fb/
     2019-12-06 16:35:44   GPIO_1          57
     2019-12-06 16:35:44   GPIO_10         17
     2019-12-06 16:35:44   GPIO_11         0
     2019-12-06 16:35:44   GPIO_12         21
     2019-12-06 16:35:44   GPIO_2          255
     2019-12-06 16:35:44   GPIO_3          56
     2019-12-06 16:35:44   GPIO_4          255
     2019-12-06 16:35:44   GPIO_5          132
     2019-12-06 16:35:44   GPIO_6          134
     2019-12-06 16:35:44   GPIO_7          0
     2019-12-06 16:35:44   GPIO_8          0
     2019-12-06 16:35:44   GPIO_9          131
     2019-12-08 17:32:12   GroupTopic      cmnd/tasmotas/
     2019-12-11 10:30:09   Heap            28
     2019-12-08 17:32:12   Hostname        tasmota2-4283
     2019-12-08 17:32:12   IPAddress       192.168.178.126
     2019-12-10 17:16:58   LWT             Online
     2019-12-11 10:30:09   LoadAvg         19
     2019-12-08 17:32:12   Module          Gosund SP111 2
     2019-12-06 16:35:08   Module_0        Gosund SP111 2
     2019-12-11 10:30:09   MqttCount       5
     2019-12-06 16:35:44   NAME            Gosund SP111 2
     2019-12-05 20:21:41   OtaUrl          http://thehackbox.org/tasmota/release/tasmota.bin
     2019-12-11 10:30:09   POWER           OFF
     2019-12-08 17:32:12   RestartReason   External System
     2019-12-11 10:30:09   Sleep           50
     2019-12-11 10:30:09   SleepMode       Dynamic
     2019-12-05 20:33:36   Template        Invalid JSON
     2019-12-11 10:30:10   Time            2019-12-11T10:30:10
     2019-12-05 20:22:42   UPGRADE         Successful. Restarting
     2019-12-05 20:21:41   Upgrade         Version 7.0.0.3 from http://thehackbox.org/tasmota/release/tasmota.bin
     2019-12-11 10:30:09   Uptime          2T16:58:08
     2019-12-11 10:30:09   UptimeSec       233888
     2019-12-11 10:30:10   Verbrauch       0
     2019-12-08 17:32:12   Version         7.1.1(tasmota)
     2019-12-06 17:02:04   VoltageSetCal   1661
     2019-12-08 17:32:12   WebServerMode   Admin
     2019-12-11 10:30:09   Wifi_AP         1
     2019-12-11 10:30:09   Wifi_BSSId      F0:9F:C2:7A:63:08
     2019-12-11 10:30:09   Wifi_Channel    11
     2019-12-11 10:30:09   Wifi_Downtime   0T00:00:07
     2019-12-11 10:30:09   Wifi_LinkCount  1
     2019-12-11 10:30:09   Wifi_RSSI       100
     2019-12-11 10:30:09   Wifi_SSId       LokiNet
     2019-12-11 10:30:10   state           OFF
     2019-12-09 18:59:27   subscriptions   cmnd/DVES_3510BB_fb/# cmnd/tasmota2/# cmnd/tasmotas/#
Attributes:
   DbLogExclude .*
   IODev      m2s
   devStateIcon ON:rc_GREEN:ON OFF:rc_RED:ON offline:rc_BLUE:OFF
   group      Stimmung
   icon       message_socket
   readingList DVES_3510BB:tele/tasmota2/LWT:.* LWT
DVES_3510BB:cmnd/tasmota2/POWER:.* POWER
DVES_3510BB:tele/tasmota2/INFO1:.* { json2nameValue($EVENT) }
DVES_3510BB:tele/tasmota2/INFO2:.* { json2nameValue($EVENT) }
DVES_3510BB:tele/tasmota2/INFO3:.* { json2nameValue($EVENT) }
DVES_3510BB:stat/tasmota2/RESULT:.* { json2nameValue($EVENT) }
DVES_3510BB:stat/tasmota2/POWER:.* POWER
DVES_3510BB:tele/tasmota2/STATE:.* { json2nameValue($EVENT) }
DVES_3510BB:tele/tasmota2/SENSOR:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE
   setList    on cmnd/tasmota2/POWER ON
off cmnd/tasmota2/POWER OFF
   stateFormat [$name:state]
[Gosund2_DOIF:state:r1]
| [$name:ENERGY_Current:r1] A / [$name:ENERGY_Power:r1] W
| IP: <a href='http://[$name:IPAddress]' target='_blank'>[$name:IPAddress]</a>
   userReadings state {ReadingsVal($name,"POWER","")}, Verbrauch difference {1000*ReadingsVal($name,"ENERGY_Total",0);;}

rudolfkoenig

Die erste und zweite Meldung wird dann generiert, wenn die zu der gerade bearbeiteten Netzwerkverbindung gehoerende MQTT2_SERVER kein NAME Internal mehr hat.
Das kann durch Manipulation von SNAME / NAME in FHEM Geraeten passieren, oder durch anderweitige Korruption der internen Datenstrukturen.

Da ich z.Zt. dafuer keinen Programmfehler vorstellen kann, kann ich nur dann weiterhelfen, wenn man mir einen Weg zeigt, das Problem zu reproduzieren.

Loki

Oh, dann habe ich eine Idee!

Ich habe meinen Server von m2s zu MQTT2_SERVER umbenannt mit rename...
Im Device Gosung1 steht beim Internal "LASTInputDev" und beim Attribut "IODev" noch m2s.

Zusätzlich habe noch ein verstecktes Device entdeckt, das ebernfalls auf m2s verweist:
Internals:
   BUF       
   FD         52
   NAME       m2s_192.168.178.126_60975
   NR         436522
   PEER       192.168.178.126
   PORT       60975
   SNAME      m2s
   SSL       
   STATE      Connected
   TEMPORARY  1
   TYPE       MQTT2_SERVER
   WBCallback
   cflags     238
   cid        DVES_3510BB
   keepalive  30
   lastMsgTime 1576081498.92652
   lwt        tele/tasmota2/LWT:Offline
   protoNum   4
   protoTxt   MQTT
   usr        DVES_USER
   READINGS:
     2019-12-10 17:16:57   state           Connected
   subscriptions:
     cmnd/DVES_3510BB_fb/# 1575994618.34889
     cmnd/tasmota2/# 1575994618.34868
     cmnd/tasmotas/# 1575994618.34883
Attributes:
   room       hidden

rudolfkoenig

Die versteckten Devices repräsentieren die aktuell aufgebauten Verbindungen.
Am besten alle problematischen Verbindungen entfernen mitdelete SNAME=m2s

Loki

Und schon sind alle Meldungen weg...
Die Verbindungen haben sich auch wieder korrekt neu aufgebaut. Jetzt ist die alte Bezeichnung überall weg.