<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>How to remove the entries of node device from the routing table?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/99924/how-to-remove-the-entries-of-node-device-from-the-routing-table</link><description>Hello, 
 I am working on the project using the ZigBee stack based on nRF52840. The node device easily get connected with the coordinator device, but need to know how to remove a particular node device from the routing table in the coordinator device.</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 05 Jun 2023 07:41:21 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/99924/how-to-remove-the-entries-of-node-device-from-the-routing-table" /><item><title>RE: How to remove the entries of node device from the routing table?</title><link>https://devzone.nordicsemi.com/thread/429187?ContentTypeID=1</link><pubDate>Mon, 05 Jun 2023 07:41:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fde0280f-9e81-4ee4-89b7-10ee4489b748</guid><dc:creator>Edvin</dc:creator><description>[quote user="Radhika Singhvi"]Is there any other way to remove particular node device from the coordinator device? Can you please tell me how to modify or remove node entries from the routing table?[/quote]
&lt;p&gt;There is no API for this.&lt;/p&gt;
&lt;p&gt;I think you need to consider what you want to remove when a node leaves, and then do this from your coordinator.&lt;/p&gt;
&lt;p&gt;E.g, if you remove a bulb, you don&amp;#39;t want to remove the binding from a switch to that group, but you want to remove the node from it&amp;#39;s group. However, if it is a switch that was removed, you probably want to remove the entire binding.&lt;/p&gt;
&lt;p&gt;BR,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to remove the entries of node device from the routing table?</title><link>https://devzone.nordicsemi.com/thread/428735?ContentTypeID=1</link><pubDate>Thu, 01 Jun 2023 12:45:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2351a1bd-2e81-4c35-917f-f370e0768ac0</guid><dc:creator>Radhika Singhvi</dc:creator><description>&lt;p&gt;Hello Edvin,&lt;/p&gt;
&lt;p&gt;I used this event for node that is requested to leave to do factory reset (delete the persistent network data), using&amp;nbsp;zigbee_erase_persistent_storage().&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This API zigbee_erase_persistent_storage()&amp;nbsp;erase all node bindings which are connected with the coordinator device. I want to remove particular node device from the coordinator device. The coordinator should not erase all the nodes bindings which are connected with it.&lt;/p&gt;
&lt;p&gt;For example, if four node devices are connected with the coordinator device and one of the node device is dead (out of battery or permanent&amp;nbsp;hardware failure) &amp;nbsp;at that time the coordinator device will send leave message to node device. If I call this API zigbee_erase_persistent_storage(), it will erase all the four nodes binding from it. After the use of this API all node devices will be removed but I just want to remove particular node device which is damaged or having other failures.&lt;/p&gt;
&lt;p&gt;Is there any other way to remove particular node device from the coordinator device? Can you please tell me how to modify or remove node entries from the routing table?&lt;/p&gt;
&lt;p&gt;Best Regards,&lt;/p&gt;
&lt;p&gt;Radhika&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to remove the entries of node device from the routing table?</title><link>https://devzone.nordicsemi.com/thread/428633?ContentTypeID=1</link><pubDate>Thu, 01 Jun 2023 08:11:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:21cfb4d9-bbbc-4381-9216-d91f5922e247</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello Radhika,&lt;/p&gt;
&lt;p&gt;I believe you need to use this event in your node that is requested to leave to do a factory reset (delete the persistant network data), using&amp;nbsp;zigbee_erase_persistent_storage().&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In general, in Zigbee, when a node has entered the network, it has access to all the network data. If the device is requested to leave, but it doesn&amp;#39;t delete it&amp;#39;s network data, then there is nothing in the zigbee network to prevent it from using it&amp;#39;s already known keys to still be part of the network. I have seen this when setting up smart bulbs in my home as well. Deleting the node from the coordinator was successful, but then, a couple of minutes later when I factory reset the bulb, it then popped up a new message saying the device left the network. So I guess it is up to the implementation of each node.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So I believe what you need to implement in your coordinator is that when you remove a device from the network, then you also need to disable all bindings that this node was part of, so that the other devices knows to ignore the node that has left, in case it doesn&amp;#39;t properly leave the network. This also means that your coordinator needs to keep track of all bindings that are being enabled at all times. (typically these will be decided by the coordinator in the first place.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to remove the entries of node device from the routing table?</title><link>https://devzone.nordicsemi.com/thread/428432?ContentTypeID=1</link><pubDate>Wed, 31 May 2023 11:42:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:29d8055c-b13f-4784-baad-01cd2bba6c94</guid><dc:creator>Radhika Singhvi</dc:creator><description>&lt;p&gt;Hello Edvin,&lt;/p&gt;
&lt;p&gt;No, network is not open for rejoining, when requested it to leave. After a &lt;span&gt;network steering finish&amp;nbsp;&lt;/span&gt;(180s) from coordinator device, network left command is sent to node. After command received to node device , the node device leave the network. When node device OFF and ON, it connects to the coordinator device. The node device short network address remain same after and before leave the coordinator device.&amp;nbsp; I think it is temporarily leave the network. The node device credential/parameters do not removed from the coordinator device.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best Regards,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Radhika&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to remove the entries of node device from the routing table?</title><link>https://devzone.nordicsemi.com/thread/428342?ContentTypeID=1</link><pubDate>Wed, 31 May 2023 08:16:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eb69b3ed-3907-44d9-ba7b-c07953ce57d2</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Is the network open for rejoins at this point, when you request it to leave? Or has sufficient time passed since you started the coordinator (a couple of minutes)?&lt;/p&gt;
&lt;p&gt;BR,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to remove the entries of node device from the routing table?</title><link>https://devzone.nordicsemi.com/thread/428196?ContentTypeID=1</link><pubDate>Tue, 30 May 2023 13:50:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c4898f1a-ee31-4577-8861-4eef9075bcf8</guid><dc:creator>Radhika Singhvi</dc:creator><description>&lt;p&gt;Hello Edvin,&lt;/p&gt;
&lt;p&gt;Yes, calling from coordinator code. The callback triggered. The log which I received are below&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1685454123689v2.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;When the Node device restart again, it get connected to the coordinator device. The node device did not removed from the coordinator device after calling this API (z&lt;span&gt;do_mgmt_leave_req()&lt;/span&gt;).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to remove the entries of node device from the routing table?</title><link>https://devzone.nordicsemi.com/thread/428175?ContentTypeID=1</link><pubDate>Tue, 30 May 2023 13:11:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ba99446d-eaad-4cd3-b7fd-d66b81be5a65</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello Radhika,&lt;/p&gt;
&lt;p&gt;From where did you try to use zdo_mgmt_leave_req()? From the coordinator? Did it return anything? Did it trigger a callback? Did the log from the device that you tried to remove say anything when you called it?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to remove the entries of node device from the routing table?</title><link>https://devzone.nordicsemi.com/thread/427842?ContentTypeID=1</link><pubDate>Fri, 26 May 2023 14:12:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ae8ee693-35e3-4d36-be0d-c36b1296c3b9</guid><dc:creator>Radhika Singhvi</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I tried using this API to remove the node device, but the node device haven&amp;#39;t removed form the coordinator device.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Can you pls tell me that how to use the above API you mentioned?&lt;/p&gt;
&lt;p&gt;Best Regards,&lt;/p&gt;
&lt;p&gt;Radhika&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to remove the entries of node device from the routing table?</title><link>https://devzone.nordicsemi.com/thread/426840?ContentTypeID=1</link><pubDate>Tue, 23 May 2023 10:32:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0f804e01-4013-48d0-be84-fbcb186875ec</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Ok, in that case, you can look into the function:&lt;/p&gt;
&lt;p&gt;zigbee_erase_persistent_storage()&lt;/p&gt;
&lt;p&gt;which is used in SDK\examples\zigbee\light_control\light_bulb example&amp;#39;s main.c file.&lt;/p&gt;
&lt;p&gt;This will act as a factory reset on the device, and if you do this, it will disappear from the network eventually.&lt;/p&gt;
&lt;p&gt;I know this is not what you are asking, but nice to have a way to factory reset the device in end-products.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;There is also an API that you can use called&amp;nbsp;&lt;span&gt;zdo_mgmt_leave_req(). However, for this to succeed, the node needs to be present, and reply to this request. If the node is gone (out of battery/out of range) it will not work. In this case, you need to wait for the timeout. If you want something more swift, you need to implement this in your coordinator device. I am not sure exactly how this is done, but I imagine when you have commercial zigbee coordinators (Amazon Echo, Philips Hue Hub, etc), they have a procedure of removing it from the group, deleting bindings belonging to this device and so on. This requires the coordinator to always keep track of how the devices are connected to one another.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Edvin&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to remove the entries of node device from the routing table?</title><link>https://devzone.nordicsemi.com/thread/426336?ContentTypeID=1</link><pubDate>Fri, 19 May 2023 13:24:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0ce737ba-7bd0-494e-a5a5-bb844a4a258d</guid><dc:creator>Radhika Singhvi</dc:creator><description>&lt;p&gt;Thank you for the quick reply.&lt;/p&gt;
&lt;p&gt;Yes, I am using nRF5 SDK for Thread and ZigBee v4.2.0&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to remove the entries of node device from the routing table?</title><link>https://devzone.nordicsemi.com/thread/426335?ContentTypeID=1</link><pubDate>Fri, 19 May 2023 13:22:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:19e0a9d5-52bb-48f5-aab5-a2fd7f18b867</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;What SDK are you using? Are you using &amp;quot;nRF5 SDK for Thread and Zigbee&amp;quot;, or are you using &amp;quot;nRF Connect SDK&amp;quot; (NCS)?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>