zb_zdo_mgmt_leave_param_t *req = NULL;
zb_uint8_t tsn;
req->remove_children = ZB_FALSE;
req->rejoin = ZB_FALSE;
req->dst_addr = dst_addr;
tsn = zdo_mgmt_leave_req(param, leave_callback);
Hi,
Do you mean that you want to remove an end device device from the Zigbee coordinator? The device should be removed automatically from the router table automatically after a timeout period. Did you want the device to notify the network that it is leaving and should be removed before it leaves?
Best regards,
Jørgen
Hi,
Do you mean that you want to remove an end device device from the Zigbee coordinator? The device should be removed automatically from the router table automatically after a timeout period. Did you want the device to notify the network that it is leaving and should be removed before it leaves?
Best regards,
Jørgen
Yes I want to remove the device from the coordinator and that its not possible to rejoin.
What limits the device from coming back !? The statment would imply that I would need to do a new pairing if the device is disconnected for a long period. The pairing information must be stored some where. I look in the gc_addr_map when restarting to se what is paired. I can go manually in to the mapp and set that item to unused but I guess there is more to it.
I'm checking with the developers if there is any API to do this. I will get back to you as soon as I get the answer from them.
Hi,
My apologies for the long delay before my reply in this case.
In current version of the Zigbee stack there is no API to perform removal of device that cannot be communicated. As a workaround, please call zdo_mgmt_leave_req when device to be removed arrives the network (in ZB_ZDO_SIGNAL_DEVICE_ANNCE signal). This is not an optimal solution since DEVICE_ANNCE is a broadcast message and could be missed by the coordinator, but in lack of other API this is currently the best solution.
Best regards,
Jørgen