IAS Ancillary Control Equipment Cluster

This chapter describes the IAS Ancillary Control Equipment (ACE) cluster, which provides a control interface to a CIE (Control and Indicating Equipment) device in an IAS (Intruder Alarm System).

The IAS ACE cluster has a Cluster ID of 0x0501.

Overview

The IAS ACE cluster provides a control interface to a CIE (Control and Indicating Equipment) device in an IAS (Intruder Alarm System). For example, it allows a remote control unit to be used to configure the IAS via a CIE device. The server side of the cluster is implemented on the CIE device and the client side is implemented on the remote device.

To use the functionality of this cluster, you must include the file IASACE.h in your application and enable the cluster by defining CLD_IASACE in the zcl_options.h file.

The inclusion of the client or server software must be pre-defined in the application’s compile-time options (in addition, if the cluster is to reside on a custom endpoint then the role of client or server must also be specified when creating the cluster instance).

The compile-time options for the IAS ACE cluster are fully detailed in Section 38.9.

Parent topic:IAS Ancillary Control Equipment Cluster

IAS ACE Structure and Attributes

The structure definition for the IAS ACE cluster is shown below.

typedef struct
{
  zuint16     u16ClusterRevision;    
}   tsCLD_IASACE; 

where u16ClusterRevision is a mandatory attribute that specifies the revision of the cluster specification on which this cluster instance is based. The cluster specification in the ZCL r6 corresponds to a cluster revision of 1. The value is incremented by one for each subsequent revision of the cluster specification. This attribute is also described in Section 2.4.

Parent topic:IAS Ancillary Control Equipment Cluster

Table and Parameters

The IAS ACE cluster server hosts the following table and sets of parameters:

  • Zone table: The Zone table contains an entry for each enrolled zone. Each entry stores the identifier and type of the zone, as well as the IEEE/MAC address of the device which hosts the zone (see Section 38.7.2).

  • Zone parameters: This set of parameters contains certain zone properties including the zone status, the zone name/label and the zone arm/disarm code (see Section 38.7.3)

  • Panel parameters: This set of parameters contains certain status information about the display panel and alarm (see Section 38.7.4).

Parent topic:IAS Ancillary Control Equipment Cluster

Command Summary

The IAS ACE cluster includes a number of commands that can be sent by the application on the client or server. These commands are summarised below.

  • Table 50 lists the commands that can be issued on the client.

  • Table 51 lists the commands that can be issued on the server.

Functions are provided to send these commands - these functions are indicated in the descriptions below and detailed in Section 38.6.

IAS ACE Cluster Commands from Client to Server

Command

Description and Function

Arm

Instructs the server to put all or certain enrolled zones into the ‘armed’ state or put all of them into the ‘disarmed’ state.
eCLD_IASACE_ArmSend()

Bypass

Instructs the server to take one or more specified zones out of the system for the current activation (these zones are reinstated the next time the system is dis-armed and to exclude them again the next time the system is armed, the Bypass command must be re-sent before sending the Arm command).
eCLD_IASACE_BypassSend()

Emergency

Instructs the server to put the alarm in the ‘Emergency’ state.
eCLD_IASACE_EmergencySend()

Fire

Instructs the server to put the alarm in the ‘Fire’ state.
eCLD_IASACE_FireSend()

Panic

Instructs the server to put the alarm in the ‘Panic’ state.
eCLD_IASACE_PanicSend()

Get Zone ID Map

Requests the Zone IDs that have been allocated to zones.
eCLD_IASACE_GetZoneIDMapSend()

Get Zone Information

Requests information on a specified zone.
eCLD_IASACE_GetZoneInfoSend()

Get Panel Status

Requests the current status of the (display) panel.
eCLD_IASACE_GetPanelStatusSend()

Get Bypassed Zone List

Requests a list of the currently bypassed zones. 
eCLD_IASACE_GetBypassedZoneListSend()

Get Zone Status

Requests a list of either all zones with their status or those zones with a particular status (that is, all zones with the b16ZoneStatus attribute of the IAS Zone cluster having a certain value). eCLD_IASACE_GetZoneStatusSend()

IAS ACE Cluster Commands from Server to Client

Command

Description and Function

Set Bypassed Zone List

Informs the client which zones are currently bypassed and can be sent in response to a Bypassed Zone List command, Get eCLD_IASACE_SetBypassedZoneListSend()

Zone Status Changed

Informs the client that the status (value of the b16ZoneStatus attribute of the IAS Zone cluster) of a particular zone has changed.
eCLD_IASACE_ZoneStatusChangedSend()

Panel Status Changed

Informs the client that the status of the (display) panel has changed. eCLD_IASACE_PanelStatusChanged()

Parent topic:IAS Ancillary Control Equipment Cluster

IAS ACE Events

The IAS ACE cluster has its own events that are handled through the callback mechanism outlined in Chapter 3. If a device uses the IAS ACE cluster then IAS ACE event handling must be included in the callback function for the associated endpoint, where this callback function is registered through the relevant endpoint registration function (for example, through eHA_RegisterIASCIEEndPoint() for a CIE device). The relevant callback function will then be invoked when an IAS ACE event occurs.

For an IAS ACE event, the eEventType field of the tsZCL_CallBackEvent structure is set to E_ZCL_CBET_CLUSTER_CUSTOM. This event structure also contains an element sClusterCustomMessage, which is itself a structure containing a field pvCustomData. This field is a pointer to the following tsCLD_IASACECallBackMessage structure:

typedef struct
{
uint8    u8CommandId;
  union
  {
  tsCLD_IASACE_ArmPayload  *psArmPayload;
  tsCLD_IASACE_BypassPayload     *psBypassPayload;
  tsCLD_IASACE_GetZoneInfoPayload   *psGetZoneInfoPayload;
  tsCLD_IASACE_GetZoneStatusPayload   *psGetZoneStatusPayload;
  tsCLD_IASACE_ArmRespPayload      *psArmRespPayload;
  tsCLD_IASACE_GetZoneIDMapRespPayload   *psGetZoneIDMapRespPayload;
  tsCLD_IASACE_GetZoneInfoRespPayload   *psGetZoneInfoRespPayload;
  tsCLD_IASACE_ZoneStatusChangedPayload  *psZoneStatusChangedPayload;
  tsCLD_IASACE_PanelStatusChangedOrGetPanelStatusRespPayload   
   *psPanelStatusChangedOrGetPanelStatusRespPayload;
  tsCLD_IASACE_SetBypassedZoneListPayload    *psSetBypassedZoneListPayload;
  tsCLD_IASACE_BypassRespPayload    *psBypassRespPayload;
  tsCLD_IASACE_GetZoneStatusRespPayload   *psGetZoneStatusRespPayload;
    } uMessage;
} tsCLD_IASACECallBackMessage;

When an IAS ACE event occurs, one of twelve command types could have been received. The relevant command type is specified through the u8CommandId field of the tsCLD_IASACECallBackMessage structure. The possible command/event types are detailed in Table 52 below (for command descriptions, refer to Section 38.4).

In the case where an IAS Arm or Bypass command has been received and results in a change to a Zone parameter on the cluster server (e.g. an update of the zone status u8ZoneStatusFlag), a second event will be generated before any response is sent. This is a ‘cluster update’ event for which the eEventType field of the tsZCL_CallBackEvent structure is set to E_ZCL_CBET_CLUSTER_UPDATE. This prompts the application to perform any required actions such as saving persistent data and refreshing a display.

u8CommandId Enumeration

Description

Server Events

E_CLD_IASACE_CMD_ARM

An IAS ACE Arm command has been received by the server

E_CLD_IASACE_CMD_BYPASS

An IAS ACE Bypass command has been received by the server

E_CLD_IASACE_CMD_EMERGENCY

