Forums - Zigbee cluster event questions

4 posts / 0 new
Last post
Zigbee cluster event questions
sscalf
Join Date: 7 Feb 19
Posts: 2
Posted: Thu, 2019-10-31 09:06

General ZCL event callbacks receive the qapi_ZB_CL_Event_Data_t struct which contains the header information required to link the data to a physical device, which would work for Attribute reporting a few other response types. The cluster-specific callbacks, however, seem to only contain the event data and no header information to link it to a device. Is there some way to get this information that I am missing?

We are developing a Zigbee hub to control multiple devices, so we need to come up with a solution for this if the qapi does not support it.

  • Up0
  • Down0
c_rpedad
Profile picture
Join Date: 18 Jun 18
Location: San Jose
Posts: 317
Posted: Wed, 2019-11-06 15:04

We support header information of Event callbacks, Kindly refer to "qapi_ZB_CL_General_Receive_Info_t" and "qapi_ZB_CL_Header_t" Structure that represents the information for a ZCL frame header.
In case of custom-specific callbacks you can refer to "qapi_ZB_CL_Custom_Cluster_Command_t" and "qapi_ZB_CL_Header_t" structures.

Kindly refer to "Qapi_zb_cl.h" for more detailed information.

  • Up0
  • Down0
sscalf
Join Date: 7 Feb 19
Posts: 2
Posted: Fri, 2019-11-08 11:27

Sending commands out with qapi_ZB_CL_Header_t hasn't been an issue.

As far as I can see, the qapi_ZB_CL_General_Receive_Info_t is only included in qapi_ZB_CL_Event_Data_t. This seems to only be included in callbacks registered through qapi_ZB_CL_Register_Callback, and is only fired for the generic ZCL responses (read/write attribute, reporting, etc) and not for any cluster-specific responses/events.

qapi_ZB_CL_Custom_Cluster_Command_t does seem like it should contain the information that we want. The comment says it is available for any cluster registered through qapi_ZB_CL_Create_Cluster, but that function generates callbacks that have access to a qapi_ZB_CL_*_Event_Data_t struct that only contains event/payload information. I can't actually see anything that references qapi_ZB_CL_Custom_Cluster_Command_t in the code.

  • Up0
  • Down0
c_rpedad
Profile picture
Join Date: 18 Jun 18
Location: San Jose
Posts: 317
Posted: Thu, 2019-11-14 10:13
Apologies for the delay in response.
For most of the clusters, there isn't a means for the application to determine the sender of a packet that generated an event.
The clusters tend verify and respond to commands automatically so there isn't much reason for the application to need this.
Combined with the fact that the underlying framework (provided by Exegin) didn't support this is why most of the clusters don't provide this information.
 
qapi_ZB_CL_...._Event_Data_t struct is for the custom/generic cluster implementation, the application needs to be able to respond to the received command so it was provided there.
  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.