I have a button that triggers a script for bedtime to turn off all lights, and, if pressed again, checks to see if all lights are off and if so, turns a few (like the bathroom light) on.

My problem is one or two of the lights (connected via Zigbee2Mqtt) are often powered off at the switch on the lamp, meaning HA still sees them as “on” until the power is restored and they can be turned “off” via the app. The lights cannot be turned “off” (in HA) manually.

Is there any good solution for detecting when a light goes missing and turning it “off” in HA?

  • passenger@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    2 months ago

    The right answer: enable the online/offline detection in zigbee2mqtt. I forget the name of the setting though (edit: it’s called availability). This might increase power consumption on some battery devices. You can then check if devices are available in your scripts and ignore their state if not.

    It has a delay until offline state is detected, the delay can be tweaked as far as I know, but is a tradeoff with battery powered devices consumption.