I have an XBee3 (fw 100A) as a coordinator for my Zigbee network and a couple of xbees as routers in my network (an S2C fw 4061 and another xbee3 fw 100A). When an end device (xiaomi humidity and temperature sensor) joins the network, the coordinator sends an API frame with the device’s 16-bit network address. However when I run a network discovery with XCTU on one of the routers, sometimes I can see that the network address for this MAC is different. For some time, the coordinator continues to receive the attribute reports from the device (with the first network address), so the device seems to function with both addresses simultaniously for the router and coordinator, but it stops sending the attribute reports shortly after (however the sensor continues to be visible to the network discovery with the second address).
I think it only happens when the end device joins the network via a router, not via coordinator. If XCTU shows the device to be connected to both router and coordinator, it shows the second address in the child table (or whatever it shows on mouse hover) for both.
I’ve just reproduced the same with 1008 firmware as well. Looks like this happens when a device rejoins the network it’s already been before. The API use old 16-bit network addresses, effectively preventing the software to bind.
From the sounds of it, the 3rd party end device is not leaving the network properly. Are you able to reproduce the issue with all of the devices being Digi XBee Zigbee modules?
Thank you for the suggestion! I will try to reproduce it with Digi XBee modules only. Does an XBee send a leave network request on CB4 command? Or is there any other way to force it leave the network improperly? Perhaps moving to a remote location first?
Meanwhile, I have just reproduced another flavor of the same issue: a third-party end device had rejoined the network via the coordinator and I can see the correct (new) network address from API on it. However the XCTU Network Discovery on one of the routers (XBee S2C) now shows an old (previous) network address of the device, and the XCTU Network discovery on the other router (XBee3) shows that the device flips network address back and forth between the old and new addresses. The network discovery also shows that the device is connected to both the coordinator and the first router.
The CB4 only does a local network reset and not a global network reset.
Moving an XBee to a location where the network is not in range should only cause it to reset the network and search for a new network to join if it is configured as an End device or if the NW is enabled. Otherwise it will not do anything.