cancel
Showing results for 
Search instead for 
Did you mean: 

Handling Multiple Devices with Zigbee STMWB55

ISLTG
Associate

Hello,

My setup is 1 coordinator/client and 6 end devices/servers. I am using unicast as I found group broadcasting to be very unreliable (even with only 1-2 device). My code is based on NVM and ls_custom examples.

I have implemented per-device ready-to-send flags (SET once received response) and ack timeouts (300ms). However, I notice that when I send to all the devices, even when they all receive, the response of one typically gets lost. My ack timeout will cause a resend so this in itself is not an issue. The issue occurs when I'm sending a sequence of information. Then, the callback typically gets flooded with timeout statuses, eventually also failure statuses (in both cases, I currently ignore these).

One implementation that helped was adding a minimum time interval (20-50ms) between sends for all devices (not per-device). However, this causes a noticeable delay between sending of device 1 and device 6. I suspect the issue might be caused by how much the custom cluster callback can be queued, and since timeouts and failures take ~6 seconds to enter the callback, this may create issues.

I have tried sending a leave request on failure and remove that device from the network (just set joined flag to RESET) so it can rejoin, however, the end device never receives the request to rejoin; I have tried using the leave req on success callback status to test, and in this case, it does receive the leave req.

Does anyone know how to properly handle multiple devices?

Help is much appreciated, and thank you!

0 REPLIES 0