|
Developing with ZBOSS for Zigbee
|
|
#define | ZB_ZCL_IDENTIFY_SEND_IDENTIFY_REQ( buffer, time, addr, dst_addr_mode, dst_ep, ep, prfl_id, def_resp, cb) |
| Send Identify command. More...
|
|
#define | ZB_ZCL_IDENTIFY_SEND_IDENTIFY_QUERY_REQ( buffer, addr, dst_addr_mode, dst_ep, ep, prfl_id, def_resp, cb) |
| Send Identify Query command. More...
|
|
#define | ZB_ZCL_IDENTIFY_SEND_IDENTIFY_QUERY_RES( buffer, time, addr, dst_addr_mode, dst_ep, ep, prfl_id, seq_num, aps_secured) |
| Send Identify Query Response command. More...
|
|
#define | ZB_ZCL_IDENTIFY_GET_IDENTIFY_REQ(data_ptr, buffer, status) |
| Identify cluster Identify command payload structured read. More...
|
|
#define | ZB_ZCL_IDENTIFY_GET_IDENTIFY_QUERY_RES(data_ptr, buffer, status) |
| Identify cluster Identify Query Response command payload structured read. More...
|
|
|
enum | zb_zcl_identify_cmd_e { ZB_ZCL_CMD_IDENTIFY_IDENTIFY_ID = 0x00,
ZB_ZCL_CMD_IDENTIFY_IDENTIFY_QUERY_ID = 0x01,
ZB_ZCL_CMD_IDENTIFY_TRIGGER_EFFECT_ID = 0x40,
ZB_ZCL_CMD_IDENTIFY_IDENTIFY_QUERY_RSP_ID = 0x00
} |
| Command identifiers for "Identify" cluster. More...
|
|
enum | zb_zcl_identify_trigger_effect_e {
ZB_ZCL_IDENTIFY_EFFECT_ID_BLINK = 0x00,
ZB_ZCL_IDENTIFY_EFFECT_ID_BREATHE = 0x01,
ZB_ZCL_IDENTIFY_EFFECT_ID_OKAY = 0x02,
ZB_ZCL_IDENTIFY_EFFECT_ID_CHANNEL_CHANGE = 0xb,
ZB_ZCL_IDENTIFY_EFFECT_ID_FINISH_EFFECT = 0xfe,
ZB_ZCL_IDENTIFY_EFFECT_ID_STOP = 0xff
} |
|
enum | zb_zcl_identify_trigger_variant_e { ZB_ZCL_IDENTIFY_EFFECT_ID_VARIANT_DEFAULT = 0x00
} |
|
typedef struct zb_zcl_identify_effect_req_s | zb_zcl_identify_effect_req_t |
| Structured representation of Trigger effect command payload.
|
|
#define | ZB_ZCL_IDENTIFY_SEND_TRIGGER_VARIANT_REQ( buffer, addr, dst_addr_mode, dst_ep, ep, prof_id, def_resp, cb, effect_id, effect_var) |
| Send Trigger effect command. More...
|
|
#define | ZB_ZCL_IDENTIFY_GET_TRIGGER_VARIANT_REQ(data_ptr, buffer, status) |
| Parses Trigger effect command. More...
|
|
Identify cluster implementation supports Identify command and Identify Query request-response command pair. All these commands have simple payload. Both Identify and Identify Query request are being processed, and Identify Query response is being generated in ZCL internals.
- Example
- Identify sending: Identify Query request sending:
◆ ZB_ZCL_IDENTIFY_EFFECT_SCHEDULE_USER_APP
#define ZB_ZCL_IDENTIFY_EFFECT_SCHEDULE_USER_APP |
( |
|
buffer, |
|
|
|
pcmd_info, |
|
|
|
effectId, |
|
|
|
effectVar |
|
) |
| |
Value:{ \
zb_zcl_identify_effect_user_app_schedule_t* data = \
data->param.effect_id = (effectId); \
data->param.effect_variant = (effectVar); \
ZB_SCHEDULE_CALLBACK(zb_zcl_identify_effect_invoke_user_app, (buffer)); \
}
◆ ZB_ZCL_IDENTIFY_GET_IDENTIFY_QUERY_RES
#define ZB_ZCL_IDENTIFY_GET_IDENTIFY_QUERY_RES |
( |
|
data_ptr, |
|
|
|
buffer, |
|
|
|
status |
|
) |
| |
Value:{ \
{ \
} \
else \
{ \
zb_zcl_identify_query_res_t *src_ptr = \
ZB_HTOLE16(&((data_ptr)->timeout), &(src_ptr->timeout)); \
} \
}
Identify cluster Identify Query Response command payload structured read.
- Parameters
-
◆ ZB_ZCL_IDENTIFY_GET_IDENTIFY_REQ
#define ZB_ZCL_IDENTIFY_GET_IDENTIFY_REQ |
( |
|
data_ptr, |
|
|
|
buffer, |
|
|
|
status |
|
) |
| |
Value:{ \
{ \
} \
else \
{ \
zb_zcl_identify_req_t *src_ptr = \
ZB_HTOLE16(&((data_ptr)->timeout), &(src_ptr->timeout)); \
} \
}
Identify cluster Identify command payload structured read.
- Parameters
-
◆ ZB_ZCL_IDENTIFY_GET_TRIGGER_VARIANT_REQ
#define ZB_ZCL_IDENTIFY_GET_TRIGGER_VARIANT_REQ |
( |
|
data_ptr, |
|
|
|
buffer, |
|
|
|
status |
|
) |
| |
Value:{ \
{ \
} \
else \
{ \
zb_zcl_identify_effect_req_t *src_ptr = \
} \
}
Parses Trigger effect command.
- Attention
- Assumes that ZCL header already cut.
- Parameters
-
◆ ZB_ZCL_IDENTIFY_SEND_IDENTIFY_QUERY_REQ
#define ZB_ZCL_IDENTIFY_SEND_IDENTIFY_QUERY_REQ |
( |
|
buffer, |
|
|
|
addr, |
|
|
|
dst_addr_mode, |
|
|
|
dst_ep, |
|
|
|
ep, |
|
|
|
prfl_id, |
|
|
|
def_resp, |
|
|
|
cb |
|
) |
| |
Value:{ \
zb_uint8_t* ptr = ZB_ZCL_START_PACKET_REQ(buffer) \
ZB_ZCL_CONSTRUCT_SPECIFIC_COMMAND_REQ_FRAME_CONTROL(ptr, def_resp) \
ZB_ZCL_CONSTRUCT_COMMAND_HEADER_REQ( \
ZB_ZCL_FINISH_PACKET(buffer, ptr) \
ZB_ZCL_SEND_COMMAND_SHORT( \
}
Send Identify Query command.
- Parameters
-
buffer | to put packet to |
addr | - address to send packet to |
dst_addr_mode | - addressing mode |
dst_ep | - destination endpoint |
ep | - sending endpoint |
prfl_id | - profile identifier |
def_resp | - flag "Default response required" |
cb | - callback for getting command send status |
◆ ZB_ZCL_IDENTIFY_SEND_IDENTIFY_QUERY_RES
#define ZB_ZCL_IDENTIFY_SEND_IDENTIFY_QUERY_RES |
( |
|
buffer, |
|
|
|
time, |
|
|
|
addr, |
|
|
|
dst_addr_mode, |
|
|
|
dst_ep, |
|
|
|
ep, |
|
|
|
prfl_id, |
|
|
|
seq_num, |
|
|
|
aps_secured |
|
) |
| |
Value:{ \
ZB_ZCL_CONSTRUCT_SPECIFIC_COMMAND_RES_FRAME_CONTROL(ptr); \
ZB_ZCL_PACKET_PUT_DATA16_VAL(ptr, time); \
ZB_ZCL_FINISH_N_SEND_PACKET_NEW(buffer, ptr, \
}
Send Identify Query Response command.
- Parameters
-
buffer | to put packet to |
time | the device will be identifying |
addr | - address to send packet to |
dst_addr_mode | - addressing mode |
dst_ep | - destination endpoint |
ep | - sending endpoint |
prfl_id | - profile identifier |
seq_num | - sequence number |
aps_secured | - APS security mode |
◆ ZB_ZCL_IDENTIFY_SEND_IDENTIFY_REQ
#define ZB_ZCL_IDENTIFY_SEND_IDENTIFY_REQ |
( |
|
buffer, |
|
|
|
time, |
|
|
|
addr, |
|
|
|
dst_addr_mode, |
|
|
|
dst_ep, |
|
|
|
ep, |
|
|
|
prfl_id, |
|
|
|
def_resp, |
|
|
|
cb |
|
) |
| |
Value:{ \
zb_uint8_t* ptr = ZB_ZCL_START_PACKET_REQ(buffer) \
ZB_ZCL_CONSTRUCT_SPECIFIC_COMMAND_REQ_FRAME_CONTROL(ptr, def_resp) \
ZB_ZCL_PACKET_PUT_DATA16_VAL(ptr, time); \
ZB_ZCL_FINISH_PACKET(buffer, ptr) \
ZB_ZCL_SEND_COMMAND_SHORT( \
}
Send Identify command.
- Parameters
-
buffer | to put packet to |
time | the device will be identifying |
addr | - address to send packet to |
dst_addr_mode | - addressing mode |
dst_ep | - destination endpoint |
ep | - sending endpoint |
prfl_id | - profile identifier |
def_resp | - flag "Default response required" |
cb | - callback for getting command send status |
◆ ZB_ZCL_IDENTIFY_SEND_TRIGGER_VARIANT_REQ
#define ZB_ZCL_IDENTIFY_SEND_TRIGGER_VARIANT_REQ |
( |
|
buffer, |
|
|
|
addr, |
|
|
|
dst_addr_mode, |
|
|
|
dst_ep, |
|
|
|
ep, |
|
|
|
prof_id, |
|
|
|
def_resp, |
|
|
|
cb, |
|
|
|
effect_id, |
|
|
|
effect_var |
|
) |
| |
Value:{ \
zb_uint8_t* ptr = ZB_ZCL_START_PACKET_REQ(buffer) \
ZB_ZCL_CONSTRUCT_SPECIFIC_COMMAND_REQ_FRAME_CONTROL(ptr, def_resp) \
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( \
}
Send Trigger effect command.
- Parameters
-
buffer | to put packet to |
addr | - address to send packet to |
dst_addr_mode | - addressing mode |
dst_ep | - destination endpoint |
ep | - sending endpoint |
prof_id | - profile identifier |
def_resp | - flag "Default response required" |
cb | - callback for getting command send status |
effect_id | - effect identify, see zb_zcl_identify_trigger_effect_e |
effect_var | - effect variant, see zb_zcl_identify_trigger_variant_e |
◆ zb_zcl_identify_effect_user_app_schedule_t
Struct for invoke User App & continue after
◆ zb_zcl_identify_attr_e
Identify cluster attribute identifier.
- See also
- ZCL spec, subclause 3.5.2.2
Enumerator |
---|
ZB_ZCL_ATTR_IDENTIFY_IDENTIFY_TIME_ID | Identify time attribute
|
◆ zb_zcl_identify_cmd_e
Command identifiers for "Identify" cluster.
- See also
- ZCL spec, subclauses 3.5.2.3, 3.5.2.4
Enumerator |
---|
ZB_ZCL_CMD_IDENTIFY_IDENTIFY_ID | Identify command
|
ZB_ZCL_CMD_IDENTIFY_IDENTIFY_QUERY_ID | Identify query command
|
ZB_ZCL_CMD_IDENTIFY_TRIGGER_EFFECT_ID | "Trigger effect" command identifier.
|
ZB_ZCL_CMD_IDENTIFY_IDENTIFY_QUERY_RSP_ID | Identify query response
|
◆ zb_zcl_identify_trigger_effect_e
Effect identifier enum
- See also
- ZCL spec 3.5.2.2.3.1
Enumerator |
---|
ZB_ZCL_IDENTIFY_EFFECT_ID_BLINK | Effect identifier field value: Light is turned on/off once Effect identifier field value: Light turned on/off over 1 second and repeated 15 times
|
ZB_ZCL_IDENTIFY_EFFECT_ID_BREATHE | Effect identifier field value: Colored light turns green for 1 second; non-colored light flashes twice
|
ZB_ZCL_IDENTIFY_EFFECT_ID_OKAY | Effect identifier field value: Colored light turns orange for 8 seconds; non-colored light switches to maximum brightness for 0.5s and then minimum brightness for 7.5s
|
ZB_ZCL_IDENTIFY_EFFECT_ID_CHANNEL_CHANGE | Effect identifier field value: Complete the current effect sequence before terminating. E.g., if in the middle of a breathe effect (as above), first complete the current 1s breathe effect and then terminate the effect
|
ZB_ZCL_IDENTIFY_EFFECT_ID_FINISH_EFFECT | Effect identifier field value: Terminate the effect as soon as possible
|
◆ zb_zcl_identify_trigger_variant_e
Effect identifier enum
- See also
- ZCL spec 3.5.2.2.3.2
Enumerator |
---|
ZB_ZCL_IDENTIFY_EFFECT_ID_VARIANT_DEFAULT | Effect variant field value: Default
|
◆ zb_zcl_is_identifying()
Indicates that endpoint supports Identify cluster and is identifying.
- Parameters
-
endpoint | number to analyze |
- Returns
- ZB_TRUE if endpoint is in the "identifying" state, ZB_FALSE otherwise.
◆ zb_zcl_start_identifying()
Start identify process on given endpoint.
- Parameters
-
endpoint | - endpoint to start identifying on |
timeout | - time (in seconds) after which identifying will stop |
◆ zb_zcl_stop_identifying()
void zb_zcl_stop_identifying |
( |
zb_uint8_t |
endpoint | ) |
|
#define ZB_AF_HA_PROFILE_ID
Definition: zboss_api_af.h:287
#define ZB_ZCL_START_PACKET(zbbuf)
Initializes zb_buf_t buffer and returns pointer to the beginning of array.
Definition: zb_zcl_common.h:1431
Structured representation of Identify command payload.
Definition: zb_zcl_identify.h:325
#define ZB_ZCL_ENABLE_DEFAULT_RESPONSE
Definition: zb_zcl_common.h:936
@ ZB_ZCL_CMD_IDENTIFY_IDENTIFY_QUERY_ID
Definition: zb_zcl_identify.h:82
Structured representation of Trigger effect command payload.
Definition: zb_zcl_identify.h:137
@ ZB_ZCL_CMD_IDENTIFY_IDENTIFY_ID
Definition: zb_zcl_identify.h:81
Definition: zb_zcl_common.h:1041
#define ZB_ZCL_IDENTIFY_SEND_IDENTIFY_REQ( buffer, time, addr, dst_addr_mode, dst_ep, ep, prfl_id, def_resp, cb)
Send Identify command.
Definition: zb_zcl_identify.h:240
Definition: zb_zcl_identify.h:210
#define ZB_ZCL_GET_SEQ_NUM()
Return next sequence number for ZCL frame.
Definition: zb_zcl_common.h:1349
#define ZB_ZCL_CLUSTER_ID_IDENTIFY
Definition: zb_zcl_common.h:208
Structured representation of Identify Query Response command payload.
Definition: zb_zcl_identify.h:331
@ ZB_ZCL_CMD_IDENTIFY_TRIGGER_EFFECT_ID
Definition: zb_zcl_identify.h:83
#define zb_buf_begin(buf)
Definition: zboss_api_buf.h:344
@ ZB_ZCL_PARSE_STATUS_SUCCESS
Definition: zb_zcl_common.h:328
@ ZB_ZCL_CMD_IDENTIFY_IDENTIFY_QUERY_RSP_ID
Definition: zb_zcl_identify.h:84
@ ZB_ZCL_PARSE_STATUS_FAILURE
Definition: zb_zcl_common.h:329
#define ZB_ZCL_IDENTIFY_SEND_IDENTIFY_QUERY_REQ( buffer, addr, dst_addr_mode, dst_ep, ep, prfl_id, def_resp, cb)
Send Identify Query command.
Definition: zb_zcl_identify.h:264
#define ZB_FALSE
Definition: zb_types.h:370
#define zb_buf_len(buf)
Definition: zboss_api_buf.h:362