An IAS ACE Emergency command has been received by the server

E_CLD_IASACE_CMD_FIRE

An IAS ACE Fire command has been received by the server

E_CLD_IASACE_CMD_PANIC

An IAS ACE Panic command has been received by the server

E_CLD_IASACE_CMD_GET_ZONE_ID_MAP

An IAS ACE Get Zone ID Map command has been received by the server

E_CLD_IASACE_CMD_GET_ZONE_INFO

An IAS ACE Get Zone Information command has been received by the server

E_CLD_IASACE_CMD_GET_PANEL_STATUS

An IAS ACE Get Panel Status command has been received by the server

E_CLD_IASACE_CMD_GET_BYPASSED_ZONE_LIST

An IAS ACE Get Bypassed Zone List command has been received by the server

E_CLD_IASACE_CMD_GET_ZONE_STATUS

An IAS ACE Get Zone Status command has been received by the server

Client Events

E_CLD_IASACE_CMD_ARM_RESP

An IAS ACE Arm Response command has been received by the client

E_CLD_IASACE_CMD_GET_ZONE_ID_MAP_RESP

An IAS ACE Get Zone ID Map Response command has been received by the client

E_CLD_IASACE_CMD_GET_ZONE_INFO_RESP

An IAS ACE Get Zone Information Response command has been received by the client

E_CLD_IASACE_CMD_ZONE_STATUS_CHANGED

An IAS ACE Zone Status Changed command has been received by the client

E_CLD_IASACE_CMD_PANEL_STATUS_CHANGED

An IAS ACE Panel Status Changed command has been received by the client

E_CLD_IASACE_CMD_GET_PANEL_STATUS_RESP

An IAS ACE Get Panel Status Response command has been received by the client

E_CLD_IASACE_CMD_SET_BY-PASSED_ZONE_LIST

An IAS ACE Set Bypassed Zone List command has been received by the client

E_CLD_IASACE_CMD_BYPASS_RESP

An IAS ACE Bypass Response command has been received by the client

E_CLD_IASACE_CMD_GET_ZONE_STATUS_RESP

An IAS ACE Get Zone Status Response command has been received by the client

Parent topic:IAS Ancillary Control Equipment Cluster

Functions

The following IAS ACE cluster functions are provided in the NXP implementation of the ZCL:

  1. eCLD_IASACECreateIASACE

  2. eCLD_IASACEAddZoneEntry

  3. eCLD_IASACERemoveZoneEntry

  4. eCLD_IASACEGetZoneTableEntry

  5. eCLD_IASACEGetEnrolledZones

  6. eCLD_IASACESetPanelParameter

  7. eCLD_IASACEGetPanelParameter

  8. eCLD_IASACESetZoneParameter

  9. eCLD_IASACESetZoneParameterValue

  10. eCLD_IASACEGetZoneParameter

  11. eCLD_IASACE_ArmSend

  12. eCLD_IASACE_BypassSend

  13. eCLD_IASACE_EmergencySend

  14. eCLD_IASACE_FireSend

  15. eCLD_IASACE_PanicSend

  16. eCLD_IASACE_GetZoneIDMapSend

  17. eCLD_IASACE_GetZoneInfoSend

  18. eCLD_IASACE_GetPanelStatusSend

  19. eCLD_IASACE_SetBypassedZoneListSend

  20. eCLD_IASACE_GetBypassedZoneListSend

  21. eCLD_IASACE_GetZoneStatusSend

  22. eCLD_IASACE_ZoneStatusChangedSend

  23. eCLD_IASACE_PanelStatusChanged

eCLD_IASACECreateIASACE

teZCL_Status eCLD_IASACECreateIASACE(
tsZCL_ClusterInstance *psClusterInstance,
bool_t bIsServer,
tsZCL_ClusterDefinition *psClusterDefinition,
void *pvEndPointSharedStructPtr,
tsCLD_IASACECustomDataStructure
*psCustomDataStructure);

Description

This function creates an instance of the IAS ACE cluster on an endpoint. The cluster instance is created on the endpoint which is associated with the supplied tsZCL_ClusterInstance structure and can act as a server or a client, as specified.

The function should only be called when setting up a custom endpoint containing one or more selected clusters (rather than the whole set of clusters supported by a standard ZigBee device). This function will create an IAS ACE cluster instance on the endpoint, but instances of other clusters may also be created on the same endpoint by calling their corresponding creation functions.

Note: This function must not be called for an endpoint on which a standard ZigBee device is used. In this case, the device and its supported clusters must be registered on the endpoint using the relevant device registration function.

When used, this function must be called after the stack has been started and after the ZCL has been initialized.

Parameters

  • psClusterInstance: Pointer to structure containing information about the cluster instance to be created (see Section 6.1.16). This structure is updated by the function by initializing individual structure fields.

  • bIsServer: Type of cluster instance (server or client) to be created: TRUE - server, FALSE - client

  • psClusterDefinition: Pointer to structure indicating the type of cluster to be created (see Section 6.1.2). In this case, this structure must contain the details of the IAS ACE cluster.

  • pvEndPointSharedStructPtr: Set this pointer to NULL for this cluster

  • psCustomDataStructure: Pointer to a structure containing the storage for internal functions of the cluster (see Section 38.7.1)

Returns

  • E_ZCL_SUCCESS

  • E_ZCL_FAIL

  • E_ZCL_ERR_PARAMETER_NULL

  • E_ZCL_ERR_INVALID_VALUE

Parent topic:Functions

eCLD_IASACEAddZoneEntry

teZCL_CommandStatus eCLD_IASACEAddZoneEntry(
    uint8 u8SourceEndPointId,
    uint16 u16ZoneType,
    uint64 u64IeeeAddress,
    uint8 *pu8ZoneID);

Description

This function can be used on an IAS ACE cluster server to create an entry in the local Zone table - that is, to add the details of a zone to the table after receiving a Zone Enrollment Request (and before sending a Zone Enrollment Response).

The details of the zone are provided in the function parameters. The function checks that the supplied pointer to the Zone ID is not NULL and that the supplied IEEE address is valid. The function can then add the zone details to the Zone table, provided that there is a free entry in the table.

Parameters

  • u8SourceEndPointId: Number of the endpoint on which the IAS ACE cluster resides

  • u16ZoneType: Value indicating the type of zone to be added to the table (for the possible values, refer to the description of the attribute e``16ZoneType of the IAS Zone cluster in Section 37.2)

  • u64IeeeAddress: IEEE address of the device which hosts the zone

  • pu8ZoneID: Pointer to an identifier of the zone to be added to the table

Returns

  • E_ZCL_CMDS_SUCCESS (zone successfully added to Zone table)

  • E_ZCL_CMDS_FAILURE (cluster instance not found)

  • E_ZCL_CMDS_INVALID_FIELD (pointer to Zone ID is NULL)

  • E_ZCL_CMDS_INVALID_VALUE (IEEE address is invalid)

  • E_ZCL_CMDS_INSUFFICIENT_SPACE (no free entry in Zone table)

Parent topic:Functions

eCLD_IASACERemoveZoneEntry

teZCL_CommandStatus eCLD_IASACERemoveZoneEntry(
  uint8 u8SourceEndPointId,
    uint8 u8ZoneID,
    uint64 *pu64IeeeAddress);

Description

This function can be used on an IAS ACE cluster server to remove an existing entry from the local Zone table - that is, to delete the details of a zone in the table and release the table entry for re-use. Thus, this function can be used to unenroll a zone.

