Data Structures | |
union | zb_zcl_attr_var_u |
Macros | |
#define | ZB_ZCL_MIN_REPORTING_INTERVAL_DEFAULT 0x0005 |
#define | ZB_ZCL_MAX_REPORTING_INTERVAL_DEFAULT 0x0000 |
#define | ZB_ZCL_REPORTING_NOT_NEEDED 0xFFFF |
If Maximum reporting interval is set to value 0xFFFF,reporting is not needed for current attribute. | |
Typedefs | |
typedef void(* | zb_zcl_no_reporting_cb_t )(zb_uint8_t ep, zb_uint16_t cluster_id, zb_uint16_t attr_id) |
Informs application that some attribute value was not reported during defined time interval. More... | |
typedef void(* | zb_zcl_report_attr_cb_t )(zb_zcl_addr_t *addr, zb_uint8_t ep, zb_uint16_t cluster_id, zb_uint16_t attr_id, zb_uint8_t attr_type, zb_uint8_t *value) |
Informs application about received attribute report. More... | |
Functions | |
zb_ret_t | zb_zcl_start_attr_reporting (zb_uint8_t ep, zb_uint16_t cluster_id, zb_uint8_t cluster_role, zb_uint16_t attr_id) |
Start attribute reporting. More... | |
zb_ret_t | zb_zcl_stop_attr_reporting (zb_uint8_t ep, zb_uint16_t cluster_id, zb_uint8_t cluster_role, zb_uint16_t attr_id) |
Stop attribute reporting. More... | |
zb_bool_t | zcl_is_attr_reported (zb_uint8_t ep, zb_uint16_t cluster_id, zb_uint8_t cluster_role, zb_uint16_t attr_id) |
Check if an atrtibute is configured for reporting or not. More... | |
zb_ret_t | zb_zcl_put_reporting_info (zb_zcl_reporting_info_t *rep_info_ptr, zb_bool_t override) |
ZCL attribute reporting being described in ZCL spec, subclauses 2.4.7 through 2.4.11, and subclauses covering clusters with reportable attributes.
API for attribute reporting configuring and configuration details reading documented in: Configure reporting command sending and parsing, and Report attribute command parsing respectively.
Since all events related to attribute reporting are being handled internally, application can be provided with information on attribute report receipt event, and attribute report not received within predefined interval event. To handle these events, application may set "report attribute" and "no reporting" callbacks with ZB_ZCL_SET_REPORT_ATTR_CB() and ZB_ZCL_SET_NO_REPORTING_CB() macros respectively.
For more information see 546_reporting, reporting_srv samples
#define ZB_ZCL_MAX_REPORTING_INTERVAL_DEFAULT 0x0000 |
Default value for maximum reporting interval
#define ZB_ZCL_MIN_REPORTING_INTERVAL_DEFAULT 0x0005 |
Default value for minimum reporting interval
typedef void(* zb_zcl_no_reporting_cb_t)(zb_uint8_t ep, zb_uint16_t cluster_id, zb_uint16_t attr_id) |
Informs application that some attribute value was not reported during defined time interval.
ep | - endpoint number |
cluster_id | - cluster ID |
attr_id | - attribute ID |
typedef void(* zb_zcl_report_attr_cb_t)(zb_zcl_addr_t *addr, zb_uint8_t ep, zb_uint16_t cluster_id, zb_uint16_t attr_id, zb_uint8_t attr_type, zb_uint8_t *value) |
Informs application about received attribute report.
addr | - source address |
ep | - source endpoint number |
cluster_id | - cluster ID |
attr_id | - attribute ID |
value | - pointer to reported data value |
zb_ret_t zb_zcl_start_attr_reporting | ( | zb_uint8_t | ep, |
zb_uint16_t | cluster_id, | ||
zb_uint8_t | cluster_role, | ||
zb_uint16_t | attr_id | ||
) |
Start attribute reporting.
ep | - endpoint number |
cluster_id | - cluster ID |
cluster_role | - cluster role |
attr_id | - attribute ID |
zb_ret_t zb_zcl_stop_attr_reporting | ( | zb_uint8_t | ep, |
zb_uint16_t | cluster_id, | ||
zb_uint8_t | cluster_role, | ||
zb_uint16_t | attr_id | ||
) |
Stop attribute reporting.
ep | - endpoint number |
cluster_id | - cluster ID |
cluster_role | - cluster role |
attr_id | - attribute ID |
zb_bool_t zcl_is_attr_reported | ( | zb_uint8_t | ep, |
zb_uint16_t | cluster_id, | ||
zb_uint8_t | cluster_role, | ||
zb_uint16_t | attr_id | ||
) |
Check if an atrtibute is configured for reporting or not.
ep | - endpoint number |
cluster_id | - cluster ID |
cluster_role | - cluster role |
attr_id | - attribute ID |