<?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>zigbee 52840</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/80621/zigbee-52840</link><description>I want to know if I call the following function, which condition should I meet to determine that the coordinator is not connected to any terminal devices. For example, I now think that IF my ZigBee Dongle is not connected to any terminal device, I will</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 02 Nov 2021 11:20:32 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/80621/zigbee-52840" /><item><title>RE: zigbee 52840</title><link>https://devzone.nordicsemi.com/thread/337050?ContentTypeID=1</link><pubDate>Tue, 02 Nov 2021 11:20:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:be9cf794-610c-4bbf-b483-9e6539ec1480</guid><dc:creator>&amp;#216;yvind</dc:creator><description>&lt;p&gt;My apologies, I was out of office last week.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;The nRF5 SDK does not have this and users are expected to implement this themselves. Our expert respondes:&lt;/p&gt;
&lt;div&gt;&lt;em&gt;The neighbors of the device are stored in a neighbor table, gc_neighbor. By iterating through this table you get all of the device&amp;#39;s neighbors. If the device does not have any neighbors in the neighbor table, then there are no other devices on the network that are in range of the device. If it has neighbors, but their state is stale, then they were on the network and in range, but are not anymore.&lt;/em&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;em&gt;This is very simple and may not be exactly what you want, but it shows how to use the neighbor table to see if there are other devices on the network (in range of the device), and they can use this as a starting point. &lt;/em&gt;&lt;/div&gt;
&lt;div&gt;&lt;em&gt;&lt;/em&gt;&lt;/div&gt;
&lt;div&gt;&lt;em&gt;Calling this function will simply print the entries in the neighbor table.&lt;/em&gt;&lt;/div&gt;
&lt;div&gt;&lt;em&gt;&lt;/em&gt;&lt;/div&gt;
&lt;div&gt;&lt;em&gt;For end devices you have something called end device timeout. This is something the end device itself sets (with zb_set_ed_timeout in nRF5 SDK), and the end device informs its parent of this timeout, such that the parent will delete the child entry from the neighbor table if the end device has not communicated with the parent in the amount of time specified by the end device timeout. When it has timed out, the end device will be removed from the neighbor table.&lt;/em&gt;&lt;/div&gt;
&lt;div&gt;&lt;em&gt;Routers and coordinators are not removed from the neighbor table, but you can find that the entry is stale by looking at the outgoing cost of the entry in the neighbor table. Normally, the cost of an outgoing link is 1-7. However, if a neighbor entry is considered stale, then this cost will be set to 0. Since the entries are not removed, you will have to handle stale entries in some way.&lt;/em&gt;&lt;/div&gt;
&lt;div&gt;&lt;em&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;/* Get neighbor table */
static zb_void_t get_neighbors()
{
    uint32_t i;
    zb_uint16_t addr;
    for (i = 0; i &amp;lt; gc_neighbor_table_size; i++)
    {
        /* If gc_neighbor[i].used is 0, the entry is not used */
        /* If gc_neighbor[i].ext_neighbor is 1, this is ext neighbor record, else base neighbor */
        if ((gc_neighbor[i].used == 0) ||
            (gc_neighbor[i].ext_neighbor != 0))
        {
            continue;
        }
        
        zb_address_short_by_ref(&amp;amp;addr, gc_neighbor[i].u.base.addr_ref);
        NRF_LOG_INFO(&amp;quot;short_addr: 0x%04x&amp;quot;, addr);
        switch (gc_neighbor[i].device_type) {
            case ZB_NWK_DEVICE_TYPE_COORDINATOR:
                NRF_LOG_INFO(&amp;quot;device type: ZC &amp;quot;);
                break;
 
            case ZB_NWK_DEVICE_TYPE_ROUTER:
                NRF_LOG_INFO(&amp;quot;device type: ZR  &amp;quot;);
                break;
 
            case ZB_NWK_DEVICE_TYPE_ED:
                NRF_LOG_INFO(&amp;quot;device type: ZED &amp;quot;);
                break;
 
            default:
                NRF_LOG_INFO(&amp;quot;device type: ??? &amp;quot;);
                break;
        }
        if (gc_neighbor[i].device_type != ZB_NWK_DEVICE_TYPE_ED)
        {
            /* The number of nwkLinkStatusPeriod intervals since a link status command was received */
            NRF_LOG_INFO(&amp;quot;age: %03u &amp;quot;, gc_neighbor[i].u.base.age);
        }
        else
        {
            /* Time left of ED timeout */
            zb_time_t exp_time = ZB_TIME_SUBTRACT(gc_neighbor[i].u.base.time_to_expire, ZB_TIMER_GET());
            NRF_LOG_INFO(&amp;quot;timeout: %07u&amp;quot;, ZB_TIME_BEACON_INTERVAL_TO_MSEC(exp_time) / 1000);
        }
        if ((gc_neighbor[i].device_type != ZB_NWK_DEVICE_TYPE_ED) &amp;amp;&amp;amp;
            (gc_neighbor[i].u.base.outgoing_cost == 0))
        {   /* Outgoing cost of router or coordinator neighbor entry being 0 means the entry is stale */
            NRF_LOG_INFO(&amp;quot;[STALE]&amp;quot;);
        }
    }
}&lt;/pre&gt;&lt;/em&gt;&lt;/div&gt;
&lt;div&gt;&lt;em&gt;&lt;/em&gt;&lt;/div&gt;
&lt;div&gt;Kind regards,&lt;br /&gt;Øyvind&lt;/div&gt;
&lt;div&gt;&lt;em&gt;&lt;/em&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: zigbee 52840</title><link>https://devzone.nordicsemi.com/thread/335899?ContentTypeID=1</link><pubDate>Tue, 26 Oct 2021 09:32:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b40f707d-86b4-4d80-945c-6454a92c7d8b</guid><dc:creator>chenyupeng</dc:creator><description>&lt;p&gt;&lt;span&gt;hi,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I hope to get your reply as soon as possible. Based on this problem, if there is no zb_zdo_app_signal_type_t signal, I hope you can add this missing API for our subsequent development &amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: zigbee 52840</title><link>https://devzone.nordicsemi.com/thread/335003?ContentTypeID=1</link><pubDate>Wed, 20 Oct 2021 08:10:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a20201f9-c9be-41f8-b184-65a0a364432f</guid><dc:creator>chenyupeng</dc:creator><description>&lt;p&gt;hi，&lt;/p&gt;
&lt;p&gt;&lt;span class="transSent"&gt;&lt;span&gt;I probably understand what you mean. If my Dongle is ZC, there is no API in the code that can represent the state of all devices being off the network. Can we write this API ourselves?&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="transSent"&gt;&lt;span&gt; I was hoping you could help me &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: zigbee 52840</title><link>https://devzone.nordicsemi.com/thread/334950?ContentTypeID=1</link><pubDate>Tue, 19 Oct 2021 19:57:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2b79e642-9bf0-4612-9ad6-ef13ab75d894</guid><dc:creator>&amp;#216;yvind</dc:creator><description>&lt;p&gt;Hello,&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve gotten some help from our experts:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;If the Dongle is the coordinator, then there is no zb_zdo_app_signal_type_t signal for this. If the device is a router or end device they should get the signal ZB_NWK_SIGNAL_NO_ACTIVE_LINKS_LEFT when there are no other routers or coordinator in the network, but a router will get this signal even if there are end devices in the network. They can find the signals in external\zboss\include\zboss_api_zdo.h.&lt;/div&gt;
&lt;div&gt;For a coordinator they would have to implement some logic to check whether there are nodes on the network. I am not sure what the best way to do this would be, but I can think of two possible methods. One way is to check the Dongle&amp;#39;s neighbor table. They can get the neighbour table using the CLI command &amp;quot;zdo mgmt_lqi 0x0000&amp;quot; or the function zb_zdo_mgmt_lqi_req(). However, the customer should be aware that stale nodes are not automatically removed in the neighbor table, but there are ways to mark them as stale. The following simple snippet can be placed in &lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;zigbee_cli_cmd_zdo.c &lt;/span&gt;and&amp;nbsp;read the internal neighbor table through&amp;nbsp;&lt;tt&gt;zdo neighbors&lt;/tt&gt;&amp;nbsp;command:&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;/**
 * @brief Prints all entries of the neighbor table.
 *
 * @code
 * zdo neighbors
 * @endcode
 *
 * Example:
 * @code
 * zdo neighbors
 * @endcode
 */
