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:

  • e16ZoneType is the zone type of the local (sending) node, as specified in the e``16ZoneType attribute (see Section 37.2)

  • u16ManufacturerCode is 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:

  • e8EnrollResponseCode is 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

  • u8ZoneID is 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:

  • b16ZoneStatus contains the new/current status of the (sending) zone device, as indicated in the e``8ZoneState attribute - one of:

    • E_CLD_IASZONE_STATE_NOT_ENROLLED (0x01)

    • E_CLD_IASZONE_STATE_ENROLLED (0x02)

  • b8ExtendedStatus can be optionally used to indicate further status information, but otherwise should be set to zero

  • u8ZoneId is the index of the entry for the (sending) device in the Zone table on the CIE device

  • u16Delay is is the time-delay, in quarter-seconds, between the status change taking place in the e``8ZoneState attribute 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:

  • u8TestModeDuration is the duration, in seconds, for which the device should remain in test mode

  • u8CurrentZoneSensitivityLevel is the current sensitivity level for the zone, as indicated in the u8CurrentZoneSensitivityLevel attribute (see Section 37.2)

Parent topic:Structures

Parent topic:IAS Zone Cluster