Developing with ZBOSS SDK for Zigbee
Level Controllable Output

Macros

#define ZB_HA_DEVICE_VER_LEVEL_CONTROLLABLE_OUTPUT   0
 
#define ZB_HA_LEVEL_CONTROLLABLE_OUTPUT_IN_CLUSTER_NUM   6
 
#define ZB_HA_LEVEL_CONTROLLABLE_OUTPUT_OUT_CLUSTER_NUM   0
 
#define ZB_HA_LEVEL_CONTROLLABLE_OUTPUT_CLUSTER_NUM
 
#define ZB_HA_LEVEL_CONTROLLABLE_OUTPUT_REPORT_ATTR_COUNT   (ZB_ZCL_LEVEL_CONTROL_REPORT_ATTR_COUNT + ZB_ZCL_ON_OFF_REPORT_ATTR_COUNT)
 
#define ZB_HA_LEVEL_CONTROLLABLE_OUTPUT_CVC_ATTR_COUNT   1
 
#define ZB_HA_DECLARE_LEVEL_CONTROLLABLE_OUTPUT_CLUSTER_LIST( cluster_list_name, basic_attr_list, identify_attr_list, scenes_attr_list, groups_attr_list, on_off_attr_list, level_control_attr_list)
 Declare cluster list for Level Controllable Output device. More...
 
#define ZB_ZCL_DECLARE_LEVEL_CONTROLLABLE_OUTPUT_SIMPLE_DESC( ep_name, ep_id, in_clust_num, out_clust_num)
 
#define ZB_HA_DECLARE_LEVEL_CONTROLLABLE_OUTPUT_EP(ep_name, ep_id, cluster_list)
 Declare endpoint for Level Controllable Output device. More...
 
#define ZB_HA_DECLARE_LEVEL_CONTROLLABLE_OUTPUT_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 device has 6 clusters (see spec 7.4.4):

Sample use Level Control device

Example

Macro Definition Documentation

◆ ZB_HA_DECLARE_LEVEL_CONTROLLABLE_OUTPUT_CLUSTER_LIST

#define ZB_HA_DECLARE_LEVEL_CONTROLLABLE_OUTPUT_CLUSTER_LIST (   cluster_list_name,
  basic_attr_list,
  identify_attr_list,
  scenes_attr_list,
  groups_attr_list,
  on_off_attr_list,
  level_control_attr_list 
)

Declare cluster list for Level Controllable Output 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
scenes_attr_list- attribute list for Scenes cluster
groups_attr_list- attribute list for Groups cluster
on_off_attr_list- attribute list for On/Off cluster
level_control_attr_list- attribute list for Level Control cluster

◆ ZB_HA_DECLARE_LEVEL_CONTROLLABLE_OUTPUT_CTX

#define ZB_HA_DECLARE_LEVEL_CONTROLLABLE_OUTPUT_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_CONTROLLABLE_OUTPUT_EP

#define ZB_HA_DECLARE_LEVEL_CONTROLLABLE_OUTPUT_EP (   ep_name,
  ep_id,
  cluster_list 
)
Value:
ZB_ZCL_DECLARE_LEVEL_CONTROLLABLE_OUTPUT_SIMPLE_DESC(ep_name, \
ep_id, \
ZB_HA_LEVEL_CONTROLLABLE_OUTPUT_OUT_CLUSTER_NUM); \
ZBOSS_DEVICE_DECLARE_REPORTING_CTX(reporting_info## device_ctx_name, \
ZB_HA_LEVEL_CONTROLLABLE_OUTPUT_REPORT_ATTR_COUNT); \
ZBOSS_DEVICE_DECLARE_LEVEL_CONTROL_CTX(cvc_alarm_info## device_ctx_name, \
ZB_HA_LEVEL_CONTROLLABLE_OUTPUT_CVC_ATTR_COUNT); \
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, \
ZB_HA_LEVEL_CONTROLLABLE_OUTPUT_REPORT_ATTR_COUNT, \
reporting_info## device_ctx_name, \
ZB_HA_LEVEL_CONTROLLABLE_OUTPUT_CVC_ATTR_COUNT, \
cvc_alarm_info## device_ctx_name)
ZCL cluster description.
Definition: zb_zcl_common.h:146
Definition: zboss_api_af.h:314
#define ZB_HA_LEVEL_CONTROLLABLE_OUTPUT_IN_CLUSTER_NUM
Definition: zb_ha_level_controllable_output.h:91

Declare endpoint for Level Controllable Output device.

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

◆ ZB_HA_DEVICE_VER_LEVEL_CONTROLLABLE_OUTPUT

#define ZB_HA_DEVICE_VER_LEVEL_CONTROLLABLE_OUTPUT   0

< Level Controllable Output device version Level Controllable Output IN (server) clusters number

◆ ZB_HA_LEVEL_CONTROLLABLE_OUTPUT_CLUSTER_NUM

#define ZB_HA_LEVEL_CONTROLLABLE_OUTPUT_CLUSTER_NUM
Value:
+ ZB_HA_LEVEL_CONTROLLABLE_OUTPUT_OUT_CLUSTER_NUM)
#define ZB_HA_LEVEL_CONTROLLABLE_OUTPUT_IN_CLUSTER_NUM
Definition: zb_ha_level_controllable_output.h:91

◆ ZB_HA_LEVEL_CONTROLLABLE_OUTPUT_IN_CLUSTER_NUM

#define ZB_HA_LEVEL_CONTROLLABLE_OUTPUT_IN_CLUSTER_NUM   6

Level Controllable Output OUT (client) clusters number

◆ ZB_ZCL_DECLARE_LEVEL_CONTROLLABLE_OUTPUT_SIMPLE_DESC

#define ZB_ZCL_DECLARE_LEVEL_CONTROLLABLE_OUTPUT_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_CONTROLLABLE_OUTPUT_DEVICE_ID, \
ZB_HA_DEVICE_VER_LEVEL_CONTROLLABLE_OUTPUT, \
0, \
in_clust_num, \
out_clust_num, \
{ \
ZB_ZCL_CLUSTER_ID_BASIC, \
ZB_ZCL_CLUSTER_ID_IDENTIFY, \
ZB_ZCL_CLUSTER_ID_SCENES, \
ZB_ZCL_CLUSTER_ID_GROUPS, \
ZB_ZCL_CLUSTER_ID_ON_OFF, \
ZB_ZCL_CLUSTER_ID_LEVEL_CONTROL \
} \
}
#define ZB_DECLARE_SIMPLE_DESC(in_clusters_count, out_clusters_count)
Definition: zboss_api_af.h:206