Hallo,
ich habe meine Konfiguration schon seit mehreren Jahren stabil laufen, und auch wenn diese nicht 100%ig dem neuesten Konzept (MQTT2Server) entspricht bin ich eigentlich mehr als zufrieden.
Kurzum: Habe auf meinem RPi einen Mosquito Server laufen, diesen via define MQTT MQTT localhost:1883
mit FHEM verbunden.
Außerdem eine Zigbee to MQTT Bridge mit define xBridge XiaomiMQTTDevice bridge
definiert.
Heute habe ich, ehrlich gesagt sicher seit einem halben Jahr, wieder einmal ein FHEM Update gemacht -> lief soweit ich das sehen konnte problemlos durch jedoch habe ich dadurch sämtliche Zigbee2MQTTDevices verloren...
siehe Log:
PERL WARNING: Use of uninitialized value $id in hash element at ./FHEM/72_XiaomiMQTTDevice.pm line 81.
2021.06.12 08:14:57 1: define xBridge XiaomiMQTTDevice bridge: No MQTT IODev found.
2021.06.12 08:14:57 1: define TempSensorSchlafzimmer XiaomiMQTTDevice WSDCGQ11LM 0x00158d00036d3717 TempSensorSchlafzimmer zigbee2mqtt: No MQTT IODev found.
2021.06.12 08:14:57 1: define TempSensorArbeitszimmer XiaomiMQTTDevice WSDCGQ11LM 0x0015xxxx TempSensorArbeitszimmer zigbee2mqtt: No MQTT IODev found.
2021.06.12 08:14:57 1: define TempSensorWohnzimmer XiaomiMQTTDevice WSDCGQ11LM 0x00158xxxx TempSensorWohnzimmer zigbee2mqtt: No MQTT IODev found.
2021.06.12 08:14:57 1: define TempSensorBad XiaomiMQTTDevice WSDCGQ11LM 0x00xxxx TempSensorBad zigbee2mqtt: No MQTT IODev found
Kann mir bitte jemand sagen wie ich das Problem lösen kann...
Gruß und Dank aus Tirol
p.s. Zwei Geräte habe ich übrigens nicht über XiaomiMQTTDevice sondern direkt als MQTT2 Device "händisch" definiert. Diese funktionieren weiterhin problemlos (also scheint mein MQTT Server sowie zigbee2mqtt noch zu funktionieren)
https://forum.fhem.de/index.php/topic,120794.msg1153674.html#msg1153674 (https://forum.fhem.de/index.php/topic,120794.msg1153674.html#msg1153674)
liest sich nach dem Probem
Vielen Dank,
Problem gelöst....
Zitat von: chdrsto am 05 Juni 2021, 17:17:18
Hallo
Du musst die Datei /opt/fhem/FHEM/72_XiaomiMQTTDevice.pm an zwei stellen abändern:
1) Zeile 127 (bei mir zumindest):
return "No MQTT IODev found." if(!defined($main::attr{$name}{IODev}));
durch ..:
return "No MQTT IODev found." if(!defined($hash->{IODev}));
ersetzen
und:
2) Zeile 142:
return "No MQTT IODev found." if(!defined($main::attr{$ownName}{IODev}));
durch ...:
return "No MQTT IODev found." if(!defined($own_hash->{IODev}));
ersetzen