Developing with ZBOSS
Level Control Switch

Macros

#define ZB_HA_DEVICE_VER_LEVEL_CONTROL_SWITCH   0
 
#define ZB_HA_LEVEL_CONTROL_SWITCH_IN_CLUSTER_NUM   2
 
#define ZB_HA_LEVEL_CONTROL_SWITCH_OUT_CLUSTER_NUM   3
 
#define ZB_HA_LEVEL_CONTROL_SWITCH_CLUSTER_NUM   (ZB_HA_LEVEL_CONTROL_SWITCH_IN_CLUSTER_NUM + ZB_HA_LEVEL_CONTROL_SWITCH_OUT_CLUSTER_NUM)
 
#define ZB_HA_LEVEL_CONTROL_SWITCH_REPORT_ATTR_COUNT   0
 
#define ZB_HA_DECLARE_LEVEL_CONTROL_SWITCH_CLUSTER_LIST( cluster_list_name, basic_attr_list, identify_attr_list)
 Declare cluster list for Level Control Switch device. More...
 
#define ZB_ZCL_DECLARE_LEVEL_CONTROL_SWITCH_SIMPLE_DESC( ep_name, ep_id, in_clust_num, out_clust_num)
 Declare simple descriptor for Level control switch device. More...
 
#define ZB_HA_DECLARE_LEVEL_CONTROL_SWITCH_EP(ep_name, ep_id, cluster_list)
 Declare endpoint for Level Control Switch device. More...
 
#define ZB_HA_DECLARE_LEVEL_CONTROL_SWITCH_CTX(device_ctx, ep_name)   ZBOSS_DECLARE_DEVICE_CTX_1_EP(device_ctx, ep_name)
 Declare application's device context for Level Control Switch device. More...
 

Detailed Description

Level Control Switch device has 4 clusters (see spec 7.4.8):

Sample use Level Control Switch device

Example

Macro Definition Documentation

◆ ZB_HA_DECLARE_LEVEL_CONTROL_SWITCH_CLUSTER_LIST

#define ZB_HA_DECLARE_LEVEL_CONTROL_SWITCH_CLUSTER_LIST (   cluster_list_name,
  basic_attr_list,
  identify_attr_list 
)

Declare cluster list for Level Control Switch device.

Parameters
cluster_list_name- cluster list variable name
basic_attr_list- attribute list for Basic cluster
identify_attr_list- attribute list for Identify cluster

◆ ZB_HA_DECLARE_LEVEL_CONTROL_SWITCH_CTX

#define ZB_HA_DECLARE_LEVEL_CONTROL_SWITCH_CTX (   device_ctx,
  ep_name 
)    ZBOSS_DECLARE_DEVICE_CTX_1_EP(device_ctx, ep_name)

Declare application's device context for Level Control Switch device.

Parameters
device_ctx- device context variable
ep_name- endpoint variable name

◆ ZB_HA_DECLARE_LEVEL_CONTROL_SWITCH_EP

#define ZB_HA_DECLARE_LEVEL_CONTROL_SWITCH_EP (   ep_name,
  ep_id,
  cluster_list 
)
Value:
ZB_HA_LEVEL_CONTROL_SWITCH_IN_CLUSTER_NUM, ZB_HA_LEVEL_CONTROL_SWITCH_OUT_CLUSTER_NUM); \
ZB_AF_DECLARE_ENDPOINT_DESC(ep_name, ep_id, ZB_AF_HA_PROFILE_ID, 0, NULL, \
ZB_ZCL_ARRAY_SIZE(cluster_list, zb_zcl_cluster_desc_t), cluster_list, \
(zb_af_simple_desc_1_1_t*)&simple_desc_##ep_name, \
0, NULL, /* No reporting ctx */ \
0, NULL) /* No CVC ctx */
ZCL cluster description.
Definition: zb_zcl_common.h:146
#define ZB_ZCL_DECLARE_LEVEL_CONTROL_SWITCH_SIMPLE_DESC( ep_name, ep_id, in_clust_num, out_clust_num)
Declare simple descriptor for Level control switch device.
Definition: zb_ha_level_control_switch.h:153
Definition: zboss_api_af.h:314

Declare endpoint for Level Control Switch device.

Parameters
ep_name- endpoint variable name
ep_id- endpoint ID
cluster_list- endpoint cluster list

◆ ZB_HA_DEVICE_VER_LEVEL_CONTROL_SWITCH

#define ZB_HA_DEVICE_VER_LEVEL_CONTROL_SWITCH   0

Level Control Switch device version

◆ ZB_HA_LEVEL_CONTROL_SWITCH_REPORT_ATTR_COUNT

#define ZB_HA_LEVEL_CONTROL_SWITCH_REPORT_ATTR_COUNT   0

Number of attribute for reporting on Level Control Switch device

◆ ZB_ZCL_DECLARE_LEVEL_CONTROL_SWITCH_SIMPLE_DESC

#define ZB_ZCL_DECLARE_LEVEL_CONTROL_SWITCH_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_HA_PROFILE_ID, \
ZB_HA_LEVEL_CONTROL_SWITCH_DEVICE_ID, \
ZB_HA_DEVICE_VER_LEVEL_CONTROL_SWITCH, \
0, \
in_clust_num, \
out_clust_num, \
{ \
ZB_ZCL_CLUSTER_ID_BASIC, \
ZB_ZCL_CLUSTER_ID_IDENTIFY, \
ZB_ZCL_CLUSTER_ID_ON_OFF, \
ZB_ZCL_CLUSTER_ID_LEVEL_CONTROL, \
ZB_ZCL_CLUSTER_ID_IDENTIFY, \
} \
}
#define ZB_DECLARE_SIMPLE_DESC(in_clusters_count, out_clusters_count)
Definition: zboss_api_af.h:206

Declare simple descriptor for Level control switch device.

Parameters
ep_name- endpoint variable name
ep_id- endpoint ID
in_clust_num- number of supported input clusters
out_clust_num- number of supported output clusters