Fehler nach Update: Can't use an undefined value as an./FHEM/00_MQTT.pm line 882

Begonnen von guergen1, 19 April 2018, 18:31:15

Vorheriges Thema - Nächstes Thema

guergen1

Hi,
habe heute Morgen ein global update gemacht. Die letzte Zeile aus dem debug lautet: "Can't use an undefined value as an ARRAY reference at ./FHEM/00_MQTT.pm line 882".
Wo soll ich ansetzen um das wieder grade zu biegen? Ich habe die Datei 00_MQTT.pm schon umbenannt, die MQTT-Devices aus der cfg zu Fuß ausgeblendet, aber dann meldet er dennoch Fehler... die MQTT-Dateien wurden nicht gepdatet; zumindest nicht lt log-file!

Das "alte Verzeichnis habe ich schon zurück gespielt, läuft aber dennoch nicht.
Kurz vorher hab ich mein Raspi zwar auch mit udgrade/(update auf die neusten Versionen geholt, aber danach startete es noch!

Ralf

guergen1

OK, kann man als "gelöst" benennen...:
Nqach dem Update wurde der Paspi neu gestartet, dadurch gab es den Fehler.
Nachdem ich alle mqtt- und Tasmota-Devices aus der cfg ausgeblendet hatte startete Fhem wieder.
Anschliessend konnte ich auf der Weboberfläche alle Mqtt- und Tasmota-Devices wieder einbinden.

FHEM nicht neu starten heisst es.... den Raspi aber auch nicht :-)

hexenmeister

Das ist aber schon sehr komisch. Steht die Definition von MQTT vor allen Definitionen von MQTT_DEVICEs und MQTT_BRIDGEs in fhem.cfg?
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

guergen1

Ja, ist alles vorhanden. Lief ja auch vor dem Raspi-Update. Läuft jetzt auch, nur nach dem Neustart muss ich alles austragen, dass Paspi neu starten und danch alles wieder eintragen....

hexenmeister

Ich muss das nachstellen können, sonst leider keine Idee. Kannst Du bitte relevante Teile von deiner Konfiguration (aus dem fhem.cfg) posten? Natürlich nach der Entfernung aller sicherheitsrelevanten Informationen.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

guergen1

Welche relevanten Teile soll ich Dir senden....?
Ich schick Dir halt alles...

Ralf

Beta-User

Bist du sicher, dass die IP des Brokers so paßt?
Zitatdefine myBroker MQTT 192.1.0.0:1883
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

guergen1

IP´s und Passwörter sowie teilweis die Ports sind geändert.
Es läuft ja! Aber nur solange bis ich den Pi oder Fhem neu starte. Dann kommt die Fehlermedlung.
Nehme dann zu Fuss die MQTT-Devices und die Tasmotas raus, neu booten, fhem.cfg wieder in den Ursprung versetzen und gut.
Aber das kann ja nicht die Lösung sein!
Ich habe jetzt grade alles mit den richtigen Adressen und Ports laufen
Meine Sonoffs loggen in die DB, Grafiken werden erstellt usw.
Ich schreibe ja: definitiv nach einem Update und immer nach dem booten kommen die Fehler und Fhem steigt aus

hexenmeister

Na da hast Du mich suchen lassen!
MQTT-Modul trifft hier nur eine Teilschuld. Es reagiert allergisch, wenn es als IODev bei einem inkompatiblen Gerät eingetragen wird. Habe kurzerhand eine Prüfung eingebaut. Das Problem liegt jedoch in der Definition von "Tablet":

define Tablet IT 000F00000F FF F0
...
...attr Tablet IODev myBroker


Finde den Fehler ;)
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

guergen1

Hab das Test-Objekt Tablet mal herausgenommen... jetzt scheint es zu laufen...
Ich hatte angefangen die IT-Steckdose über eine Bridge zu schalten, bin aber nicht komplett zum Ende gekommen.

Danke für die kompetente Hilfe!