On Off Switch device has 6 clusters (see spec 7.4.1):
On Off Switch device sample
- Example
- Declaring clusters
ZB_ZCL_ON_OFF_SWITCH_CONFIGURATION_SWITCH_ACTIONS_DEFAULT_VALUE;
ZB_ZCL_DECLARE_ON_OFF_SWITCH_CONFIGURATION_ATTRIB_LIST(switch_cfg_attr_list, &attr_switch_type, &attr_switch_actions);
zb_uint8_t attr_zcl_version = ZB_ZCL_BASIC_ZCL_VERSION_DEFAULT_VALUE;
zb_uint8_t attr_power_source = ZB_ZCL_BASIC_POWER_SOURCE_DEFAULT_VALUE;
ZB_ZCL_DECLARE_BASIC_ATTRIB_LIST(basic_attr_list, &attr_zcl_version, &attr_power_source);
ZB_ZCL_DECLARE_IDENTIFY_ATTRIB_LIST(identify_attr_list, &attr_identify_time);
#define HA_SWITCH_ENDPOINT 10
Registering device list ZB_AF_REGISTER_DEVICE_CTX(&on_off_switch_ctx);
Example of command handler
zb_bool_t unknown_cmd_received =
ZB_TRUE;
See ha/devices_generic sample
#define ZB_HA_DECLARE_ON_OFF_SWITCH_CLUSTER_LIST |
( |
|
cluster_list_name, |
|
|
|
on_off_switch_config_attr_list, |
|
|
|
basic_attr_list, |
|
|
|
identify_attr_list |
|
) |
| |
Declare cluster list for On/Off switch device.
- Parameters
-
cluster_list_name | - cluster list variable name |
on_off_switch_config_attr_list | - attribute list for On/off switch configuration cluster |
basic_attr_list | - attribute list for Basic cluster |
identify_attr_list | - attribute list for Identify cluster |
#define ZB_HA_DECLARE_ON_OFF_SWITCH_CTX |
( |
|
device_ctx, |
|
|
|
ep_name |
|
) |
| ZBOSS_DECLARE_DEVICE_CTX_1_EP(device_ctx, ep_name) |
Declare On/Off Switch device context.
- Parameters
-
device_ctx | - device context variable name. |
ep_name | - endpoint variable name. |
#define ZB_HA_DECLARE_ON_OFF_SWITCH_EP |
( |
|
ep_name, |
|
|
|
ep_id, |
|
|
|
cluster_list |
|
) |
| |
Value:ZB_ZCL_DECLARE_ON_OFF_SWITCH_SIMPLE_DESC( \
ep_name, \
ep_id, \
ZB_HA_ON_OFF_SWITCH_IN_CLUSTER_NUM, \
ZB_HA_ON_OFF_SWITCH_OUT_CLUSTER_NUM); \
ZB_AF_DECLARE_ENDPOINT_DESC(ep_name, \
ep_id, \
0, \
NULL, \
cluster_list, \
0, NULL, \
0, NULL)
Declare endpoint for On/off Switch device.
- Parameters
-
ep_name | - endpoint variable name |
ep_id | - endpoint ID |
cluster_list | - endpoint cluster list |