Data Structures | |
struct | zb_zcl_ias_zone_status_change_not_s |
Structure representsation of Zone Status Change Notification see ZCL spec 8.2.2.4.1.1. More... | |
struct | zb_zcl_ias_zone_enroll_request_s |
Structure representsation of "Zone Enroll Request" command see ZCL spec 8.2.2.4.1.2. More... | |
struct | zb_zcl_ias_zone_enroll_res_s |
Structure representsation of Enroll response command payload see ZCL spec 8.2.2.3.1.1. More... | |
struct | zb_zcl_ias_zone_status_param_s |
Declare Set/Clear Zone Status bits. More... | |
struct | zb_zcl_ias_zone_notification_param_s |
Structure is used to pass parameters for ZoneStatus notification command. More... | |
struct | zb_zcl_ias_zone_int_ctx_s |
struct | zb_zcl_ias_zone_enroll_response_value_param_s |
Declare run Enroll Response command for User Application. More... | |
struct | zb_zcl_ias_zone_enroll_response_user_app_schedule_e |
Macros | |
#define | ZB_ZCL_IAS_ZONE_SET_BITS(buffer, ep, set_bits) |
Set Zone Status bits custom server command. More... | |
#define | ZB_ZCL_IAS_ZONE_CLEAR_BITS(buffer, ep, set_bits) |
Clear Zone Status bits custom server command. More... | |
#define | ZB_ZCL_IAS_ZONE_ENROLL_RESPONSE_SCHEDULE_USER_APP(buffer, pcmd_info, enroll_response_, zone_id_) |
Typedefs | |
typedef struct zb_zcl_ias_zone_status_param_s | zb_zcl_ias_zone_status_param_t |
Declare Set/Clear Zone Status bits. | |
typedef struct zb_zcl_ias_zone_notification_param_s | zb_zcl_ias_zone_notification_param_t |
Structure is used to pass parameters for ZoneStatus notification command. | |
typedef zb_ret_t(* | zb_ias_zone_app_callback_t )(zb_uint8_t param, zb_uint16_t general_val) |
typedef struct zb_zcl_ias_zone_int_ctx_s | zb_zcl_ias_zone_int_ctx_t |
typedef struct zb_zcl_ias_zone_enroll_response_value_param_s | zb_zcl_ias_zone_enroll_response_value_param_t |
Declare run Enroll Response command for User Application. | |
typedef struct zb_zcl_ias_zone_enroll_response_user_app_schedule_e | zb_zcl_ias_zone_enroll_response_user_app_schedule_t |
Enumerations | |
enum | zb_zcl_general_cb_params_e { ZB_ZCL_VALID_CIE_ADDR_SET = 1, ZB_ZCL_CURR_ZONE_SENSITIVITY_LEVEL_SET = 2, ZB_ZCL_INIT_TEST_MODE = 3, ZB_ZCL_INIT_NORMAL_MODE = 4 } |
Functions | |
zb_void_t | zb_zcl_ias_zone_write_attr_hook (zb_uint8_t endpoint, zb_uint16_t attr_id, zb_uint8_t *new_value) |
Hook on Write attribute send Zone Status Change Notification Command if change ZoneStatus attribute. | |
zb_void_t | zb_zcl_ias_zone_change_status (zb_uint8_t param) |
zb_void_t | zb_zcl_ias_zone_run_supervision (zb_uint8_t endpoint) |
zb_bool_t | zb_zcl_ias_zone_set_status (zb_uint8_t ep, zb_uint16_t new_val, zb_uint16_t delay, zb_uint8_t buf_param) |
Use this function to change IAS Zone status. This function will set new value of ZoneStatus and will send Zone status change notification. NOTE: if another API (ZB_ZCL_SET_ATTRIBUTE()) is used for modifying ZoneStatus, notification will NOT be send. This is limitation of the current implementation. More... | |
zb_void_t | zb_zcl_ias_zone_register_cb (zb_uint8_t endpoint, zb_callback_t process_result_cb, zb_ias_zone_app_callback_t general_cb) |
Registry callbacks to get status of Zone Status Change Notification command. More... | |
zb_bool_t | zb_zcl_ias_zone_check_attr_notify (zb_uint8_t buf_param) |
checks, if Zone Status change notification should be sent and schedules command if it is needed More... | |
zb_void_t | zb_zcl_ias_zone_send_status_change_not (zb_uint8_t param) |
fills in notification command and sends it | |
IAS Zone cluster commands | |
enum | zb_zcl_ias_zone_cmd_e { ZB_ZCL_CMD_IAS_ZONE_ZONE_ENROLL_RESPONSE_ID = 0x00 } |
IAS Zone cluster command identifiers. More... | |
enum | zb_zcl_ias_zone_resp_cmd_e { ZB_ZCL_CMD_IAS_ZONE_ZONE_STATUS_CHANGE_NOT_ID = 0x00, ZB_ZCL_CMD_IAS_ZONE_ZONE_ENROLL_REQUEST_ID = 0x01 } |
IAS Zone cluster response command identifiers. More... | |
enum | zb_zcl_ias_zone_enroll_responce_code_e { ZB_ZCL_IAS_ZONE_ENROLL_RESPONCE_CODE_SUCCESS = 0x00, ZB_ZCL_IAS_ZONE_ENROLL_RESPONCE_CODE_NOT_SUPPORTED = 0x01, ZB_ZCL_IAS_ZONE_ENROLL_RESPONCE_CODE_NO_ENROLL = 0x02, ZB_ZCL_IAS_ZONE_ENROLL_RESPONCE_CODE_TOO_MANY_ZONES = 0x03 } |
Values of the Enroll Response Code see ZCL spec 8.2.2.3.1.1. More... | |
typedef struct zb_zcl_ias_zone_status_change_not_s | zb_zcl_ias_zone_status_change_not_t |
Structure representsation of Zone Status Change Notification see ZCL spec 8.2.2.4.1.1. | |
typedef struct zb_zcl_ias_zone_enroll_request_s | zb_zcl_ias_zone_enroll_request_t |
Structure representsation of "Zone Enroll Request" command see ZCL spec 8.2.2.4.1.2. | |
typedef struct zb_zcl_ias_zone_enroll_res_s | zb_zcl_ias_zone_enroll_res_t |
Structure representsation of Enroll response command payload see ZCL spec 8.2.2.3.1.1. | |
#define | ZB_ZCL_CLUSTER_ID_IAS_ZONE_SERVER_ROLE_RECEIVED_CMD_LIST ZB_ZCL_CMD_IAS_ZONE_ZONE_ENROLL_RESPONSE_ID, |
#define | ZB_ZCL_CLUSTER_ID_IAS_ZONE_CLIENT_ROLE_RECEIVED_CMD_LIST |
#define | ZB_ZCL_CLUSTER_ID_IAS_ZONE_SERVER_ROLE_GENERATED_CMD_LIST ZB_ZCL_CLUSTER_ID_IAS_ZONE_CLIENT_ROLE_RECEIVED_CMD_LIST |
#define | ZB_ZCL_CLUSTER_ID_IAS_ZONE_CLIENT_ROLE_GENERATED_CMD_LIST ZB_ZCL_CLUSTER_ID_IAS_ZONE_SERVER_ROLE_RECEIVED_CMD_LIST |
#define | ZB_ZCL_IAS_ZONE_SEND_STATUS_CHANGE_NOTIFICATION_REQ(buffer, addr, dst_addr_mode, dst_ep, ep, prfl_id, cb,zone_status, extended_status) |
Zone Status Change Notification command, see ZCL spec 8.2.2.4.1. More... | |
#define | ZB_ZCL_IAS_ZONE_GET_STATUS_CHANGE_NOTIFICATION_REQ(data_ptr, buffer, status) |
Macro for getting Zone Status Change Notification command, see ZCL spec 8.2.2.4.1. More... | |
#define | ZB_ZCL_IAS_ZONE_SEND_ZONE_ENROLL_REQUEST_REQ(buffer, addr, dst_addr_mode, dst_ep, ep, prfl_id, cb,zone_type, manufacturer_code) |
Zone "Zone Enroll Request" command, see ZCL spec 8.2.2.4.2. More... | |
#define | ZB_ZCL_IAS_ZONE_GET_ZONE_ENROLL_REQUEST_REQ(data_ptr, buffer, status) |
Macro for getting Zone Status Change Notification command, see ZCL spec 8.2.2.4.1. More... | |
#define | ZB_ZCL_IAS_ZONE_SEND_ZONE_ENROLL_RES(buffer, addr, dst_addr_mode, dst_ep, ep, prfl_id, def_resp, cb,code, zone_id) |
Send "Zone Enroll response" command, see ZCL spec 8.2.2.3.1. More... | |
#define | ZB_ZCL_IAS_ZONE_SEND_ZONE_ENROLL_RES_EXT(buffer, addr, dst_addr_mode, dst_ep, ep, prfl_id, def_resp, cb,code, zone_id, seq) |
Send "Zone Enroll response with add parameters - sequency" command, see ZCL spec 8.2.2.3.1. More... | |
#define | ZB_ZCL_IAS_ZONE_GET_ZONE_ENROLL_RES(data_ptr, buffer, status) |
Macro for getting "Zone Enroll response" command. More... | |
IAS Zone cluster definitions
#define ZB_ZCL_CLUSTER_ID_IAS_ZONE_CLIENT_ROLE_RECEIVED_CMD_LIST |
#define ZB_ZCL_IAS_ZONE_CLEAR_BITS | ( | buffer, | |
ep, | |||
set_bits | |||
) |
Clear Zone Status bits custom server command.
buffer | - to put packet to |
ep | - sending endpoint |
set_bits | - flag set of Zone Status, see zb_zcl_ias_zone_zonestatus_e |
#define ZB_ZCL_IAS_ZONE_ENROLL_RESPONSE_SCHEDULE_USER_APP | ( | buffer, | |
pcmd_info, | |||
enroll_response_, | |||
zone_id_ | |||
) |
#define ZB_ZCL_IAS_ZONE_GET_STATUS_CHANGE_NOTIFICATION_REQ | ( | data_ptr, | |
buffer, | |||
status | |||
) |
Macro for getting Zone Status Change Notification command, see ZCL spec 8.2.2.4.1.
data_ptr | - pointer to a variable of type zb_zcl_ias_zone_status_change_not_s. |
buffer | containing the packet (by pointer). |
status | - variable to put parse status to (see zb_zcl_parse_status_t). |
#define ZB_ZCL_IAS_ZONE_GET_ZONE_ENROLL_REQUEST_REQ | ( | data_ptr, | |
buffer, | |||
status | |||
) |
Macro for getting Zone Status Change Notification command, see ZCL spec 8.2.2.4.1.
data_ptr | - pointer to a variable of type zb_zcl_ias_zone_enroll_request_s. |
buffer | containing the packet (by pointer). |
status | - variable to put parse status to (see zb_zcl_parse_status_t). |
#define ZB_ZCL_IAS_ZONE_GET_ZONE_ENROLL_RES | ( | data_ptr, | |
buffer, | |||
status | |||
) |
Macro for getting "Zone Enroll response" command.
data_ptr | - pointer to a variable of type zb_zcl_ias_zone_enroll_res_s. |
buffer | containing the packet (by pointer). |
status | - variable to put parse status to (see zb_zcl_parse_status_t). |
#define ZB_ZCL_IAS_ZONE_SEND_STATUS_CHANGE_NOTIFICATION_REQ | ( | buffer, | |
addr, | |||
dst_addr_mode, | |||
dst_ep, | |||
ep, | |||
prfl_id, | |||
cb, | |||
zone_status, | |||
extended_status | |||
) |
Zone Status Change Notification command, see ZCL spec 8.2.2.4.1.
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 |
cb | - callback for getting command send status |
zone_status | - Zone Status, see zb_zcl_ias_zone_zonestatus_e |
extended_status | - Extended Status |
#define ZB_ZCL_IAS_ZONE_SEND_ZONE_ENROLL_REQUEST_REQ | ( | buffer, | |
addr, | |||
dst_addr_mode, | |||
dst_ep, | |||
ep, | |||
prfl_id, | |||
cb, | |||
zone_type, | |||
manufacturer_code | |||
) |
Zone "Zone Enroll Request" command, see ZCL spec 8.2.2.4.2.
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 |
cb | - callback for getting command send status |
zone_type | - Zone Type, see zb_zcl_ias_zone_zonetype_e |
manufacturer_code | - Manufacture code |
#define ZB_ZCL_IAS_ZONE_SEND_ZONE_ENROLL_RES | ( | buffer, | |
addr, | |||
dst_addr_mode, | |||
dst_ep, | |||
ep, | |||
prfl_id, | |||
def_resp, | |||
cb, | |||
code, | |||
zone_id | |||
) |
Send "Zone Enroll response" command, see ZCL spec 8.2.2.3.1.
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 | - enable/disable default response |
cb | - callback |
code | - Enroll response code, see zb_zcl_ias_zone_enroll_responce_code_e |
zone_id | - Zone ID |
#define ZB_ZCL_IAS_ZONE_SEND_ZONE_ENROLL_RES_EXT | ( | buffer, | |
addr, | |||
dst_addr_mode, | |||
dst_ep, | |||
ep, | |||
prfl_id, | |||
def_resp, | |||
cb, | |||
code, | |||
zone_id, | |||
seq | |||
) |
Send "Zone Enroll response with add parameters - sequency" command, see ZCL spec 8.2.2.3.1.
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 | - enable/disable default response |
cb | - callback |
code | - Enroll response code, see zb_zcl_ias_zone_enroll_responce_code_e |
zone_id | - Zone ID |
seq | - known sequency |
#define ZB_ZCL_IAS_ZONE_SET_BITS | ( | buffer, | |
ep, | |||
set_bits | |||
) |
Set Zone Status bits custom server command.
buffer | - to put packet to |
ep | - endpoint |
set_bits | - flag set of Zone Status, see zb_zcl_ias_zone_zonestatus_e |
typedef struct zb_zcl_ias_zone_enroll_response_user_app_schedule_e zb_zcl_ias_zone_enroll_response_user_app_schedule_t |
Struct for invoke User App & continue after
IAS Zone cluster attribute identifiers.
Values of the Enroll Response Code see ZCL spec 8.2.2.3.1.1.
IAS Zone cluster response command identifiers.
IAS Zone ZoneStatus attribute flags.
IAS Zone ZoneType value.
zb_bool_t zb_zcl_ias_zone_check_attr_notify | ( | zb_uint8_t | buf_param | ) |
checks, if Zone Status change notification should be sent and schedules command if it is needed
zb_void_t zb_zcl_ias_zone_register_cb | ( | zb_uint8_t | endpoint, |
zb_callback_t | process_result_cb, | ||
zb_ias_zone_app_callback_t | general_cb | ||
) |
Registry callbacks to get status of Zone Status Change Notification command.
endpoint | - local endpoint number |
process_result_cb | - notification sent callback function |
general_cb | - general callback function |
zb_void_t zb_zcl_ias_zone_run_supervision | ( | zb_uint8_t | endpoint | ) |
Start loop ssend notification if Set Supervision bit Status arrtibute see test 5.33 step 8 (What frequency should this occur?) TODO: need to check how it should be implemented
zb_bool_t zb_zcl_ias_zone_set_status | ( | zb_uint8_t | ep, |
zb_uint16_t | new_val, | ||
zb_uint16_t | delay, | ||
zb_uint8_t | buf_param | ||
) |
Use this function to change IAS Zone status. This function will set new value of ZoneStatus and will send Zone status change notification. NOTE: if another API (ZB_ZCL_SET_ATTRIBUTE()) is used for modifying ZoneStatus, notification will NOT be send. This is limitation of the current implementation.
ep | - local endpoint number |
new_val | - new value for ZoneStatus |
delay | - delay in quater seconds (actual only for HA ZCL version, is ignored for pure ZCL implementation) |
buf_param | - reference to a buffer that will be used for sending notification. If buffer reference is not specified, notification will NOT be sent |