static void cmd_zb_neighbors(nrf_cli_t const * p_cli, size_t argc, char **argv)
{
    uint32_t i;
    zb_ieee_addr_t ieee_addr;
    zb_uint16_t addr;
 
    if ((argc &amp;gt; 1) || (nrf_cli_help_requested(p_cli)))
    {
        print_usage(p_cli, argv[0], &amp;quot;&amp;quot;);
        return;
    }
 
    nrf_cli_fprintf(p_cli,
                    NRF_CLI_NORMAL,
                    &amp;quot;\r\n[idx] &amp;quot;
                    &amp;quot;ext_addr         &amp;quot;
                    &amp;quot;short_addr &amp;quot;
                    &amp;quot;type &amp;quot;
                    &amp;quot;sleepy &amp;quot;
                    &amp;quot;lqi &amp;quot;
                    &amp;quot;age &amp;quot;
                    &amp;quot;timeout &amp;quot;
                    &amp;quot;relationship\r\n&amp;quot;);
 
    for (i = 0; i &amp;lt; gc_neighbor_table_size; i++)
    {
        if ((gc_neighbor[i].used == 0) ||
            (gc_neighbor[i].ext_neighbor != 0))
        {
            continue;
        }
 
        nrf_cli_fprintf(p_cli, NRF_CLI_NORMAL, &amp;quot;[%3u] &amp;quot;, i);
 
        zb_address_ieee_by_ref(ieee_addr, gc_neighbor[i].u.base.addr_ref);
        print_eui64(p_cli, ieee_addr);
 
        zb_address_short_by_ref(&amp;amp;addr, gc_neighbor[i].u.base.addr_ref);
        nrf_cli_fprintf(p_cli, NRF_CLI_NORMAL, &amp;quot; 0x%04x    &amp;quot;, addr);
 
        switch (gc_neighbor[i].device_type) {
            case ZB_NWK_DEVICE_TYPE_COORDINATOR:
                nrf_cli_fprintf(p_cli, NRF_CLI_NORMAL, &amp;quot; ZC  &amp;quot;);
                break;
 
            case ZB_NWK_DEVICE_TYPE_ROUTER:
                nrf_cli_fprintf(p_cli, NRF_CLI_NORMAL, &amp;quot; ZR  &amp;quot;);
                break;
 
            case ZB_NWK_DEVICE_TYPE_ED:
                nrf_cli_fprintf(p_cli, NRF_CLI_NORMAL, &amp;quot; ZED &amp;quot;);
                break;
 
            default:
                nrf_cli_fprintf(p_cli, NRF_CLI_NORMAL, &amp;quot; ??? &amp;quot;);
                break;
        }
 
        if (gc_neighbor[i].rx_on_when_idle)
        {
            nrf_cli_fprintf(p_cli, NRF_CLI_NORMAL, &amp;quot; false &amp;quot;);
        }
        else
        {
            nrf_cli_fprintf(p_cli, NRF_CLI_NORMAL, &amp;quot; true  &amp;quot;);
        }
 
        nrf_cli_fprintf(p_cli, NRF_CLI_NORMAL, &amp;quot; %03u&amp;quot;, gc_neighbor[i].lqi);
 
        if (gc_neighbor[i].device_type != ZB_NWK_DEVICE_TYPE_ED)
        {
            nrf_cli_fprintf(p_cli, NRF_CLI_NORMAL, &amp;quot; %03u  ---   &amp;quot;, gc_neighbor[i].u.base.age);
        }
        else
        {
            zb_time_t exp_time = ZB_TIME_SUBTRACT(gc_neighbor[i].u.base.time_to_expire, ZB_TIMER_GET());
            nrf_cli_fprintf(p_cli, NRF_CLI_NORMAL, &amp;quot; --- %07u&amp;quot;, ZB_TIME_BEACON_INTERVAL_TO_MSEC(exp_time) / 1000);
        }
 
        switch (gc_neighbor[i].relationship) {
            case 0x00:
                nrf_cli_fprintf(p_cli, NRF_CLI_NORMAL, &amp;quot; parent&amp;quot;);
                break;
 
            case 0x01:
                nrf_cli_fprintf(p_cli, NRF_CLI_NORMAL, &amp;quot; child&amp;quot;);
                break;
 
            case 0x02:
                nrf_cli_fprintf(p_cli, NRF_CLI_NORMAL, &amp;quot; sibling&amp;quot;);
                break;
 
            case 0x03:
                nrf_cli_fprintf(p_cli, NRF_CLI_NORMAL, &amp;quot; none&amp;quot;);
                break;
 
            case 0x04:
                nrf_cli_fprintf(p_cli, NRF_CLI_NORMAL, &amp;quot; previous child&amp;quot;);
                break;
 
            case 0x05:
                nrf_cli_fprintf(p_cli, NRF_CLI_NORMAL, &amp;quot; unauthenticated child&amp;quot;);
                break;
 
            default:
                nrf_cli_fprintf(p_cli, NRF_CLI_NORMAL, &amp;quot; unknown&amp;quot;);
                break;
        }
 
        if ((gc_neighbor[i].device_type != ZB_NWK_DEVICE_TYPE_ED) &amp;amp;&amp;amp;
            (gc_neighbor[i].u.base.outgoing_cost == 0))
        {
            nrf_cli_fprintf(p_cli, NRF_CLI_NORMAL, &amp;quot; [STALE]\r\n&amp;quot;);
        }
        else
        {
            nrf_cli_fprintf(p_cli, NRF_CLI_NORMAL, &amp;quot;\r\n&amp;quot;);
        }
    }
 
    print_done(p_cli, ZB_TRUE);
}
...
    NRF_CLI_CMD(neighbors, NULL, &amp;quot;lists all entries from the neighbor table&amp;quot;, cmd_zb_neighbors),
    NRF_CLI_SUBCMD_SET_END
};&lt;/pre&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;Example output&amp;nbsp;&lt;span&gt;for an aged-out router (ZC in this case):&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;pre class="ui-code" data-mode="powershell"&gt;&amp;gt; zdo neighbors
 
