Login Register
Feb 04, 2023 04:24




How do I use ZCL_DIAGNOSTICS? There is no information in the documentation for the SDK. I also had a look in ZigBee cluster library specification.

There is only one function to register it:

status_t zcl_diagnostics_register(u8 endpoint, u16 manuCode, u8 attrNum, const zclAttrInfo_t attrTbl[], cluster_forAppCb_t cb);

There are a lot of attributes ZCL_DIAGNOSTICS_ATTRID...

- Do I create attrTbl[] with selected (or all) ZCL_DIAGNOSTICS_ATTRID..?

- Is the endpoint, the endpoint of the device that diagnostics is checked - that is, if I register is on the Gateway, I put Gateway endpoint?

- What should be in the callback function?

Would this help me with checking why gateway stops receiving report messages 0x8104 from other devices?

Since I can t analyze Rx/TX in mac_phy.c together with packet capture, because I can t capture packets.

I don't know how it would even help me. The devices send report messages 0x8104, the gateway doesn't receive/respond to those messages, so what would packet capture tell me?

There is nothing wrong with the packet, the packets sent by other devices don't change - after resetting the gateway, the gateway receives them?

And I have other devices that are bound and they still receive the reports.

1 replies
TL_Soyo Feb 07, 2023 09:49


  You need to refer to ZigBee cluster library specification to implement the ZCL_DIAGNOSTICS,SDK only provide the function to register ZCL_DIAGNOSTICS to ZCL tables.