<?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>QUERY - [nRF52840][ZIGBEE] getting issue with reporting attribute while sending Temperature Measurement Value From Bulb To switch?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/113099/query---nrf52840-zigbee-getting-issue-with-reporting-attribute-while-sending-temperature-measurement-value-from-bulb-to-switch</link><description>Hello Team, 
 I am using nrf52840 board which supports ZIGBEE . Setup Details: Zigbee_LIGHT_BULB (nRF52840 DK) Zigbee_LIGHT_SWITCH(nRF52840 DK) 
 Light Bulb Example 
 I am currently implementing the Temperature Measurement Cluster in the Light Bulb example</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 06 Aug 2024 11:56:10 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/113099/query---nrf52840-zigbee-getting-issue-with-reporting-attribute-while-sending-temperature-measurement-value-from-bulb-to-switch" /><item><title>RE: QUERY - [nRF52840][ZIGBEE] getting issue with reporting attribute while sending Temperature Measurement Value From Bulb To switch?</title><link>https://devzone.nordicsemi.com/thread/497145?ContentTypeID=1</link><pubDate>Tue, 06 Aug 2024 11:56:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:02b309d6-a46e-4b8d-9a67-71173c7f366f</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;Hi Deepika B.&lt;/p&gt;
[quote user="Deepu Prashanth"]For Developing the code i am Using nRFSDK v2.2.0.[/quote]
&lt;p&gt;This is good to know, thank you. Is there any particular reason that you are not using a more recent version like NCS v2.7.0 or v2.6.1? &lt;/p&gt;
[quote user="Deepu Prashanth"]and is there any another way to get temperature value from Bulb(EndDevice) using Report Attribute?[/quote]
&lt;p&gt;Another way to get the data from the light bulb is to send an attribute request from the light switch every time you want to read the temperature value. This does not require a binding. &lt;/p&gt;
[quote user="Deepu Prashanth"]1. In this case, once switch found the bulb then we can communicate directly with bulb Without &lt;strong&gt;Bind_Req&lt;/strong&gt; right ? and if switch found bulb then we can receive temperature data without &lt;strong&gt;Bind_Req&lt;/strong&gt; also right?[/quote]
&lt;p&gt;The switch can communicate with the bulb as long as you have the endpoint and short address. If you send an attribute request the binding is not required. You do need to set up a binding to enable attribute reporting though.&lt;/p&gt;
[quote user="Deepu Prashanth"]After using modified code also still i am getting same&lt;strong&gt; Status 132.&lt;/strong&gt;[/quote]
&lt;p&gt;Please verify that the temperature cluster is supported on your light bulb by using the &lt;a href="https://docs.nordicsemi.com/bundle/ncs-2.2.0/page/nrf/libraries/zigbee/shell.html#zdo_simpledescreq"&gt;zdo_simple_desc_req&lt;/a&gt; command in a shell and finding 0x0402 in the out_clusters list.&lt;/p&gt;
&lt;p&gt;Build and flash the Zigbee shell sample to an nRF5x DK of your choice. Connect the shell device to &lt;a href="https://docs.nordicsemi.com/bundle/ncs-2.2.0/page/nrf/samples/zigbee/shell/README.html#available-shell-interfaces"&gt;a supported serial terminal&lt;/a&gt;. Run the shell commands below on the zigbee shell device. Restart the light bulb after starting the network (bdb start). &lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;code&gt;bdb role zc&lt;/code&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;code&gt;bdb start&lt;/code&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;code&gt;zdo simple_desc_req &lt;em&gt;0x2325&lt;/em&gt; &lt;em&gt;10&lt;/em&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;I inferred the address and endpoint from previous replies. Please correct them if they are incorrect.&lt;/p&gt;
&lt;p&gt;If the temperature measurement cluster is not in the out_clusters list, it is not supported on the light bulb and I will help to find out why that is and what we can do.&lt;/p&gt;
&lt;p&gt;If you find the temperature measurement cluster in the out_clusters list, please do a sniffer trace of your network and share the capture as a .pcap file here (insert-&amp;gt;Image/video/file). See the &lt;a href="https://docs.nordicsemi.com/bundle/ug_sniffer_802154/page/UG/sniffer_802154/intro_802154.html"&gt;nRF Sniffer for 802.15.4 user guide&lt;/a&gt; if you are unfamiliar.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Maria&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: QUERY - [nRF52840][ZIGBEE] getting issue with reporting attribute while sending Temperature Measurement Value From Bulb To switch?</title><link>https://devzone.nordicsemi.com/thread/496646?ContentTypeID=1</link><pubDate>Thu, 01 Aug 2024 13:27:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e9ee454f-164c-4c81-a6fe-426ee93b61c8</guid><dc:creator>Deepu Prashanth</dc:creator><description>&lt;p&gt;Hi Maria,&lt;br /&gt;&lt;br /&gt;For Developing the code i am Using nRFSDK v2.2.0.&lt;br /&gt;&lt;br /&gt;After using modified code also still i am getting same&lt;strong&gt; Status 132.&lt;br /&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;LIGHT_SWITCH EXAMPLE 



