|
Developing with ZBOSS for Zigbee
|
|
enum | zb_zcl_on_off_attr_e {
ZB_ZCL_ATTR_ON_OFF_ON_OFF_ID = 0,
ZB_ZCL_ATTR_ON_OFF_GLOBAL_SCENE_CONTROL = 0x4000,
ZB_ZCL_ATTR_ON_OFF_ON_TIME = 0x4001,
ZB_ZCL_ATTR_ON_OFF_OFF_WAIT_TIME = 0x4002,
ZB_ZCL_ATTR_ON_OFF_START_UP_ON_OFF = 0x4003
} |
| On/Off cluster attribute identifiers. More...
|
|
enum | zb_zcl_on_off_on_off_e { ZB_ZCL_ON_OFF_IS_OFF = 0,
ZB_ZCL_ON_OFF_IS_ON = 1
} |
| Permissible values for OnOff attribute. More...
|
|
enum | zb_zcl_on_off_start_up_on_off_e { ZB_ZCL_ON_OFF_START_UP_ON_OFF_IS_OFF = 0,
ZB_ZCL_ON_OFF_START_UP_ON_OFF_IS_ON = 1,
ZB_ZCL_ON_OFF_START_UP_ON_OFF_IS_TOGGLE = 2,
ZB_ZCL_ON_OFF_START_UP_ON_OFF_IS_PREVIOUS = 0xFF
} |
|
#define | ZB_ZCL_ON_OFF_CLUSTER_REVISION_DEFAULT ((zb_uint16_t)0x0002u) |
| Default value for OnOff cluster revision global attribute.
|
|
#define | ZB_ZCL_ON_OFF_ON_OFF_DEFAULT_VALUE (ZB_ZCL_ON_OFF_IS_OFF) |
| Default value for OnOff attribute.
|
|
#define | ZB_ZCL_ON_OFF_GLOBAL_SCENE_CONTROL_DEFAULT_VALUE ((zb_bool_t)0x01) |
| Default value for GlobalSceneControl attribute.
|
|
#define | ZB_ZCL_ON_OFF_ON_TIME_DEFAULT_VALUE ((zb_uint16_t)0x0000) |
| Default value for OnTime attribute.
|
|
#define | ZB_ZCL_ON_OFF_OFF_WAIT_TIME_DEFAULT_VALUE ((zb_uint16_t)0x0000) |
| Default value for OffWaitTime attribute.
|
|
#define | ZB_ZCL_DECLARE_ON_OFF_ATTRIB_LIST(attr_list, on_off) |
| Declare attribute list for On/Off cluster. More...
|
|
#define | ZB_ZCL_DECLARE_ON_OFF_ATTRIB_LIST_EXT( attr_list, on_off, global_scene_ctrl, on_time, off_wait_time) |
| Declare attribute list for On/Off cluster (extended attribute set). More...
|
|
|
enum | zb_zcl_on_off_cmd_e {
ZB_ZCL_CMD_ON_OFF_OFF_ID = 0x00,
ZB_ZCL_CMD_ON_OFF_ON_ID = 0x01,
ZB_ZCL_CMD_ON_OFF_TOGGLE_ID = 0x02,
ZB_ZCL_CMD_ON_OFF_OFF_WITH_EFFECT_ID = 0x40,
ZB_ZCL_CMD_ON_OFF_ON_WITH_RECALL_GLOBAL_SCENE_ID = 0x41,
ZB_ZCL_CMD_ON_OFF_ON_WITH_TIMED_OFF_ID = 0x42
} |
| On/Off cluster command identifiers. More...
|
|
enum | zb_zcl_on_off_effect_e { ZB_ZCL_ON_OFF_EFFECT_ID_DELAYED_ALL_OFF = 0x00,
ZB_ZCL_ON_OFF_EFFECT_ID_DYING_LIGHT = 0x01
} |
|
enum | zb_zcl_on_off_effect_variant_delayed_e { ZB_ZCL_ON_OFF_EFFECT_VARIANT_FADE = 0x00,
ZB_ZCL_ON_OFF_EFFECT_VARIANT_NO_FADE = 0x01,
ZB_ZCL_ON_OFF_EFFECT_VARIANT_50PART_FADE = 0x02
} |
|
enum | zb_zcl_on_off_effect_variant_dying_e { ZB_ZCL_ON_OFF_EFFECT_VARIANT_20PART_FADE = 0x00
} |
|
typedef struct zb_zcl_on_off_off_with_effect_req_s | zb_zcl_on_off_off_with_effect_req_t |
| Structured representation of Off with effect command payload.
|
|
typedef struct zb_zcl_on_off_on_with_timed_off_req_s | zb_zcl_on_off_on_with_timed_off_req_t |
| Structured representation of On with timed off command payload.
|
|
#define | ZB_ZCL_ON_OFF_SEND_REQ( buffer, addr, dst_addr_mode, dst_ep, ep, prof_id, dis_default_resp, command_id, cb) |
| General macro for sending On/Off cluster command. More...
|
|
#define | ZB_ZCL_ON_OFF_SEND_OFF_REQ( buffer, addr, dst_addr_mode, dst_ep, ep, prfl_id, dis_default_resp, cb) |
|
#define | ZB_ZCL_ON_OFF_SEND_ON_REQ( buffer, addr, dst_addr_mode, dst_ep, ep, prfl_id, dis_default_resp, cb) |
|
#define | ZB_ZCL_ON_OFF_SEND_TOGGLE_REQ( buffer, addr, dst_addr_mode, dst_ep, ep, prfl_id, dis_default_resp, cb) |
|
#define | ZB_ZCL_ON_OFF_SEND_OFF_WITH_EFFECT_REQ( buffer, addr, dst_addr_mode, dst_ep, ep, prof_id, dis_default_resp, effect_id, effect_var, cb) |
|
#define | ZB_ZCL_ON_OFF_SEND_ON_WITH_RECALL_GLOBAL_SCENE_REQ( buffer, addr, dst_addr_mode, dst_ep, ep, prof_id, dis_default_resp, cb) |
|
#define | ZB_ZCL_ON_OFF_SEND_ON_WITH_TIMED_OFF_REQ( buffer, addr, dst_addr_mode, dst_ep, ep, prof_id, dis_default_resp, on_off, on_time, off_wait_time, cb) |
|
#define | ZB_ZCL_ON_OFF_ACCEPT_ONLY_WHEN_ON 1 |
|
#define | ZB_ZCL_ON_OFF_GET_OFF_WITH_EFFECT_REQ(data_ptr, buffer, status) |
| Parses Off with Effect command. More...
|
|
#define | ZB_ZCL_ON_OFF_GET_ON_WITH_TIMED_OFF_REQ(data_ptr, buffer, status) |
| Parses On with timed off command. More...
|
|
All commands in the cluster have only request form, and carry no payload.
- Example
- On command sending:
#define DST_ADDR g_dst_addr
#define DST_ADDR_MODE ZB_APS_ADDR_MODE_16_ENDP_PRESENT
#define ENDPOINT_C 5
#define ENDPOINT_ED 10
Other two commands can be sent in the same way using appropriate macros.
◆ ZB_ZCL_DECLARE_ON_OFF_ATTRIB_LIST
#define ZB_ZCL_DECLARE_ON_OFF_ATTRIB_LIST |
( |
|
attr_list, |
|
|
|
on_off |
|
) |
| |
Value:
ZB_ZCL_FINISH_DECLARE_ATTRIB_LIST
Declare attribute list for On/Off cluster.
- Parameters
-
attr_list | - attribute list name |
on_off | - pointer to variable to store On/Off attribute value |
◆ ZB_ZCL_DECLARE_ON_OFF_ATTRIB_LIST_EXT
#define ZB_ZCL_DECLARE_ON_OFF_ATTRIB_LIST_EXT |
( |
|
attr_list, |
|
|
|
on_off, |
|
|
|
global_scene_ctrl, |
|
|
|
on_time, |
|
|
|
off_wait_time |
|
) |
| |
Value:
ZB_ZCL_FINISH_DECLARE_ATTRIB_LIST
Declare attribute list for On/Off cluster (extended attribute set).
- Parameters
-
attr_list | [IN] - attribute list name being declared by this macro. |
on_off | [IN] - pointer to a boolean variable storing on/off attribute value. |
global_scene_ctrl | [IN] - pointer to a boolean variable storing global scene control attribute value. |
on_time | [IN] - pointer to a unsigned 16-bit integer variable storing on time attribute value. |
off_wait_time | [IN] - pointer to a unsigned 16-bit integer variable storing off wait time attribute value. |
◆ ZB_ZCL_ON_OFF_ACCEPT_ONLY_WHEN_ON
#define ZB_ZCL_ON_OFF_ACCEPT_ONLY_WHEN_ON 1 |
Accept only when on
- See also
- ZCL spec 3.8.2.3.6.1
◆ ZB_ZCL_ON_OFF_GET_OFF_WITH_EFFECT_REQ
#define ZB_ZCL_ON_OFF_GET_OFF_WITH_EFFECT_REQ |
( |
|
data_ptr, |
|
|
|
buffer, |
|
|
|
status |
|
) |
| |
Value:{ \
{ \
} \
else \
{ \
zb_zcl_on_off_off_with_effect_req_t *src_ptr = \
} \
}
Parses Off with Effect command.
- Attention
- Assumes that ZCL header already cut.
- Parameters
-
◆ ZB_ZCL_ON_OFF_GET_ON_WITH_TIMED_OFF_REQ
#define ZB_ZCL_ON_OFF_GET_ON_WITH_TIMED_OFF_REQ |
( |
|
data_ptr, |
|
|
|
buffer, |
|
|
|
status |
|
) |
| |
Value:{ \
{ \
} \
else \
{ \
zb_zcl_on_off_on_with_timed_off_req_t *src_ptr = \
(data_ptr)->on_off = src_ptr->on_off; \
ZB_LETOH16(&((data_ptr)->on_time), &(src_ptr->on_time)); \
ZB_LETOH16(&((data_ptr)->off_wait_time), &(src_ptr->off_wait_time)); \
} \
}
Parses On with timed off command.
- Attention
- Assumes that ZCL header already cut.
- Parameters
-
◆ ZB_ZCL_ON_OFF_SEND_OFF_REQ
#define ZB_ZCL_ON_OFF_SEND_OFF_REQ |
( |
|
buffer, |
|
|
|
addr, |
|
|
|
dst_addr_mode, |
|
|
|
dst_ep, |
|
|
|
ep, |
|
|
|
prfl_id, |
|
|
|
dis_default_resp, |
|
|
|
cb |
|
) |
| |
Value:
buffer, \
addr, \
dst_addr_mode, \
dst_ep, \
ep, \
prfl_id, \
dis_default_resp, \
cb)
Specific macro for sending Off command
◆ ZB_ZCL_ON_OFF_SEND_OFF_WITH_EFFECT_REQ
#define ZB_ZCL_ON_OFF_SEND_OFF_WITH_EFFECT_REQ |
( |
|
buffer, |
|
|
|
addr, |
|
|
|
dst_addr_mode, |
|
|
|
dst_ep, |
|
|
|
ep, |
|
|
|
prof_id, |
|
|
|
dis_default_resp, |
|
|
|
effect_id, |
|
|
|
effect_var, |
|
|
|
cb |
|
) |
| |
Value:{ \
zb_uint8_t* ptr = ZB_ZCL_START_PACKET_REQ(buffer) \
ZB_ZCL_CONSTRUCT_SPECIFIC_COMMAND_REQ_FRAME_CONTROL(ptr, dis_default_resp) \
ZB_ZCL_PACKET_PUT_DATA8(ptr, effect_id); \
ZB_ZCL_PACKET_PUT_DATA8(ptr, effect_var); \
ZB_ZCL_FINISH_PACKET(buffer, ptr) \
}
Specific macro for sending Off with effect command
◆ ZB_ZCL_ON_OFF_SEND_ON_REQ
#define ZB_ZCL_ON_OFF_SEND_ON_REQ |
( |
|
buffer, |
|
|
|
addr, |
|
|
|
dst_addr_mode, |
|
|
|
dst_ep, |
|
|
|
ep, |
|
|
|
prfl_id, |
|
|
|
dis_default_resp, |
|
|
|
cb |
|
) |
| |
Value:
buffer, \
addr, \
dst_addr_mode, \
dst_ep, \
ep, \
prfl_id, \
dis_default_resp, \
cb)
Specific macro for sending On command
◆ ZB_ZCL_ON_OFF_SEND_ON_WITH_RECALL_GLOBAL_SCENE_REQ
#define ZB_ZCL_ON_OFF_SEND_ON_WITH_RECALL_GLOBAL_SCENE_REQ |
( |
|
buffer, |
|
|
|
addr, |
|
|
|
dst_addr_mode, |
|
|
|
dst_ep, |
|
|
|
ep, |
|
|
|
prof_id, |
|
|
|
dis_default_resp, |
|
|
|
cb |
|
) |
| |
Value:Specific macro for sending On with recall global scene command
◆ ZB_ZCL_ON_OFF_SEND_ON_WITH_TIMED_OFF_REQ
#define ZB_ZCL_ON_OFF_SEND_ON_WITH_TIMED_OFF_REQ |
( |
|
buffer, |
|
|
|
addr, |
|
|
|
dst_addr_mode, |
|
|
|
dst_ep, |
|
|
|
ep, |
|
|
|
prof_id, |
|
|
|
dis_default_resp, |
|
|
|
on_off, |
|
|
|
on_time, |
|
|
|
off_wait_time, |
|
|
|
cb |
|
) |
| |
Value:{ \
zb_uint8_t* ptr = ZB_ZCL_START_PACKET_REQ(buffer) \
ZB_ZCL_CONSTRUCT_SPECIFIC_COMMAND_REQ_FRAME_CONTROL(ptr, dis_default_resp) \
ZB_ZCL_PACKET_PUT_DATA8(ptr, on_off); \
ZB_ZCL_PACKET_PUT_DATA16_VAL(ptr, on_time); \
ZB_ZCL_PACKET_PUT_DATA16_VAL(ptr, off_wait_time); \
ZB_ZCL_FINISH_PACKET(buffer, ptr) \
}
Specific macro for sending On with timed off command
◆ ZB_ZCL_ON_OFF_SEND_REQ
#define ZB_ZCL_ON_OFF_SEND_REQ |
( |
|
buffer, |
|
|
|
addr, |
|
|
|
dst_addr_mode, |
|
|
|
dst_ep, |
|
|
|
ep, |
|
|
|
prof_id, |
|
|
|
dis_default_resp, |
|
|
|
command_id, |
|
|
|
cb |
|
) |
| |
Value:{ \
zb_uint8_t* ptr = ZB_ZCL_START_PACKET_REQ(buffer) \
ZB_ZCL_CONSTRUCT_SPECIFIC_COMMAND_REQ_FRAME_CONTROL(ptr, dis_default_resp) \
ZB_ZCL_FINISH_PACKET(buffer, ptr) \
ZB_ZCL_SEND_COMMAND_SHORT( \
}
General macro for sending On/Off cluster command.
- Parameters
-
buffer | to put data to |
addr | - address of the device to send command to |
dst_addr_mode | - addressing mode |
dst_ep | destination endpoint |
ep | - current endpoint |
prof_id | - profile identifier |
dis_default_resp | - "Disable default response" flag |
command_id | - command identifier |
cb | - callback to call to report send status |
◆ ZB_ZCL_ON_OFF_SEND_TOGGLE_REQ
#define ZB_ZCL_ON_OFF_SEND_TOGGLE_REQ |
( |
|
buffer, |
|
|
|
addr, |
|
|
|
dst_addr_mode, |
|
|
|
dst_ep, |
|
|
|
ep, |
|
|
|
prfl_id, |
|
|
|
dis_default_resp, |
|
|
|
cb |
|
) |
| |
Value:
buffer, \
addr, \
dst_addr_mode, \
dst_ep, \
ep, \
prfl_id, \
dis_default_resp, \
cb)
Specific macro for sending Toggle command
◆ zb_zcl_on_off_attr_e
On/Off cluster attribute identifiers.
- See also
- ZCL spec, subclause 3.8.2.2
Enumerator |
---|
ZB_ZCL_ATTR_ON_OFF_ON_OFF_ID | OnOff attribute.
|
ZB_ZCL_ATTR_ON_OFF_GLOBAL_SCENE_CONTROL | Global Scene Control attribute identifier.
|
ZB_ZCL_ATTR_ON_OFF_ON_TIME | On Time attribute identifier.
|
ZB_ZCL_ATTR_ON_OFF_OFF_WAIT_TIME | Off Wait Time attribute identifier.
|
ZB_ZCL_ATTR_ON_OFF_START_UP_ON_OFF | The StartUpOnOff attribute SHALL define the desired startup behavior of a lamp device when it is supplied with power and this state SHALL be reflected in the OnOff attribute.
|
◆ zb_zcl_on_off_cmd_e
On/Off cluster command identifiers.
- See also
- ZCL spec, subclause 3.8.2.3
Enumerator |
---|
ZB_ZCL_CMD_ON_OFF_OFF_ID | "Turn off" command.
|
ZB_ZCL_CMD_ON_OFF_ON_ID | "Turn on" command.
|
ZB_ZCL_CMD_ON_OFF_TOGGLE_ID | "Toggle state" command.
|
ZB_ZCL_CMD_ON_OFF_OFF_WITH_EFFECT_ID | "Off with effect" command.
|
ZB_ZCL_CMD_ON_OFF_ON_WITH_RECALL_GLOBAL_SCENE_ID | "On with recall global scene" command.
|
ZB_ZCL_CMD_ON_OFF_ON_WITH_TIMED_OFF_ID | "On with timed off" command.
|
◆ zb_zcl_on_off_effect_e
Effect identifier enum
- See also
- ZCL spec 3.8.2.3.4.1
Enumerator |
---|
ZB_ZCL_ON_OFF_EFFECT_ID_DELAYED_ALL_OFF | Effect identifier field value: Delayed all off Effect identifier field value: Dying light
|
◆ zb_zcl_on_off_effect_variant_delayed_e
Effect variant field for delayed enum
- See also
- ZCL spec 3.8.2.3.4.2
Enumerator |
---|
ZB_ZCL_ON_OFF_EFFECT_VARIANT_FADE | Effect variant field value: Fade to off in 0.8 seconds Effect variant field value: No fade
|
ZB_ZCL_ON_OFF_EFFECT_VARIANT_NO_FADE | Effect variant field value: 50% dim down in 0.8 seconds then fade to off in 12 seconds
|
◆ zb_zcl_on_off_effect_variant_dying_e
Effect variant field for delayed enum
- See also
- ZCL spec 3.8.2.3.4.2
Enumerator |
---|
ZB_ZCL_ON_OFF_EFFECT_VARIANT_20PART_FADE | Effect variant field value: 20% dim up in 0.5s then fade to off in 1 second
|
◆ zb_zcl_on_off_on_off_e
Permissible values for OnOff attribute.
Enumerator |
---|
ZB_ZCL_ON_OFF_IS_OFF | "Off" value
|
ZB_ZCL_ON_OFF_IS_ON | "On" value
|
◆ zb_zcl_on_off_start_up_on_off_e
Enumerator |
---|
ZB_ZCL_ON_OFF_START_UP_ON_OFF_IS_OFF | "Off" value
|
ZB_ZCL_ON_OFF_START_UP_ON_OFF_IS_ON | "ON" value
|
ZB_ZCL_ON_OFF_START_UP_ON_OFF_IS_TOGGLE | "Toggle" value
|
ZB_ZCL_ON_OFF_START_UP_ON_OFF_IS_PREVIOUS | "Previous" value
|
@ ZB_ZCL_CMD_ON_OFF_ON_WITH_TIMED_OFF_ID
Definition: zb_zcl_on_off.h:151
#define ZB_AF_HA_PROFILE_ID
Definition: zboss_api_af.h:287
#define ZB_ZCL_ON_OFF_SEND_ON_REQ( buffer, addr, dst_addr_mode, dst_ep, ep, prfl_id, dis_default_resp, cb)
Definition: zb_zcl_on_off.h:209
#define ZB_ZCL_CLUSTER_ID_ON_OFF
Definition: zb_zcl_common.h:211
@ ZB_ZCL_ATTR_ON_OFF_GLOBAL_SCENE_CONTROL
Definition: zb_zcl_on_off.h:62
#define ZB_ZCL_ENABLE_DEFAULT_RESPONSE
Definition: zb_zcl_common.h:1015
@ ZB_ZCL_CMD_ON_OFF_TOGGLE_ID
Definition: zb_zcl_on_off.h:148
@ ZB_ZCL_CMD_ON_OFF_OFF_WITH_EFFECT_ID
Definition: zb_zcl_on_off.h:149
#define ZB_ZCL_GET_SEQ_NUM()
Return next sequence number for ZCL frame.
Definition: zb_zcl_common.h:1438
#define ZB_LETOH16
Definition: zb_types.h:802
Structured representation of On with timed off command payload.
Definition: zb_zcl_on_off.h:313
Structured representation of Off with effect command payload.
Definition: zb_zcl_on_off.h:304
#define zb_buf_begin(buf)
Definition: zboss_api_buf.h:343
#define ZB_ZCL_ON_OFF_SEND_REQ( buffer, addr, dst_addr_mode, dst_ep, ep, prof_id, dis_default_resp, command_id, cb)
General macro for sending On/Off cluster command.
Definition: zb_zcl_on_off.h:183
#define ZB_ZCL_START_DECLARE_ATTRIB_LIST_CLUSTER_REVISION(attrs_desc_name, cluster_name)
Start declaration of attributes list with cluster revision.
Definition: zb_zcl_common.h:785
@ ZB_ZCL_CMD_ON_OFF_OFF_ID
Definition: zb_zcl_on_off.h:146
@ ZB_ZCL_ATTR_ON_OFF_OFF_WAIT_TIME
Definition: zb_zcl_on_off.h:66
@ ZB_ZCL_PARSE_STATUS_SUCCESS
Definition: zb_zcl_common.h:328
@ ZB_ZCL_PARSE_STATUS_FAILURE
Definition: zb_zcl_common.h:329
@ ZB_ZCL_ATTR_ON_OFF_ON_OFF_ID
OnOff attribute.
Definition: zb_zcl_on_off.h:60
@ ZB_ZCL_CMD_ON_OFF_ON_WITH_RECALL_GLOBAL_SCENE_ID
Definition: zb_zcl_on_off.h:150
@ ZB_ZCL_ATTR_ON_OFF_ON_TIME
Definition: zb_zcl_on_off.h:64
#define zb_buf_len(buf)
Definition: zboss_api_buf.h:361
@ ZB_ZCL_CMD_ON_OFF_ON_ID
Definition: zb_zcl_on_off.h:147