Data Structures | |
| struct | zb_zcl_on_off_off_with_effect_req_s |
| Structured representation of Off with effect command payload. More... | |
| struct | zb_zcl_on_off_on_with_timed_off_req_s |
| Structured representation of On with timed off command payload. More... | |
On/Off cluster commands | |
| 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... | |
Detailed Description
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 10ZB_ZCL_ON_OFF_SEND_ON_REQ(buffer, DST_ADDR, DST_ADDR_MODE, ENDPOINT_C, ENDPOINT_ED, ZB_AF_HA_PROFILE_ID, ZB_ZCL_ENABLE_DEFAULT_RESPONSE, NULL);
Other two commands can be sent in the same way using appropriate macros.
Macro Definition Documentation
◆ ZB_ZCL_DECLARE_ON_OFF_ATTRIB_LIST
| #define ZB_ZCL_DECLARE_ON_OFF_ATTRIB_LIST | ( | attr_list, | |
| on_off | |||
| ) |
ZB_ZCL_START_DECLARE_ATTRIB_LIST_CLUSTER_REVISION(attr_list, ZB_ZCL_ON_OFF) \ ZB_ZCL_SET_ATTR_DESC(ZB_ZCL_ATTR_ON_OFF_ON_OFF_ID, (on_off)) \ 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 | |||
| ) |
ZB_ZCL_START_DECLARE_ATTRIB_LIST_CLUSTER_REVISION(attr_list, ZB_ZCL_ON_OFF) \ ZB_ZCL_SET_ATTR_DESC(ZB_ZCL_ATTR_ON_OFF_ON_OFF_ID, (on_off)) \ ZB_ZCL_SET_ATTR_DESC(ZB_ZCL_ATTR_ON_OFF_GLOBAL_SCENE_CONTROL, (global_scene_ctrl)) \ ZB_ZCL_SET_ATTR_DESC(ZB_ZCL_ATTR_ON_OFF_ON_TIME, (on_time)) \ ZB_ZCL_SET_ATTR_DESC(ZB_ZCL_ATTR_ON_OFF_OFF_WAIT_TIME, (off_wait_time)) \ ZB_ZCL_FINISH_DECLARE_ATTRIB_LIST
Definition: zb_zcl_on_off.h:81
Definition: zb_zcl_on_off.h:83
Definition: zb_zcl_on_off.h:85
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 | |||
| ) |
{ \ { \ (status) = ZB_ZCL_PARSE_STATUS_FAILURE; \ } \ else \ { \ zb_zcl_on_off_off_with_effect_req_t *src_ptr = \ (zb_zcl_on_off_off_with_effect_req_t*)zb_buf_begin((buffer)); \ (status) = ZB_ZCL_PARSE_STATUS_SUCCESS; \ ZB_MEMCPY((data_ptr), src_ptr, sizeof(zb_zcl_on_off_off_with_effect_req_t)); \ } \}Definition: zb_zcl_common.h:348
Structured representation of Off with effect command payload. Definition: zb_zcl_on_off.h:323
Definition: zb_zcl_common.h:347
Parses Off with Effect command.
- Attention
- Assumes that ZCL header already cut.
- Parameters
-
data_ptr - pointer to a variable of type zb_zcl_on_off_off_with_effect_req_s. buffer containing the packet (by pointer). status - variable to put parse status to (see zb_zcl_parse_status_t).
◆ 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 | |||
| ) |
{ \ { \ (status) = ZB_ZCL_PARSE_STATUS_FAILURE; \ } \ else \ { \ zb_zcl_on_off_on_with_timed_off_req_t *src_ptr = \ (zb_zcl_on_off_on_with_timed_off_req_t*)zb_buf_begin((buffer)); \ (status) = ZB_ZCL_PARSE_STATUS_SUCCESS; \ (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)); \ } \}Structured representation of On with timed off command payload. Definition: zb_zcl_on_off.h:332
Definition: zb_zcl_common.h:348
Definition: zb_zcl_common.h:347
Parses On with timed off command.
- Attention
- Assumes that ZCL header already cut.
- Parameters
-
data_ptr - pointer to a variable of type zb_zcl_on_off_on_with_timed_off_req_s. buffer containing the packet (by pointer). status - variable to put parse status to (see zb_zcl_parse_status_t).
◆ 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 | |||
| ) |
buffer, \ addr, \ dst_addr_mode, \ dst_ep, \ ep, \ prfl_id, \ dis_default_resp, \ cb)Definition: zb_zcl_on_off.h:165
#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:202
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 | |||
| ) |
{ \ zb_uint8_t* ptr = ZB_ZCL_START_PACKET_REQ(buffer) \ ZB_ZCL_CONSTRUCT_SPECIFIC_COMMAND_REQ_FRAME_CONTROL(ptr, dis_default_resp) \ ZB_ZCL_CONSTRUCT_COMMAND_HEADER_REQ(ptr, ZB_ZCL_GET_SEQ_NUM(), ZB_ZCL_CMD_ON_OFF_OFF_WITH_EFFECT_ID); \ ZB_ZCL_PACKET_PUT_DATA8(ptr, effect_id); \ ZB_ZCL_PACKET_PUT_DATA8(ptr, effect_var); \ ZB_ZCL_FINISH_PACKET(buffer, ptr) \ ZB_ZCL_SEND_COMMAND_SHORT(buffer, addr, dst_addr_mode, dst_ep, ep, prof_id, ZB_ZCL_CLUSTER_ID_ON_OFF, cb); \}#define ZB_ZCL_GET_SEQ_NUM()Return next sequence number for ZCL frame. Definition: zb_zcl_common.h:1443
Definition: zb_zcl_on_off.h:168
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 | |||
| ) |
buffer, \ addr, \ dst_addr_mode, \ dst_ep, \ ep, \ prfl_id, \ dis_default_resp, \ cb)#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:202
Definition: zb_zcl_on_off.h:166
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 | |||
| ) |
ZB_ZCL_ON_OFF_SEND_REQ(buffer, addr, dst_addr_mode, dst_ep, ep, prof_id, dis_default_resp, \#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:202
Definition: zb_zcl_on_off.h:169
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 | |||
| ) |
{ \ zb_uint8_t* ptr = ZB_ZCL_START_PACKET_REQ(buffer) \ ZB_ZCL_CONSTRUCT_SPECIFIC_COMMAND_REQ_FRAME_CONTROL(ptr, dis_default_resp) \ ZB_ZCL_CONSTRUCT_COMMAND_HEADER_REQ(ptr, ZB_ZCL_GET_SEQ_NUM(), ZB_ZCL_CMD_ON_OFF_ON_WITH_TIMED_OFF_ID); \ 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) \ ZB_ZCL_SEND_COMMAND_SHORT(buffer, addr, dst_addr_mode, dst_ep, ep, prof_id, ZB_ZCL_CLUSTER_ID_ON_OFF, cb); \}#define ZB_ZCL_GET_SEQ_NUM()Return next sequence number for ZCL frame. Definition: zb_zcl_common.h:1443
Definition: zb_zcl_on_off.h:170
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 | |||
| ) |
{ \ zb_uint8_t* ptr = ZB_ZCL_START_PACKET_REQ(buffer) \ ZB_ZCL_CONSTRUCT_SPECIFIC_COMMAND_REQ_FRAME_CONTROL(ptr, dis_default_resp) \ ZB_ZCL_CONSTRUCT_COMMAND_HEADER_REQ(ptr, ZB_ZCL_GET_SEQ_NUM(), command_id); \ ZB_ZCL_FINISH_PACKET(buffer, ptr) \ ZB_ZCL_SEND_COMMAND_SHORT( \ buffer, addr, dst_addr_mode, dst_ep, ep, prof_id, ZB_ZCL_CLUSTER_ID_ON_OFF, cb); \}#define ZB_ZCL_GET_SEQ_NUM()Return next sequence number for ZCL frame. Definition: zb_zcl_common.h:1443
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 | |||
| ) |
buffer, \ addr, \ dst_addr_mode, \ dst_ep, \ ep, \ prfl_id, \ dis_default_resp, \ cb)#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:202
Definition: zb_zcl_on_off.h:167
Specific macro for sending Toggle command
Enumeration Type Documentation
◆ zb_zcl_on_off_attr_e
| enum zb_zcl_on_off_attr_e |
On/Off cluster attribute identifiers.
- See also
- ZCL spec, subclause 3.8.2.2
◆ zb_zcl_on_off_cmd_e
| enum zb_zcl_on_off_cmd_e |
On/Off cluster command identifiers.
- See also
- ZCL spec, subclause 3.8.2.3
◆ zb_zcl_on_off_effect_e
◆ zb_zcl_on_off_effect_variant_delayed_e
Effect variant field for delayed enum
- See also
- ZCL spec 3.8.2.3.4.2