Window Covering Controller device has 3 clusters (see spec 7.6.4):
Window Covering Controller device sample
- Example
- Declaring clusters
ZB_ZCL_DECLARE_BASIC_ATTRIB_LIST(basic_attr_list, &g_attr_zcl_version, &g_attr_power_source);
ZB_ZCL_DECLARE_IDENTIFY_ATTRIB_LIST(identify_attr_list, &g_attr_identify_time);
basic_attr_list, identify_attr_list);
HA_WINDOW_COVERING_CONTROLLER_ENDPOINT, window_covering_controller_clusters);
window_covering_controller_ep);
Registering device list ZB_AF_REGISTER_DEVICE_CTX(&window_covering_controller_ctx);
zcl_specific_cluster_cmd_handler);
Example of command handler switch (cmd_info->cluster_id)
{
{
{
TRACE_MSG(TRACE_ZCL3,
"Got cluster command 0x%04x", (FMT__D, cmd_info->cluster_id));
break;
default:
TRACE_MSG(TRACE_ZCL2,
"Skip general command %hd", (FMT__H, cmd_info->
cmd_id));
break;
}
}
else
{
{
default:
TRACE_MSG(TRACE_ZCL2,
"Cluster command %hd, skip it", (FMT__H, cmd_info->
cmd_id));
break;
}
}
break;
default:
"SRV role, cluster 0x%d is not supported", (FMT__D, cmd_info->cluster_id));
break;
}
See ha/devices_closures sample
#define ZB_HA_DECLARE_WINDOW_COVERING_CONTROLLER_CLUSTER_LIST |
( |
|
cluster_list_name, |
|
|
|
basic_attr_list, |
|
|
|
identify_attr_list |
|
) |
| |
Value:
{ \
ZB_ZCL_CLUSTER_DESC( \
(identify_attr_list), \
), \
ZB_ZCL_CLUSTER_DESC( \
(basic_attr_list), \
), \
ZB_ZCL_CLUSTER_DESC( \
0, NULL, \
) \
}
ZCL cluster description.
Definition: zb_zcl_common.h:100
Definition: zb_zcl_common.h:178
Definition: zb_zcl_common.h:141
Definition: zb_zcl_common.h:137
#define ZB_ZCL_MANUF_CODE_INVALID
Internal invalid manufacturer code value.
Definition: zb_zcl_common.h:245
ZCL attribute definiton structure.
Definition: zb_zcl_common.h:518
Definition: zb_zcl_common.h:126
Definition: zb_zcl_common.h:124
Declare cluster list for window covering controller 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 |
#define ZB_HA_DECLARE_WINDOW_COVERING_CONTROLLER_CTX |
( |
|
device_ctx, |
|
|
|
ep_name |
|
) |
| ZBOSS_DECLARE_DEVICE_CTX_1_EP(device_ctx, ep_name) |
Declare application's device context for Window Covering Controller device.
- Parameters
-
device_ctx | - device context variable |
ep_name | - endpoint variable name |
#define ZB_HA_DECLARE_WINDOW_COVERING_CONTROLLER_EP |
( |
|
ep_name, |
|
|
|
ep_id, |
|
|
|
cluster_list |
|
) |
| |
Value:
ep_id, \
ZB_HA_WINDOW_COVERING_CONTROLLER_IN_CLUSTER_NUM, \
ZB_HA_WINDOW_COVERING_CONTROLLER_OUT_CLUSTER_NUM); \
ZB_AF_DECLARE_ENDPOINT_DESC(ep_id, \
0, \
NULL, \
cluster_list, \
0, NULL, \
0, NULL)
ZCL cluster description.
Definition: zb_zcl_common.h:100
#define ZB_ZCL_DECLARE_WINDOW_COVERING_CONTROLLER_SIMPLE_DESC(ep_name, ep_id, in_clust_num, out_clust_num)
Declare simple descriptor for window covering controller device.
Definition: zb_ha_window_covering_controller.h:141
Definition: zboss_api_af.h:444
Definition: zboss_api_af.h:282
Declare endpoint for window covering controller device.
- Parameters
-
ep_name | - endpoint variable name |
ep_id | - endpoint ID |
cluster_list | - endpoint cluster list |
#define ZB_HA_DEVICE_VER_WINDOW_COVERING_CONTROLLER 0 |
< window covering controller device version
#define ZB_ZCL_DECLARE_WINDOW_COVERING_CONTROLLER_SIMPLE_DESC |
( |
|
ep_name, |
|
|
|
ep_id, |
|
|
|
in_clust_num, |
|
|
|
out_clust_num |
|
) |
| |
Value:
{ \
ep_id, \
ZB_AF_HA_PROFILE_ID, \
ZB_HA_WINDOW_COVERING_CONTROLLER_DEVICE_ID, \
ZB_HA_DEVICE_VER_WINDOW_COVERING_CONTROLLER, \
0, \
in_clust_num, \
out_clust_num, \
{ \
ZB_ZCL_CLUSTER_ID_BASIC, \
ZB_ZCL_CLUSTER_ID_IDENTIFY, \
ZB_ZCL_CLUSTER_ID_WINDOW_COVERING \
} \
}
#define ZB_DECLARE_SIMPLE_DESC(in_clusters_count, out_clusters_count)
Definition: zboss_api_af.h:266
#define ZB_AF_SIMPLE_DESC_TYPE(in_num, out_num)
Definition: zboss_api_af.h:253
Declare simple descriptor for window covering controller 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 |