Developing with ZBOSS
Window Covering

Macros

#define ZB_HA_DEVICE_VER_WINDOW_COVERING   0
 
#define ZB_HA_DECLARE_WINDOW_COVERING_CLUSTER_LIST( cluster_list_name, basic_attr_list, identify_attr_list, groups_attr_list, scenes_attr_list, window_covering_attr_list)
 Declare cluster list for window covering device. More...
 
#define ZB_ZCL_DECLARE_WINDOW_COVERING_SIMPLE_DESC(ep_name, ep_id, in_clust_num, out_clust_num)
 Declare simple descriptor for window covering device. More...
 
#define ZB_HA_DECLARE_WINDOW_COVERING_EP(ep_name, ep_id, cluster_list)
 Declare endpoint for window covering device. More...
 
#define ZB_HA_DECLARE_WINDOW_COVERING_CTX(device_ctx, ep_name)   ZBOSS_DECLARE_DEVICE_CTX_1_EP(device_ctx, ep_name)
 Declare application's device context for Window Covering device. More...
 

Detailed Description

Window Covering device has 5 clusters (see spec 7.6.3):

Window Covering device sample

Example

Macro Definition Documentation

◆ ZB_HA_DECLARE_WINDOW_COVERING_CLUSTER_LIST

#define ZB_HA_DECLARE_WINDOW_COVERING_CLUSTER_LIST (   cluster_list_name,
  basic_attr_list,
  identify_attr_list,
  groups_attr_list,
  scenes_attr_list,
  window_covering_attr_list 
)

Declare cluster list for window covering 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
groups_attr_list- attribute list for Groups cluster
scenes_attr_list- attribute list for Scenes cluster
window_covering_attr_list- attribute list for Window covering cluster

◆ ZB_HA_DECLARE_WINDOW_COVERING_CTX

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

Declare application's device context for Window Covering device.

Parameters
device_ctx- device context variable
ep_name- endpoint variable name

◆ ZB_HA_DECLARE_WINDOW_COVERING_EP

#define ZB_HA_DECLARE_WINDOW_COVERING_EP (   ep_name,
  ep_id,
  cluster_list 
)
Value:
ZB_HA_WINDOW_COVERING_IN_CLUSTER_NUM, ZB_HA_WINDOW_COVERING_OUT_CLUSTER_NUM); \
ZBOSS_DEVICE_DECLARE_REPORTING_CTX(reporting_info## device_ctx_name, \
ZB_HA_WINDOW_COVERING_REPORT_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_WINDOW_COVERING_REPORT_ATTR_COUNT, reporting_info## device_ctx_name, \
0, NULL) /* No CVC ctx */
ZCL cluster description.
Definition: zb_zcl_common.h:146
Definition: zboss_api_af.h:314
#define ZB_ZCL_DECLARE_WINDOW_COVERING_SIMPLE_DESC(ep_name, ep_id, in_clust_num, out_clust_num)
Declare simple descriptor for window covering device.
Definition: zb_ha_window_covering.h:165

Declare endpoint for window covering device.

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

◆ ZB_HA_DEVICE_VER_WINDOW_COVERING

#define ZB_HA_DEVICE_VER_WINDOW_COVERING   0

Window covering device version

◆ ZB_ZCL_DECLARE_WINDOW_COVERING_SIMPLE_DESC

#define ZB_ZCL_DECLARE_WINDOW_COVERING_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_WINDOW_COVERING_DEVICE_ID, \
ZB_HA_DEVICE_VER_WINDOW_COVERING, \
0, \
in_clust_num, \
out_clust_num, \
{ \
ZB_ZCL_CLUSTER_ID_BASIC, \
ZB_ZCL_CLUSTER_ID_IDENTIFY, \
ZB_ZCL_CLUSTER_ID_WINDOW_COVERING, \
ZB_ZCL_CLUSTER_ID_SCENES, \
ZB_ZCL_CLUSTER_ID_GROUPS \
} \
}
#define ZB_DECLARE_SIMPLE_DESC(in_clusters_count, out_clusters_count)
Definition: zboss_api_af.h:206

Declare simple descriptor for window covering 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