The zone to be removed is specified by means of the Zone ID. The function checks that the supplied pointer to a location to receive the IEEE address is not NULL. The function then searches for the relevant table entry using the supplied Zone ID and, if found, returns its IEEE address via the supplied location and frees the table entry by setting the IEEE address in the table entry to zero. The returned IEEE address can be used by a (local) CIE device application to send a request to the relevant Zone device to set its IAS Zone cluster attribute u64IASCIEAddress to all zeros (writing to remote attributes is described in Section 2.3.3.1).

Parameters

  • u8SourceEndPointId: Number of the endpoint on which the IAS ACE cluster resides

  • u8ZoneID: Zone ID of zone to be removed from table

  • pu64IeeeAddress: Pointer to location to receive the IEEE address found in the table entry to be removed

Returns

  • E_ZCL_CMDS_SUCCESS (zone successfully removed from Zone table)

  • E_ZCL_CMDS_FAILURE (cluster instance not found)

  • E_ZCL_CMDS_INVALID_FIELD (pointer to IEEE address location is NULL)

  • E_ZCL_CMDS_NOT_FOUND (entry with specified Zone ID not found in table)

Parent topic:Functions

eCLD_IASACEGetZoneTableEntry

teZCL_CommandStatus eCLD_IASACEGetZoneTableEntry(
    uint8 u8SourceEndPointId,
    uint8 u8ZoneID,
    tsCLD_IASACE_ZoneTable **ppsZoneTable);

Description

This function can be used on an IAS ACE cluster server to obtain the details of a specified zone from the local Zone table.

The zone of interest is specified by means of its Zone ID. The function searches for the relevant table entry using the supplied Zone ID and, if found, returns the zone information from the table entry via the supplied structure (see Section 38.7.2).

Parameters

  • u8SourceEndPointId: Number of the endpoint on which the IAS ACE cluster resides

  • u8ZoneID: Zone ID of zone for which details required from table

  • ppsZoneTable: Pointer to a pointer to a structure to receive obtained zone information (see Section 38.7.2)

Returns

  • E_ZCL_CMDS_SUCCESS (zone details successfully obtained from Zone table)

  • E_ZCL_CMDS_FAILURE (cluster instance not found)

  • E_ZCL_CMDS_NOT_FOUND (entry with specified Zone ID not found in table)

Parent topic:Functions

eCLD_IASACEGetEnrolledZones

teZCL_CommandStatus eCLD_IASACEGetEnrolledZones(
    uint8 u8SourceEndPointId,
    uint8 *pu8ZoneID,
    uint8 *pu8NumOfEnrolledZones);

Description

This function can be used on an IAS ACE cluster server to obtain a list of the enrolled zones from the local Zone table.

The function searches the Zone table and returns a list of the Zone IDs of all the enrolled zones (for which there are table entries). The number of enrolled zones is also returned.

Parameters

  • u8SourceEndPointId: Number of the endpoint on which the IAS ACE cluster resides

  • pu8ZoneID: Pointer to a location to receive the first Zone ID in the reported list of enrolled zones

  • pu8NumOfEnrolledZones: Pointer to a location to receive the number of enrolled zones reported in the above list

Returns

  • E_ZCL_CMDS_SUCCESS (zone list successfully obtained from Zone table)

  • E_ZCL_CMDS_FAILURE (cluster instance not found)

  • E_ZCL_CMDS_INVALID_FIELD (a supplied pointer is NULL)

Parent topic:Functions

eCLD_IASACESetPanelParameter

teZCL_Status eCLD_IASACESetPanelParameter(
    uint8 u8SourceEndPointId,
    teCLD_IASACE_PanelParameterID eParameterId,
    uint8 u8ParameterValue);

Description

This function can be used on an IAS ACE cluster server to set the value of a Panel parameter. The Panel parameters are held on the server in a tsCLD_IASACE_PanelParameter structure (see Section 38.7.4) and this function can be used to write a value to one parameter in the structure. The function verifies that the specified parameter identifier is valid before attempting the write.

If this function is used to set the Panel parameter ePanelStatus, an IAS ACE Panel Status Changed command is automatically sent to all bound clients.

Parameters

  • u8SourceEndPointId: Number of the endpoint on which the IAS ACE cluster resides

  • eParameterId: Enumeration identifying the Panel parameter to be set, one of:

    • E_CLD_IASACE_PANEL_PARAMETER_PANEL_STATUS

    • E_CLD_IASACE_PANEL_PARAMETER_SECONDS_REMAINING

    • E_CLD_IASACE_PANEL_PARAMETER_AUDIBLE_NOTIFICATION

    • E_CLD_IASACE_PANEL_PARAMETER_ALARM_STATUS

  • u8ParameterValue: Value to be written to the parameter

Returns

  • E_ZCL_SUCCESS (Panel parameter successfully set)

  • E_ZCL_ERR_CLUSTER_NOT_FOUND (cluster instance not found)

  • E_ZCL_ERR_ATTRIBUTE_NOT_FOUND (Panel parameter identifier invalid)

Parent topic:Functions

eCLD_IASACEGetPanelParameter

teZCL_Status eCLD_IASACEGetPanelParameter(
    uint8 u8SourceEndPointId,
    teCLD_IASACE_PanelParameterID eParameterId,
    uint8 *pu8ParameterValue);

Description

This function can be used on an IAS ACE cluster server to obtain the value of a Panel parameter. The Panel parameters are held on the server in a tsCLD_IASACE_PanelParameter structure (see Section 38.7.4) and this function can be used to read the value of one parameter in the structure. The function verifies that the specified parameter identifier is valid before attempting the read.

Parameters

  • u8SourceEndPointId: Number of the endpoint on which the IAS ACE cluster resides

  • eParameterId : Enumeration identifying the Panel parameter to be read, one of:

  • E_CLD_IASACE_PANEL_PARAMETER_PANEL_STATUS

  • E_CLD_IASACE_PANEL_PARAMETER_SECONDS_REMAINING

  • E_CLD_IASACE_PANEL_PARAMETER_AUDIBLE_NOTIFICATION

  • E_CLD_IASACE_PANEL_PARAMETER_ALARM_STATUS

  • pu8ParameterValue: Pointer to location to receive read parameter value

Returns

  • E_ZCL_SUCCESS (Panel parameter successfully read)

  • E_ZCL_ERR_CLUSTER_NOT_FOUND (cluster instance not found)

  • E_ZCL_ERR_PARAMETER_NULL (specfied pointer is NULL)

  • E_ZCL_ERR_ATTRIBUTE_NOT_FOUND (Panel parameter identifier invalid)

Parent topic:Functions

eCLD_IASACESetZoneParameter

teZCL_Status eCLD_IASACESetZoneParameter(
    uint8 u8SourceEndPointId,
    teCLD_IASACE_ZoneParameterID eParameterId,
    uint8 u8ZoneID,
    uint8 u8ParameterLength,
    uint8 *pu8ParameterValue);

Description

This function can be used on an IAS ACE cluster server to set the value of a Zone parameter. The Zone parameters for a particular Zone ID are held on the server in a tsCLD_IASACE_ZoneParameter structure (see Section 38.7.3) and this function can be used to write a value to one parameter in the structure. The specified zone must have been enrolled in the local Zone table. Before attempting the write, the function verifies that the specified Zone ID is present in the Zone table and that the specified parameter identifier is valid.

If this function is used to set the Zone parameter eZoneStatus, an IAS ACE Zone Status Changed command is automatically sent to all bound clients.

The function requires the parameter value to be provided as a uint8 array. This is to allow one of the array parameters, au8ZoneLabel[] or au8ArmDisarmCode[], to be set - the corresponding string parameter, sZoneLabel or sArmDisarmCode, will be set automatically. The function eCLD_IASACESetZoneParameterValue() provides an easier way of setting one of the non-array/non-string parameters.

