Went from Deconz to ZHA this weekend and starting to regret it

Hi all,
I watched alot of videos and read alot of information regarding ZHA and Z2m.
And thought I would give ZHA a try. I’m using a Conbee II
But I never had so much issues.

Groups that autocreates and hijack devices.

Groups that for no reason turns on another device even though its not in the group.

Groups that cant be deleted since members cant be removed.

Groups that instantly reverts you request to light or turn of a group.

Do just answer with a you should go for z2m instead and skip the headache.

Why is ZHA behave like this?
I was under the impression that ZHA was quite ready for production. but it doesn’t seems like it.
Or have I done something wrong?

Devices are found and added to ZHA controller without any issues. But later on starts to acts up when is “finds” a group that it like to hang with…

I am a z2m guy myself, but I haven’t heard of zha behaving that way before.

I’ve used ZHA for four years ever since I started with HA and have never had those issues.

I never use zigbee groups tho.

I have had some issues with mystery group behaviour.

I do have 3 zigbee networks; ZHA, Ikea Tradfri & Xiaomi.

I have been progressively consolidating to ZHA, but some weird behaviors mostly with switches auto-switching plugs that I never set in a group.

I agre that group management is a bit clunky still in ZHA.

Is your conbeeII firmware up to date … that may help a bit.

I went from Deconz to ZHA and regretted. ZHA network starts up 100x slower than deconz and lights react slower. Often light state never seems to reach HA. I went back to deconz and it’s much better. Now that they have the new device configuration files and configuration tool, I bet it will progress much faster. Could it be that the huge speed difference is just because Deconz is C++ and ZHA is Python?

To me, it sounds as if have some previously formed Zigbee network with old configuration acting up, or?

Is it possible to reset a ConBee/RaspBee Zigbee coordinator to factory default before starting with ZHA.

First, reset it via deCONZ REST-API or zigpy-deconz and then start again with ZHA or Zigbee2MQTT?

Also of course make sure to upgrade to latest firmware ConBee/RaspBee

https://deconz.dresden-elektronik.de/deconz-firmware/

https://flemmingss.com/how-to-update-conbee-conbee-ii-firmware-in-windows-10/

I have latest firmware on the ConbeeII but it could be that there is some interferense with the old info.

Will look into resetting the device.

You doing the grouping thru yaml instead?

If I find I need groups for some reason I make them in yaml.

In my early experience with Home Assistant, my Conbee sticks didn’t play well with ZHA either. It worked great with Deconz, just not all that well with ZHA… I never dug into it as I switched to a HUSBZB-1 that I had and all was good. Recently due to the size of my Zigbee network (216 devices) I changed to the iTead USB stick with the newer EM-series chip which has been rock solid.

The OP doesn’t say how many devices, but I believe that the Conbee stack has a hard limit of like 100.

I have both ZHA and deCONZ integrations running in my Home Assistant instance. They both work well and have similar performance from what I can see. I’ve lost count of how many devices I have on ZHA (100?) and I have about a dozen on deCONZ.

For the groups issues @Letalis is seeing, it sounds like you may have residual configuration info in the devices. My understanding is that group IDs are stored locally in each device (i.e. “I’m a member of groups 1, 3, and 4) and then when a controller operates on a group, it just broadcasts the message with that group ID to all devices and they individually decide if the message was meant for them. Im not sure if group IDs are retained in the controller or whether they’re in the software only. If stored In software, that would likely explain your unexpected group behavior.

If group 1 on your deCONZ setup was, say, your kitchen lights and now with ZHA, group 1 is your bathroom lights, you could get weird behavior if your kitchen bulbs retained their membership in group 1.

Did you factory-reset all your devices before switching? Or at least delete all your groups?

1 Like

I have 67 devices at this moment.

1 Like

All devices are resetted and think i managed to remove all from the ConbeeII but if its like you mention it could be that I failed to reset the Conbee.

I did some “yaml” groups instead and that seems to be working much better.
Will do some more test.
If it still is a struggle I will do a Factory Reset once again. and change channel

It is generally recommended to not change Zigbee channel for Zigbee network as some Zigbee devices will only support join or work on a limited set of channels.

Better is to only change Wi-Fi channels of your WiFi-router and WiFi access-points instead.

Apologies for not getting back to you sooner… With 67 devices you need Source Routing enabled in ZHA. Without it the coordinator can only cache 16 device routes, and relies on route discovery to communicate with devices. This adds an extra round robin message and a lot of unneeded multicast traffic on your mesh.

Add the following to your configuration.yaml and restart HA.

# Zigbee
zha:
  zigpy_config:
    source_routing: true
    ezsp_config:
        CONFIG_SOURCE_ROUTE_TABLE_SIZE: 77
        CONFIG_NEIGHBOR_TABLE_SIZE: 16
        CONFIG_MAX_END_DEVICE_CHILDREN: 32

Adjust the CONFIG_SOURCE_ROUTE_TABLE_SIZE as your Zigbee mesh grows. I’ve sized it for 10 more devices than you currently have so allow for some growth.

That should take care of any lag issues.

5 Likes

This issue is very similar to what I posted an hour ago, or so.

Fresh install for me, migrating from a Pi to a generic x86 system, added all my devices to ZHA, and all was good until I created groups. The groups act regularly, in that I can produce the errant behavior every time, but I can’t figure out why toggling certain groups on are turning on lights outside of said group.

One additional oddity in my case, my Hue bulbs seem unaffected. 4 Hue bulbs and 16 Sengled, and only the groups of Sengled bulbs display the issue.

This seems to be exactly what happened in my case… Thank you for suggesting it!

Using empty “dummy groups” to use up the old Group IDs, and then putting the real groups in the IDs I’d never used before solved the problem instantly. It’s an ugly solution, so I may reset everything all over again, but good to know it can be done.

You could also add ALL or your devices to the dummy groups (that have the same IDs as your old groups) and then remove ALL the devices from those dummy groups.

At that point, none of your devices should respond to those group IDs. You could rename/reuse the dummy groups (that have the same IDs as you were using before) by adding just the devices you actually want in them.

Thanks srwhite.
I have added those settings into the configuration and rebootet.
So lets wait and see what happens.