End device leaving network

In my product I am using a Connectport x4 which successfully connects 10 end devices. I have a problem however because if one of the end devices needs to be replaced then the replacement never associates with the co-ordinator. I think this is down to the NC being zero as it already has 10 children. So what I need to know is how to un-associate the broken device so its replacement can take its place.
I know this can be accomplished be power cycling the co-ordinator but the physical location makes this difficult. Is there any way in code to force a timeout to make the co-ordinator “forget” that end device thus freeing up a slot?

Just removing the old end device does not remove it from the child table of the coordinator. See Chapter 3 of the XBee Pro User Manual for details on getting the end device to leave the network.

I have read that but it only talks about routers leaving the network not end devices.

The word router in the following is a typo, a copy-and-paste error:

There are a couple of mechanisms that will cause the router to leave its current PAN and attempt to discover
and join a new network based on its network joining parameter values.

This information is relevant to the end device also.

I will re-read but I don’t think this is the answer. In my situation the end device will be turned off. I need the co-ordinator the notice this and remove it from its list of children. Which would take the count down to 9 allowing a new end device to associate (my Connectport can only have 10 children).

Okay, read Chapter 7 on managing end devices:

End Device Poll Timeouts
To better support mobile end devices (end devices that can move around in a network), parent router and
coordinator devices have a poll timeout for each end device child. If an end device does not send a poll request
to its parent within the poll timeout, the parent will remove the end device from its child table. This allows the
child table on a router or coordinator to better accommodate mobile end devices in the network.

and from page 91:

The child poll timeout is settable with the SP and SN commands. SP and SN should be set such that SP * SN
matches the longest expected sleep time of any end devices in the network. The actual timeout is calculated as
(3 * SP * SN), with a minimum of 5 seconds. For networks consisting of pin sleep end devices, the SP and SN
values on the coordinator and routers should be set such that SP * SN matches the longest expected sleep
period of any pin sleep device. The 3 multiplier ensures the end device will not be removed unless 3 sleep cycles
pass without receiving a poll request. The poll timeout is settable up to a couple of months.

1 Like

You can also just issue a Global Network Reset (ATNR1) which will cause the Coordinator to drop the current child table and force a re-association to occur. Or you can just want three times the current sleep cycle and the end device will automatically be removed from the child table thus allowing the new end device to associate.

Thank you this sounds like the answer.

The end device is retain within the child table for three unsuccessful wake periods in a row. That is, if the end device is not heard from within 3 consecutive wake cycles, the child will be removed from the parent child table then allowing for a opening in the child table. The end device will also try to attempt to poll for its parent three times before it will consider its self no longer on the network and attempt a soft rejoin first. If that fails, then a full Join will occur on the end device. This is by design an per the Zigbee and 802.15.4 IEEE specifications and can’t be modified.