Parameters

  • u8SourceEndPointId: Number of the endpoint on which the IAS ACE cluster resides

  • eParameterId : Enumeration identifying the Zone parameter to be set, one of:

  • : E_CLD_IASACE_ZONE_PARAMETER_ZONE_CONFIG_FLAG

  • E_CLD_IASACE_ZONE_PARAMETER_ZONE_STATUS_FLAG

  • E_CLD_IASACE_ZONE_PARAMETER_ZONE_STATUS

  • E_CLD_IASACE_ZONE_PARAMETER_AUDIBLE_NOTIFICATION

  • E_CLD_IASACE_ZONE_PARAMETER_ZONE_LABEL

  • E_CLD_IASACE_ZONE_PARAMETER_ARM_DISARM_CODE

  • u8ZoneID: Zone ID of zone information to be updated

  • u8ParameterLength: Number of uint8 elements in the array containing the parameter value to be set

  • pu8ParameterValue: Pointer to a location containing the first element of the array containing the parameter value to be set

Returns

  • E_ZCL_SUCCESS (Zone parameter successfully set)

  • E_ZCL_ERR_CLUSTER_NOT_FOUND (cluster instance not found)

  • E_ZCL_ERR_ATTRIBUTE_NOT_FOUND (Zone parameter identifier invalid)

  • E_ZCL_ERR_NO_REPORT_ENTRIES (Zone ID not found in Zone table)

  • E_ZCL_ERR_PARAMETER_NULL (Pointer to location containing value is NULL)

  • E_ZCL_ERR_PARAMETER_RANGE (specified array length too long to be stored)

Parent topic:Functions

eCLD_IASACESetZoneParameterValue

teZCL_Status eCLD_IASACESetZoneParameterValue(
    uint8 u8SourceEndPointId,
    teCLD_IASACE_ZoneParameterID eParameterId,
    uint8 u8ZoneID,
    uint16 u16ParameterValue);

Description

This function can be used on an IAS ACE cluster server to set the value of a Zone parameter. The Zone parameters for a particular Zone ID are held on the server in a tsCLD_IASACE_ZoneParameter structure (see Section 38.7.3) and this function can be used to write a value to one of the non-string/non-array parameters in the structure. The specified zone must have been enrolled in the local Zone table. Before attempting the write, the function verifies that the specified Zone ID is present in the Zone table and that the specified parameter identifier is valid.

If this function is used to set the Zone parameter eZoneStatus, an IAS ACE Zone Status Changed command is automatically sent to all bound clients.

This function cannot be used to set the string parameters sZoneLabel and sArmDisarmCode or the array parameters au8ZoneLabel[] and au8ArmDisarmCode[]. The function eCLD_IASACESetZoneParameter() must be used to set the string and array parameters.

Parameters

  • u8SourceEndPointId: Number of the endpoint on which the IAS ACE cluster resides

  • eParameterId : Enumeration identifying the Zone parameter to be set, one of:

    • E_CLD_IASACE_ZONE_PARAMETER_ZONE_CONFIG_FLAG

    • E_CLD_IASACE_ZONE_PARAMETER_ZONE_STATUS_FLAG

    • E_CLD_IASACE_ZONE_PARAMETER_ZONE_STATUS

    • E_CLD_IASACE_ZONE_PARAMETER_AUDIBLE_NOTIFICATION

  • u8ZoneID: Zone ID of zone information to be updated

  • u16ParameterValue: Value to be written to the parameter

Returns

  • E_ZCL_SUCCESS (Zone parameter successfully set)

  • E_ZCL_ERR_CLUSTER_NOT_FOUND (cluster instance not found)

  • E_ZCL_ERR_ATTRIBUTE_NOT_FOUND (Zone parameter identifier invalid)

  • E_ZCL_ERR_NO_REPORT_ENTRIES (Zone ID not found in Zone table)

Parent topic:Functions

eCLD_IASACEGetZoneParameter

teZCL_Status eCLD_IASACEGetZoneParameter(
    uint8 u8SourceEndPointId,
    teCLD_IASACE_ZoneParameterID eParameterId,
    uint8 u8ZoneID,
    uint8 *pu8ParameterLength,
    uint8 *pu8ParameterValue);

Description

This function can be used on an IAS ACE cluster server to obtain the value of a Zone parameter. The Zone parameters for a particular Zone ID are held on the server in a tsCLD_IASACE_ZoneParameter structure (see Section 38.7.3) and this function can be used to read the value of one parameter in the structure. Before attempting the read, the function verifies that the specified Zone ID is present in the Zone table and that the specified parameter identifier is valid.

The function expects the read parameter value to be returned as a uint8 array.

Parameters

  • u8SourceEndPointId: Number of the endpoint on which the IAS ACE cluster resides

  • eParameterId: Enumeration identifying the Zone parameter to be read, one of:

    • E_CLD_IASACE_ZONE_PARAMETER_ZONE_CONFIG_FLAG

    • E_CLD_IASACE_ZONE_PARAMETER_ZONE_STATUS_FLAG

    • E_CLD_IASACE_ZONE_PARAMETER_ZONE_STATUS

    • E_CLD_IASACE_ZONE_PARAMETER_AUDIBLE_NOTIFICATION

    • E_CLD_IASACE_ZONE_PARAMETER_ZONE_LABEL

    • E_CLD_IASACE_ZONE_PARAMETER_ARM_DISARM_CODE

  • u8ZoneID: Zone ID of zone information to be accessed

  • *pu8ParameterLength: Pointer to location to receive the number of uint8 elements in the array containing the parameter value obtained

  • *pu8ParameterValue: Pointer to location to receive the first element of the array containing the parameter value obtained

Returns

  • E_ZCL_SUCCESS (Zone parameter successfully read)

  • E_ZCL_ERR_CLUSTER_NOT_FOUND (cluster instance not found)

  • E_ZCL_ERR_PARAMETER_NULL (a specified pointer is NULL)

  • E_ZCL_ERR_NO_REPORT_ENTRIES (Zone ID not found in Zone table)

  • E_ZCL_ERR_ATTRIBUTE_NOT_FOUND (Zone parameter identifier invalid)

  • E_ZCL_ERR_PARAMETER_RANGE (returned array too long to be stored)

Parent topic:Functions

eCLD_IASACE_ArmSend

teZCL_Status eCLD_IASACE_ArmSend(
    uint8 u8SourceEndPointId,
    uint8 u8DestinationEndPointId,
    tsZCL_Address *psDestinationAddress,
    uint8 *pu8TransactionSequenceNumber,
    tsCLD_IASACE_ArmPayload *psPayload);

Description

This function can be used on an IAS ACE cluster client to send an IAS ACE Arm command to an IAS ACE server. This command instructs the server to put all or certain enrolled zones into the ‘armed’ state or put all of them into the ‘disarmed’ state, according to the command payload (see Section 38.7.5).

The outcome of the request will be returned by the server in a response which will generate an E_CLD_IASACE_CMD_ARM_RESP event when received on the client.

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 command 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

  • psPayload: Pointer to a structure containing the payload for the command (see Section 38.7.5)

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

eCLD_IASACE_BypassSend

teZCL_Status eCLD_IASACE_BypassSend(
    uint8 u8SourceEndPointId,
    uint8 u8DestinationEndPointId,
    tsZCL_Address *psDestinationAddress,
    uint8 *pu8TransactionSequenceNumber,
    tsCLD_IASACE_BypassPayload *psPayload); 

Description

This function can be used on an IAS ACE cluster client to send an IAS ACE Bypass command to an IAS ACE server. This command instructs the server to take one or more specified zones out of the system for the current activation.

Note: The bypassed zones will be reinstated the next time the system is disarmed. To exclude them again the next time the system is armed, the Bypass command must be re-sent before sending the Arm command.

