Wie Zigbee-Lampen (zigbee2mqtt) nach Stromausfall ausschalten?

Begonnen von roedert, 12 Juli 2022, 12:58:15

Vorheriges Thema - Nächstes Thema

roedert

Bisher waren meine Zigbee-Leuchten als HUEdevices in FHEM eingebunden. Doch aus Kompatobilitätsgründen habe ich von HUEbridge auf Zigbee2MQTT umgestellt.
Nach einem Stromausfall oder Sicherung aus sind jedoch ein Großteil der Leuchten standardmäßig eingeschaltet - das Standard-Verhalten nach Stromausfall lässt sich in der Zigbee-Leuchte jedoch nur bei einigen Typen festlegen.

Welche Wege gäbe es nun vom FHEM aus regelmäßig zu prüfen, welche Leuchte "zu Unrecht" eingeschaltet ist?

Bei dem HUEdevice gab es im FHEM ein Internal oder Reading "desired" das den von FHEM erwarteten Status enthielt, somit konnte ich zB stündlich Abweichungen zwischen desired und Ist-Wert prüfen und entsprechend anpassen. Voraussetzung ist natürlich, dass die Zigbee-Leuchten ausschliesslich über FHEM gesteuert werden - was bei mir aber der Fall ist.

Bei dem MQTT2-Devices in FHEM gibt es dieses "desired" natürlich nicht.
Über welchen Weg habt ihr das evtl. gelöst oder wie kann ich dieses "desired" nachrüsten? ... ein set Befehl müsste also nicht nur den entsprechenden MQTT-Befehl senden, sondern den Status auch noch in einem Reading im FHEM-Device vermerken.

PS: Mit Stromausfall meine ich dass nur die Zigbee-Leuchten stromlos sind - FHEM selbst ist weiterhin aktiv.

Beta-User

Zu "desired nachrüsten" fiele mir folgendes ein:
- alle M2D-Instanzen müssen setStateList passend gesetzt haben
- "desired" wird als userReading ergänzt, getriggert durch "state:.set.o[nf]+", da kannst du dann den Zielwert (besser ohne set) reinschreiben. Rest wie gehabt, alle Stunde prüfen, ob es paßt.
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

roedert

Perfect, besten Dank! ... setStateList war das richtige Schlagwort um jeden Set-Befehl "abgreifen" zu können  ;D