This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Some ZB_ZCL_CLUSTER_ID_DIAGNOSTICS Zigbee attributes do not return values

I added a ZB_ZCL_CLUSTER_ID_DIAGNOSTICS cluster to my custom server EP:

+ZB_ZCL_DECLARE_DIAGNOSTICS_ATTRIB_LIST(
+ diag_attr_list);

+ ZB_ZCL_CLUSTER_DESC(ZB_ZCL_CLUSTER_ID_DIAGNOSTICS,
+ ZB_ZCL_ARRAY_SIZE(diag_attr_list, zb_zcl_attr_t), /* attr_count */
+ diag_attr_list, /* attr_desc_list */
+ ZB_ZCL_CLUSTER_SERVER_ROLE, /* cluster_role_mask */
+ ZB_ZCL_MANUF_CODE_INVALID /* manuf_code */
+ ),

I can query *most* of these attributes from the ZC (zigbee2mqtt dev console).  But some, like ZB_ZCL_ATTR_DIAGNOSTICS_MAC_RX_UCAST_ID or ZB_ZCL_ATTR_DIAGNOSTICS_MAC_TX_UCAST_ID, return UNSUPPORTED_ATTRIBUTE.  I verified this in wireshark:

I don't see any pattern to it; when looking at the ZB_ZCL_DECLARE_DIAGNOSTICS_ATTRIB_LIST the failing attributes are somewhere in the middle of the list, not at the beginning or end.  ZB_ZCL_ATTR_DIAGNOSTICS_MAC_TX_BCAST_ID works but the next attribute ZB_ZCL_ATTR_DIAGNOSTICS_MAC_RX_UCAST_ID doesn't.

However, when browsing zb_zcl_diagnostics.h I saw some possible cut&paste errors in the code, where several attribute IDs were getting reused:

Is this a bug?

Related