The outcome of the request will be returned by the server in a response which will generate an E_CLD_IASACE_CMD_BYPASS_RESP event when received on the client.

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 command 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

  • psPayload: Pointer to a structure containing the payload for the command (see Section 38.7.5)

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

eCLD_IASACE_EmergencySend

teZCL_Status eCLD_IASACE_EmergencySend(
    uint8 u8SourceEndPointId,
    uint8 u8DestinationEndPointId,
    tsZCL_Address *psDestinationAddress,
    uint8 *pu8TransactionSequenceNumber);

Description

This function can be used on an IAS ACE cluster client to send an IAS ACE Emergency command to an IAS ACE server. This command instructs the server to put the alarm in the ‘Emergency’ state.

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 command 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

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

eCLD_IASACE_FireSend

teZCL_Status eCLD_IASACE_FireSend(
    uint8 u8SourceEndPointId,
    uint8 u8DestinationEndPointId,
    tsZCL_Address *psDestinationAddress,
    uint8 *pu8TransactionSequenceNumber);

Description

This function can be used on an IAS ACE cluster client to send an IAS ACE Fire command to an IAS ACE server. This command instructs the server to put the alarm in the ‘Fire’ state.

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 command 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

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

eCLD_IASACE_PanicSend

teZCL_Status eCLD_IASACE_PanicSend(
    uint8 u8SourceEndPointId,
    uint8 u8DestinationEndPointId,
    tsZCL_Address *psDestinationAddress,
    uint8 *pu8TransactionSequenceNumber);

Description

This function can be used on an IAS ACE cluster client to send an IAS ACE Panic command to an IAS ACE server. This command instructs the server to put the alarm in the ‘Panic’ state.

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 command 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

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

eCLD_IASACE_GetZoneIDMapSend

teZCL_Status eCLD_IASACE_GetZoneIDMapSend(
    uint8 u8SourceEndPointId,
    uint8 u8DestinationEndPointId,
    tsZCL_Address *psDestinationAddress,
    uint8 *pu8TransactionSequenceNumber);

Description

This function can be used on an IAS ACE cluster client to send an IAS ACE Get Zone ID Map command to an IAS ACE server. This command requests the Zone IDs that have been allocated to zones.

The requested information is returned by the server in a response which generates an E_CLD_IASACE_CMD_GET_ZONE_ID_MAP_RESP event when received on the client.

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 command 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

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

eCLD_IASACE_GetZoneInfoSend

teZCL_Status eCLD_IASACE_GetZoneInfoSend(
    uint8 u8SourceEndPointId,
    uint8 u8DestinationEndPointId,
    tsZCL_Address *psDestinationAddress,
    uint8 *pu8TransactionSequenceNumber,
    tsCLD_IASACE_GetZoneInfoPayload *psPayload);

Description

This function can be used on an IAS ACE cluster client to send an IAS ACE Get Zone Information command to an IAS ACE server. This command requests information on the zone specified in the command payload.

The requested information will be returned by the server in a response which will generate an E_CLD_IASACE_CMD_GET_ZONE_INFO_RESP event when received on the client.

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 command 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

  • psPayload: Pointer to a structure containing the payload for the command (see Section 38.7.5)

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

eCLD_IASACE_GetPanelStatusSend

teZCL_Status eCLD_IASACE_GetPanelStatusSend(
    uint8 u8SourceEndPointId,
    uint8 u8DestinationEndPointId,
    tsZCL_Address *psDestinationAddress,
    uint8 *pu8TransactionSequenceNumber);

Description

This function can be used on an IAS ACE cluster client to send an IAS ACE Get Panel Status command to an IAS ACE server. This command requests the current status of the (display) panel.

The requested information will be returned by the server in a response which will generate an E_CLD_IASACE_CMD_GET_PANEL_STATUS_RESP event when received on the client.

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 command 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

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

eCLD_IASACE_SetBypassedZoneListSend


teZCL_Status eCLD_IASACE_SetBypassedZoneListSend(
    uint8 u8SourceEndPointId,
    uint8 u8DestinationEndPointId,
    tsZCL_Address *psDestinationAddress,
    uint8 *pu8TransactionSequenceNumber,
    tsCLD_IASACE_SetBypassedZonelistPayload *psPayload);

Description

This function can be used on an IAS ACE cluster server to send an IAS ACE Set Bypassed Zone List command to an IAS ACE client. This command informs the client which zones are currently bypassed - the zones are specified in the command payload.

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 command 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

  • psPayload: Pointer to a structure containing the payload for the command (see Section 38.7.5)

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

eCLD_IASACE_GetBypassedZoneListSend

teZCL_Status eCLD_IASACE_GetBypassedZoneListSend(
    uint8 u8SourceEndPointId,
    uint8 u8DestinationEndPointId,
    tsZCL_Address *psDestinationAddress,
    uint8 *pu8TransactionSequenceNumber);

Description

This function can be used on an IAS ACE cluster client to send an IAS ACE Get Bypassed Zone List command to an IAS ACE server. This command requests a list of the currently bypassed zones.

The requested information will be returned by the server in a response which will generate an E_CLD_IASACE_CMD_SET_BYPASSED_ZONE_LIST event when received on the client.

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 command 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

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

eCLD_IASACE_GetZoneStatusSend

teZCL_Status eCLD_IASACE_GetZoneStatusSend(
    uint8 u8SourceEndPointId,
    uint8 u8DestinationEndPointId,
    tsZCL_Address *psDestinationAddress,
    uint8 *pu8TransactionSequenceNumber,
    tsCLD_IASACE_GetZoneStatusPayload *psPayload);

Description

This function can be used on an IAS ACE cluster client to send an IAS ACE Get Zone Status command to an IAS ACE server. This command requests either of the following:

  • a list of all enrolled zones with their status

  • a list of those zones with a particular status (that is, all zones with the b16ZoneStatus attribute of the IAS Zone cluster having a certain value)

The list required is specified in the bZoneStatusMaskFlag field of the command payload (see Section 38.7.5). If the second of the above lists is required, the status to look for is also specified in the payload.

The requested information is returned by the server in a response which generates an E_CLD_IASACE_CMD_GET_ZONE_STATUS_RESP event when received on the client. A single response may not be able to carry all the zone status information to be returned and more than one request (and associated response) would be needed. For this reason, the request allows a starting zone and the number of zones to be included in the response to be specified (in the request payload).

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 command 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

  • psPayload: Pointer to a structure containing the payload for the command (see Section 38.7.5)

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

eCLD_IASACE_ZoneStatusChangedSend

teZCL_Status eCLD_IASACE_ZoneStatusChangedSend(
    uint8 u8SourceEndPointId,
    uint8 u8DestinationEndPointId,
    tsZCL_Address *psDestinationAddress,
    uint8 *pu8TransactionSequenceNumber,
    tsCLD_IASACE_ZoneStatusChangedPayload *psPayload);

Description

This function can be used on an IAS ACE cluster server to send an IAS ACE Zone Status Changed command to an IAS ACE client. This command informs the client that the status of the specified zone has changed - that is, the value of the b16ZoneStatus attribute of the IAS Zone cluster for the zone has changed.

Note: This command is sent automatically when the function eCLD_IASACESetZoneParameter() is called on the server to update the u16ZoneStatus attribute for all the bound clients.

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 command 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

  • psPayload: Pointer to a structure containing the payload for the command (see Section 38.7.5)

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

eCLD_IASACE_PanelStatusChanged

teZCL_Status eCLD_IASACE_PanelStatusChanged(
        uint8 u8SourceEndPointId,
        uint8 u8DestinationEndPointId,
        tsZCL_Address *psDestinationAddress,
        uint8 *pu8TransactionSequenceNumber,
        teCLD_IASACE_ServerCmdId eCommandId,
        tsCLD_IASACE_PanelStatusChangedOrGetPanelStatusRespPayload
        *psPayload);