// Define the IEEE address of the source device (end device)
static zb_ieee_addr_t arr1 = { 0x00, 0x12, 0x4B, 0x00, 0x0A, 0x12, 0x34, 0x56 };

int SendBindReq()
{
    zb_ret_t zb_err_code;
    zb_err_code = (zb_buf_get_out_delayed(send_bind_req));
    if (!zb_err_code)
    {
        LOG_DBG(&amp;quot;Buffer is full&amp;quot;);
    }
    else
    {
        LOG_INF(&amp;quot;SendBindReq: Buffer obtained successfully.&amp;quot;);
    }
    return zb_err_code;
}

void send_bind_req(zb_uint8_t param)
{
    zb_bufid_t buf = param;
    zb_zdo_bind_req_param_t *req;
    
    LOG_INF(&amp;quot;send_bind_req: &amp;gt;&amp;gt; bind_device param %hd&amp;quot;, param);

    req = ZB_BUF_GET_PARAM(buf, zb_zdo_bind_req_param_t);
	ZB_MEMCPY(req-&amp;gt;src_address, arr1, sizeof(zb_ieee_addr_t));    
	req-&amp;gt;src_endp = bulb_ctx.endpoint;
    req-&amp;gt;cluster_id = ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT;  // Correct cluster ID
    req-&amp;gt;dst_addr_mode = ZB_APS_ADDR_MODE_64_ENDP_PRESENT;
    req-&amp;gt;dst_endp = LIGHT_SWITCH_ENDPOINT;
    req-&amp;gt;req_dst_addr = bulb_ctx.short_addr;

	 // Store parameters in the global structure
    bind_req_params.src_endp = bulb_ctx.endpoint;
    bind_req_params.dst_endp = LIGHT_SWITCH_ENDPOINT;
    //bind_req_params.src_address = arr1;
    bind_req_params.cluster_id = ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT;
    bind_req_params.req_dst_addr = bulb_ctx.short_addr;
    
    
    LOG_INF(&amp;quot;send_bind_req: Sending bind request to endpoint %d with cluster ID 0x%04x&amp;quot;, req-&amp;gt;dst_endp, req-&amp;gt;cluster_id);
    
    zb_zdo_bind_req(param, zb_bind_callback);
    
    LOG_INF(&amp;quot;send_bind_req: &amp;lt;&amp;lt; bind_device&amp;quot;);
}

