<?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 send readresponse on OnOff Output Cluster to Coordinator?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/84220/how-to-send-readresponse-on-onoff-output-cluster-to-coordinator</link><description>I am trying to send a OnOff output cluster information to Co-ordinator when a button is pressed in the nrf52840 DK. The problem is the during the initial registration, the OnOff command is correctly sent, but after the button is pressed, I am unable to</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 07 Feb 2022 14:57:31 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/84220/how-to-send-readresponse-on-onoff-output-cluster-to-coordinator" /><item><title>RE: How to send readresponse on OnOff Output Cluster to Coordinator?</title><link>https://devzone.nordicsemi.com/thread/351586?ContentTypeID=1</link><pubDate>Mon, 07 Feb 2022 14:57:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c59939c0-cdfe-4000-a83a-718110586581</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;I am glad to hear that you figured this out, and thank you for sharing your solution!&lt;/p&gt;
[quote user="Manju_rn"] Not sure why the bind call is required, but without the bind the configure reporting call is not sent to Dongle/ DK from Z2M.[/quote]
&lt;p&gt;When you configure reporting from client to server you need to first create a binding on the cluster. From the ZCL spec&amp;nbsp;when the direction field of the configure reporting command indicates that it is sent from client to server:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The receiver of the Configure Reporting command SHALL Configure Reporting to send to each destination as resolved by the bindings for the cluster hosting the attributes to be reported.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So in order for the server to configure reporting on a cluster, you must first have sent a bind request to create a binding on that cluster.&lt;/p&gt;
[quote user="Manju_rn"]I will spend sometime later to sniff the packets from Dongle / DK to Z2M when the server side reporting is configured and find out why this is not working. This will be required, since server (Dongle / DK) as end device are expected to contain all the functionality than depending upon coordinator / network to provide that functionality[/quote]
&lt;p&gt;Please upload the sniffer logs when you do so, and I can help you look. If you are able to share your code I can also test it on my side and see if I can figure out why this is not working.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to send readresponse on OnOff Output Cluster to Coordinator?</title><link>https://devzone.nordicsemi.com/thread/351438?ContentTypeID=1</link><pubDate>Mon, 07 Feb 2022 00:14:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a2cca67b-37b3-45ed-91d6-c888d0196dab</guid><dc:creator>Manju_rn</dc:creator><description>&lt;p&gt;Here is the status.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;1. I was not able to get the reporting configure from server to client (Dongle/DK to Z2M).&lt;/p&gt;
&lt;p&gt;2. I was able to get the reporting automatically configured&amp;nbsp; from Z2M to Dongle (without clicking anything on the Z2M). Hence there was no need to add any reporting configuration code in the dongle / DK&lt;/p&gt;
&lt;p&gt;So if somebody is working with Z2M and needs to have the reporting configured from client to server, they could utilize the below. The key point here is to use both reporting.bind&amp;nbsp; &amp;amp; endpoint.configureReporting calls in the .js file.&amp;nbsp; Not sure why the bind call is required, but without the bind the configure reporting call is not sent to Dongle/ DK from Z2M.&amp;nbsp;&amp;nbsp; The bind is technically doing nothing as the endpoint specified can be open&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;const fz = require(&amp;#39;zigbee-herdsman-converters/converters/fromZigbee&amp;#39;);
const tz = require(&amp;#39;zigbee-herdsman-converters/converters/toZigbee&amp;#39;);
const exposes = require(&amp;#39;zigbee-herdsman-converters/lib/exposes&amp;#39;);
const reporting = require(&amp;#39;zigbee-herdsman-converters/lib/reporting&amp;#39;);
const extend = require(&amp;#39;zigbee-herdsman-converters/lib/extend&amp;#39;);
const e = exposes.presets;
const ea = exposes.access;

const definition = {
    zigbeeModel: [&amp;#39;DongleSwitch&amp;#39;], // The model ID from: Device with modelID &amp;#39;lumi.sens&amp;#39; is not supported.
    model: &amp;#39;1.0&amp;#39;, // Vendor model number, look on the device for a model number
    vendor: &amp;#39;DongleNordic&amp;#39;, // Vendor of the device (only used for documentation and startup logging)
    description: &amp;#39;dongle_52840&amp;#39;, // Description of the device, copy from vendor site. (only used for documentation and startup logging)
    fromZigbee: [fz.on_off],
    toZigbee: [tz.on_off],
    exposes: [e.switch()],
    configure: async (device, coordinatorEndpoint, logger) =&amp;gt; {
       const endpoint = device.getEndpoint(12);
       await reporting.bind(endpoint, coordinatorEndpoint, [&amp;#39;genOnOff&amp;#39;]);
       const payload = [{
           attribute: &amp;#39;onOff&amp;#39;,
           minimumReportInterval: 0,
           maximumReportInterval: 0,
            reportableChange: 0,
           }];
       await endpoint.configureReporting(&amp;#39;genOnOff&amp;#39;, payload);
   },
};&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I will spend sometime later to sniff the packets from Dongle / DK to Z2M when the server side reporting is configured and find out why this is not working. This will be required, since server (Dongle / DK) as end device are expected to contain all the functionality than depending upon coordinator / network to provide that functionality&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to send readresponse on OnOff Output Cluster to Coordinator?</title><link>https://devzone.nordicsemi.com/thread/351171?ContentTypeID=1</link><pubDate>Thu, 03 Feb 2022 15:05:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c0da03ca-a9a5-43d2-8590-3ea8d069844e</guid><dc:creator>Manju_rn</dc:creator><description>[quote userid="92402" url="~/f/nordic-q-a/84220/how-to-send-readresponse-on-onoff-output-cluster-to-coordinator/351135#351135"]The DK should start reporting the attribute automatically if the Configure Reporting command is successful and the attribute is reportable.[/quote]
&lt;p&gt;Thanks. While the manual push (via Z2M UI) of the configure reporting from Z2M works (I still have not be able to do it automatically when DK joins the Z2M), I would still want to make it work from the DK.&amp;nbsp; I used the methods you mentioned in earlier post, but the reporting still is not working. &lt;strong&gt;Can you please let me know from where I should call this?&lt;/strong&gt;&lt;/p&gt;
[quote userid="99558" url="~/f/nordic-q-a/84220/how-to-send-readresponse-on-onoff-output-cluster-to-coordinator/350796#350796"]&lt;strong&gt;Can you please indicate where should I call this?&lt;/strong&gt; in the void zboss_signal_handler(zb_bufid_t bufid) for the case ZB_BDB_SIGNAL_STEERING: ?&amp;nbsp; Since I could not find anything like case like ZB_BDB_JOIN.[/quote]
&lt;p&gt;my nrf dongle is broken, I think during one of the experimentation in another thread, so will have to check that on weekend to recover. So sniffer data will have to wait a bit longer&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to send readresponse on OnOff Output Cluster to Coordinator?</title><link>https://devzone.nordicsemi.com/thread/351135?ContentTypeID=1</link><pubDate>Thu, 03 Feb 2022 13:59:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7b791e4d-1f59-444a-93d9-d6587ca49d29</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user="Manju_rn"]So can I say that that Z2M is always invoking Client to Server Reporting request.&amp;nbsp; Hence, my DK code did not require the reporting configuration?&amp;nbsp;[/quote]
&lt;p&gt;To configure attribute reporting&amp;nbsp;only one of the&amp;nbsp;devices, either the device reporting the attributes or the one receiving the attributes,&amp;nbsp;need to send a&amp;nbsp;Configure Reporting command. So if the coordinator configures it, then you do not need to do anything extra on the DK. The DK should start reporting the attribute automatically if the Configure Reporting command is successful and the attribute is reportable.&lt;/p&gt;
[quote user="Manju_rn"]Well, Z2M allows the max interval to be changed from its UI as well. When I change Max and Min interval to 0, then it sends a configuration request to DK and then DK sends the reporting only on Change.[/quote]
&lt;p&gt;So it behaves as expected now? You are correct that setting max reporting interval to 0 will turn off periodic reporting, causing it to only report on attribute change if this is configured. If this is non-zero it will keep reporting periodically regardless of whether it also reports on attribute change.&lt;/p&gt;
[quote user="Manju_rn"]But yeah I am aware that reporting then would not work in other zigbee co-ordinator where such provision may not be there.[/quote]
&lt;p&gt;You will always need one of the devices to configure the reporting anyways.&amp;nbsp;If a device is expected to receive attribute reports from a certain device, then it makes sense that the receiving device is able to configure attribute reporting. All it needs to do is to&amp;nbsp;create a binding for the cluster that should be reported by sending a bind request, and then send a configure reporting command.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to send readresponse on OnOff Output Cluster to Coordinator?</title><link>https://devzone.nordicsemi.com/thread/350880?ContentTypeID=1</link><pubDate>Wed, 02 Feb 2022 12:56:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c6d988f0-1540-40d7-824c-8224bc952865</guid><dc:creator>Manju_rn</dc:creator><description>[quote userid="92402" url="~/f/nordic-q-a/84220/how-to-send-readresponse-on-onoff-output-cluster-to-coordinator/350876#350876"]So the coordinator does configure reporting, but only with a reportable interval and not on change? [/quote]
&lt;p&gt;Yes, here is the code. There is a override also - see the #2 below, I need to figure out how to use it.&lt;/p&gt;
&lt;p&gt;1. As given before the code for the device to be registered&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/Koenkk/zigbee2mqtt.io/blob/master/docs/externalConvertersExample/switch.js#L19"&gt;https://github.com/Koenkk/zigbee2mqtt.io/blob/master/docs/externalConvertersExample/switch.js#L19&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;2. The code for the reporting library used in the above code&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/lib/reporting.js#L66"&gt;https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/lib/reporting.js#L66&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can see that this variable repInterval.HOUR is populated by default for Max interval.&amp;nbsp; However, there is a provision to use override and need to figure out how to use when in #1&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;    onOff: async (endpoint, overrides) =&amp;gt; {
        const p = payload(&amp;#39;onOff&amp;#39;, 0, repInterval.HOUR, 0, overrides);
        await endpoint.configureReporting(&amp;#39;genOnOff&amp;#39;, p);&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;So can I say that that Z2M is always invoking Client to Server Reporting request.&amp;nbsp; Hence, my DK code did not require the reporting configuration?&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;
[quote userid="92402" url="~/f/nordic-q-a/84220/how-to-send-readresponse-on-onoff-output-cluster-to-coordinator/350876#350876"]It should not be necessary to set the max interval to 0 in order to get reportable value change as far as I am aware.[/quote]
&lt;p&gt;Well, Z2M allows the max interval to be changed from its UI as well. When I change Max and Min interval to 0, then it sends a configuration request to DK and then DK sends the reporting only on Change.&lt;/p&gt;
&lt;p&gt;Hopefully, if the override works fine than I need not configure any reporting on DK.&amp;nbsp; But yeah I am aware that reporting then would not work in other zigbee co-ordinator where such provision may not be there.&lt;/p&gt;
&lt;p&gt;Yes, I do have the dongle, will configure this as sniffer later today to capture the packets&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to send readresponse on OnOff Output Cluster to Coordinator?</title><link>https://devzone.nordicsemi.com/thread/350876?ContentTypeID=1</link><pubDate>Wed, 02 Feb 2022 12:45:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4f36389f-168e-4fc8-8bb3-09c6c064a3f5</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;So the coordinator does configure reporting, but only with a reportable interval and not on change? From looking at the last code you shared this seems to be correct. If it is the coordinator sending the configure reporting command, do you know where the command is filled and sent? In order to configure reporting on when the attribute value is changed you need to set the reportable change field to the minimum change to the attribute that will result in a report being issued.&lt;/p&gt;
[quote user="Manju_rn"]However, the default reporting takes the min interval value as 0, and the max interval value as 3600 (see the snapshot for Z2M). However, the intention was to enable enable reporting based on the value change, so the max interval value should be 0 I believe.&amp;nbsp;[/quote]
&lt;p&gt;It should not be necessary to set the max interval to 0 in order to get reportable value change as far as I am aware.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;It would also be useful to get a sniffer log&amp;nbsp;of what packets the coordinator is sending and to be able to see the fields of the packets. Do you have an additional nRF52840 DK or Dongle? If so you can use it as a sniffer using&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/ug_sniffer_802154/UG/sniffer_802154/intro_802154.html"&gt;nRF Sniffer for 802.15.4&lt;/a&gt;. If you get a sniffer log of this you can upload the log as a pcap file here and I will take a look at it. If so, you need to either start the sniffer before the coordinator starts the network so the packets are decrypted, or share the network key so I can decrypt the packets.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to send readresponse on OnOff Output Cluster to Coordinator?</title><link>https://devzone.nordicsemi.com/thread/350796?ContentTypeID=1</link><pubDate>Wed, 02 Feb 2022 09:16:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:392ad88a-4ba9-4d52-94ea-709665421628</guid><dc:creator>Manju_rn</dc:creator><description>&lt;p&gt;Thanks for the information. Somehow the Z2M still registers the reporting even without specifying the attribute reporting. Maybe I will double check.&amp;nbsp; Here is the code of Z2M to support new devices in Z2M which I had missed earlier&amp;nbsp; &lt;a href="https://github.com/Koenkk/zigbee2mqtt.io/blob/master/docs/externalConvertersExample/switch.js#L19"&gt;https://github.com/Koenkk/zigbee2mqtt.io/blob/master/docs/externalConvertersExample/switch.js#L19&lt;/a&gt;&lt;/p&gt;
[quote userid="92402" url="~/f/nordic-q-a/84220/how-to-send-readresponse-on-onoff-output-cluster-to-coordinator/350793#350793"]This should be called after the device has joined the network[/quote]
&lt;p&gt;&lt;strong&gt;Can you please indicate where should I call this?&lt;/strong&gt; in the void zboss_signal_handler(zb_bufid_t bufid) for the case ZB_BDB_SIGNAL_STEERING: ?&amp;nbsp; Since I could not find anything like case like ZB_BDB_JOIN.&lt;/p&gt;
&lt;p&gt;Also, the above Macros do not provide any provision to change the max and min interval. I believe the max and mix intervals needs to be set to 0 to enable the attribute to be reported on every change&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to send readresponse on OnOff Output Cluster to Coordinator?</title><link>https://devzone.nordicsemi.com/thread/350793?ContentTypeID=1</link><pubDate>Wed, 02 Feb 2022 09:03:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f413b3d9-ebfd-4c96-9172-bc83913abca9</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thank you for the link to the source code of the Zigbee2MQTT converter. This makes it clearer what it is you want.&lt;/p&gt;
[quote user="Manju_rn"]I was of the assumption that the macro ZB_HA_DECLARE_ON_OFF_OUTPUT_EP would enable the reporting[/quote]
&lt;p&gt;ZB_HA_DECLARE_ON_OFF_OUTPUT_EP does not enable reporting. It only declares the endpoint for a device and defines a Simple Descriptor for the endpoint. This is necessary for the device to be able to report attributes, but it does not in itself configure attribute reporting. You can read more about this in the guide&amp;nbsp;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.8.0/nrf/ug_zigbee_adding_clusters.html"&gt;Adding ZCL clusters to application&lt;/a&gt;&amp;nbsp;and in&amp;nbsp;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/zboss/3.9.0.1/using_zigbee__z_c_l.html"&gt;Zigbee stack API overview&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Please see&amp;nbsp;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/zboss/3.9.0.1/group__cfg__reporting__cmd.html"&gt;Configure reporting command sending and parsing&lt;/a&gt;&amp;nbsp;to read more about configuring attribute reporting. Since you want&amp;nbsp;to enable reporting on the DK this will be the server notifying the client that the server has configured attribute reporting and that it will report attribute values to the client. Thus, you should use the macros ZB_ZCL_GENERAL_INIT_CONFIGURE_REPORTING_CLI_REQ and&amp;nbsp;ZB_ZCL_GENERAL_ADD_RECV_REPORT_CONFIGURE_REPORTING_REQ, and then send it with&amp;nbsp;ZB_ZCL_GENERAL_SEND_CONFIGURE_REPORTING_REQ.&lt;/p&gt;
&lt;p&gt;I have earlier made an example of this with the measured value attribute in the Temperature cluster. You can see the implementation of the attribute configuration below:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;void configure_attr_reporting(zb_bufid_t bufid)
{
    zb_uint8_t * cmd_ptr;
    zb_uint16_t dst_addr = 0x0000;
    zb_uint8_t dst_ep = 64;
    ZB_ZCL_GENERAL_INIT_CONFIGURE_REPORTING_CLI_REQ(bufid,
                                                    cmd_ptr,
                                                    ZB_ZCL_ENABLE_DEFAULT_RESPONSE);
    ZB_ZCL_GENERAL_ADD_RECV_REPORT_CONFIGURE_REPORTING_REQ(cmd_ptr,
                                                           ZB_ZCL_ATTR_TEMP_MEASUREMENT_VALUE_ID,
                                                           0);
    ZB_ZCL_GENERAL_SEND_CONFIGURE_REPORTING_REQ(bufid,
                                                cmd_ptr,
                                                dst_addr,
                                                ZB_APS_ADDR_MODE_16_ENDP_PRESENT,
                                                dst_ep, 
                                                MULTI_SENSOR_ENDPOINT,
                                                ZB_AF_HA_PROFILE_ID, 
                                                ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT, 
                                                NULL);
    NRF_LOG_INFO(&amp;quot;Attribute reporting configured&amp;quot;);
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;This should be called after the device has joined the network. In my example I called it with&amp;nbsp;&lt;span&gt;zb_buf_get_out_delayed() to allocate the out buffer:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;zb_buf_get_out_delayed(configure_attr_reporting);&lt;/p&gt;
&lt;p&gt;Please note that this example was created in nRF5 SDK, but the Zigbee stack is ZBOSS in both nRF Connect SDK and nRF5 SDK. The one in nRF Connect SDK is just a newer version than the one in nRF5 SDK at the moment, so the parts related to the ZBOSS API are the same or very similar in the two SDKs.&lt;/p&gt;
&lt;p&gt;Best regards.&lt;/p&gt;
&lt;p&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to send readresponse on OnOff Output Cluster to Coordinator?</title><link>https://devzone.nordicsemi.com/thread/350789?ContentTypeID=1</link><pubDate>Wed, 02 Feb 2022 08:33:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:39207f41-a9ba-45b7-9358-684d9ae06721</guid><dc:creator>Manju_rn</dc:creator><description>[quote userid="99558" url="~/f/nordic-q-a/84220/how-to-send-readresponse-on-onoff-output-cluster-to-coordinator/350714#350714"]ZB_HA_DECLARE_ON_OFF_OUTPUT_EP[/quote]
&lt;p&gt;Realized that there was a small change needed at Z2M to receive the reporting configuration, so the quoted method does indeed initalize the reporting. Hence, the method &amp;#39;configure_reporting_locally&amp;quot; that was written is not really required to configure reporting.&lt;/p&gt;
&lt;p&gt;However, the default reporting takes the min interval value as 0, and the max interval value as 3600 (see the snapshot for Z2M). However, the intention was to enable enable reporting based on the value change, so the max interval value should be 0 I believe.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1643790540389v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;So I guess I will still have to use the configure_reporting_locally, but somehow the call zb_zcl_put_reporting_info(&amp;amp;rep_info,ZB_TRUE);&amp;nbsp; does not invoke any zigbee message.&amp;nbsp; Is there another method I could use to update the default reporting values of max and Min intervals?&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to send readresponse on OnOff Output Cluster to Coordinator?</title><link>https://devzone.nordicsemi.com/thread/350714?ContentTypeID=1</link><pubDate>Tue, 01 Feb 2022 14:40:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f992003c-ee0b-4716-b66d-c8f63a682aff</guid><dc:creator>Manju_rn</dc:creator><description>[quote userid="92402" url="~/f/nordic-q-a/84220/how-to-send-readresponse-on-onoff-output-cluster-to-coordinator/350616#350616"] I have not been able to find a lot of documentation as to what specifically the readResponse in Zigbee2MQTT is, so knowing more about what it is you want to do would make it easier for me to figure out what command&amp;nbsp;you can use[/quote]
&lt;p&gt;Please check the following code in the Zigbee2MQTT Converters. These converters basically a layer in Z2M which parses the Zigbee messages&amp;nbsp;&lt;a href="https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/converters/fromZigbee.js#L740"&gt; https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/converters/fromZigbee.js#L740&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;    on_off: {
        cluster: &amp;#39;genOnOff&amp;#39;,
        type: [&amp;#39;attributeReport&amp;#39;, &amp;#39;readResponse&amp;#39;],
        convert: (model, msg, publish, options, meta) =&amp;gt; {
            if (msg.data.hasOwnProperty(&amp;#39;onOff&amp;#39;)) {
                const property = postfixWithEndpointName(&amp;#39;state&amp;#39;, msg, model);
                return {[property]: msg.data[&amp;#39;onOff&amp;#39;] === 1 ? &amp;#39;ON&amp;#39; : &amp;#39;OFF&amp;#39;};
            }
        },
    },&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;It looks for the Cluster &amp;#39;genOnOff&amp;#39; with type &amp;#39;readResponse&amp;#39; and the attribute of &amp;#39;onOff&amp;quot;.&amp;nbsp; This is written based on the ZCL specs for OnOff Cluster.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I realized that the reporting is not configured&lt;/strong&gt;, I was of the assumption that the macro ZB_HA_DECLARE_ON_OFF_OUTPUT_EP would enable the reporting.&amp;nbsp; Anyway, I have configured the reporting like this. &lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;static void configure_reporting_locally(void)
{
  zb_zcl_reporting_info_t rep_info;
  memset(&amp;amp;rep_info, 0, sizeof(rep_info));

  rep_info.direction      = ZB_ZCL_CONFIGURE_REPORTING_SEND_REPORT;
  rep_info.ep             = HA_SWITCH_ENDPOINT;
  rep_info.cluster_id     = ZB_ZCL_CLUSTER_ID_ON_OFF;
  rep_info.cluster_role   = ZB_ZCL_CLUSTER_SERVER_ROLE;
  rep_info.attr_id        = ZB_ZCL_ATTR_ON_OFF_ON_OFF_ID;

  rep_info.u.send_info.min_interval = 0;
  rep_info.u.send_info.max_interval = 0;
  rep_info.u.send_info.delta.u8     = 1;
   
  rep_info.dst.short_addr = 0x0000 ; //Hex 
  rep_info.dst.endpoint   = 12 ;     //Decimal 
  rep_info.dst.profile_id = ZB_AF_HA_PROFILE_ID ;

  zb_zcl_put_reporting_info(&amp;amp;rep_info,ZB_TRUE);
}

void zboss_signal_handler(zb_bufid_t bufid) 
{
	zb_zdo_app_signal_hdr_t *p_sg_p = NULL;
	zb_zdo_app_signal_type_t sig = zb_get_app_signal(bufid, &amp;amp;p_sg_p);
	zb_ret_t status = ZB_GET_APP_SIGNAL_STATUS(bufid);

	/* Update network status LED */
	// zigbee_led_status_update(bufid, ZIGBEE_NETWORK_STATE_LED);

	switch (sig) 
	{
		case ZB_BDB_SIGNAL_DEVICE_REBOOT:
			/* fall-through */
		case ZB_BDB_SIGNAL_STEERING:
			/* Call default signal handler. */
			ZB_ERROR_CHECK(zigbee_default_signal_handler(bufid));
			if (status == RET_OK) 
			{
				LOG_INF(&amp;quot;Steering Completed. Going ahead with reporting configuration&amp;quot;);
				configure_reporting_locally();
			}
			break;

		default:
			/* Call default signal handler. */
			ZB_ERROR_CHECK(zigbee_default_signal_handler(bufid));
			break;
	}

	if (bufid) 
	{
		zb_buf_free(bufid);
	}
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The above setting does not send any configuration details to Z2M.&amp;nbsp; Is there some code I need to call specifically to set the reporting?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;However, I have noticed that when I send the reporting configuration request from Z2M to DK, then the reporting get enabled.&amp;nbsp; However, this does not help as I want to configure the reporting from the device - DK in this case.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to send readresponse on OnOff Output Cluster to Coordinator?</title><link>https://devzone.nordicsemi.com/thread/350616?ContentTypeID=1</link><pubDate>Tue, 01 Feb 2022 10:23:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aa2c296a-7d8e-4a00-96f0-e327b023af55</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user="Manju_rn"]So my question is there a macro which generates the same zigbee message which is called during initialization?[/quote]
&lt;p&gt;To answer this I need to know what readResponse actually is. In the Zigbee specification you have different types of read responses, but there is nothing simply called read response, which is why I asked&amp;nbsp;for a clarification as to what sort of read response this is. It would be better to know what you want to achieve with the read response. Do you want to read what the value of the OnOff attribute is, and if so on which device? Or is the goal to do something else? I have not been able to find a lot of documentation as to what specifically the readResponse in Zigbee2MQTT is, so knowing more about what it is you want to do would make it easier for me to figure out what command&amp;nbsp;you can use.&lt;/p&gt;
[quote user="Manju_rn"]However, when I press the button, as I explained in the above post, I call the macro &amp;#39;ZB_ZCL_ON_OFF_SEND_REQ which generates the following. Looks like this call modifies the type to &amp;#39;commandOn&amp;#39; and data payload is empty[/quote]
&lt;p&gt;This is because the macro ZB_ZCL_ON_OFF_SEND_REQ sends an On or Off command from the On/Off cluster. The parameter cmd_id decides which of the commands is sent, and in your code you are using the ID of the On command, so you are sending the On command, resulting in the type in Zigbee2MQTT being &amp;#39;commandOn&amp;#39;.&lt;/p&gt;
[quote user="Manju_rn"]2.&amp;nbsp; For the second point you asked[/quote]
&lt;p&gt;As for your second point the DK is implemented and acting as a light switch in&amp;nbsp;your program, which is why i called it a light switch. It does, however, matter which endpoint the command is sent to if you are sending On/Off command to turn something on or off. But since you are saying that you want to get the read response I am not sure if sending the On command is actually what you want to do or not, so please specify what it is you want to achieve with this program.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to send readresponse on OnOff Output Cluster to Coordinator?</title><link>https://devzone.nordicsemi.com/thread/350550?ContentTypeID=1</link><pubDate>Tue, 01 Feb 2022 04:46:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:59c4a945-a6eb-4494-b817-8c8574c5297e</guid><dc:creator>Manju_rn</dc:creator><description>&lt;p&gt;Hi Marte,&lt;/p&gt;
[quote userid="92402" url="~/f/nordic-q-a/84220/how-to-send-readresponse-on-onoff-output-cluster-to-coordinator/350355#350355"]Can you clarify what you mean by the read response? Is this something the DK should send, or the coordinator? Is this as a response to the ON/OFF command, or are you thinking about the Read Attributes command?[/quote]
&lt;p&gt;1.&amp;nbsp;&amp;nbsp;&amp;nbsp; If you check the screenshot above (pasted the text below), it has this debug messages in Zigbee2Mqtt (Z2M). This is issued just when the DK connects to Z2M.&amp;nbsp; So the initial setup of the OnOff Cluster generates the type &amp;#39;readResponse&amp;#39; from cluster genOnOff&amp;nbsp; and send to co-ordinator&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Debug Received Zigbee message from &amp;#39;dev_board&amp;#39;, type &amp;#39;readResponse&amp;#39;, cluster &amp;#39;genOnOff&amp;#39;, data &amp;#39;{&amp;quot;onOff&amp;quot;:0}&amp;#39; from endpoint 12 with groupID 0&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;However, when I press the button, as I explained in the above post, I call the macro &amp;#39;ZB_ZCL_ON_OFF_SEND_REQ which generates the following. Looks like this call modifies the type to &amp;#39;commandOn&amp;#39; and data payload is empty. So my question is there a macro which generates the same zigbee message which is called during initialization? This could be reused during button press and send to co-ordinator&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Debug Received Zigbee message from &amp;#39;dev_board&amp;#39;, type &amp;#39;commandOn&amp;#39;, cluster &amp;#39;genOnOff&amp;#39;, data &amp;#39;{}&amp;#39; from endpoint 12 with groupID 0&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;2.&amp;nbsp; For the second point you asked&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
[quote userid="92402" url="~/f/nordic-q-a/84220/how-to-send-readresponse-on-onoff-output-cluster-to-coordinator/350355#350355"]I see you are sending the ON/OFF command to the endpoint of the light switch. Is the endpoint on the coordinator also 12, so that the command is sent to the correct endpoint?[/quote]
&lt;p&gt;I am just sending the ON/OFF command to the co-ordinator. There is technically no LightSwitch.&amp;nbsp; The Z2M (running as a co-ordinator) just receives the Zigbee messages and converts to MQTT messages.&amp;nbsp; So it does not matter which endpoint the zigbee command from the DK is sent to.&amp;nbsp; As long as the messages is received by the co-ordinator (running Z2M) it it good. And this is what I am trying to indicate, during the initial connect when DK connects, the Zigbee Mesages generate has a correct &amp;#39;type&amp;#39; - readResponse and &amp;#39;data&amp;#39;&amp;nbsp;&lt;em&gt;{&amp;quot;onOff&amp;quot;:0}&lt;/em&gt; , but after button press, I believe the Macro changes the type to &amp;#39;CommandOn&amp;#39; and the data JSON is empty.&amp;nbsp; Hence, wanted to know how can the same method / macro be used which might be called during initial connect.&lt;/p&gt;
&lt;p&gt;Hope I am clear.&amp;nbsp; You may check the main.c for more details&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to send readresponse on OnOff Output Cluster to Coordinator?</title><link>https://devzone.nordicsemi.com/thread/350355?ContentTypeID=1</link><pubDate>Mon, 31 Jan 2022 08:25:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:91391684-708a-4c97-b012-520bfd33a36d</guid><dc:creator>Marte Myrvold</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Can you clarify what you mean by the read response? Is this something the DK should send, or the coordinator? Is this as a response to the ON/OFF command, or are you thinking about the Read Attributes command?&lt;/p&gt;
&lt;p&gt;I see you are sending the ON/OFF command to the endpoint of the light switch. Is the endpoint on the coordinator also 12, so that the command is sent to the correct endpoint?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Marte&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>