Description

This function can be used on an IAS ACE cluster server to send an IAS ACE Panel Status Changed command to an IAS ACE client. This command informs the client that the value of the panel parameter ePanelStatus (see Section 38.7.4) on the (local) CIE device has changed.

Note:

  1. The IAS ACE Panel Status Changed command is sent automatically when the function eCLD_IASACESetPanelParameter() is called to update the ePanelStatus parameter.

  2. The function alternatively provides the option of sending an IAS ACE Get Panel Status Response but, in practice, this response is sent automatically when a Get Panel Status Request is received.

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 command 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

  • eCommandId: Identifier of command to be sent - for Panel Status Changed command, always set to:: E_CLD_IASACE_CMD_PANEL_STATUS_CHANGED

  • psPayload: Pointer to a structure containing the payload for the command (see Section 38.7.5)

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

Parent topic:IAS Ancillary Control Equipment Cluster

Structures

Custom Data Structure

The IAS ACE cluster requires extra storage space to be allocated to be used by internal functions. The structure definition for this storage is shown below:

typedef struct
{
    tsZCL_ReceiveEventAddress        sReceiveEventAddress;
    tsZCL_CallBackEvent              sCustomCallBackEvent;
    tsCLD_IASACECallBackMessage      sCallBackMessage;
#if (defined CLD_IASACE) && (defined IASACE_SERVER)
    tsCLD_IASACE_PanelParameter             
                                     sCLD_IASACE_PanelParameter;
    tsCLD_IASACE_ZoneParameter              
           asCLD_IASACE_ZoneParameter[CLD_IASACE_ZONE_TABLE_SIZE];
    tsCLD_IASACE_ZoneTable                  
           asCLD_IASACE_ZoneTable[CLD_IASACE_ZONE_TABLE_SIZE];
#endif
} tsCLD_IASACECustomDataStructure;

The fields are for internal use and no knowledge of them is required.

Parent topic:Structures

Zone Table Entry

The following structure contains a Zone table entry, used to hold the enrollment details of a zone.

typedef struct
{
    zuint8              u8ZoneID;
    zbmap16             u16ZoneType;
    zieeeaddress        u64IeeeAddress;
} tsCLD_IASACE_ZoneTable;

where:

  • u8ZoneID is the identifier of the zone

  • u16ZoneType is a value indicating the type of zone (for the possible values, refer to the description of the attribute e``16ZoneType of the IAS Zone cluster in Section 37.2)

  • u64IeeeAddress is the IEEE/MAC address of the device which hosts the zone

Parent topic:Structures

Zone Parameters

The following structure is used to store the ‘zone parameters’ on the IAS ACE cluster server.

typedef struct
{
    zbmap8                        u8ZoneConfigFlag;
    zbmap8                        u8ZoneStatusFlag;
    zbmap16                       eZoneStatus;
    zenum8                        eAudibleNotification;
    tsZCL_CharacterString         sZoneLabel;
    uint8                                   
          au8ZoneLabel[CLD_IASACE_MAX_LENGTH_ZONE_LABEL];
    tsZCL_CharacterString         sArmDisarmCode;
    uint8                                   
          au8ArmDisarmCode[CLD_IASACE_MAX_LENGTH_ARM_DISARM_CODE];
}tsCLD_IASACE_ZoneParameter;

where:

  • u8ZoneConfigFlag is is a bitmap used to configure the temporal role of a zone (as Day, Night or Day/Night) and whether the zone is allowed to be bypassed. Macros are provided as follows:

Bit

Macro

0

CLD_IASACE_ZONE_CONFIG_FLAG_BYPASS *

1

CLD_IASACE_ZONE_CONFIG_FLAG_DAY_HOME

2

CLD_IASACE_ZONE_CONFIG_FLAG_NIGHT_SLEEP

3

CLD_IASACE_ZONE_CONFIG_FLAG_NOT_BYPASSED **

4-7

Reserved

  • * Determines whether the zone is allowed to be bypassed: 1 - allowed, 0 - not allowed

  • ** Used to configure a status of ZONE_NOT_BYPASSED in responses to Bypass commands

  • u8ZoneStatusFlag is a bitmap used to indicate the current status of a zone as armed or bypassed. Macros are provided as follows:

Bit

Macro

0

CLD_IASACE_ZONE_STATUS_FLAG_BYPASS

1

CLD_IASACE_ZONE_STATUS_FLAG_ARM

2-7

Reserved

  • e``ZoneStatus is the zone status as the value of the b16ZoneStatus attribute of the IAS Zone cluster (see Section 37.2)

  • eAudibleNotification is a value specifying whether an audible notification (e.g. a chime) is required to signal a zone status change (enumerations are available in teCLD_IASACE_AudibleNotification - see Section 38.8.4):

Value

Status

0x00

Audible notification muted

0x01

Audible notification sounded

0x02 - 0xFF

Reserved

  • sZoneLabel is the name/label for the zone represented as a character string

  • au8ZoneLabel[] is the name/label for the zone represented as an array of ASCII values

  • sArmDisarmCode is the arm/disarm code for the zone represented as a character string

  • au8ArmDisarmCode[] is the arm/disarm code for the zone represented as an array of ASCII values

Parent topic:Structures

Panel Parameters

The following structure is used to store the ‘panel parameters’ on the IAS ACE cluster server.

typedef struct
{
    zenum8    ePanelStatus;
    zuint8    u8SecondsRemaining;
    zenum8    eAudibleNotification;
    zenum8    eAlarmStatus;
}tsCLD_IASACE_PanelParameter;

where:

  • ePanelStatus is a value indicating the status to be displayed on the panel, as follows (enumerations are available in teCLD_IASACE_PanelStatus - see Section 38.8.2):

Value

Status

0x00

Disarmed (all zones) and ready to be armed

0x01

Armed stay

0x02

Armed night

0x03

Armed away

0x04

Exit delay

0x05

Entry delay

0x06

Not ready to be armed

0x07

In alarm

0x08

Arming stay

0x09

Arming night

0x0A

Arming away

0x0B - 0xFF

Reserved

  • u8SecondsRemaining represents the time, in seconds, that the server will remain in the displayed state when the latter is ‘Exit delay’ or ‘Entry delay’ (for other states, this field should be set to 0x00).

  • eAudibleNotification is a value specifying whether an audible notification (e.g. a chime) is required to signal a zone status change (enumerations are available in teCLD_IASACE_AudibleNotification - see Section 38.8.4):

Value

Status

0x00

Audible notification muted

0x01

Audible notification sounded

0x02 - 0xFF

Reserved

  • eAlarmStatus is a value indicating the alarm status/type when the panel’s state is ‘In Alarm’, as follows (enumerations are available in teCLD_IASACE_AlarmStatus - see Section 38.8.3):

Value

Status

0x00

No alarm

0x01

Burglar

0x02

Fire

0x03

Emergency

0x04

Police panic

0x05

Fire panic

0x06

Emergency panic

0x07 - 0xFF

Reserved

Parent topic:Structures

Custom Command Payloads

The following structures contain the payloads for the IAS ACE cluster custom commands.

‘Arm’ Command Payload

The following structure contains the payload of a Arm command.

typedef struct
{
    zenum8                     eArmMode;   
    tsZCL_CharacterString      sArmDisarmCode;
    zuint8                     u8ZoneID;
} tsCLD_IASACE_ArmPayload;

where:

  • eArmMode is a value indicating the state of armament in which to put the zone (enumerations are available in teCLD_IASACE_ArmMode - see Section38.8.1):

Value

Status

0x00

Disarm

0x01

Arm day/home zones only

0x02

Arm night/sleep zones only

0x03

Arm all zones

0x04 - 0xFF