void zb_bind_callback(zb_uint8_t param)
{
    zb_bufid_t buf = param;
    zb_zdo_bind_resp_t *bind_resp = (zb_zdo_bind_resp_t*)zb_buf_begin(buf);
	//zb_zdo_bind_req_param_t *req;

     if (param)
    {
        LOG_INF(&amp;quot;zb_bind_callback: Bind response received&amp;quot;);
        LOG_INF(&amp;quot;zb_bind_callback: Status %hd&amp;quot;, bind_resp-&amp;gt;status);
        if (bind_resp-&amp;gt;status != ZB_ZDP_STATUS_SUCCESS)
        {
            // Additional information on the bind request context
            LOG_INF(&amp;quot;zb_bind_callback: Status indicates an error or specific condition.&amp;quot;);
        }
        LOG_INF(&amp;quot;zb_bind_callback: Dst Address %d&amp;quot;, bind_req_params.req_dst_addr);
        //LOG_INF(&amp;quot;zb_bind_callback: Src Endpoint %d&amp;quot;, bind_req_params.src_endp);
        LOG_INF(&amp;quot;zb_bind_callback: Dst Endpoint %d&amp;quot;, bind_req_params.dst_endp);
		LOG_INF(&amp;quot;zb_bind_callback: Src Addr %d&amp;quot;,  bind_req_params.src_address);
        zb_buf_free(buf);
    }
    else
    {
        LOG_ERR(&amp;quot;zb_bind_callback: Bind response error, param is 0&amp;quot;);
    }
}
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;and i called&lt;strong&gt; SendBindReq&lt;/strong&gt; Function in &lt;strong&gt;Find_Light_Bulb_cb&lt;/strong&gt; Function because i want bind when the switch found Bulb(EndDevice).&lt;br /&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;
/**@brief Callback function receiving finding procedure results.
 *
 * @param[in]   bufid   Reference to Zigbee stack buffer used to pass
 *                      received data.
 */
