This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Minimum and Maximum Attribute Reporting Time.

Trying to set up attribute reporting I thought I had found a solution but was apparently wrong. My coordinator is sending an attribute reporting request with a minumum reporting interval of 0 seconds, which is working just fine with all the other devices I have available. The nRF52840 is rejecting this as an invalid value. If I force the coordinator to request a reporting interval minimum of 1 second it is accepted and reporting takes place.

There is a macro definition ZB_ZCL_MIN_REPORTING_INTERVAL defined in zb_zcl_reporting.h. I thought that changing it would allow the stack to accept a reporting interval of 0 seconds from the coordinator but it appears that is not the case. I tried to search for uses of this macro and failed to find any so I don't know what it is really for. There is no explanation of how or why it should be used, which seems to be a common theme in the 'documentation' for the Zigbee API making it extraordinarily difficult to use.

Can you explain how the reporting interval is defined? What are acceptable values when attempting to configure reporting and, if possible, how can these be controlled so that devices are compatible with commercial hubs and coordinators available on the open market?

Parents
  • Hello,

    ZB_ZCL_MIN_REPORTING_INTERVAL is used by the Zigbee Stack. I am not sure whether it is possible to set this any lower than 1. I have to check with our Zigbee Team. It your coordinator a 3rd party device? And this uses reporting interval of 0 by default?

  • The coordinator I am using is a Samsung SmartThings hub. It is possible to set the reporting interval to a custom value by creating a custom device handler but the default values that the hub sends are minimum = 0 and maximum = 600. I searched through all the device handlers in thir library and could not find any that set the minimum to 1 suggesting that the majority of devices use 0.

    I have now written a handler for the hub setting the reporting interval from 1 to 600 and it is now reporting correctly but it seems odd that 1 would be the default minimum for the ZBOSS stack.

  • Section 2.5.7.1.5 of the ZCL specification states that 0x0000 is valid.  It says

    If this value is set to 0x0000, then there is no minimum limit, unless one is imposed by the specification of the

    cluster using this reporting mechanism or by the application.

    Do you know if this was fixed in SDK 3.2?

Reply Children
Related