Structures
Custom Data Structure
The IAS Zone 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
{
tsCLD_IASZone_InitiateTestModeRequestPayload sTestMode;
tsZCL_ReceiveEventAddress sReceiveEventAddress;
tsZCL_CallBackEvent sCustomCallBackEvent;
tsCLD_IASZoneCallBackMessage sCallBackMessage;
} tsCLD_IASZone_CustomDataStructure;
The fields are for internal use and no knowledge of them is required.
Parent topic:Structures
Custom Command Payloads
The following structures contain the payloads for the IAS Zone cluster custom commands.
‘Enroll Request’ Payload
The following structure contains the payload of an Enroll Request command.
typedef struct
{
zenum16 e16ZoneType;
uint16 u16ManufacturerCode;
}tsCLD_IASZone_EnrollRequestPayload;
where:
e16ZoneTypeis the zone type of the local (sending) node, as specified in thee``16ZoneTypeattribute (see Section 37.2)u16ManufacturerCodeis the manufacturer ID code that is held in the Node Descriptor of the local (sending) node
‘Enroll Response’ Payload
The following structure contains the payload of an Enroll Response command.
typedef struct
{
teCLD_IASZoneZoneEnrollRspCode e8EnrollResponseCode;
uint8 u8ZoneID;
}tsCLD_IASZone_EnrollResponsePayload;
where:
e8EnrollResponseCodeis a code indicating the outcome of the corresponding Enroll Request, one of:
Enumeration |
Description |
|---|---|
E_CLD_IASZONE_ENROLL_RESP_SUCCESS |
Requested enrollment successful |
E_CLD_IASZONE_ENROLL_RESP_NOT_SUPPORTED |
Zone type of requesting device is not known/sup-ported by the CIE device |
E_CLD_IASZONE_ENROLL_RESP_NO_ENROLL_PERMIT |
CIE device is not allowing new zones to be enrolled at the present time |
E_CLD_IASZONE_ENROLL_RESP_TOO_MANY_ZONES |
CIE device has reached its limit for the number of zones that it can enroll |
u8ZoneIDis the index of the entry for the enrollment which has been added to the Zone table on the CIE device (only valid for a successful enrollment)
‘Zone Status Change Notification’ Payload
The following structure contains the payload of a Zone Status Change Notification command.
typedef struct
{
zbmap16 b16ZoneStatus;
zbmap8 b8ExtendedStatus;
zuint8 u8ZoneId;
zuint16 u16Delay;
}tsCLD_IASZone_StatusChangeNotificationPayload;
where:
b16ZoneStatuscontains the new/current status of the (sending) zone device, as indicated in thee``8ZoneStateattribute - one of:E_CLD_IASZONE_STATE_NOT_ENROLLED (0x01)
E_CLD_IASZONE_STATE_ENROLLED (0x02)
b8ExtendedStatuscan be optionally used to indicate further status information, but otherwise should be set to zerou8ZoneIdis the index of the entry for the (sending) device in the Zone table on the CIE deviceu16Delayis is the time-delay, in quarter-seconds, between the status change taking place in thee``8ZoneStateattribute and the successful transmission of the Zone Status Change Notification (this value can be used in assessing network traffic congestion)
‘Initiate Test Mode Request’ Payload
The following structure contains the payload of an Initiate Test Mode Request command.
typedef struct
{
uint8 u8TestModeDuration;
uint8 u8CurrentZoneSensitivityLevel;
}tsCLD_IASZone_InitiateTestModeRequestPayload;
where:
u8TestModeDurationis the duration, in seconds, for which the device should remain in test modeu8CurrentZoneSensitivityLevelis the current sensitivity level for the zone, as indicated in theu8CurrentZoneSensitivityLevelattribute (see Section 37.2)
Parent topic:Structures
Parent topic:IAS Zone Cluster