static void find_light_bulb_cb(zb_bufid_t bufid)
{
	/* Get the beginning of the response. */
	zb_zdo_match_desc_resp_t *resp =
		(zb_zdo_match_desc_resp_t *) zb_buf_begin(bufid);
	/* Get the pointer to the parameters buffer, which stores APS layer
	 * response.
	 */
	zb_apsde_data_indication_t *ind = ZB_BUF_GET_PARAM(bufid,
							   zb_apsde_data_indication_t);
	zb_uint8_t *match_ep;

	if ((resp-&amp;gt;status == ZB_ZDP_STATUS_SUCCESS) &amp;amp;&amp;amp;
	    (resp-&amp;gt;match_len &amp;gt; 0) &amp;amp;&amp;amp;
	    (bulb_ctx.short_addr == 0xFFFF)) {

		/* Match EP list follows right after response header. */
		match_ep = (zb_uint8_t *)(resp + 1);

		/* We are searching for exact cluster, so only 1 EP
		 * may be found.
		 */
		bulb_ctx.endpoint = *match_ep;
		bulb_ctx.short_addr = ind-&amp;gt;src_addr;

		LOG_INF(&amp;quot;Found bulb addr: %d ep: %d&amp;quot;,
			bulb_ctx.short_addr,
			bulb_ctx.endpoint);

		k_timer_stop(&amp;amp;bulb_ctx.find_alarm);
		dk_set_led_on(BULB_FOUND_LED);

		/* Send bind request */
		LOG_INF(&amp;quot;Sending bind request...&amp;quot;);
		SendBindReq();

		// /* Send bind request */
		// LOG_INF(&amp;quot;Sending bind request...&amp;quot;);
		// SendBindReq();
		// Register the callback function for handling attribute reports
    	//ZB_ZCL_REGISTER_DEVICE_CB(temperature_measurement_report_handler);

		
		
	} else {
		LOG_INF(&amp;quot;Bulb not found, try again&amp;quot;);
	}

	if (bufid) {
		zb_buf_free(bufid);
	}
}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:150%;"&gt;&lt;strong&gt;LOGS:&lt;br /&gt;&lt;/strong&gt;&lt;span style="font-size:75%;"&gt;These are the switch Example Serial Terminal Logs:&lt;/span&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;I: nRF5 802154 radio initialized
*** Booting Zephyr OS build v3.2.99-ncs1 ***
I: Starting ZBOSS Light Switch example
I: ZBOSS Light Switch example started
I: Production configuration is not present or invalid (status: -1)
I: Zigbee stack initialized
I: Joined network successfully on reboot signal (Extended PAN ID: f4ce360848c8e4b3, PAN ID: 0xc863)
I: Found bulb addr: 2325 ep: 10
I: Sending bind request...
I: send_bind_req: &amp;gt;&amp;gt; bind_device param 7
I: send_bind_req: Sending bind request to endpoint 1 with cluster ID 0x0402
I: send_bind_req: &amp;lt;&amp;lt; bind_device
I: zb_bind_callback: Bind response received
I: zb_bind_callback: Status 132
I: zb_bind_callback: Status indicates an error or specific condition.
I: zb_bind_callback: Dst Address 2325
I: zb_bind_callback: Dst Endpoint 1
I: zb_bind_callback: Src Addr 536880428
I: Bulb not found, try again&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:75%;"&gt;For these Status Issues whether i need to enable anything to support &lt;strong&gt;Bind_Req&lt;/strong&gt; in &lt;strong&gt;Switch_Example&lt;/strong&gt;?&lt;br /&gt;&lt;br /&gt;&lt;span&gt;From Past 2 weeks i am facing this issue if i solve this then only i can get Temperature Value from Bulb right? and is there any another way to get temperature value from Bulb(EndDevice) using Report Attribute?&lt;br /&gt;&lt;br /&gt;Here, My doubt is usually &lt;strong&gt;Bind_Req&lt;/strong&gt; is for to communicate directly with another device right? so, here I am implementing code once switch found the bulb after i want to send &lt;strong&gt;Bind_Req&lt;/strong&gt; to &lt;strong&gt;Light_Bulb.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1. In this case, once switch found the bulb then we can communicate directly with bulb Without &lt;strong&gt;Bind_Req&lt;/strong&gt; right ? and if switch found bulb then we can receive temperature data without &lt;strong&gt;Bind_Req&lt;/strong&gt; also right?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;If there is a way can you suggest me how to do that?&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Thanks a lot&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;!!!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Best Regards,&lt;br /&gt;Deepika B.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;span style="font-size:75%;"&gt;&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: QUERY - [nRF52840][ZIGBEE] getting issue with reporting attribute while sending Temperature Measurement Value From Bulb To switch?</title><link>https://devzone.nordicsemi.com/thread/496432?ContentTypeID=1</link><pubDate>Wed, 31 Jul 2024 13:46:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:db6f2533-12b5-4fe3-ad60-0f62566956b2</guid><dc:creator>Maria Gilje</dc:creator><description>[quote user="Deepu Prashanth"]&amp;nbsp;I implemented Bind_req code in switch example.[/quote]
&lt;p&gt;Your code looks mostly ok, but here are some lines which you need to change.&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;On line 33 you use &lt;code&gt;&amp;amp;req&lt;/code&gt;, but you should not use addressof operator here. Replace the line with &lt;code&gt;ZB_MEMCPY(req-&amp;gt;src_address, arr1, sizeof(zb_ieee_addr_t));&lt;/code&gt;&lt;br /&gt;On line 34 the source referenced is the source for the &lt;code&gt;ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT&lt;/code&gt;, that is: the light bulb. Change the line to &lt;code&gt;req-&amp;gt;src_endp = bulb_ctx.endpoint;&lt;/code&gt;&lt;br /&gt;On line 37 you need to change the destination to be the light switch, so change the line to &lt;code&gt;req-&amp;gt;dst_endp = LIGHT_SWITCH_ENDPOINT;&lt;/code&gt;&lt;br /&gt;On line 40 you should log the &lt;code&gt;src_endp&lt;/code&gt; instead of the &lt;code&gt;dst_endp&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;I am also including the edited version of &lt;code&gt;send_bind_req&lt;/code&gt; to make the changes more clear.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;void send_bind_req(zb_uint8_t param)
{
    zb_bufid_t buf = param;
    zb_zdo_bind_req_param_t *req;
    static int bind_retry_count = 0;

    LOG_INF(&amp;quot;send_bind_req: &amp;gt;&amp;gt; bind_device param %hd&amp;quot;, param);

    req = ZB_BUF_GET_PARAM(buf, zb_zdo_bind_req_param_t);
	ZB_MEMCPY(req-&amp;gt;src_address, arr1, sizeof(zb_ieee_addr_t));    
	req-&amp;gt;src_endp = bulb_ctx.endpoint;
    req-&amp;gt;cluster_id = ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT;  // Correct cluster ID
    req-&amp;gt;dst_addr_mode = ZB_APS_ADDR_MODE_64_ENDP_PRESENT;
    req-&amp;gt;dst_endp = LIGHT_SWITCH_ENDPOINT;
    req-&amp;gt;req_dst_addr = bulb_ctx.short_addr;

    LOG_INF(&amp;quot;send_bind_req: Sending bind request to endpoint %d with cluster ID 0x%04x&amp;quot;, req-&amp;gt;src_endp, req-&amp;gt;cluster_id);
    
    zb_zdo_bind_req(param, zb_bind_callback);

    LOG_INF(&amp;quot;send_bind_req: &amp;lt;&amp;lt; bind_device&amp;quot;);

    // Increment retry count if needed
    if (bind_retry_count &amp;lt; MAX_BIND_RETRIES)
    {
        bind_retry_count++;
    }
    else
    {
        LOG_ERR(&amp;quot;send_bind_req: Maximum bind retries reached&amp;quot;);
    }
}&lt;/pre&gt;&lt;/p&gt;
[quote user="Deepu Prashanth"]&lt;strong&gt;1&lt;/strong&gt;. Here, my question is, in switch example i wrote BIND_REQUEST and ZB_BIND_CALLBACK functions and in BULB Example is it required to write BIND_RESPONSE[/quote]
&lt;p&gt;No this is not needed because the ZBOSS stack handles the bind response.&lt;/p&gt;
[quote user="Deepu Prashanth"]&lt;strong&gt;3.&lt;/strong&gt; In which switch example how switch will receive the temperature value from bulb?[/quote]
&lt;p&gt;Register an endpoint handler in the switch with &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/zboss/3.11.3.0/group__af__management__service.html#ga549b0a17bcf5d9788c23882d68298142"&gt;ZB_AF_SET_ENDPOINT_HANDLER&lt;/a&gt;(&amp;lt;light-switch-endpoint&amp;gt;, &amp;lt;light-switch-endpoint-handler&amp;gt;). You can see an example on how this is done in the &lt;a href="https://github.com/nrfconnect/sdk-nrf/tree/main/subsys/zigbee/lib/zigbee_shell"&gt;Zigbee shell library&lt;/a&gt; and in your case the endpoint handler will look something like this:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;zb_uint8_t light_switch_ep_handler(zb_bufid_t bufid)
{
	zb_zcl_parsed_hdr_t *cmd_info = ZB_BUF_GET_PARAM(bufid, zb_zcl_parsed_hdr_t);
	size_t payload_length = zb_buf_len(bufid);
	const zb_uint8_t *payload = zb_buf_begin(bufid);

	zb_uint16_t short_addr;
	zb_ieee_addr_t ieee_addr;
	
	switch (ZB_ZCL_PARSED_HDR_SHORT_DATA(cmd_info).source.addr_type) {
	case ZB_ZCL_ADDR_TYPE_SHORT:
		short_addr = ZB_ZCL_PARSED_HDR_SHORT_DATA(cmd_info).source.u.short_addr;
		zb_address_ieee_by_short(short_addr, ieee_addr);
		break;
	case ZB_ZCL_ADDR_TYPE_IEEE:
		ZB_IEEE_ADDR_COPY(ieee_addr, ZB_ZCL_PARSED_HDR_SHORT_DATA(cmd_info).source.u.ieee_addr);
		short_addr = zb_address_short_by_ieee(ieee_addr);
		break;
	}

	char ieee_addr_str[IEEE_ADDR_BUF_SIZE] = { 0 };
	char payload_str[255];
	ieee_addr_to_str(ieee_addr_str, IEEE_ADDR_BUF_SIZE, ieee_addr);
	to_hex_str(payload_str, sizeof(payload_str), payload, payload_length, false);

	LOG_INF(&amp;quot;Received ZCL cmd: IEEE_src_addr=%s, cluster_id=0x%04x, cmd_id=0x%02x, payload=[%s]&amp;quot;, 
						ieee_addr_str, 
						cmd_info-&amp;gt;cluster_id,
						cmd_info-&amp;gt;cmd_id,
						payload_str);

	return 0;
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;(Above code was provided by my colleague, Marte)&lt;/p&gt;
[quote user="Deepu Prashanth"]and i am getting logs like this and why i am getting status 132.&amp;nbsp;[/quote]
&lt;p&gt;The relevant status definitions are in &lt;a href="https://github.com/nrfconnect/sdk-nrfxlib/blob/main/zboss/production/include/zboss_api_zdo.h#L76"&gt;zboss_api_zdo.h&lt;/a&gt; and status 132 (ZB_ZDP_STATUS_NOT_SUPPORTED) means that the requested feature is unsupported on the target device. Based on my findings in your code from above, this status is expected. Let me know if you get the same status after including the changes above. &lt;/p&gt;
[quote user="Deepu Prashanth"]&lt;strong&gt;2.&lt;/strong&gt; In Bulb example i used Start_reporting Function and Configuring_reporting_attribute function for to configure and send temperature report to switch.[/quote]
&lt;p&gt;Is there something specific you want us to look at with your implementation on the light bulb? &lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Maria&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: QUERY - [nRF52840][ZIGBEE] getting issue with reporting attribute while sending Temperature Measurement Value From Bulb To switch?</title><link>https://devzone.nordicsemi.com/thread/496201?ContentTypeID=1</link><pubDate>Tue, 30 Jul 2024 12:18:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3dfcb7ba-67c5-4754-afed-aebff1d7ea6f</guid><dc:creator>Deepu Prashanth</dc:creator><description>&lt;p&gt;Hi Maria,&lt;br /&gt;&lt;br /&gt;&amp;nbsp;I implemented Bind_req code in switch example.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;LIGHT_SWITCH EXAMPLE 


// Define the IEEE address of the source device (end device)
static zb_ieee_addr_t arr1 = { 0x00, 0x12, 0x4B, 0x00, 0x0A, 0x12, 0x34, 0x56 };

#define MAX_BIND_RETRIES 3

int SendBindReq()
{
    zb_ret_t zb_err_code;
    zb_err_code = zb_buf_get_out_delayed(send_bind_req);
    if (zb_err_code != RET_OK)
    {
        LOG_DBG(&amp;quot;Buffer is full&amp;quot;);
    }
    else
    {
        LOG_INF(&amp;quot;SendBindReq: Buffer obtained successfully.&amp;quot;);
    }
    return zb_err_code;
}

void send_bind_req(zb_uint8_t param)
{
    zb_bufid_t buf = param;
    zb_zdo_bind_req_param_t *req;
    static int bind_retry_count = 0;

    LOG_INF(&amp;quot;send_bind_req: &amp;gt;&amp;gt; bind_device param %hd&amp;quot;, param);

    req = ZB_BUF_GET_PARAM(buf, zb_zdo_bind_req_param_t);
    ZB_MEMCPY(&amp;amp;req-&amp;gt;src_address, arr1, sizeof(zb_ieee_addr_t));
    req-&amp;gt;src_endp = LIGHT_SWITCH_ENDPOINT;
    req-&amp;gt;cluster_id = ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT;  // Correct cluster ID
    req-&amp;gt;dst_addr_mode = ZB_APS_ADDR_MODE_64_ENDP_PRESENT;
    req-&amp;gt;dst_endp = bulb_ctx.endpoint;
    req-&amp;gt;req_dst_addr = bulb_ctx.short_addr;

    LOG_INF(&amp;quot;send_bind_req: Sending bind request to endpoint %d with cluster ID 0x%04x&amp;quot;, req-&amp;gt;dst_endp, req-&amp;gt;cluster_id);
    
    zb_zdo_bind_req(param, zb_bind_callback);

    LOG_INF(&amp;quot;send_bind_req: &amp;lt;&amp;lt; bind_device&amp;quot;);

    // Increment retry count if needed
    if (bind_retry_count &amp;lt; MAX_BIND_RETRIES)
    {
        bind_retry_count++;
    }
    else
    {
        LOG_ERR(&amp;quot;send_bind_req: Maximum bind retries reached&amp;quot;);
    }
}

void zb_bind_callback(zb_uint8_t param)
{
    zb_bufid_t buf = param;
    zb_zdo_bind_resp_t *bind_resp = (zb_zdo_bind_resp_t*)zb_buf_begin(buf);
    static int bind_retry_count = 0;

    if (param)
    {
        LOG_INF(&amp;quot;zb_bind_callback: Bind response received&amp;quot;);
        LOG_INF(&amp;quot;zb_bind_callback: Status %hd&amp;quot;, bind_resp-&amp;gt;status);

        if (bind_resp-&amp;gt;status != ZB_ZDP_STATUS_SUCCESS)
        {
            LOG_INF(&amp;quot;zb_bind_callback: Status indicates an error or specific condition.&amp;quot;);
            LOG_INF(&amp;quot;zb_bind_callback: Status %d&amp;quot;, bind_resp-&amp;gt;status);

            if (bind_retry_count &amp;lt; MAX_BIND_RETRIES)
            {
                LOG_INF(&amp;quot;zb_bind_callback: Retrying bind request...&amp;quot;);
                SendBindReq();
            }
            else
            {
                LOG_ERR(&amp;quot;zb_bind_callback: Maximum retries reached. Bind failed.&amp;quot;);
            }
        }
        else
        {
            LOG_INF(&amp;quot;zb_bind_callback: Bind request successful&amp;quot;);
            bind_retry_count = 0; // Reset retry count on success
        }

        LOG_INF(&amp;quot;zb_bind_callback: Dst Address %d&amp;quot;, bulb_ctx.short_addr);
        LOG_INF(&amp;quot;zb_bind_callback: Src Endpoint %d&amp;quot;, LIGHT_SWITCH_ENDPOINT);
        LOG_INF(&amp;quot;zb_bind_callback: Dst Endpoint %d&amp;quot;, bulb_ctx.endpoint);

        zb_buf_free(buf);
    }
    else
    {
        LOG_ERR(&amp;quot;zb_bind_callback: Bind response error, param is 0&amp;quot;);
    }
}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;and i am getting logs like this and why i am getting status 132.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;pre class="ui-code" data-mode="c_cpp"&gt;I: Production configuration is not present or invalid (status: -1)
I: Zigbee stack initialized
I: Device started for the first time
I: Start network steering
I: Started network rejoin procedure.
I: Joined network successfully (Extended PAN ID: f4ce360848c8e4b3, PAN ID: 0x4a7d)
I: Network rejoin procedure stopped as NOT scheduled.
I: Found bulb addr: 47875 ep: 10
I: Sending bind request...
I: send_bind_req: &amp;gt;&amp;gt; bind_device param 7
I: send_bind_req: Sending bind request to endpoint 10 with cluster ID 0x0402
I: send_bind_req: &amp;lt;&amp;lt; bind_device
I: zb_bind_callback: Bind response received
I: zb_bind_callback: Status 132
I: zb_bind_callback: Status indicates an error or specific condition.
I: zb_bind_callback: Status 132
I: zb_bind_callback: Dst Address 47875
I: zb_bind_callback: Src Endpoint 1
I: zb_bind_callback: Dst Endpoint 10
again i am geeting logs like this only? i think may be i need to adjuct long poll?&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1&lt;/strong&gt;. Here, my question is, in switch example i wrote BIND_REQUEST and ZB_BIND_CALLBACK functions and in BULB Example is it required to write BIND_RESPONSE and&lt;br /&gt;&lt;strong&gt;2.&lt;/strong&gt; In Bulb example i used Start_reporting Function and Configuring_reporting_attribute function for to configure and send temperature report to switch.&lt;br /&gt;&lt;strong&gt;3.&lt;/strong&gt; In which switch example how switch will receive the temperature value from bulb?&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;As I am new to this, please help here get the above information.&lt;/p&gt;
&lt;p&gt;Thanks a lot&lt;span&gt;&amp;nbsp;&lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;!!!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Best Regards,&lt;br /&gt;Deepika B&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: QUERY - [nRF52840][ZIGBEE] getting issue with reporting attribute while sending Temperature Measurement Value From Bulb To switch?</title><link>https://devzone.nordicsemi.com/thread/495631?ContentTypeID=1</link><pubDate>Thu, 25 Jul 2024 12:38:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:38151e19-5f37-43ee-848d-f8cb21b1d2f9</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;Hi Deepika B.&lt;/p&gt;
&lt;p&gt;I would like to give you some more specific support, but unfortunately we are a bit short-handed currently, so I will need some more time to help with your specific questions.&lt;/p&gt;
&lt;p&gt;In the mean time, familiarize yourself with the &lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/protocols/zigbee/index.html"&gt;Zigbee-related topics in our NCS documentation&lt;/a&gt; and let me know if you find the solutions for any of the questions you have.&lt;/p&gt;
&lt;p&gt;I will be able to spend some time on this on Monday. Thank you for your patience.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: QUERY - [nRF52840][ZIGBEE] getting issue with reporting attribute while sending Temperature Measurement Value From Bulb To switch?</title><link>https://devzone.nordicsemi.com/thread/494987?ContentTypeID=1</link><pubDate>Mon, 22 Jul 2024 09:18:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c8804a1d-b2ab-4cad-a86a-bf83cea17069</guid><dc:creator>Deepu Prashanth</dc:creator><description>&lt;p&gt;Hi Maria,&amp;nbsp;&lt;br /&gt;&lt;br /&gt;last year information is regarding to shell but i want to implement temperature measurement in SWITCH and BULB Samples.&lt;br /&gt;&lt;br /&gt;Best Regards,&lt;br /&gt;Deepika B.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: QUERY - [nRF52840][ZIGBEE] getting issue with reporting attribute while sending Temperature Measurement Value From Bulb To switch?</title><link>https://devzone.nordicsemi.com/thread/494957?ContentTypeID=1</link><pubDate>Mon, 22 Jul 2024 05:23:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:148c742e-7758-4bcb-8ad0-6fcf8a850e47</guid><dc:creator>Deepu Prashanth</dc:creator><description>&lt;p&gt;Hi Maria,&lt;br /&gt;&lt;br /&gt;Sorry for the late reply !!!&lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f612.svg" title="Unamused"&gt;&amp;#x1f612;&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Thank you so much for giving reply to my message!!!!&lt;br /&gt;&lt;br /&gt;My doubt is for temperature measurement i gave simulated values for temperature and in bulb side i implemented temperature measurement. Now, i want to send these temperature values to switch by using report attribute.&lt;br /&gt;&lt;br /&gt;I saw somewhere in document that before sending temperature values using Report attribute first need to bind request to switch and need to configure temperature reporting attribute from bulb side to switch.&lt;br /&gt;&lt;br /&gt;Is this two functions ( bind_request and configure temperature reporting attribute) is required or not? if we implement bind req in switch side is it compulsory need&amp;nbsp; to implement bind Response in BULB side?&lt;br /&gt;&lt;br /&gt;In some where i saw that don&amp;#39;t need to implement BIND_RESPONSE in bulb side because by using&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;zb_bdb_finding_binding_target this function we don&amp;#39;t need to implement BIND_RESPONSE in bulb side is it correct or wrong?&lt;br /&gt;&lt;br /&gt;I need Clarification on this functions and how can i report temperature value to switch?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;As I am new to this, please help here get the above information.&lt;/p&gt;
&lt;p&gt;Thanks a lot&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f60a.svg" title="Blush"&gt;&amp;#x1f60a;&lt;/span&gt;!!!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Best Regards,&lt;br /&gt;Deepika B&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: QUERY - [nRF52840][ZIGBEE] getting issue with reporting attribute while sending Temperature Measurement Value From Bulb To switch?</title><link>https://devzone.nordicsemi.com/thread/494609?ContentTypeID=1</link><pubDate>Thu, 18 Jul 2024 14:02:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:584ffd4e-1a7a-4b1d-ab43-3952e64bdb71</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;Hello again,&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/support-private/support/307355"&gt;This case&lt;/a&gt; from last year has some information on how to add ZCL clusters to an application. It can help you to get started. You can start with the light bulb and light switch samples as the base (instead of the Zigbee template) and add the clusters fror temperature measurement. Follow the guide, but use my reply from the ticket when you see any references to &amp;quot;ZB_HA&amp;quot;-macros.&lt;/p&gt;
&lt;p&gt;Next week I&amp;#39;ll be able to provide more specific support. Thank you for your patience and best of luck.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Maria&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: QUERY - [nRF52840][ZIGBEE] getting issue with reporting attribute while sending Temperature Measurement Value From Bulb To switch?</title><link>https://devzone.nordicsemi.com/thread/494416?ContentTypeID=1</link><pubDate>Wed, 17 Jul 2024 15:14:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5e152918-4f95-492f-8767-5d8934b0e921</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;Hi Deepika B,&lt;/p&gt;
&lt;p&gt;I just want to let you know that I will find some useful information and resources for you tomorrow. Thank you for your patience.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Maria&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>