Adding ZCL clusters to application

Hi,

I'm trying to develop a Zigbee application, and following the guide provided here for adding a ZCL cluster to the Zigbee template. However, I think this guide is not updated and not working with Connect SDK v2.9.0, because cannot find ZB_HA_DECLARE_TEMPERATURE_SENSOR_CLUSTER_LIST anywhere in the SDK, and I believe this guide is not updated after v2.5x

Can you provide a latest guide to add new ZCL clusters with the SDK 2.9.0?

Parents
  • Hi, 

    Can you provide a latest guide to add new ZCL clusters with the SDK 2.9.0?

    Please see the note on the Adding ZCL clusters to application page:

    because cannot find ZB_HA_DECLARE_TEMPERATURE_SENSOR_CLUSTER_LIST anywhere in the SDK

    See this post

    Regards,
    Amanda H.

  • I set defined temperature cluster list as:

    #define ZB_HA_DECLARE_TEMPERATURE_SENSOR_CLUSTER_LIST(              \
          cluster_list_name,                                            \
          basic_attr_list,                                              \
          identify_attr_list,                                           \
          temp_measure_attr_list)                                       \
          zb_zcl_cluster_desc_t cluster_list_name[] =                   \
          {                                                             \
            ZB_ZCL_CLUSTER_DESC(                                        \
              ZB_ZCL_CLUSTER_ID_IDENTIFY,                               \
              ZB_ZCL_ARRAY_SIZE(identify_attr_list, zb_zcl_attr_t),     \
              (identify_attr_list),                                     \
              ZB_ZCL_CLUSTER_SERVER_ROLE,                               \
              ZB_ZCL_MANUF_CODE_INVALID                                 \
            ),                                                          \
            ZB_ZCL_CLUSTER_DESC(                                        \
              ZB_ZCL_CLUSTER_ID_BASIC,                                  \
              ZB_ZCL_ARRAY_SIZE(basic_attr_list, zb_zcl_attr_t),        \
              (basic_attr_list),                                        \
              ZB_ZCL_CLUSTER_SERVER_ROLE,                               \
              ZB_ZCL_MANUF_CODE_INVALID                                 \
            ),                                                          \
            ZB_ZCL_CLUSTER_DESC(                                        \
              ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT,                       \
              ZB_ZCL_ARRAY_SIZE(temp_measure_attr_list, zb_zcl_attr_t), \
              (temp_measure_attr_list),                                 \
              ZB_ZCL_CLUSTER_SERVER_ROLE,                               \
              ZB_ZCL_MANUF_CODE_INVALID                                 \
            ),                                                          \
            ZB_ZCL_CLUSTER_DESC(                                        \
              ZB_ZCL_CLUSTER_ID_IDENTIFY,                               \
              0,                                                        \
              NULL,                                                     \
              ZB_ZCL_CLUSTER_CLIENT_ROLE,                               \
              ZB_ZCL_MANUF_CODE_INVALID                                 \
            )                                                           \
        }
    

    But I don't understand the last Identify descriptor (client) usage.

    After that I followed the section "Reading a clusters list of a specific Zigbee node", does this still work?

    Anyway, getting following warning from the device with the temperature clustes:

    I: Unimplemented signal (signal: 54, status: 0)

    And the network coordinator is not receives any responses for the following command:

    zdo match_desc 0xfffd 0xfffd 0x0104 0 1 0x06
    Sending broadcast request.
    Done
    uart:~$ I: Network steering finished
    I: Unimplemented signal (signal: 54, status: 0)

Reply Children
Related