本帖最后由 wes58 于 2025-3-6 05:56 编辑
AFter changing from SDK ver 3.6.8.1 to 3.7.1.2 I have noticed that I had an issue with reporting. The reports were working fine for many years but now the reports are sent continuoulsy even though the value didn't change, and I can't access the chip.
I have the reports configured (as in all your sample projects)
After checking the code in old and new SDK I found the following in the zcl_reporting.c
SDK ver 3.6.8.1
And in SDK ver 3.7.1.2
So now, when reportableChange = 0, and no change in previous and current values of data, the reports are sent continuously. Before it had to be greater than reportableChange for the report to be sent.
And what is interesting, in ZigBee SDK developer manual, in section 5.2.6 it says
5.2.6 bdb_defaultReportingCfg()
Configure the default reporting message, which takes effect after binding.
Prototype
status_t bdb_defaultReportingCfg(u8 endpoint, u16 profileID,
u16 clusterID, u16 attrID,
u16 minReportInt, u16 maxReportInt,
u8 *reportableChange)
Return value
ZCL_STA
Name Type Description
endpoint u8 Endpoint.
profileID u16 Profile Identifier.
clusterID u16 Cluster Identifier.
attrID u16 Attribute Identifier.
minReportInt u16 Minimum reporting interval, in seconds.
maxReportInt u16 Maximum reporting interval, in seconds.
reportableChange u8* Reportable change (only applicable to analog data type).
So reportable change should only be appicable to analog data type!
|