5.1.7.3 Zigbee Cluster Library (ZCL) Generic APIs
The following table provides details about the ZCL functions related to all clusters: functions for sending general and cluster-specific commands, auxiliary APIs and more.
Function Prototype | Description |
---|---|
void ZCL_RegisterEndpoint(ZCL_DeviceEndpoint_t *endpoint) | Registers an application endpoint |
void ZCL_UnregisterEndpoint(ZCL_DeviceEndpoint_t *endpoint) | Unregisters an application endpoint |
void ZCL_ResetReq (void) | Resets the ZCL component |
ZCL_Status_t ZCL_ReadAttributeValue(Endpoint_t endpointId, ClusterId_t clusterId, uint8_t clusterSide, ZCL_AttributeId_t attrId, uint8_t *attrType, uint8_t *attrValue) | Finds an attribute in ZCL and returns its value |
ZCL_Status_t ZCL_WriteAttributeValue(Endpoint_t endpointId, ClusterId_t clusterId, uint8_t clusterSide, ZCL_AttributeId_t attrId, uint8_t attrType, uint8_t *attrValue) | Finds an attribute in ZCL and rewrites its value by the new one |
void ZCL_AttributeReq(ZCL_Request_t *req) | Sends a general ZCL command related to attributes to a remote device |
void ZCL_CommandReq(ZCL_Request_t *req) | Sends a cluster-specific command |
uint16_t ZCL_GetAttributeLength(uint8_t typeId, const uint8_t *value) | This function returns bytes amount of a type by the type’s ID |
ZCL_Status_t ZCL_PutNextElement(ZCL_NextElement_t *element) | Adds an element to the outgoing command payload |
ZCL_Status_t ZCL_GetNextElement(ZCL_NextElement_t *element) | Gets an element from the incoming command’s payload |
ZCL_Cluster_t * ZCL_GetCluster(Endpoint_t endpointId, ClusterId_t clusterId, uint8_t clusterSide) | Gets cluster descriptor by endpoint ID, cluster ID |
ZCL_Cluster_t * ZCL_GetNextCluster(ZCL_Cluster_t *cluster) | Get next cluster from the list of cluster descriptors in a registered end point |
ZCL_Status_t ZCL_SetReportableChange(Endpoint_t endpointId, ClusterId_t clusterId, uint8_t clusterSide, ZCL_AttributeId_t attrId, uint8_t attrType, uint8_t *repChange) | Finds an attribute in ZCL and rewrites its reportable change value by the new one |
void ZCL_StartReporting(void) | Starts attributes reporting if any attributes are configured for reporting by application. Restarts reporting if it is in progress |
ZCL_Status_t ZCL_ReportOnChangeIfNeeded(void *attr) | Sets report on change feature for reporting an attribute on change and if all conditions to report are met |
void static inline uint8_t ZCL_GetNextSeqNumber(void) | Returns next sequence number |