Developing with ZBOSS for Zigbee
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 */

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, \
} \
}

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
ZB_ZCL_DECLARE_BASIC_ATTRIB_LIST_EXT
#define ZB_ZCL_DECLARE_BASIC_ATTRIB_LIST_EXT( attr_list, zcl_version, app_version, stack_version, hardware_version, manufacturer_name, model_id, date_code, power_source, location_id, ph_env, sw_build_id)
Declare attribute list for Basic cluster (extended attribute set).
Definition: zb_zcl_basic.h:358
ZB_ZCL_BASIC_HW_VERSION_DEFAULT_VALUE
#define ZB_ZCL_BASIC_HW_VERSION_DEFAULT_VALUE
Default value for Hardware version attribute.
Definition: zb_zcl_basic.h:167
ZB_AF_HA_PROFILE_ID
#define ZB_AF_HA_PROFILE_ID
Definition: zboss_api_af.h:287
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)
Declare simple descriptor for Level control switch device.
Definition: zb_ha_level_control_switch.h:130
ZB_ZCL_REGISTER_DEVICE_CB
#define ZB_ZCL_REGISTER_DEVICE_CB(func_ptr)
Set Device user application callback. The macro sets a callback being called upon to need inform User...
Definition: zboss_api_af.h:748
ZB_DECLARE_SIMPLE_DESC
#define ZB_DECLARE_SIMPLE_DESC(in_clusters_count, out_clusters_count)
Definition: zboss_api_af.h:237
zb_uint8_t
unsigned char zb_uint8_t
Project-local 1-byte unsigned int type.
Definition: zb_types.h:153
zb_zcl_device_callback_param_s::status
zb_ret_t status
Definition: zboss_api_zcl.h:1758
TRACE_MSG
#define TRACE_MSG(lm, fmts, args)
Put trace output.
Definition: zb_trace.h:359
ZB_ZCL_CLUSTER_ID_ON_OFF
#define ZB_ZCL_CLUSTER_ID_ON_OFF
Definition: zb_zcl_common.h:211
ZB_AF_SET_ENDPOINT_HANDLER
#define ZB_AF_SET_ENDPOINT_HANDLER(endpoint, handler)
Allows application to register cluster commands handler for a specific endpoint.
Definition: zboss_api_af.h:552
zb_zcl_set_attr_value_param_s::attr_id
zb_uint16_t attr_id
Definition: zb_zcl_common.h:2099
ZB_ZCL_BASIC_ZCL_VERSION_DEFAULT_VALUE
#define ZB_ZCL_BASIC_ZCL_VERSION_DEFAULT_VALUE
Default value for ZCL version attribute.
Definition: zb_zcl_basic.h:158
zb_zcl_parsed_hdr_s
Definition: zb_zcl_common.h:1040
zb_zcl_cluster_desc_s
ZCL cluster description.
Definition: zb_zcl_common.h:127
ZB_ZCL_FRAME_DIRECTION_TO_CLI
#define ZB_ZCL_FRAME_DIRECTION_TO_CLI
Definition: zb_zcl_common.h:958
ZB_ZCL_BASIC_SW_BUILD_ID_DEFAULT_VALUE
#define ZB_ZCL_BASIC_SW_BUILD_ID_DEFAULT_VALUE
Default value for SWBuildId attribute.
Definition: zb_zcl_basic.h:222
ZB_MAC_LQI_UNDEFINED
#define ZB_MAC_LQI_UNDEFINED
Definition: zboss_api_nwk.h:160
ZB_BUF_GET_PARAM
#define ZB_BUF_GET_PARAM(buf, type)
Definition: zboss_api_buf.h:447
ZB_HA_DECLARE_LEVEL_CONTROL_SWITCH_EP
#define ZB_HA_DECLARE_LEVEL_CONTROL_SWITCH_EP(ep_name, ep_id, cluster_list)
Declare endpoint for Level Control Switch device.
Definition: zb_ha_level_control_switch.h:156
zb_int8_t
signed char zb_int8_t
Project-local 1-byte signed int type.
Definition: zb_types.h:155
ZB_ZCL_BASIC_APPLICATION_VERSION_DEFAULT_VALUE
#define ZB_ZCL_BASIC_APPLICATION_VERSION_DEFAULT_VALUE
Default value for Application version attribute.
Definition: zb_zcl_basic.h:161
ZB_ZCL_PARSED_HDR_SHORT_DATA
#define ZB_ZCL_PARSED_HDR_SHORT_DATA(header)
Extract common addressing data from parsed ZCL structure.
Definition: zb_zcl_common.h:1104
zb_zcl_set_attr_value_param_s::data8
zb_uint8_t data8
Definition: zb_zcl_common.h:2109
zb_char_t
char zb_char_t
Project-local char type.
Definition: zb_types.h:149
ZB_MAC_RSSI_UNDEFINED
#define ZB_MAC_RSSI_UNDEFINED
Definition: zboss_api_nwk.h:164
ZB_ZCL_IDENTIFY_IDENTIFY_TIME_DEFAULT_VALUE
#define ZB_ZCL_IDENTIFY_IDENTIFY_TIME_DEFAULT_VALUE
Default value for Identify attribute.
Definition: zb_zcl_identify.h:64
ZB_ZCL_SET_ATTR_VALUE_CB_ID
@ ZB_ZCL_SET_ATTR_VALUE_CB_ID
Definition: zboss_api_zcl.h:381
ZB_ZCL_BASIC_MANUFACTURER_NAME_DEFAULT_VALUE
#define ZB_ZCL_BASIC_MANUFACTURER_NAME_DEFAULT_VALUE
Default value for Manufacturer name attribute.
Definition: zb_zcl_basic.h:170
ZB_AF_REGISTER_DEVICE_CTX
#define ZB_AF_REGISTER_DEVICE_CTX(_device_ctx)
Definition: zboss_api_af.h:734
zb_zdo_get_diag_data
void zb_zdo_get_diag_data(zb_uint16_t short_address, zb_uint8_t *lqi, zb_int8_t *rssi)
Obtains last known LQI and RSSI values from device with specified short address.
ZB_ZCL_BASIC_POWER_SOURCE_DEFAULT_VALUE
#define ZB_ZCL_BASIC_POWER_SOURCE_DEFAULT_VALUE
Default value for Power source attribute.
Definition: zb_zcl_basic.h:179
zb_zcl_parsed_hdr_s::cmd_direction
zb_uint8_t cmd_direction
Definition: zb_zcl_common.h:1076
ZB_ZCL_COPY_PARSED_HEADER
#define ZB_ZCL_COPY_PARSED_HEADER(buf, dst)
Copy parsed ZCL header from buffer.
Definition: zb_zcl_common.h:1354
ZB_ZCL_BASIC_MODEL_IDENTIFIER_DEFAULT_VALUE
#define ZB_ZCL_BASIC_MODEL_IDENTIFIER_DEFAULT_VALUE
Default value for Model identifier attribute.
Definition: zb_zcl_basic.h:173
zb_zcl_device_callback_param_s
Data for Device user application callback. This structure has receive to User application callback (s...
Definition: zboss_api_zcl.h:1751
RET_OK
#define RET_OK
Error codes for non-void stack functions. In general, function can return OK, BLOCKED or some error....
Definition: zb_errors.h:78
ZB_ZCL_BASIC_DATE_CODE_DEFAULT_VALUE
#define ZB_ZCL_BASIC_DATE_CODE_DEFAULT_VALUE
Default value for Date code attribute.
Definition: zb_zcl_basic.h:176
zb_uint16_t
unsigned short zb_uint16_t
Project-local 2-byte unsigned int type.
Definition: zb_types.h:157
ZB_ZCL_BASIC_STACK_VERSION_DEFAULT_VALUE
#define ZB_ZCL_BASIC_STACK_VERSION_DEFAULT_VALUE
Default value for Stack version attribute.
Definition: zb_zcl_basic.h:164
zb_zcl_set_attr_value_param_s::cluster_id
zb_uint16_t cluster_id
Definition: zb_zcl_common.h:2098
ZB_ZCL_ATTR_ON_OFF_ON_OFF_ID
@ ZB_ZCL_ATTR_ON_OFF_ON_OFF_ID
OnOff attribute.
Definition: zb_zcl_on_off.h:60
zb_zcl_device_callback_param_s::cb_param
union zb_zcl_device_callback_param_s::@1 cb_param
ZB_FALSE
#define ZB_FALSE
Definition: zb_types.h:374
ZB_HA_DECLARE_LEVEL_CONTROL_SWITCH_CTX
#define ZB_HA_DECLARE_LEVEL_CONTROL_SWITCH_CTX(device_ctx, ep_name)
Declare application's device context for Level Control Switch device.
Definition: zb_ha_level_control_switch.h:172
zb_buf_len
#define zb_buf_len(buf)
Definition: zboss_api_buf.h:361
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.
Definition: zb_ha_level_control_switch.h:81
ZB_ZCL_BASIC_PHYSICAL_ENVIRONMENT_DEFAULT_VALUE
#define ZB_ZCL_BASIC_PHYSICAL_ENVIRONMENT_DEFAULT_VALUE
Default value for Physical environment attribute.
Definition: zb_zcl_basic.h:206
zb_zcl_device_callback_param_s::device_cb_id
zb_zcl_device_callback_id_t device_cb_id
Definition: zboss_api_zcl.h:1754
ZB_ZCL_BASIC_LOCATION_DESCRIPTION_DEFAULT_VALUE
#define ZB_ZCL_BASIC_LOCATION_DESCRIPTION_DEFAULT_VALUE
Default value for location description attribute.
Definition: zb_zcl_basic.h:203