I’m finding that the 9888010100045 dongle is better suited for larger Zigbee networks than the newer ZBDongle-E. Here’s my story;
The older dongle has an issue where once or twice a month it seems to disconnect and require a restart of HA to restore ZHA. It seems (seemed) the ZBDongle-E had become established over the past year so I decided to take the chance and order it. The migration to the new dongle was seamless using the migration tool in the ZHA integration.
But post migration is where the issues started to show… There were “Out of Memory” startup errors thrown by ZHA in the logs when the integration attempted to set CONFIG_APS_UNICAST_MESSAGE_COUNT to 64. I dropped it down to 32, but eventually was able to get it to 48 after flashing one of the community firmware images. The same errors were also true when trying to set CONFIG_ROUTE_TABLE_SIZE to 32. It turns out that 26 was as high as I could get that to go without throwing an error.
The show stopper was that ZHA started off good after a restart then the system eventually stopped responding altogether. The logs were full of messages of maximum concurrency reached like these…
DEBUG (MainThread) [zigpy .application] Max concurrency (48) reached, delaying request (3144 enqueued)
Thousands of messages queued up? I also noticed commands sent to devices 20-30 minutes prior would eventually work.
It’s worth noting that I kept the both Zigbee sticks in the same location, connected by a 12 foot shielded USB cable to a USB2 port with a ferrite choke on each end. WiFi interference is ruled out a scan shows no utilization on Channel 1 (Mesh uses Zigbee ch 12).
Tonight I migrated back to the 9888010100045 dongle and the concurrency messages still intermittent but the number of mesage enqueued was usually between 1-4.
DEBUG (MainThread) [zigpy .application] Max concurrency (64) reached, delaying request (1 enqueued)
Responsiveness is still a quite a bit laggy compared to the near instant response that I saw before the migration to the ZBDongle-E, but migrating back to the 9888010100045 stick mostly solved backlogged message queue.
I think part of that is driven by the fact the older dongle can do 64 concurrent messages where the E can only do 48, but that still doesn’t explain why the backlog of message went into the thousands with the E, but never goes higher than 3-4 on the older stick.
As a disclaimer, I have 214 Zigbee devices with about 70ish Zigbee outlets reporting power usage, so the network is busy.
Curious if anyone or any of the Zigbee devs might have additional thoughts or insights.