Use of uninitialized value in string eq at ./FHEM/00_MQTT.pm line 505

Begonnen von aaameyer, 21 Mai 2020, 13:19:48

Vorheriges Thema - Nächstes Thema

aaameyer

Hallo @hexenmeister,
seit einigen Wochen bekomme ich im Logfile folgende Warnung:


2020.05.21 11:27:32 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/00_MQTT.pm line 505.
2020.05.21 11:27:32 1: stacktrace:
2020.05.21 11:27:32 1:     main::__ANON__                      called by ./FHEM/00_MQTT.pm (505)
2020.05.21 11:27:32 1:     MQTT::Timer                         called by ./FHEM/00_MQTT.pm (487)
2020.05.21 11:27:32 1:     MQTT::Init                          called by FHEM/DevIo.pm (253)
2020.05.21 11:27:32 1:     main::__ANON__                      called by FHEM/DevIo.pm (490)
2020.05.21 11:27:32 1:     main::DevIo_OpenDev                 called by ./FHEM/00_MQTT.pm (447)
2020.05.21 11:27:32 1:     MQTT::Start                         called by ./FHEM/00_MQTT.pm (395)
2020.05.21 11:27:32 1:     MQTT::Notify                        called by fhem.pl (3784)
2020.05.21 11:27:32 1:     main::CallFn                        called by fhem.pl (3704)
2020.05.21 11:27:32 1:     main::DoTrigger                     called by fhem.pl (664)


Da mich die Warnung etwas stört habe ich mal versucht das Problem zu beheben und konnte angefügten Patch erfolgreich auf meiner FHEM Installation testen.

Bisher habe ich noch nicht zu FHEM beigetragen, daher mein Erster Versuch nach folgender Anleitung: https://wiki.fhem.de/wiki/How_to_write_a_patch mit der Bitte meinen Patch zu prüfen und dem Master-Branch hinzuzufügen.
Grüße
Axel

amenomade

Meiner Meinung nach ist dein Patch falsch.

if(defined $hash->{".reconnectmark"} eq 1)testet nicht, ob $hash->{".reconnectmark"} ist gleich 1,
sondern ob $hash->{".reconnectmark"} definiert ist.

Das heisst, deine if Bedingung ist auch wahr, wenn $hash->{".reconnectmark"} = 0, was im Modul eine wichtige Bedeutung hat.

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Beta-User

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

hexenmeister

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy