nRF5 SDK for Thread and Zigbee v3.2.0
Macros
IAS Ancillary Control Equipment

Macros

#define ZB_HA_IAS_ANCILLARY_CONTROL_EQUIPMENT_VER   0
 
#define ZB_HA_DECLARE_IAS_ANCILLARY_CONTROL_EQUIPMENT_CLUSTER_LIST(cluster_list_name,basic_attr_list,identify_attr_list,ias_zone_attr_list)
 Declare cluster list for IAS Ancillary Control Equipment. More...
 
#define ZB_HA_DECLARE_IAS_ANCILLARY_CONTROL_EQUIPMENT_SIMPLE_DESC(ep_name, ep_id, in_clust_num, out_clust_num)
 Declare simple descriptor for IAS Ancillary Control Equipment. More...
 
#define ZB_HA_DECLARE_IAS_ANCILLARY_CONTROL_EQUIPMENT_EP(ep_name, ep_id, cluster_list)
 Declare endpoint for IAS Ancillary Control Equipment. More...
 
#define ZB_HA_DECLARE_IAS_ANCILLARY_CONTROL_EQUIPMENT_CTX(device_ctx, ep_name)   ZBOSS_DECLARE_DEVICE_CTX_1_EP(device_ctx, ep_name)
 Declare application's device context for Ansillary Control Equipment. More...
 

Detailed Description

IAS Ancillary Control Equipment has 5 clusters (see spec 7.8.2):

IAS Ancillary Control Equipment sample

Example
Declaring clusters
/********************* Declare device **************************/
ZB_ZLL_DECLARE_COLOR_SCENE_CONTROLLER_CLUSTER_LIST(color_scene_controller_clusters,
ZB_ZCL_CLUSTER_MIXED_ROLE);
ZB_ZLL_DECLARE_COLOR_SCENE_CONTROLLER_EP(
color_scene_controller_ep, ENDPOINT, color_scene_controller_clusters);
ZB_ZLL_DECLARE_COLOR_SCENE_CONTROLLER_CTX(
color_scene_controller_ctx, color_scene_controller_ep);
Registering device list
/* Register device list */
ZB_AF_REGISTER_DEVICE_CTX(&color_scene_controller_ctx);
ZB_AF_SET_ENDPOINT_HANDLER(ENDPOINT, zcl_specific_cluster_cmd_handler);
Example of command handler
zb_uint8_t zcl_specific_cluster_cmd_handler(zb_uint8_t param)
{
zb_buf_t *zcl_cmd_buf = (zb_buf_t *)ZB_BUF_FROM_REF(param);
zb_bool_t cmd_processed = ZB_FALSE;
TRACE_MSG(TRACE_ZCL1, "> zcl_specific_cluster_cmd_handler %i", (FMT__H, param));
TRACE_MSG(TRACE_ZCL1, "payload size: %i", (FMT__D, ZB_BUF_LEN(zcl_cmd_buf)));
if( cmd_info -> cmd_direction == ZB_ZCL_FRAME_DIRECTION_TO_CLI )
{
switch( cmd_info -> cluster_id )
{
if( cmd_info -> is_common_command )
{
switch( cmd_info -> cmd_id )
{
TRACE_MSG(TRACE_ZCL3, "Got response in cluster 0x%04x",
( FMT__D, cmd_info->cluster_id));
/* Process default response */
cmd_processed = ZB_TRUE;
break;
cmd_processed = ZB_TRUE;
break;
cmd_processed = ZB_TRUE;
break;
default:
TRACE_MSG(TRACE_ZCL2, "Skip general command %hd", (FMT__H, cmd_info->cmd_id));
break;
}
}
else
{
switch( cmd_info -> cmd_id )
{
default:
TRACE_MSG(TRACE_ZCL2, "Cluster command %hd, skip it", (FMT__H, cmd_info->cmd_id));
break;
}
}
break;
default:
TRACE_MSG(TRACE_ZCL1, "CLNT role cluster 0x%d is not supported", (FMT__D, cmd_info->cluster_id));
break;
}
}
else
{
/* Command from client to server ZB_ZCL_FRAME_DIRECTION_TO_SRV */
TRACE_MSG(TRACE_ZCL1, "SRV role, cluster 0x%d is not supported", (FMT__D, cmd_info->cluster_id));
}
TRACE_MSG(TRACE_ZCL1, "<< zcl_specific_cluster_cmd_handler %hd", (FMT__H, cmd_processed));
return cmd_processed;
}

The complete set of IAS Ancillary Control Equipment samples can be found in /snippet/color_scene_control.c

Macro Definition Documentation

#define ZB_HA_DECLARE_IAS_ANCILLARY_CONTROL_EQUIPMENT_CLUSTER_LIST (   cluster_list_name,
  basic_attr_list,
  identify_attr_list,
  ias_zone_attr_list 
)

Declare cluster list for IAS Ancillary Control Equipment.

Parameters
cluster_list_name[IN] - cluster list variable name.
basic_attr_list[IN] - attribute list for Basic cluster.
identify_attr_list[IN] - attribute list for Identify cluster.
ias_zone_attr_list[IN] - attribute list for IAS Zone cluster
#define ZB_HA_DECLARE_IAS_ANCILLARY_CONTROL_EQUIPMENT_CTX (   device_ctx,
  ep_name 
)    ZBOSS_DECLARE_DEVICE_CTX_1_EP(device_ctx, ep_name)

Declare application's device context for Ansillary Control Equipment.

Parameters
device_ctx- device context variable
ep_name- endpoint variable name
#define ZB_HA_DECLARE_IAS_ANCILLARY_CONTROL_EQUIPMENT_EP (   ep_name,
  ep_id,
  cluster_list 
)
Value:
ep_name, \
ep_id, \
ZB_HA_IAS_ANCILLARY_CONTROL_EQUIPMENT_IN_CLUSTER_NUM, \
ZB_HA_IAS_ANCILLARY_CONTROL_EQUIPMENT_OUT_CLUSTER_NUM); \
ZBOSS_DEVICE_DECLARE_REPORTING_CTX(reporting_info## device_ctx_name, \
ZB_HA_IAS_ANCILLARY_CONTROL_EQUIPMENT_REPORT_ATTR_COUNT); \
ep_name, \
ep_id, \
0, \
NULL, \
ZB_ZCL_ARRAY_SIZE( \
cluster_list, \
cluster_list, \
(zb_af_simple_desc_1_1_t*)&simple_desc_##ep_name, \
ZB_HA_IAS_ANCILLARY_CONTROL_EQUIPMENT_REPORT_ATTR_COUNT, reporting_info## device_ctx_name, 0, NULL)
ZCL cluster description.
Definition: zb_zcl_common.h:143
Definition: zboss_api_af.h:287
#define ZBOSS_DEVICE_DECLARE_REPORTING_CTX(rep_ctx, rep_count)
Definition: zboss_api_af.h:579
#define ZB_AF_DECLARE_ENDPOINT_DESC(ep_name,ep_id,profile_id,reserved_length,reserved_ptr,cluster_number,cluster_list,simple_desc,rep_count,rep_ctx,lev_ctrl_count,lev_ctrl_ctx)
Initialize endpoint descriptor.
Definition: zboss_api_af.h:490
#define ZB_HA_DECLARE_IAS_ANCILLARY_CONTROL_EQUIPMENT_SIMPLE_DESC(ep_name, ep_id, in_clust_num, out_clust_num)
Declare simple descriptor for IAS Ancillary Control Equipment.
Definition: zb_ha_ias_ancillary_control_equipment.h:145
Definition: zboss_api_af.h:201

Declare endpoint for IAS Ancillary Control Equipment.

Parameters
ep_name[IN] - endpoint variable name.
ep_id[IN] - endpoint ID.
cluster_list[IN] - endpoint cluster list.
#define ZB_HA_DECLARE_IAS_ANCILLARY_CONTROL_EQUIPMENT_SIMPLE_DESC (   ep_name,
  ep_id,
  in_clust_num,
  out_clust_num 
)
Value:
ZB_DECLARE_SIMPLE_DESC(in_clust_num, out_clust_num); \
ZB_AF_SIMPLE_DESC_TYPE(in_clust_num, out_clust_num) simple_desc_##ep_name = \
{ \
ep_id, \
ZB_AF_ZLL_PROFILE_ID, \
ZB_HA_IAS_CONTROL_INDICATING_EQUIPMENT_ID, \
ZB_HA_IAS_ANCILLARY_CONTROL_EQUIPMENT_VER, \
0, \
in_clust_num, \
out_clust_num, \
{ \
ZB_ZCL_CLUSTER_ID_BASIC, \
ZB_ZCL_CLUSTER_ID_IDENTIFY, \
ZB_ZCL_CLUSTER_ID_IAS_ZONE, \
ZB_ZCL_CLUSTER_ID_IAS_ACE, \
ZB_ZCL_CLUSTER_ID_IDENTIFY, \
} \
}
#define ZB_DECLARE_SIMPLE_DESC(in_clusters_count, out_clusters_count)
Definition: zboss_api_af.h:185
#define ZB_AF_SIMPLE_DESC_TYPE(in_num, out_num)
Definition: zboss_api_af.h:172

Declare simple descriptor for IAS Ancillary Control Equipment.

Parameters
ep_name- endpoint variable name.
ep_id[IN] - endpoint ID.
in_clust_num[IN] - number of supported input clusters.
out_clust_num[IN] - number of supported output clusters.
Note
in_clust_num, out_clust_num should be defined by numeric constants, not variables or any definitions, because these values are used to form simple descriptor type name.
#define ZB_HA_IAS_ANCILLARY_CONTROL_EQUIPMENT_VER   0

IAS ACE device version


Documentation feedback | Developer Zone | Subscribe | Updated