[idx] ext_addr         short_addr type sleepy lqi age timeout relationship
[  0] f4ce36aaaaaaaaaa 0x0000     ZC   false  255 003  ---    parent [STALE]&lt;/pre&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;If all nodes are stale, then there are no nodes in range of the Dongle anymore.&lt;/div&gt;
&lt;div&gt;&lt;hr /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;The other way is to send a match descriptor request. This finds nodes with specific clusters, and all devices shall have the Basic cluster implemented, so sending a match descriptor request with the Basic cluster should return all devices in the network in range of the Dongle. They can do this by either sending the CLI command &amp;quot;zdo match_desc&amp;quot; with address set to broadcast (0xffff) and cluster 0, or by using the function zb_zdo_match_desc_req().&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr /&gt;
&lt;p&gt;An application signal is described with the following parameters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Signal ID – see the enumeration &lt;a title="https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/group__zb__comm__signals.html#ga0cc1e5b86eb76f9d1ca09011c6fe245a" href="https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/group__zb__comm__signals.html#ga0cc1e5b86eb76f9d1ca09011c6fe245a" rel="noopener noreferrer" target="_blank"&gt;zb_zdo_app_signal_type_e&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Signal status – the API &lt;a title="https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/group__zb__comm__signals.html#ga92b8d5cdf1c243e1c47e72fbd0e14083" href="https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/group__zb__comm__signals.html#ga92b8d5cdf1c243e1c47e72fbd0e14083" rel="noopener noreferrer" target="_blank"&gt;ZB_GET_APP_SIGNAL_STATUS()&lt;/a&gt; is used to get the status.&lt;/li&gt;
&lt;li&gt;Signal specific parameters – these are optionally provided for some signals; to see which parameters correspond to an event, see the description of the enumeration &lt;a title="https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/group__zb__comm__signals.html#ga0cc1e5b86eb76f9d1ca09011c6fe245a" href="https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/group__zb__comm__signals.html#ga0cc1e5b86eb76f9d1ca09011c6fe245a" rel="noopener noreferrer" target="_blank"&gt;zb_zdo_app_signal_type_e&lt;/a&gt; in &lt;a title="https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/group__api__zb.html" href="https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/group__api__zb.html" rel="noopener noreferrer" target="_blank"&gt;Zigbee stack API&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To get the signal description, the application calls &lt;a title="https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/group__zb__comm__signals.html#ga03ab4c87fbcc7cf8e12bbfa9cb8a3be6" href="https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/group__zb__comm__signals.html#ga03ab4c87fbcc7cf8e12bbfa9cb8a3be6" rel="noopener noreferrer" target="_blank"&gt;zb_get_app_signal()&lt;/a&gt;. For example:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;zb_zdo_app_signal_t &lt;a title="https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/group__zb__comm__signals.html#ga03ab4c87fbcc7cf8e12bbfa9cb8a3be6" href="https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/group__zb__comm__signals.html#ga03ab4c87fbcc7cf8e12bbfa9cb8a3be6" rel="noopener noreferrer" target="_blank"&gt;zb_get_app_signal&lt;/a&gt;(&lt;a title="https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/group__base__types.html#gaa82a9657ef11a3947586065cf8066256" href="https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/group__base__types.html#gaa82a9657ef11a3947586065cf8066256" rel="noopener noreferrer" target="_blank"&gt;zb_uint8_t&lt;/a&gt; param, &lt;a title="https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/structzb__zdo__app__signal__hdr__s.html" href="https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/structzb__zdo__app__signal__hdr__s.html" rel="noopener noreferrer" target="_blank"&gt;zb_zdo_app_signal_hdr_t&lt;/a&gt; **p_sg_p);&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Where:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;param&lt;/code&gt; is the reference to a memory buffer,&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ev_p&lt;/code&gt; is the pointer to store the extended event info; can be &lt;code&gt;NULL&lt;/code&gt;. The function returns an ID of the application signal.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;Have a&amp;nbsp;look into the signal id zb_zdo_app_signal_t for an overview of signal types:&lt;/div&gt;
&lt;div&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/5187.pastedimage1634673432685v1.png" alt=" " /&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;Kind regards,&lt;br /&gt;Øyvind&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: zigbee 52840</title><link>https://devzone.nordicsemi.com/thread/334024?ContentTypeID=1</link><pubDate>Thu, 14 Oct 2021 02:46:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:660cf917-d980-40cd-af94-6811cbbd5888</guid><dc:creator>chenyupeng</dc:creator><description>&lt;p&gt;hi,&lt;/p&gt;
&lt;p&gt;&lt;span class="transSent"&gt;&lt;span&gt;The Zigbee Dongle is connected to multiple terminal devices, which are disconnected from the Zigbee Dongle if they have all gone offline.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="transSent"&gt;&lt;span&gt; How this state is represented in the code, in other words, what function is called in the code under this path to indicate that there is no device connected in &amp;quot;Zigbee Dongle&amp;quot;. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="transSent"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="transSent"&gt;\examples\zigbee\experimental\cli\cli_agent_router&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="transSent"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="transSent"&gt;&lt;span&gt;My guess is that it has something to do with this function &amp;quot;zb_get_app_signal&amp;quot;, but I can&amp;#39;t find a definition for this function.&amp;nbsp;&lt;/span&gt;&lt;span class="transSent highlight"&gt;&lt;span&gt; What other function can determine that no devices are connected to the network in ZigBee Dongle &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="transSent"&gt;&lt;span class="transSent highlight"&gt;thank you.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: zigbee 52840</title><link>https://devzone.nordicsemi.com/thread/333989?ContentTypeID=1</link><pubDate>Wed, 13 Oct 2021 15:03:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:39bc1efa-1e01-4906-bf29-5a187b9e08c5</guid><dc:creator>&amp;#216;yvind</dc:creator><description>&lt;p&gt;Hello,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I&amp;#39;m not sure what you are asking. What SDK are you using?&lt;/p&gt;
&lt;p&gt;Please provide more information.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Thank you.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Kind regards,&lt;br /&gt;Øyvind&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>