Touchlink Commissioning events
Touchlink Commissioning cluster events that result from receiving Touchlink requests and responses must be handled at the application level (while events that result from Commissioning Utility requests and responses are handled by the ZCL).
When a Touchlink request or response command (e.g. a Scan Request) is received by a node, a stack event is generated which is wrapped in a tsZCL_CallBackEvent
structure. In this structure:
eEventType
field is set to E_ZCL_CBET_CLUSTER_CUSTOMsClusterCustomMessage
field’stsZCL_ClusterCustomMessage
structure is filled in by:setting
u16ClusterId
to ZLL_CLUSTER_ID_COMMISSIONINGpointing
pvCustomData
to the payload data of the received commandThe above structure is described in Section 6.1.15.
The payload data contains a command ID, which uses one of the enumerations listed in Section 44.6.1. The event is passed to the ZCL event handler which checks that the command ID is valid for the target endpoint. If it is valid, the user-defined callback function is invoked that was specified through the function eZLL_RegisterCommissionEndPoint(). The callback function can access the payload through the tsCLD_ZllCommissionCustomDataStructure
structure, which is created when the above function is called.
Thus, the above user-defined callback function must be designed to handle the relevant Touchlink events:
For a request, the callback function may need to populate a structure with the required data and send a response using the appropriate response function, e.g. by calling eCLD_ZllCommissionCommandScanRspCommandSend() to respond to a Scan Request.
For a response, the callback function may just need to extract the returned data from the event.
Alternatively, the callback function may simply notify the main application of the received command and provide the payload, so that the application can process the command.
Touchlink command events
The events that can be generated for Touchlink are listed and described below (the enumerations are defined in the structure teCLD_ZllCommission_Command
, shown in Section 44.9.1).
Event |
Description |
---|---|
E_CLD_COMMISSION_CMD_SCAN_REQ |
A Scan Request has been received (by server) |
E_CLD_COMMISSION_CMD_SCAN_RSP |
A Scan Response has been received (by client) |
E_CLD_COMMISSION_CMD_DEVICE_INFO_REQ |
A Device Information Request has been received (by server) |
E_CLD_COMMISSION_CMD_DEVICE_INFO_RSP |
A Device Information Response has been received (by client) |
E_CLD_COMMISSION_CMD_IDENTIFY_REQ |
An Identify Request has been received (by server) |
E_CLD_COMMISSION_CMD_FACTORY_RESET_REQ |
A Reset To Factory New Request has been received (by server) |
E_CLD_COMMISSION_CMD_NETWORK_START_REQ |
A Network Start Request has been received (by server) |
E_CLD_COMMISSION_CMD_NETWORK_START_RSP |
A Network Start Response has been received (by cli-ent) |
E_CLD_COMMISSION_CMD_NETWORK_JOIN_ |
ROUTER_REQ
|A Network Join Router Request has been received (by server)| |E_CLD_COMMISSION_CMD_NETWORK_JOIN_
ROUTER_RSP
|A Network Join Router Response has been received (by client)| |E_CLD_COMMISSION_CMD_NETWORK_JOIN_
END_DEVICE_REQ
|A Network Join End Device Request has been received (by server)| |E_CLD_COMMISSION_CMD_NETWORK_JOIN_
END_DEVICE_RSP
|A Network Join End Device Response has been received (by client)| |E_CLD_COMMISSION_CMD_NETWORK_UPDATE_REQ|A Network Update Request has been received (by server)|
Parent topic:Touchlink Commissioning events
Commissioning Utility Command Events
The events that can be generated for the Commissioning Utility are listed and described below (the enumerations are defined in the structure teCLD_ZllUtility_Command
, shown in Section 44.9.2).
Event |
Description |
---|---|
E_CLD_UTILITY_CMD_ENDPOINT_INFO |
An Endpoint Information command has been received (by client) |
E_CLD_UTILITY_CMD_GET_GROUP_ID_REQ_RSP |
A Get Group Identifiers Request has been received (by server) or a Get Group Identifiers Response has been received (by client) |
E_CLD_UTILITY_CMD_GET_ENDPOINT_LIST_REQ_RSP |
A Get Endpoint List Request has been received (by server) or a Get Endpoint List Response has been received (by client) |
Parent topic:Touchlink Commissioning events
Parent topic:Touchlink Commissioning Cluster