eCLD_IdentifyCommandTriggerEffectSend
teZCL_Status eCLD_IdentifyCommandTriggerEffectSend(
uint8 u8SourceEndPointId,
uint8 u8DestinationEndPointId,
tsZCL_Address *psDestinationAddress,
uint8 *pu8TransactionSequenceNumber,
teCLD_Identify_EffectId eEffectId,
uint8 u8EffectVariant);
Description
This function can be called on a client device to send a custom command to a server device, in order to control the identification effect on a light of the target node. Therefore, this function can be used to start and stop identification mode instead of eCLD_IdentifyCommandIdentifyRequestSend(). Use of the ‘Trigger Effect’ function must be enabled via a compile-time option, as described in Section 11.9.
The following effect commands can be sent using this function:
Effect command |
Description |
---|---|
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 is repeated 15 times |
Okay |
- Color light goes green for 1 second |
Monochrome light flashes twice in 1 second
| |Channel change|- Color 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|
A variant of the selected effect can also be specified, but currently only the default (as described above) is available.
A device which receives this command generates a callback event on the endpoint on which the Identify cluster was registered.
You are required to provide a pointer to a location to receive a Transaction Sequence Number (TSN) for the request. The TSN in the response is set to match the TSN in the request, allowing an incoming response to be paired with a request. This is useful when sending more than one request to the same destination endpoint.
Parameters
u8SourceEndPointId: Number of the local endpoint through which to send the request. This parameter is used both to send the message and to identify the instance of the shared structure holding the required attribute values.
u8DestinationEndPointId: Number of the endpoint on the remote node to which the request is sent. This parameter is ignored when sending to address types eZCL_AMBOUND and eZCL_AMGROUP.
psDestinationAddress: Pointer to a structure holding the address of the node to which the request is sent.
pu8TransactionSequenceNumber: Pointer to a location to receive the Transaction Sequence Number (TSN) of the request.
eEffectId: Effect command to send (see above), one of:
E_CLD_IDENTIFY_EFFECT_BLINK
E_CLD_IDENTIFY_EFFECT_BREATHE
E_CLD_IDENTIFY_EFFECT_OKAY
E_CLD_IDENTIFY_EFFECT_CHANNEL_CHANGE
E_CLD_IDENTIFY_EFFECT_FINISH_EFFECT
E_CLD_IDENTIFY_EFFECT_STOP_EFFECT
u8EffectVariant: Required variant of specified effect - set to zero for default (as no variants are currently available).
Returns
E_ZCL_SUCCESS
E_ZCL_ERR_PARAMETER_NULL
E_ZCL_ERR_EP_RANGE
E_ZCL_ERR_EP_UNKNOWN
E_ZCL_ERR_CLUSTER_NOT_FOUND
E_ZCL_ERR_ZBUFFER_FAIL
E_ZCL_ERR_ZTRANSMIT_FAIL
If an error is returned by the ZigBee PRO stack function which is invoked by this function to transmit the data, this error may be obtained by calling eZCL_GetLastZpsError().
Parent topic:Functions