<?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 Retrieve Supported Cluster List from a Zigbee End Device?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/116931/how-to-retrieve-supported-cluster-list-from-a-zigbee-end-device</link><description>Hi, 
 How can I retrieve the complete list of supported input and output clusters for all endpoints on a Zigbee end device? I&amp;#39;m currently able to access the On/Off cluster for a plug, but I need to get the full list of supported clusters for the device</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 03 Dec 2024 12:27:26 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/116931/how-to-retrieve-supported-cluster-list-from-a-zigbee-end-device" /><item><title>RE: How to Retrieve Supported Cluster List from a Zigbee End Device?</title><link>https://devzone.nordicsemi.com/thread/513197?ContentTypeID=1</link><pubDate>Tue, 03 Dec 2024 12:27:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:53933464-b466-4b4c-928a-7db056875ab9</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;To get all endpoints you can send an Active Endpoint request using &lt;a href="https://ncsdoc.z6.web.core.windows.net/zboss/3.11.4.0/group__zdo__disc.html#ga0b5c9e417d29f287995177ced2bff903"&gt;zb_zdo_active_ep_req()&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to Retrieve Supported Cluster List from a Zigbee End Device?</title><link>https://devzone.nordicsemi.com/thread/513182?ContentTypeID=1</link><pubDate>Tue, 03 Dec 2024 11:41:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f5cca1a0-5ef3-4cb3-b0b4-d7863d0eb46a</guid><dc:creator>Dalvadi Anil</dc:creator><description>&lt;p&gt;Hi i able to get cluster list using this example but how to get device endpoint&amp;nbsp;currenlty i am using 1&amp;nbsp;for endppint and device short address for&amp;nbsp;nwk_addr&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to Retrieve Supported Cluster List from a Zigbee End Device?</title><link>https://devzone.nordicsemi.com/thread/513166?ContentTypeID=1</link><pubDate>Tue, 03 Dec 2024 10:39:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4dc017b6-2a6d-4d33-8028-f9be1fba3e5f</guid><dc:creator>Dalvadi Anil</dc:creator><description>&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;static void send_simple_desc_req(zb_bufid_t buf)
{
  if (!buf)
  {
    zb_buf_get_out_delayed(send_simple_desc_req);
  }
  else
  {
    zb_zdo_simple_desc_req_t *req;
    req = zb_buf_initial_alloc(buf, sizeof(zb_zdo_simple_desc_req_t));
    req-&amp;gt;nwk_addr = 0; /* send to coordinator */
    req-&amp;gt;endpoint = 5;
    zb_zdo_simple_desc_req(buf, simple_desc_callback);
  }
}


static void simple_desc_callback(zb_bufid_t buf)
{
  zb_uint8_t *zdp_cmd = zb_buf_begin(buf);
  zb_zdo_simple_desc_resp_t *resp = (zb_zdo_simple_desc_resp_t*)(zdp_cmd);
  zb_uint_t i;
 
  TRACE_MSG(TRACE_APS1, &amp;quot;simple_desc_resp: status %hd, addr 0x%x&amp;quot;,
            (FMT__H, resp-&amp;gt;hdr.status, resp-&amp;gt;hdr.nwk_addr));
  if (resp-&amp;gt;hdr.status != ZB_ZDP_STATUS_SUCCESS || resp-&amp;gt;hdr.nwk_addr != 0x0)
  {
    TRACE_MSG(TRACE_APS1, &amp;quot;Error incorrect status/addr&amp;quot;, (FMT__0));
  }
 
  TRACE_MSG(TRACE_APS1, &amp;quot;simple_desc_resp: ep %hd, app prof %d, dev id %d, dev ver %hd, input count 0x%hx, output count 0x%hx&amp;quot;,
            (FMT__H_D_D_H_H_H, resp-&amp;gt;simple_desc.endpoint, resp-&amp;gt;simple_desc.app_profile_id,
             resp-&amp;gt;simple_desc.app_device_id, resp-&amp;gt;simple_desc.app_device_version,
             resp-&amp;gt;simple_desc.app_input_cluster_count, resp-&amp;gt;simple_desc.app_output_cluster_count));
 
  TRACE_MSG(TRACE_APS1, &amp;quot;simple_desc_resp: clusters:&amp;quot;, (FMT__0));
  for(i = 0; i &amp;lt; resp-&amp;gt;simple_desc.app_input_cluster_count + resp-&amp;gt;simple_desc.app_output_cluster_count; i++)
  {
    TRACE_MSG(TRACE_APS1, &amp;quot; 0x%hx&amp;quot;, (FMT__H, *(resp-&amp;gt;simple_desc.app_cluster_list + i)));
  }&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I used this example but not worked nrf restarted and getting below error&lt;/p&gt;
&lt;p&gt;[00:00:05.834,136] &amp;lt;inf&amp;gt; app: 0&lt;br /&gt;[00:00:05.878,356] &amp;lt;err&amp;gt; zboss_osif: ZBOSS fatal error occurred&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>