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

zigbee callback ZB_ZCL_REGISTER_DEVICE_CB using different cb ID values

I been having an issue using the ZB_ZCL_REGISTER_DEVICE_CB to know when the ZC writes to an attribute that is of type 0x42 String type. It seems that the callback id changes depending on the length of the string I write to the device.

I started with the light bulb example and a CLI example. The CLI is configured as the ZC and the light bulb (ZR) joins the ZC. When I write to the basic cluster (0x00) attr location (0x10) using 0x42 data type, I see the callback ID change based on the string size I use to send to the light bulb.

For an example if I write one char the ID is 66 and if I write 2 chars I see an ID of 10 and if I do 7 chars I see an ID of 0. (I thought I would always see an ID of 0 since that is defined as ZB_ZCL_SET_ATTR_VALUE_CB_ID, instead of ZB_ZCL_IAS_WD_SQUAWK_VALUE_CB_ID (10) )

Is there anther way I should be listening of a write attr on a ZR device?

Parents Reply
  • Hi,

    Just wanted to update the ticket. Based on this case our developers found a bug in ZCL, it makes all attributes with the "string" type unusable and can lead to unexpected ZCL callbacks. Currently a workaround could be to set all attributes that have "octet string" or "character string" type as read only, but it's difficult to do something with the ZBOSS defined attributes...

    DSR (the ZBOSS stack provider) has been informed about the bug, perhaps they can see a workaround for this issue or solution for a next release. Thanks for reporting. 

    Best regards,

    Marjeris

Children
No Data
Related