I have a number of Zigbee lights, and some of the lights are switched on/off with the wall switch, meaning the power to the Zigbee light is cut off.
I have come to realize that this is the cause of some instability in my Zigbee network. Our evening procedure is
Lights A & B are turned on by automation - no wall switch is used.
Light C is turned on using the wall switch
Time to go to bed!
Turn off light C using the wall switch
Go to the Home Assistant panel on the wall and turn off light A and B
Actual: About 1/3 of the times, an error is thrown for either light A or B
Expected: Both light A and B are turned off without problems every time.
So, what has happened is that the zigbee network have during the evening when A, B and C have been on, decided that either A or B should use light C as the router. When power is cut to light C, the Zigbee network doesn’t realize that light C can’t act as a router and hence fails to reach light A or B.
I have verified this theory by removing light C from my Zigbee network. Then it works flawlessly.
Alternative solutions I’ve thought of:
An alternative solution would be to replace the wall switch with a zigbee switch, but that is complicated to get in place and remove the day I sell my home, and generally adds another point of failure.
Decrease the time before a node is considered as offline. This doesn’t work, since the time between cutting power to light C and trying to turn off light B and C via zigbee is a matter of seconds.
The ideal solution would be if I could configure light C to be an end node instead of a router. It seems like the Zigbee standard supports it, based on this: Silicon Labs Community but I believe ZHA doesn’t.
I thought I would share my conclusion here, in case I’m wrong, in case I’m missing some smart solution or just if someone else encounters this problem. I haven’t managed to find anyone else with this problem.
I don’t think there is a way to do this unless you can edit the firmware of the light. The only option is to switch the light with HA or zigbee commands rather than by cutting the power to it. This is an age old problem with smart bulbs and one that I have battled with. I have replaced most of my lightswitches with hacked zigbee controllers, but you are absolutely right that it is a pain point.
I’ve been hunting for a perfect device for this for a while and had no success:
Forgot to mention that light C is a Hue Lightstrip, if that makes any difference.
I did not have this problem when I used the Hue bridge, I only started seeing this problem after I ditched the Hue bridge and only relied on my Conbee II. I don’t understand how Philips managed to get around this, there must have been some cleverness in their software implementation.
Can’t speak to Hue Bridge or Conbee II. As stated above, issues with cutting power to zigbee bulbs are common.
Possibly replace the strip with an esphome/homekit/matter equivalent.
or…
Locate a better router device nearby and hope the devices prefer it as the primary route. Something like a zbdongle-p or zbdongle-e flashed with router software. I have 4 zbdongle-p’s strategically placed and virtually all devices connect through them, even though other devices could seem like a better geographical choice.
Not possible. The REAL solution is do not power off zigbee bulbs. Either use a switch that supports ‘smart bulb’ mode or otherwise disable the wall switch.
The fact that the hue hub ‘did it’ was purely happy accident and set a poor expectation on your part - that should have never worked. (I suspect the hue bulb rejoins to a hue hub faster than generic zigbee due to some proprietary hue vendor specific clusters, leading to the impresion it was OK.
If the sengled recommendation is not ok because you need the specific bulb type. Your only other recourse is to bypass the power cutoff. (which is the right answer)
Good question. Technically it can be used that way. It’s just that it’s inconvenient to turn on light C using the panel - when you realize you need light C, you’re standing next to the wall switch, and the panel is a few meters away, in another room.
Another solution alternative I realize I have is to automate the turning on of light C, using a presence sensor or similar. That way, there would be no reason to use the wall switch.