Reserved

  • sArmDisarmCode is an 8-character string containing the arm/disarm code (if a code is not required, set to “00000000”)

  • u8ZoneID is the identifier of the zone to arm/disarm

‘Bypass’ Command Payload

The following structure contains the payload of a Bypass command.

typedef struct
{   
    zuint8                     u8NumOfZones;
    zuint8                    *pu8ZoneID;
    tsZCL_CharacterString      sArmDisarmCode;
} tsCLD_IASACE_BypassPayload;

where:

  • u8NumOfZones is the number of zones to be ‘bypassed’ (taken out of the system)

  • pu8ZoneID is a pointer to a list of identifiers specifying the zones to be bypassed (the number of zones in the list is specified in u8NumOfZones)

  • sArmDisarmCode is an 8-character string containing the arm/disarm code (if a code is not required, set to “00000000”)

‘Get Zone Information’ Command Payload

The following structure contains the payload of a Get Zone Information command.

typedef struct
{
    zuint8          u8ZoneID;
} tsCLD_IASACE_GetZoneInfoPayload;

where u8ZoneID is the identifier of the zone on which information is required.

‘Set Bypassed Zone List’ Command Payload

The following structure contains the payload of a Set Bypassed Zone List command.

typedef struct
{
    zuint8          u8NumofZones;
    zuint8         *pu8ZoneID;         
} tsCLD_IASACE_SetBypassedZoneListPayload;

where:

  • u8NumofZones is the number of zones in the new bypassed zone list

  • pu8ZoneID is a pointer to the new bypassed zone list (the number of zones in the list is specified in u8NumOfZones)

‘Get Zone Status’ Command Payload

The following structure contains the payload of a Get Zone Status command.

typedef struct
{
    zuint8         u8StartingZoneID;
    zuint8         u8MaxNumOfZoneID;
    zbool          bZoneStatusMaskFlag;
    zbmap16        u16ZoneStatusMask;
} tsCLD_IASACE_GetZoneStatusPayload;

where:

  • u8StartingZoneID is the identifier of the first zone for which status information is required

  • u8MaxNumOfZoneID is the maximum number of zones for which status information should be returned

  • bZoneStatusMaskFlag is a Boolean indicating whether status information should be returned for all zones or only for those zones with particular status values (specified through u16ZoneStatusMask below):

    • TRUE - only zones with specific status values

    • FALSE - all zones

  • u16ZoneStatusMask is a 16-bit bitmap indicating the zone status values of interest (used when bZoneStatusMaskFlag is set to TRUE) - the response to the request will contain information only for those zones with a status value indicated in this bitmap:

Bit

Description

0

Alarm1:

1 - Opened or alarmed

0 - Closed or not alarned

| |1|Alarm2:

1 - Opened or alarmed

0 - Closed or not alarned

| |2|Tamper:

1 - Tampered with

0 - Not tampered with

| |3|Battery:

1 - Low

0 - OK

| |4|Supervision reports:

1 - Reports

0 - No reports

| |5|Restore reports:

1 - Reports

0 - No reports

| |6|Trouble:

1 - Trouble/failure

0 - OK

| |7|AC (mains):

1 - Fault

0 - OK

| |8|Test mode:

1 - Sensor in test mode

0 - Sensor in operational mode

| |9|Battery defect:

1 - Defective battery detected

0 - Battery OK

| |10-15|Reserved|

‘Panel Status Changed or Get Panel Status Response’

The following structure contains the payload of a Panel Status Changed command or Get Panel Status Response.

typedef struct
{
    zenum8        ePanelStatus;
    zuint8        u8SecondsRemaining;
    zenum8        eAudibleNotification;
    zenum8        eAlarmStatus;
} tsCLD_IASACE_PanelStatusChangedOrGetPanelStatusRespPayload;

where:

  • ePanelStatus is a value indicating the status to be displayed on the panel, as follows (enumerations are available in teCLD_IASACE_PanelStatus - see Section 38.8.2):

Value

Status

0x00

Disarmed (all zones) and ready to be armed

0x01

Armed stay

0x02

Armed night

0x03

Armed away

0x04

Exit delay

0x05

Entry delay

0x06

Not ready to be armed

0x07

In alarm

0x08

Arming stay

0x09

Arming night

0x0A

Arming away

0x0B - 0xFF

Reserved

  • u8SecondsRemaining represents the time, in seconds, that the server will remain in the displayed state when the latter is ‘Exit delay’ or ‘Entry delay’ (for other states, this field should be set to 0x00).

  • eAudibleNotification is a value specifying whether an audible notification (e.g. a chime) is required to signal a zone status change (enumerations are available in teCLD_IASACE_AudibleNotification - see Section 38.8.4):

Value

Status

0x00

Audible notification muted

0x01

Audible notification sounded

0x02 - 0xFF

Reserved

  • eAlarmStatus is a value indicating the alarm status/type when the panel’s state is ‘In Alarm’, as follows (enumerations are available in teCLD_IASACE_AlarmStatus - see Section 38.8.3):

Value

Status

0x00

No alarm

0x01

Burglar

0x02

Fire

0x03

Emergency

0x04

Police panic

0x05

Fire panic

0x06

Emergency panic

0x07 - 0xFF

Reserved

Parent topic:Structures

Event Data Structures

The following structures hold the data contained in certain IAS ACE cluster events.

E_CLD_IASACE_CMD_ARM_RESP Data

typedef struct
{
    zenum8         eArmNotification;   
} tsCLD_IASACE_ArmRespPayload;

where eArmNotification is an enumeration indicating the outcome of the Arm command, one of:

  • E_CLD_IASACE_ARM_NOTIF_ALL_ZONES_DISARMED

  • E_CLD_IASACE_ARM_NOTIF_ONLY_DAY_HOME_ZONES_ARMED

  • E_CLD_IASACE_ARM_NOTIF_ONLY_NIGHT_SLEEP_ZONES_ARMED

  • E_CLD_IASACE_ARM_NOTIF_ALL_ZONES_ARMED

  • E_CLD_IASACE_ARM_NOTIF_INVALID_ARM_DISARM_CODE

  • E_CLD_IASACE_ARM_NOTIF_NOT_READY_TO_ARM

  • E_CLD_IASACE_ARM_NOTIF_ALREADY_DISARMED

E_CLD_IASACE_CMD_GET_ZONE_ID_MAP_RESP Data

typedef struct
{
    zbmap16  au16ZoneIDMap[CLD_IASACE_MAX_BYTES_FOR_NUM_OF_ZONES]; 
} tsCLD_IASACE_GetZoneIDMapRespPayload;

where au16ZoneIDMap[``] is an array, each element being a 16-bit bitmap indicating whether each of a set of zone identifiers is allocated - a Zone ID is represented by a single bit which is set to ‘1’ if the identifier value has been allocated and ‘0’ otherwise.

Array Element

Bit

Zone ID

au16ZoneIDMap[0]

0
1
: 15

0x00
0x01
: 0x0F

au16ZoneIDMap[1]

0
1
: 15

0x10
0x11
: 0x1F

:

:

:

au16ZoneIDMap[N]

0
1
:
n
:
15

16N
16N + 0x1
:
16N + 0xn
:
16N + 0xF

E_CLD_IASACE_CMD_GET_ZONE_INFO_RESP Data

typedef struct
{
    zuint8                    u8ZoneID;
    zbmap16                   u16ZoneType;
    zieeeaddress              u64IeeeAddress;
    tsZCL_CharacterString     sZoneLabel; 
} tsCLD_IASACE_GetZoneInfoRespPayload;

