Sending Commands
The NXP implementation of the ZCL provides functions for sending commands between an Identify cluster client and server.
Starting and Stopping Identification Mode
The function eCLD_IdentifyCommandIdentifyRequestSend() is used on the cluster client to send a command to the cluster server requesting identification mode to be started or stopped on the server device. The required action is contained in the payload of the command (see Section 11.7.2):
Setting the payload element u16IdentifyTime to a non-zero value has the effect of requesting that the server device enters identification mode for a time (in seconds) corresponding to the specified value.
Setting the payload element u16IdentifyTime to zero has the effect of requesting the immediate termination of any identification mode that is in progress on the server device.
Identification mode can alternatively be started and stopped on a light of a remote node as described in Section 11.4.2.
Parent topic:Sending Commands
Requesting Identification Effects
The function eCLD_IdentifyCommandTriggerEffectSend() can be used to request a particular identification effect or behavior on a light of a remote node. This function can be used for entering and leaving identification mode instead of eCLD_IdentifyCommandIdentifyRequestSend().
The possible behaviors that can be requested are as follows:
Blink: Light is switched on and then off (once)
Breathe: Light is switched on and off by smoothly increasing and then decreasing its brightness over a 1 second period, and then this process is repeated 15 times.
Okay:
Colour light goes green for 1 second.
Monochrome light flashes twice in 1 second.
Channel change:
Colour light goes orange for 8 seconds.
Monochrome light switches to maximum brightness for 0.5 s and then to minimum brightness for 7.5 s.
Finish effect: Current stage of effect is completed and then identification mode is terminated (for example, for the Breathe effect, only the current 1 second cycle is completed).
Stop effect: Current effect and identification mode are terminated as soon as possible.
Parent topic:Sending Commands
Inquiring about Identification Mode
The function eCLD_IdentifyCommandIdentifyQueryRequestSend() is called on an Identify cluster client in order to request a response from a server cluster when it is in identification mode. This request should only be unicast.
Parent topic:Sending Commands
Using EZ-mode Commissioning Features
The Identify cluster also contains the following optional features that can be used with EZ-mode commissioning, which is a part of the ZigBee Base Device functionality and is described in the ZigBee Devices User Guide (JNUG3131).
‘EZ-mode Invoke’ Command
The ‘EZ-mode Invoke’ command is supported which allows a device to schedule and start one or more stages of EZ-mode commissioning on a remote device. The command is issued by calling the eCLD_IdentifyEZModeInvokeCommandSend() function and allows the following stages to be specified:
Factory Reset: EZ-mode commissioning configuration of the destination device to be reset to ‘Factory Fresh’ settings.
Network Steering: Destination device to be put into the ‘Network Steering’ phase.
Find and Bind: Destination device to be put into the ‘Find and Bind’ phase.
On receiving the command, the event E_CLD_IDENTIFY_CMD_EZ_MODE_INVOKE is generated on the remote device, indicating one or more requested commissioning actions. The local application must perform these actions using the functions of the EZ-mode Commissioning module. If more than one stage is specified, they must be performed sequentially in the above order and must be contiguous.
If the ‘EZ-mode Invoke’ command is to be used by an application, its use must be enabled at compile time (see Section 11.9).
‘Commissioning State’ Attribute
The Identify cluster server contains an optional ‘Commissioning State’ attribute, u8CommissionState
(see Section 11.2), which indicates whether the local device is:
a member of the (correct) network
in a commissioned state and ready for operation
If the ‘Commissioning State’ attribute is to be used by an application, its use must be enabled at compile time (see Section 11.9).
The EZ-mode initiator can send an ‘Update Commission State’ command to the target device in order to update the commissioning state of the target. The command is issued by calling the eCLD_IdentifyUpdateCommissionStateCommandSend() function. On receiving this command on the target, the ‘Commissioning State’ attribute is automatically updated. It is good practice for the EZ-mode initiator to send this command to notify the target device when commissioning is complete.
Parent topic:Sending Commands
Parent topic:Identify Cluster