• No results found

Client Functions

In document ZigBee Home Automation User Guide (Page 101-107)

Note 1: Valid ranges (maximum and minimum values) for the four mandatory attributes can alternatively be set

6.5 Poll Control Events

6.6.3 Client Functions

The following Poll Control cluster functions are provided in the HA API and can be used on a cluster client only:

Function Page

eCLD_PollControlSetLongPollIntervalSend 102 eCLD_PollControlSetShortPollIntervalSend 104

eCLD_PollControlFastPollStopSend 106

Poll Control Cluster

eCLD_PollControlSetLongPollIntervalSend

Description

This function can be used on a cluster client to send a ‘Set Long Poll Interval’

command to the cluster server. This command requests the ‘long poll interval’ for normal poll mode on the End Device to be set to the specified value.

On receiving the command, the ‘long poll interval’ attribute is only modified by the server if the specified value is within the valid range for the attribute (including greater than or equal to the optional user-defined minimum, if set) - see Section 6.2. If this is not the case, the server replies to the client with a ZCL ‘default response’ indicating an invalid value.

The change will take effect immediately. So, if the End Device is in normal poll mode when the ‘long poll interval’ is modified, the polling period will be immediately re-timed to the new value.

You are required to provide a pointer to a location to receive a Transaction Sequence Number (TSN) for the message. The TSN in the response will be 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 local endpoint on which cluster client resides

u8DestinationEndPointId Number of remote endpoint on which cluster server resides

psDestinationAddress Pointer to a structure containing the destination address of the server node

pu8TransactionSequenceNumber Pointer to a location to receive the Transaction Sequence Number (TSN) of the message psPayload Pointer to structure containing the payload for the

command (see Section 6.9.3), including the desired long poll interval

Returns

E_ZCL_SUCCESS E_ZCL_FAIL

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

Poll Control Cluster

eCLD_PollControlSetShortPollIntervalSend

Description

This function can be used on a cluster client to send a ‘Set Short Poll Interval’

command to the cluster server. This command requests the ‘short poll interval’ for fast poll mode on the End Device to be set to the specified value.

On receiving the command, the ‘short poll interval’ attribute is only modified by the server if the specified value is within the valid range for the attribute (including greater than or equal to the optional user-defined minimum, if set) - see Section 6.2. If this is not the case, the server replies to the client with a ZCL ‘default response’ indicating an invalid value.

The change will take effect immediately. So, if the End Device is in fast poll mode when the ‘short poll interval’ is modified, the polling period will be immediately re-timed to the new value.

You are required to provide a pointer to a location to receive a Transaction Sequence Number (TSN) for the message. The TSN in the response will be 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 local endpoint on which cluster client resides

u8DestinationEndPointId Number of remote endpoint on which cluster server resides

psDestinationAddress Pointer to a structure containing the destination address of the server node

pu8TransactionSequenceNumber Pointer to a location to receive the Transaction Sequence Number (TSN) of the message psPayload Pointer to structure containing the payload for the

command (see Section 6.9.4), including the desired short poll interval

Returns

E_ZCL_SUCCESS E_ZCL_FAIL

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

Poll Control Cluster

eCLD_PollControlFastPollStopSend

Description

This function can be used on a cluster client to send a ‘Fast Poll Stop’ command to the cluster server. This command is intended to abort a fast poll mode episode which has been started on the server as the result of a ‘Check-in Response’. Therefore, the command allows fast poll mode to be exited before the mode’s timeout is reached.

The cluster server will only stop fast poll mode on the destination End Device if a matching ‘Fast Poll Stop’ command has been received for every request to start the current episode of fast poll mode. Therefore, if the current fast poll mode episode resulted from multiple start requests from multiple clients, the episode cannot be prematurely stopped (before the timeout is reached) unless a ‘Fast Poll Stop’

command is received from each of those clients.

You are required to provide a pointer to a location to receive a Transaction Sequence Number (TSN) for the message. The TSN in the response will be 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 local endpoint on which cluster client resides

u8DestinationEndPointId Number of remote endpoint on which cluster server resides

psDestinationAddress Pointer to a structure containing the destination address of the server node

pu8TransactionSequenceNumber Pointer to a location to receive the Transaction Sequence Number (TSN) of the message

Returns

In document ZigBee Home Automation User Guide (Page 101-107)