where:

  • u8ZoneID is the identifier of the zone

  • u16ZoneType is a value indicating the type of zone (for the possible values, refer to the description of the attribute e``16ZoneType of the IAS Zone cluster in Section 37.2)

  • u64IeeeAddress is the IEEE/MAC address of the device which hosts the zone

  • sZoneLabel is a character string representing a name/label for the zone

E_CLD_IASACE_CMD_ZONE_STATUS_CHANGED Data

typedef struct
{
    zuint8                    u8ZoneID;
    zenum16                   eZoneStatus;
    zenum8                    eAudibleNotification;
    tsZCL_CharacterString     sZoneLabel;
} tsCLD_IASACE_ZoneStatusChangedPayload;

where:

  • u8ZoneID is the identifier of the zone

  • u16ZoneType is a value indicating the type of zone (for the possible values, refer to the description of the attribute e``16ZoneType of the IAS Zone cluster in Section 37.2)

  • eAudibleNotification is a value specifying whether an audible notification

    (e.g. a chime) to signal the change is required (enumerations are available in teCLD_IASACE_AudibleNotification - see Section 38.8.4):

Value

Status

0x00

Audible notification to be muted

0x01

Audible notification to be sounded

0x02 - 0xFF

Reserved

  • sZoneLabel is a character string representing a name/label for the zone

E_CLD_IASACE_CMD_PANEL_STATUS_CHANGED Data

tsCLD_IASACE_PanelStatusChangedOrGetPanelStatusRespPayload

For details of this structure, see Section 38.7.5.

E_CLD_IASACE_CMD_GET_PANEL_STATUS_RESP Data

tsCLD_IASACE_PanelStatusChangedOrGetPanelStatusRespPayload

For details of this structure, see Section 38.7.5.

E_CLD_IASACE_CMD_BYPASS_RESP Data

typedef struct
{
    zuint8          u8NumofZones;
    zuint8         *pu8BypassResult;           
} tsCLD_IASACE_BypassRespPayload;

where:

  • u8NumOfZones is the number of zones ‘bypassed’ (taken out of the system)

  • pu8BypassResult is a pointer to a list of identifiers specifying the zones bypassed (the number of zones in the list is specified in u8NumOfZones)

E_CLD_IASACE_CMD_GET_ZONE_STATUS_RESP Data

typedef struct
{
    zbool           bZoneStatusComplete;
    zuint8          u8NumofZones;
    zuint8         *pu8ZoneStatus;         
} tsCLD_IASACE_GetZoneStatusRespPayload;

where:

  • bZoneStatusComplete is a Boolean indicating whether the current response completes the set of zones for which status information can be returned (if not, the client should send another Get Zone Status command to the server):

    • TRUE - no more zone status information to be returned

    • FALSE - status information for more zones available to be queried

  • u8NumofZones is the number of zones for which status information was returned in this response

  • pu8ZoneStatus is a pointer to a list of status values for the reported zones (the number of values in the list is indicated by u8NumofZones above) - each is a 24-bit value containing the following information:

Bits

Description

0-7

Zone ID

8-23

Value of b16ZoneStatus attribute of the IAS Zone cluster for the zone

Parent topic:Structures

Parent topic:IAS Ancillary Control Equipment Cluster

Enumerations

teCLD_IASACE_ArmMode

The following structure contains the enumerations used to indicate a mode of armament:

typedef enum 
{
    E_CLD_IASACE_ARM_MODE_DISARM = 0x00,
    E_CLD_IASACE_ARM_MODE_ARM_DAY_HOME_ZONES_ONLY,
    E_CLD_IASACE_ARM_MODE_ARM_NIGHT_SLEEP_ZONES_ONLY,
    E_CLD_IASACE_ARM_MODE_ARM_ALL_ZONES,
} teCLD_IASACE_ArmMode;

Parent topic:Enumerations

teCLD_IASACE_PanelStatus

The following structure contains the enumerations used to indicate the status of the panel:

typedef enum 
{
    E_CLD_IASACE_PANEL_STATUS_PANEL_DISARMED = 0x00,
    E_CLD_IASACE_PANEL_STATUS_PANEL_ARMED_DAY,
    E_CLD_IASACE_PANEL_STATUS_PANEL_ARMED_NIGHT,
    E_CLD_IASACE_PANEL_STATUS_PANEL_ARMED_AWAY,
    E_CLD_IASACE_PANEL_STATUS_PANEL_EXIT_DELAY,
    E_CLD_IASACE_PANEL_STATUS_PANEL_ENTRY_DELAY,
    E_CLD_IASACE_PANEL_STATUS_PANEL_NOT_READY_TO_ARM,
    E_CLD_IASACE_PANEL_STATUS_PANEL_IN_ALARM,
    E_CLD_IASACE_PANEL_STATUS_PANEL_ARMING_STAY,
    E_CLD_IASACE_PANEL_STATUS_PANEL_ARMING_NIGHT,
    E_CLD_IASACE_PANEL_STATUS_PANEL_ARMING_AWAY
} teCLD_IASACE_PanelStatus;

Parent topic:Enumerations

teCLD_IASACE_AlarmStatus

The following structure contains the enumerations used to indicate the status/meaning of the alarm:

typedef enum 
{
    E_CLD_IASACE_ALARM_STATUS_NO_ALARM = 0x00,
    E_CLD_IASACE_ALARM_STATUS_BURGLAR,
    E_CLD_IASACE_ALARM_STATUS_FIRE,
    E_CLD_IASACE_ALARM_STATUS_EMERGENCY,
    E_CLD_IASACE_ALARM_STATUS_POLICE_PANIC,
    E_CLD_IASACE_ALARM_STATUS_FIRE_PANIC,
    E_CLD_IASACE_ALARM_STATUS_EMERGENCY_PANIC
} teCLD_IASACE_AlarmStatus;

Parent topic:Enumerations

teCLD_IASACE_AudibleNotification

The following structure contains the enumerations used to indicate the configuration of the audible indication:

typedef enum 
{
    E_CLD_IASACE_AUDIBLE_NOTIF_MUTE = 0x00,
    E_CLD_IASACE_AUDIBLE_NOTIF_DEFAULT_SOUND
} teCLD_IASACE_AudibleNotification;

Parent topic:Enumerations

Parent topic:IAS Ancillary Control Equipment Cluster

Compile-time options

To enable the IAS ACE cluster in the code to be built, it is necessary to add the following to the zcl_options.h file:

#define CLD_IASACE

In addition, to include the software for a cluster client or server or both, it is necessary to add one of the following to the same file:

#define IASACE_SERVER
#define IASACE_CLIENT

The IAS ACE cluster contains macros that may be specified at compile-time by adding one or more of the following lines to the zcl_options.h file.

Maximum Size of Zone Table

The maximum number of entries in a Zone table on the cluster server can be defined using the following line:

#define CLD_IASACE_ZONE_TABLE_SIZE n

where n is the desired maximum (e.g. 8).

Maximum Length of Arm/Disarm Code

The maximum length of string allowed for the arm/disarm code can be defined using the following line:

#define CLD_IASACE_MAX_LENGTH_ARM_DISARM_CODE n

where n is the desired maximum.

Maximum Length of Zone Label

The maximum length of string allowed for a zone name/label can be defined using the following line:

#define CLD_IASACE_MAX_LENGTH_ZONE_LABEL n

where n is the desired maximum.

Disable APS Acknowledgements for Bound Transmissions

APS acknowledgements for bound transmissions from this cluster can be disabled using the following line:

#define CLD_IASACE_BOUND_TX_WITH_APS_ACK_DISABLED

Cluster Revision

Add this line to define the value (n) of the Cluster Revision attribute:

#define CLD_IASACE_CLUSTER_REVISION <n>

The default value is 1, which corresponds to the revision of the cluster in the ZCL r6 specification (see Section 2.4).

Parent topic:IAS Ancillary Control Equipment Cluster