Core API

Core APIs for ESP Zigbee SDK.

API Reference

Header File

Functions

void esp_zb_core_action_handler_register(esp_zb_core_action_callback_t cb)

Register the Zigbee core action handler.

Parameters

cb[in] A callback that user can handle the Zigbee action, refer to esp_zb_core_callback_t

void esp_zb_device_cb_id_handler_register(esp_zb_zcl_device_cb_id_callback_t cb)

Register the Zigbee device_cb_id handler.

Parameters

cb[in] A callback that user can handle the Zigbee raw device_cb_id buffer id, refer to esp_zb_core_callback_t

void esp_zb_raw_command_handler_register(esp_zb_zcl_raw_command_callback_t cb)

Register the raw Zigbee command handler.

Parameters

cb[in] A callback that user can handle the Zigbee raw command buffer id, refer to esp_zb_zcl_raw_command_callback_t

void esp_zb_cli_resp_handler_register(esp_zb_cli_resp_callback_t cb)

Set the Command line interface (CLI) handler callback.

Note

Set a command handler callback for handle response from other device to CLI device.

Parameters

cb[in] A CLI command handler callback that user used refer to esp_zb_cli_resp_callback_t

void esp_zb_zcl_command_send_status_handler_register(esp_zb_zcl_command_send_status_callback_t cb)

Register the callback for the ZCL command send status.

Parameters

cb[in] The ZCL command send status callback, refer to esp_zb_zcl_command_send_status_callback_t

void esp_zb_identify_notify_handler_register(uint8_t endpoint, esp_zb_identify_notify_callback_t cb)

Set the ZCL identify notify callback for specific endpoint.

Note

Set a callback for user to handle identify command.

Parameters
  • endpoint[in] A specific endpoint

  • cb[in] A identify notify callback that user used

esp_err_t esp_zb_zcl_add_privilege_command(uint8_t endpoint, uint16_t cluster, uint16_t command)

Add a callback and the privilege command the Zigbee cluster in endpoint.

Note

The privilege command will skip the Zigbee stack and be exposed to users by the callback indirectly. Allowing different commands to use the same callback.

Parameters
  • endpoint[in] The specific endpoint for cluster

  • cluster[in] The specific cluster for command

  • command[in] The specific command ID is required to handle for users.

Returns

  • ESP_OK: on success

  • ESP_FAIL: on failure

bool esp_zb_zcl_delete_privilege_command(uint8_t endpoint, uint16_t cluster, uint16_t command)

Delete the privilege command from the cluster of endpoint.

Parameters
  • endpoint[in] The specific endpoint for cluster

  • cluster[in] The specific cluster for command

  • command[in] The specific command ID will be deleted so that the stack will handle the command rather than user.

Returns

  • True: On success

  • False: Nothing to delete

esp_err_t esp_zb_zcl_scenes_table_store(uint8_t endpoint, uint16_t group_id, uint8_t scene_id, uint16_t transition_time, esp_zb_zcl_scenes_extension_field_t *field)

Set the ZCL scenes cluster scene table for users.

Parameters
  • endpoint[in] The endpoint identifier

  • group_id[in] The group id of scene, which will be used to find scenes table record

  • scene_id[in] The scene id of scene, which will be used to find scenes table record

  • transition_time[in] The transition time of scene, whose unit is 100 milliseconds

  • field[in] The pointer to zcl sense extension field list

Returns

  • ESP_OK: on success

  • ESP_FAIL: the group id or scene id is invalid

void esp_zb_zcl_scenes_table_show(uint8_t endpoint)

View the zcl scene table.

Parameters

endpoint[in] The specific endpoint identifier

esp_err_t esp_zb_zcl_scenes_table_clear_by_index(uint16_t index)

Clear zcl scenes table by index.

Parameters

index[in] The index of scenes table

Returns

  • ESP_OK: on success

  • ESP_ERR_INVALID: id out of range

  • ESP_FAILED: failed to clear scene table

esp_err_t esp_zb_overall_network_size_set(uint16_t size)

Set the maximum number of devices in a Zigbee network.

Note

The function will only take effect when called before esp_zb_init(), it determins several table size such as the neighbor table and routing table, 64 by default

Parameters

size[in] The overall network size is expected to be set

Returns

  • ESP_OK: on success

  • ESP_FAIL: on failure

esp_err_t esp_zb_io_buffer_size_set(uint16_t size)

Set Zigbee stack I/O buffer size.

Note

The function will only take effect when called before esp_zb_init(), 80 by default.

Parameters

size[in] The I/O buffer size is expected to be set

Returns

  • ESP_OK: on success

  • ESP_FAIL: on failure

esp_err_t esp_zb_scheduler_queue_size_set(uint16_t size)

Set Zigbee stack scheduler queue size.

Note

The function will only take effect when called before esp_zb_init(), 80 by default.

Parameters

size[in] The scheduler queue size is expected to be set

Returns

  • ESP_OK: on success

  • ESP_FAIL: on failure

esp_err_t esp_zb_aps_src_binding_table_size_set(uint16_t size)

Set APS source binding table size.

Note

The function will only take effect when called before esp_zb_init(), 16 by default

Parameters

size[in] The source binding table size is expected to be set

Returns

  • ESP_OK: on success

  • ESP_FAIL: on failure

esp_err_t esp_zb_aps_dst_binding_table_size_set(uint16_t size)

Set APS destination binding table size.

Note

The function will only take effect when called before esp_zb_init(), 16 by default

Parameters

size[in] The destination binding table size is expected to be set

Returns

  • ESP_OK: on success

  • ESP_FAIL: on failure

void esp_zb_init(esp_zb_cfg_t *nwk_cfg)

Zigbee stack initialization.

Note

To be called inside the application’s main cycle at start.

Note

Default is no NVRAM erase from start up, user could call factory reset for erase NVRAM and other action please refer esp_zb_factory_reset().

Note

Make sure to use correct corresponding nwk_cfg with your device type esp_zb_cfg_s.

Parameters

nwk_cfg[in] The pointer to the initialization Zigbee configuration

esp_err_t esp_zb_set_primary_network_channel_set(uint32_t channel_mask)

Set the BDB primary channel mask.

Beacon request will be sent on these channels for the BDB energy scan.

Note

This function should be run AFTER esp_zb_init is called and before esp_zb_start. These masks define the allowable channels on which the device may attempt to form or join a network at startup time. If function is not called, by default it will scan all channels or read from zb_fct NVRAM zone if available. Please refer to tools/mfg_tool.

Parameters

channel_mask[in] Valid channel mask is from 0x00000800 (only channel 11) to 0x07FFF800 (all channels from 11 to 26)

Returns

- ESP_OK on success

  • ESP_ERR_INVALID_ARG if the channel mask is out of range

uint32_t esp_zb_get_primary_network_channel_set(void)

Get the BDB primary channel mask.

Returns

A 32-bit channel mask

esp_err_t esp_zb_set_secondary_network_channel_set(uint32_t channel_mask)

Set the BDB secondary channel mask.

Beacon request will be sent on these channels for the BDB energy scan, if no network found after energy scan on the primary channels.

Parameters

channel_mask[in] Valid channel mask is from 0x00000800 (only channel 11) to 0x07FFF800 (all channels from 11 to 26)

Returns

- ESP_OK on success

  • ESP_ERR_INVALID_ARG if the channel mask is out of range

uint32_t esp_zb_get_secondary_network_channel_set(void)

Get the BDB secondary channel mask.

Returns

A 32-bit channel mask

esp_err_t esp_zb_set_channel_mask(uint32_t channel_mask)

Set the 2.4G channel mask.

Parameters

channel_mask[in] Valid channel mask is from 0x00000800 (only channel 11) to 0x07FFF800 (all channels from 11 to 26)

Returns

- ESP_OK on success

  • ESP_ERR_INVALID_ARG if the channel mask is out of range

uint32_t esp_zb_get_channel_mask(void)

Get the 2.4 channel mask.

Returns

A 32-bit channel mask

bool esp_zb_bdb_is_factory_new(void)

Check if device is factory new.

Returns

- True factory new.

uint8_t esp_zb_bdb_get_scan_duration(void)

Get the scan duration time.

Returns

Scan duration is in beacon intervals (15.36 ms)

void esp_zb_bdb_set_scan_duration(uint8_t duration)

Set the scan duration time.

Parameters

duration[in] The scan duration time is in beacon intervals, defined as ((1 << duration) + 1) * 15.36 ms

esp_err_t esp_zb_bdb_open_network(uint8_t permit_duration)

Open Zigbee network.

Parameters

permit_duration[in] Zigbee network open time

Returns

  • ESP_OK: on success

  • ESP_ERR_NO_MEM: not memory

  • ESP_FAILED: on failed

esp_err_t esp_zb_bdb_close_network(void)

Close Zigbee network.

Returns

  • ESP_OK: on success

  • ESP_FAIL: on failure

bool esp_zb_bdb_dev_joined(void)

Check if device has joined network or not.

Returns

  • true: device is joined

  • false: device is not joined

Set Touchlink NWK channel.

Parameters

channel[in] Touchlink NWK channel value

void esp_zb_set_tx_power(int8_t power)

Set the tx power.

Parameters

power[in] 8-bit of power value in dB, ranging from IEEE802154_TXPOWER_VALUE_MIN to IEEE802154_TXPOWER_VALUE_MAX

void esp_zb_get_tx_power(int8_t *power)

Get the tx power.

Parameters

power[in] 8-bit of power pointer value in dB

esp_err_t esp_zb_bdb_start_top_level_commissioning(uint8_t mode_mask)

Start top level commissioning procedure with specified mode mask.

Parameters

mode_mask[in] commissioning modes refer to esp_zb_bdb_commissioning_mode

Returns

- ESP_OK on success

void esp_zb_bdb_reset_via_local_action(void)

Perform local reset procedure.

Note

This only takes effect when the device is on a network. The device will leave the current network and clear all Zigbee persistent data, except the outgoing NWK frame counter. It will be in nearly the same state as when it left the factory. A ZB_ZDO_SIGNAL_LEAVE signal with ESP_ZB_NWK_LEAVE_TYPE_RESET will be triggered to indicate the end of the procedure.

void esp_zb_factory_reset(void)

Perform “factory reset” procedure.

Note

The device will completely erase the zb_storage partition and then restart

esp_err_t esp_zb_zcl_reset_all_endpoints_to_factory_default(bool reset_report, esp_zb_zcl_reset_default_attr_callback_t cb)

Reset all endpoints to factory default.

Note

If cb is not set or cb return NULL, the default attribute value will be set to zero

Parameters
  • reset_report[in] Whether reset report of clusters or not

  • cb[in] The user can utilize the callback to set default attribute value

Returns

  • ESP_OK: on success

  • ESP_FAIL: on failed

esp_err_t esp_zb_zcl_reset_endpoint_to_factory_default(uint8_t endpoint, bool reset_report, esp_zb_zcl_reset_default_attr_callback_t cb)

Reset endpoint to factory default.

Note

If cb is not set or cb return NULL, the default attribute value will be set to zero

Parameters
  • endpoint[in] The endpoint identifier which will be reset

  • reset_report[in] Whether reset report of clusters or not

  • cb[in] The user can utilize the callback to set default attribute value

Returns

  • ESP_OK: on success

  • ESP_FAIL: on failed

void esp_zb_zcl_reset_nvram_to_factory_default(void)

Reset the NVRAM and ZCL data to factory default.

esp_err_t esp_zb_start(bool autostart)

Start Zigbee function.

For example, you can use this function if it is needed to enable leds, timers or any other devices on periphery to work with them before starting working in a network. It’s also useful if you want to run something locally during joining.

Note

Autostart mode: It initializes, load some parameters from NVRAM and proceed with startup. Startup means either Formation (for ZC), rejoin or discovery/association join. After startup complete, esp_zb_app_signal_handler is called, so application will know when to do some useful things.

Note

No-autostart mode: It initializes scheduler and buffers pool, but not MAC and upper layers. Notifies the application that Zigbee framework (scheduler, buffer pool, etc.) has started, but no join/rejoin/formation/BDB initialization has been done yet. Typically esp_zb_start with no_autostart mode is used when application wants to do something before starting joining the network.

Note

Precondition: stack must be initialized by esp_zb_init call. esp_zb_init sets default IB parameters, so caller has a chance to change some of them. Note that NVRAM and product config will be loaded after esp_zb_start() call.

Note

Zigbee stack is not looped in this routine. Instead, it schedules callback and returns. Caller must run esp_zb_stack_main_loop() after this routine.

Note

Application should later call Zigbee commissioning initiation - for instance, esp_zb_bdb_start_top_level_commissioning().

Parameters

autostart[in] - true autostart mode

  • false no-autostart mode

Returns

- ESP_OK on success

bool esp_zb_is_started(void)

Get the stack is started or not.

Returns

true if the stack has been started, false otherwise.

bool esp_zb_lock_acquire(TickType_t block_ticks)

Acquire Zigbee lock.

Note

It’s mandatory to acquire the lock before calling any Zigbee SDK APIs, except that the call site is in Zigbee callbacks.

Returns

  • true: on success

void esp_zb_lock_release(void)

Release Zigbee lock.

void esp_zb_main_loop_iteration(void)

Zigbee main loop iteration.

Deprecated:

Please use esp_zb_stack_main_loop() instead

Note

Must be called after esp_zb_init() and esp_zb_start() inside the application’s main cycle.

void esp_zb_stack_main_loop_iteration(void)

Zigbee stack main loop iteration once.

Note

Must be called after esp_zb_init() and esp_zb_start().

void esp_zb_stack_main_loop(void)

Zigbee stack main loop.

Note

Must be called after esp_zb_init() and esp_zb_start(), it’s an infinite main loop.

void esp_zb_cli_main_loop_iteration(void)

Zigbee CLI example main loop iteration.

Note

It is ONLY for cli specific example loop iteration.

void esp_zb_nvram_erase_at_start(bool erase)

Enable/Disable erasing the zb_storage field before the stack runs.

Note

Enable or disable NVRAM erasing on every application startup. Erasing is disabled by default.

Parameters

erase – - 1 to enable erasing; 0 - disable.

void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_s)

Zigbee stack application signal handler.

Note

After esp_zb_start, user shall based on the corresponding signal type refer to esp_zdo_app_signal_type from struct pointer signal_s to do certain actions. User could also use refer to esp_zb_bdb_start_top_level_commissioning to change BDB mode.

Warning

This function has to be defined by user in each example.

Parameters

signal_s[in] pointer of Zigbee zdo app signal struct esp_zb_app_signal_s.

void *esp_zb_app_signal_get_params(uint32_t *signal_p)

Obtains pointer to parameters passed with application signal.

Parameters

signal_p[in] pointer to the application signal type esp_zb_app_signal_s of p_app_signal

Returns

void pointer to certain signal param content

void esp_zb_scheduler_alarm(esp_zb_callback_t cb, uint8_t param, uint32_t time)

Schedule alarm - callback to be executed after timeout.

Note

Function will be called via scheduler after timeout expired in millisecond. Timer resolution depends on implementation. Same callback can be scheduled for execution more then once.

Parameters
  • cb[in] - function to call via scheduler

  • param[in] - parameter to pass to the function

  • time[in] - timeout, in millisecond

void esp_zb_scheduler_alarm_cancel(esp_zb_callback_t cb, uint8_t param)

Cancel scheduled alarm.

Note

This function cancel previously scheduled alarm.

Parameters
  • cb[in] - function to cancel

  • param[in] - parameter to pass to the function to cancel

esp_zb_user_cb_handle_t esp_zb_scheduler_user_alarm(esp_zb_user_callback_t cb, void *param, uint32_t time)

Schedule user alarm - callback to be executed after timeout.

Note

Function will be called via scheduler after timeout expired in millisecond. Timer resolution depends on implementation. Same callback can be scheduled for execution more then once.

Parameters
  • cb[in] - function to call via scheduler

  • param[in] - parameter to pass to the function

  • time[in] - timeout, in millisecond

Returns

  • the handle used to cancel the user alarm

esp_err_t esp_zb_scheduler_user_alarm_cancel(esp_zb_user_cb_handle_t handle)

Cancel scheduled user alarm.

Note

This function cancel previously scheduled user alarm.

Parameters

handle[in] - the handle returned by esp_zb_scheduler_user_alarm

Returns

  • ESP_OK: on success

  • ESP_ERR_NOT_FOUND: not found the user alarm

void esp_zb_set_bdb_commissioning_mode(esp_zb_bdb_commissioning_mode_mask_t commissioning_mode)

Set BDB commissioning mode.

Parameters

commissioning_mode[in] commissioning mode that refer to esp_zb_bdb_commissioning_mode_mask_t.

esp_zb_bdb_commissioning_mode_mask_t esp_zb_get_bdb_commissioning_mode(void)

Set BDB commissioning mode.

Returns

commissioning mode, refer to esp_zb_bdb_commissioning_mode_mask_t

esp_err_t esp_zb_bdb_cancel_steering(void)

Schedule to cancel Steering procedure for a node not on a network.

Note

The signal ESP_ZB_BDB_SIGNAL_STEERING_CANCELLED with the status of this operation will be raised.

Returns

  • ESP_OK: on success

  • ESP_FAIL: on failed

esp_err_t esp_zb_bdb_cancel_formation(void)

Schedule to cancel Formation procedure.

Note

The signal ESP_ZB_BDB_SIGNAL_FORMATION_CANCELLED with the status of the operation will be raised.

Returns

  • ESP_OK: on success

  • ESP_FAIL: on failed

esp_err_t esp_zb_device_register(esp_zb_ep_list_t *ep_list)

Register a Zigbee device.

Note

  1. After successful registration, the SDK will retain a copy of the whole data model, the ep_list will be freed.

  2. For any lists (e.g. esp_zb_cluster_list_t and esp_zb_attribute_list_t) added to the data modal should only be created and modified by the API.

  3. Please DO NOT reuse ANY of lists in the data mode. If you have two identical stuff (e.g. two endpoints with identical clusters), please create/add them twice.

Parameters

ep_list[in] An endpoint list which wants to register, see esp_zb_ep_list_s

Returns

  • ESP_OK on success

esp_err_t esp_zb_sleep_set_threshold(uint32_t threshold_ms)

Set the sleep threshold on the device. When the scheduler detects that the device can enter sleep mode, it will notify the application with the signal ESP_ZB_COMMON_SIGNAL_CAN_SLEEP. The default sleep threshold is 20 milliseconds.

Parameters

threshold_ms[in] Sleep threshold in milliseconds

Returns

ESP_OK if new threshold is valid and applied.

Returns

ESP_FAIL if the user attempts to set a threshold greater than ESP_ZB_SLEEP_MAXIMUM_THRESHOLD_MS.

void esp_zb_sleep_now(void)

Blocking function responsible for putting device into sleep mode.

void esp_zb_sleep_enable(bool enable)

Enable the Zigbee sleep.

Parameters

enable[in] Enable Zigbee Sleep

bool esp_zb_sleep_is_enable(void)

Get Zigbee sleep is enable or not.

Returns

TRUE Zigbee sleep is enable.

Returns

FALSE Zigbee sleep is disable.

esp_zb_bdb_commissioning_status_t esp_zb_get_bdb_commissioning_status(void)

Get bdb_commissioning_status.

Returns

commissioning_status refer to esp_zb_bdb_commissioning_status_t

void esp_zb_set_node_descriptor_manufacturer_code(uint16_t manufacturer_code)

Set the Zigbee node descriptor manufacturer code.

Note

The function should be called in ESP_ZB_ZDO_SIGNAL_PRODUCTION_CONFIG_READY signal

Parameters

manufacturer_code[in] The manufacturer code of Zigbee device

const char *esp_zb_get_version_string(void)

Get the version string of the SDK.

Returns

The version string of the SDK.

Structures

struct esp_zb_zczr_cfg_t

The Zigbee Coordinator/ Router device configuration.

Public Members

uint8_t max_children

Max number of the children

struct esp_zb_zed_cfg_t

The Zigbee End device configuration.

Public Members

uint8_t ed_timeout

Set End Device Timeout, refer to esp_zb_aging_timeout_t

uint32_t keep_alive

Set Keep alive Timeout, in milliseconds, with a maximum value of 65,000,000,000.

struct esp_zb_cfg_s

The Zigbee device configuration.

Note

For esp_zb_role please refer defined by esp_zb_nwk_device_type_t.

Public Members

esp_zb_nwk_device_type_t esp_zb_role

The nwk device type

bool install_code_policy

Allow install code security policy or not

esp_zb_zczr_cfg_t zczr_cfg

The Zigbee zc/zr device configuration

esp_zb_zed_cfg_t zed_cfg

The Zigbee zed device configuration

union esp_zb_cfg_s::[anonymous] nwk_cfg

Union of the network configuration

struct esp_zb_app_signal_s

The application signal struct for esp_zb_app_signal_handler.

Public Members

uint32_t *p_app_signal

Application pointer signal type, refer to esp_zb_app_signal_type_t

esp_err_t esp_err_status

The error status of the each signal event, refer to esp_err_t

Macros

ESP_ZB_TRANSCEIVER_ALL_CHANNELS_MASK

channel 11-26 for compatibility with 2.4GHZ

Type Definitions

typedef enum esp_zb_core_action_callback_id_s esp_zb_core_action_callback_id_t

Enum of the Zigbee core action callback id.

Note

  1. If one endpoint possesses the same custom cluster identifier in both client and server roles, any request or response command for the custom cluster will only trigger the ESP_ZB_CORE_CMD_CUSTOM_CLUSTER_REQ_CB_ID callback.

  2. The callback ids without CMD in their names would provide messages of the following structure:

    typedef struct xxx_message_s {
        esp_zb_device_cb_common_info_t info;
        ...
    } xxx_message_t;
    
    While the callback ids with CMD in their names would provide messages of the following structure:
    typedef struct xxx_message_s {
        esp_zb_zcl_cmd_info_t info;
        ...
    } xxx_message_t;
    

typedef struct esp_zb_cfg_s esp_zb_cfg_t

The Zigbee device configuration.

Note

For esp_zb_role please refer defined by esp_zb_nwk_device_type_t.

typedef struct esp_zb_app_signal_s esp_zb_app_signal_t

The application signal struct for esp_zb_app_signal_handler.

typedef esp_err_t (*esp_zb_core_action_callback_t)(esp_zb_core_action_callback_id_t callback_id, const void *message)

A callback for user to obtain interesting Zigbee message.

Note

The returned value will be utilized by the stack for post-processing

Param callback_id

[in] The id of Zigbee core action, refer to esp_zb_core_action_callback_id_t

Param message

[in] The information of Zigbee core action that bind with the callback_id

Return

ESP_OK The action is handled successfully, others on failure

typedef bool (*esp_zb_zcl_device_cb_id_callback_t)(uint8_t bufid)

A callback for user to obtain device_cb_id buffer id of ZBoss stack.

Return

  • True: processed

  • False: unprocessed

typedef bool (*esp_zb_zcl_raw_command_callback_t)(uint8_t bufid)

A callback for user to obtain raw command bufid of ZBoss stack.

Note

If the bufid has been processed in the callback, it should be freed using the zb_zcl_send_default_handler().

Return

  • True: processed

  • False: unprocessed

typedef uint8_t (*esp_zb_cli_resp_callback_t)(uint8_t bufid)

CLI response callback

Param bufid

[in] index of buffer with ZCL command

typedef void (*esp_zb_identify_notify_callback_t)(uint8_t identify_on)

Identify callback

Param identify_on

[in] A indication that need start identify or stop

typedef void *(*esp_zb_zcl_reset_default_attr_callback_t)(uint8_t endpoint, uint16_t cluster_id, esp_zb_zcl_attribute_t curr_attr)

ZCL reset default attribute callback.

Param endpoint

[in] The Endpoint identifier

Param cluster_id

[in] The cluster identifier

Param curr_attr

[in] The current attribute information

Return

The default attribute value will be set to

Enumerations

enum esp_zb_aging_timeout_t

Values:

enumerator ESP_ZB_ED_AGING_TIMEOUT_10SEC

10 second timeout

enumerator ESP_ZB_ED_AGING_TIMEOUT_2MIN

2 minutes

enumerator ESP_ZB_ED_AGING_TIMEOUT_4MIN

4 minutes

enumerator ESP_ZB_ED_AGING_TIMEOUT_8MIN

8 minutes

enumerator ESP_ZB_ED_AGING_TIMEOUT_16MIN

16 minutes

enumerator ESP_ZB_ED_AGING_TIMEOUT_32MIN

32 minutes

enumerator ESP_ZB_ED_AGING_TIMEOUT_64MIN

64 minutes

enumerator ESP_ZB_ED_AGING_TIMEOUT_128MIN

128 minutes

enumerator ESP_ZB_ED_AGING_TIMEOUT_256MIN

256 minutes

enumerator ESP_ZB_ED_AGING_TIMEOUT_512MIN

512 minutes

enumerator ESP_ZB_ED_AGING_TIMEOUT_1024MIN

1024 minutes

enumerator ESP_ZB_ED_AGING_TIMEOUT_2048MIN

2048 minutes

enumerator ESP_ZB_ED_AGING_TIMEOUT_4096MIN

4096 minutes

enumerator ESP_ZB_ED_AGING_TIMEOUT_8192MIN

8192 minutes

enumerator ESP_ZB_ED_AGING_TIMEOUT_16384MIN

16384 minutes

enum esp_zb_core_action_callback_id_s

Enum of the Zigbee core action callback id.

Note

  1. If one endpoint possesses the same custom cluster identifier in both client and server roles, any request or response command for the custom cluster will only trigger the ESP_ZB_CORE_CMD_CUSTOM_CLUSTER_REQ_CB_ID callback.

  2. The callback ids without CMD in their names would provide messages of the following structure:

    typedef struct xxx_message_s {
        esp_zb_device_cb_common_info_t info;
        ...
    } xxx_message_t;
    
    While the callback ids with CMD in their names would provide messages of the following structure:
    typedef struct xxx_message_s {
        esp_zb_zcl_cmd_info_t info;
        ...
    } xxx_message_t;
    

Values:

enumerator ESP_ZB_CORE_SET_ATTR_VALUE_CB_ID

Set attribute value, refer to esp_zb_zcl_set_attr_value_message_t

enumerator ESP_ZB_CORE_SCENES_STORE_SCENE_CB_ID

Store scene, refer to esp_zb_zcl_store_scene_message_t

enumerator ESP_ZB_CORE_SCENES_RECALL_SCENE_CB_ID

Recall scene, refer to esp_zb_zcl_recall_scene_message_t

enumerator ESP_ZB_CORE_IAS_ZONE_ENROLL_RESPONSE_VALUE_CB_ID

IAS Zone enroll response, refer to esp_zb_zcl_ias_zone_enroll_response_message_t

enumerator ESP_ZB_CORE_OTA_UPGRADE_VALUE_CB_ID

Upgrade OTA, refer to esp_zb_zcl_ota_upgrade_value_message_t

enumerator ESP_ZB_CORE_OTA_UPGRADE_SRV_STATUS_CB_ID

OTA Server status, refer to esp_zb_zcl_ota_upgrade_server_status_message_t

enumerator ESP_ZB_CORE_OTA_UPGRADE_SRV_QUERY_IMAGE_CB_ID

OTA Server query image, refer to esp_zb_zcl_ota_upgrade_server_query_image_message_t

enumerator ESP_ZB_CORE_THERMOSTAT_VALUE_CB_ID

Thermostat value, refer to esp_zb_zcl_thermostat_value_message_t

enumerator ESP_ZB_CORE_METERING_GET_PROFILE_CB_ID

Metering get profile, refer to esp_zb_zcl_metering_get_profile_message_t

enumerator ESP_ZB_CORE_METERING_GET_PROFILE_RESP_CB_ID

Metering get profile response, refer to esp_zb_zcl_metering_get_profile_resp_message_t

enumerator ESP_ZB_CORE_METERING_REQ_FAST_POLL_MODE_CB_ID

Metering request fast poll mode, refer to esp_zb_zcl_metering_request_fast_poll_mode_message_t

enumerator ESP_ZB_CORE_METERING_REQ_FAST_POLL_MODE_RESP_CB_ID

Metering request fast poll mode response, refer to esp_zb_zcl_metering_request_fast_poll_mode_resp_message_t

enumerator ESP_ZB_CORE_METERING_GET_SNAPSHOT_CB_ID

Metering get snapshot, refer to esp_zb_zcl_metering_get_snapshot_message_t

enumerator ESP_ZB_CORE_METERING_PUBLISH_SNAPSHOT_CB_ID

Metering publish snapshot, refer to esp_zb_zcl_metering_publish_snapshot_message_t

enumerator ESP_ZB_CORE_METERING_GET_SAMPLED_DATA_CB_ID

Metering get sampled data, refer to esp_zb_zcl_metering_get_sampled_data_message_t

enumerator ESP_ZB_CORE_METERING_GET_SAMPLED_DATA_RESP_CB_ID

Metering get sampled data response, refer to esp_zb_zcl_metering_get_sampled_data_resp_message_t

enumerator ESP_ZB_CORE_DOOR_LOCK_LOCK_DOOR_CB_ID

Lock/unlock door request, refer to esp_zb_zcl_door_lock_lock_door_message_t

enumerator ESP_ZB_CORE_DOOR_LOCK_LOCK_DOOR_RESP_CB_ID

Lock/unlock door response, refer to esp_zb_zcl_door_lock_lock_door_resp_message_t

enumerator ESP_ZB_CORE_IDENTIFY_EFFECT_CB_ID

Identify triggers effect request, refer to esp_zb_zcl_identify_effect_message_t

enumerator ESP_ZB_CORE_BASIC_RESET_TO_FACTORY_RESET_CB_ID

Reset all clusters of endpoint to factory default, refer to esp_zb_zcl_basic_reset_factory_default_message_t

enumerator ESP_ZB_CORE_PRICE_GET_CURRENT_PRICE_CB_ID

Price get current price, refer to esp_zb_zcl_price_get_current_price_message_t

enumerator ESP_ZB_CORE_PRICE_GET_SCHEDULED_PRICES_CB_ID

Price get scheduled prices, refer to esp_zb_zcl_price_get_scheduled_prices_message_t

enumerator ESP_ZB_CORE_PRICE_GET_TIER_LABELS_CB_ID

Price get tier labels, refer to esp_zb_zcl_price_get_tier_labels_message_t

enumerator ESP_ZB_CORE_PRICE_PUBLISH_PRICE_CB_ID

Price publish price, refer to esp_zb_zcl_price_publish_price_message_t

enumerator ESP_ZB_CORE_PRICE_PUBLISH_TIER_LABELS_CB_ID

Price publish tier labels, refer to esp_zb_zcl_price_publish_tier_labels_message_t

enumerator ESP_ZB_CORE_PRICE_PRICE_ACK_CB_ID

Price price acknowledgement, refer to esp_zb_zcl_price_ack_message_t

enumerator ESP_ZB_CORE_COMM_RESTART_DEVICE_CB_ID

Commissioning restart device, refer to esp_zigbee_zcl_commissioning_restart_device_message_t

enumerator ESP_ZB_CORE_COMM_OPERATE_STARTUP_PARAMS_CB_ID

Commissioning operate startup parameters, refer to esp_zigbee_zcl_commissioning_operate_startup_parameters_message_t

enumerator ESP_ZB_CORE_COMM_COMMAND_RESP_CB_ID

Commissioning command response, refer to esp_zigbee_zcl_commissioning_command_response_message_t

enumerator ESP_ZB_CORE_IAS_WD_START_WARNING_CB_ID

IAS WD cluster Start Warning command, refer to esp_zb_zcl_ias_wd_start_warning_message_t

enumerator ESP_ZB_CORE_IAS_WD_SQUAWK_CB_ID

IAS WD cluster Squawk command, refer to esp_zb_zcl_ias_wd_squawk_message_t

enumerator ESP_ZB_CORE_IAS_ACE_ARM_CB_ID

IAS ACE cluster Arm command, refer to esp_zb_zcl_ias_ace_arm_message_t

enumerator ESP_ZB_CORE_IAS_ACE_BYPASS_CB_ID

IAS ACE cluster Bypass command, refer to esp_zb_zcl_ias_ace_bypass_message_t

enumerator ESP_ZB_CORE_IAS_ACE_EMERGENCY_CB_ID

IAS ACE cluster Emergency command, refer to esp_zb_zcl_ias_ace_emergency_message_t

enumerator ESP_ZB_CORE_IAS_ACE_FIRE_CB_ID

IAS ACE cluster Fire command, refer to esp_zb_zcl_ias_ace_fire_message_t

enumerator ESP_ZB_CORE_IAS_ACE_PANIC_CB_ID

IAS ACE cluster Panic command, refer to esp_zb_zcl_ias_ace_panic_message_t

enumerator ESP_ZB_CORE_IAS_ACE_GET_PANEL_STATUS_CB_ID

IAS ACE cluster Get Panel Status command, refer to esp_zb_zcl_ias_ace_get_panel_status_message_t

enumerator ESP_ZB_CORE_IAS_ACE_GET_BYPASSED_ZONE_LIST_CB_ID

IAS ACE cluster Get Bypass Zone List command, refer to esp_zb_zcl_ias_ace_get_bypassed_zone_list_message_t

enumerator ESP_ZB_CORE_IAS_ACE_GET_ZONE_STATUS_CB_ID

IAS ACE cluster Get Zone Status command, refer to esp_zb_zcl_ias_ace_get_zone_status_message_t

enumerator ESP_ZB_CORE_IAS_ACE_ARM_RESP_CB_ID

IAS ACE cluster Arm command response, refer to esp_zb_zcl_ias_ace_arm_response_message_t

enumerator ESP_ZB_CORE_IAS_ACE_GET_ZONE_ID_MAP_RESP_CB_ID

IAS ACE cluster Get Zone ID MAP command response, refer to esp_zb_zcl_ias_ace_get_zone_id_map_response_message_t

enumerator ESP_ZB_CORE_IAS_ACE_GET_ZONE_INFO_RESP_CB_ID

IAS ACE cluster Get Zone Information command response, refer to esp_zb_zcl_ias_ace_get_zone_info_response_message_t

enumerator ESP_ZB_CORE_IAS_ACE_ZONE_STATUS_CHANGED_CB_ID

IAS ACE cluster Zone Status Changed command, refer to esp_zb_zcl_ias_ace_zone_status_changed_message_t

enumerator ESP_ZB_CORE_IAS_ACE_PANEL_STATUS_CHANGED_CB_ID

IAS ACE cluster Panel Status Changed command, refer to esp_zb_zcl_ias_ace_panel_status_changed_message_t

enumerator ESP_ZB_CORE_IAS_ACE_GET_PANEL_STATUS_RESP_CB_ID

IAS ACE cluster Get Panel Status command response, refer to esp_zb_zcl_ias_ace_get_panel_status_response_message_t

enumerator ESP_ZB_CORE_IAS_ACE_SET_BYPASSED_ZONE_LIST_CB_ID

IAS ACE cluster Set Bypassed Zone List command, refer to esp_zb_zcl_ias_ace_set_bypassed_zone_list_message_t

enumerator ESP_ZB_CORE_IAS_ACE_BYPASS_RESP_CB_ID

IAS ACE cluster Bypass command response, refer to esp_zb_zcl_ias_ace_bypass_response_message_t

enumerator ESP_ZB_CORE_IAS_ACE_GET_ZONE_STATUS_RESP_CB_ID

IAS ACE cluster Get Zone Status command response, refer to esp_zb_zcl_ias_ace_get_zone_status_response_message_t

enumerator ESP_ZB_CORE_WINDOW_COVERING_MOVEMENT_CB_ID

Window covering movement command, refer to esp_zb_zcl_window_covering_movement_message_t

enumerator ESP_ZB_CORE_OTA_UPGRADE_QUERY_IMAGE_RESP_CB_ID

OTA upgrade query image response message, refer to esp_zb_zcl_ota_upgrade_query_image_resp_message_t

enumerator ESP_ZB_CORE_THERMOSTAT_WEEKLY_SCHEDULE_SET_CB_ID

Thermostat weekly schedule stable set, refer to esp_zb_zcl_thermostat_weekly_schedule_set_message_t

enumerator ESP_ZB_CORE_DRLC_LOAD_CONTORL_EVENT_CB_ID

Demand response and load control cluster LoadControlEvent message, refer to esp_zb_zcl_drlc_load_control_event_message_t

enumerator ESP_ZB_CORE_DRLC_CANCEL_LOAD_CONTROL_EVENT_CB_ID

Demand response and load control cluster CancelLoadControlEvent message, refer to esp_zb_zcl_drlc_cancel_load_control_event_message_t

enumerator ESP_ZB_CORE_DRLC_CANCEL_ALL_LOAD_CONTROL_EVENTS_CB_ID

Demand response and load control cluster CancelAllLoadControlEvents message, refer to esp_zb_zcl_drlc_cancel_all_load_control_events_message_t

enumerator ESP_ZB_CORE_DRLC_REPORT_EVENT_STATUS_CB_ID

Demand response and load control cluster ReportEventStatus message, refer to esp_zb_zcl_drlc_report_event_status_message_t

enumerator ESP_ZB_CORE_DRLC_GET_SCHEDULED_EVENTS_CB_ID

Demand response and load control cluster GetScheduledEvents message, refer to esp_zb_zcl_drlc_get_scheduled_events_message_t

enumerator ESP_ZB_CORE_CMD_READ_ATTR_RESP_CB_ID

Read attribute response, refer to esp_zb_zcl_cmd_read_attr_resp_message_t

enumerator ESP_ZB_CORE_CMD_WRITE_ATTR_RESP_CB_ID

Write attribute response, refer to esp_zb_zcl_cmd_write_attr_resp_message_t

enumerator ESP_ZB_CORE_CMD_REPORT_CONFIG_RESP_CB_ID

Configure report response, refer to esp_zb_zcl_cmd_config_report_resp_message_t

enumerator ESP_ZB_CORE_CMD_READ_REPORT_CFG_RESP_CB_ID

Read report configuration response, refer to esp_zb_zcl_cmd_read_report_config_resp_message_t

enumerator ESP_ZB_CORE_CMD_DISC_ATTR_RESP_CB_ID

Discover attributes response, refer to esp_zb_zcl_cmd_discover_attributes_resp_message_t

enumerator ESP_ZB_CORE_CMD_DEFAULT_RESP_CB_ID

Default response, refer to esp_zb_zcl_cmd_default_resp_message_t

enumerator ESP_ZB_CORE_CMD_OPERATE_GROUP_RESP_CB_ID

Group add group response, refer to esp_zb_zcl_groups_operate_group_resp_message_t

enumerator ESP_ZB_CORE_CMD_VIEW_GROUP_RESP_CB_ID

Group view response, refer to esp_zb_zcl_groups_view_group_resp_message_t

enumerator ESP_ZB_CORE_CMD_GET_GROUP_MEMBERSHIP_RESP_CB_ID

Group get membership response, refer to esp_zb_zcl_groups_get_group_membership_resp_message_t

enumerator ESP_ZB_CORE_CMD_OPERATE_SCENE_RESP_CB_ID

Scenes operate response, refer to esp_zb_zcl_scenes_operate_scene_resp_message_t

enumerator ESP_ZB_CORE_CMD_VIEW_SCENE_RESP_CB_ID

Scenes view response, refer to esp_zb_zcl_scenes_view_scene_resp_message_t

enumerator ESP_ZB_CORE_CMD_GET_SCENE_MEMBERSHIP_RESP_CB_ID

Scenes get membership response, refer to esp_zb_zcl_scenes_get_scene_membership_resp_message_t

enumerator ESP_ZB_CORE_CMD_IAS_ZONE_ZONE_ENROLL_REQUEST_ID

IAS Zone enroll request, refer to esp_zb_zcl_ias_zone_enroll_request_message_t

enumerator ESP_ZB_CORE_CMD_IAS_ZONE_ZONE_STATUS_CHANGE_NOT_ID

IAS Zone status change notification, refer to esp_zb_zcl_ias_zone_status_change_notification_message_t

enumerator ESP_ZB_CORE_CMD_CUSTOM_CLUSTER_REQ_CB_ID

Custom Cluster request, refer to esp_zb_zcl_custom_cluster_command_message_t

enumerator ESP_ZB_CORE_CMD_CUSTOM_CLUSTER_RESP_CB_ID

Custom Cluster response, refer to esp_zb_zcl_custom_cluster_command_message_t

enumerator ESP_ZB_CORE_CMD_PRIVILEGE_COMMAND_REQ_CB_ID

Custom Cluster request, refer to esp_zb_zcl_privilege_command_message_t

enumerator ESP_ZB_CORE_CMD_PRIVILEGE_COMMAND_RESP_CB_ID

Custom Cluster response, refer to esp_zb_zcl_privilege_command_message_t

Touchlink commissioning cluster get group id response, refer to esp_zb_touchlink_get_group_identifiers_resp_message_t

Touchlink commissioning cluster get endpoint list response, refer to esp_zb_zcl_touchlink_get_endpoint_list_resp_message_t

enumerator ESP_ZB_CORE_CMD_THERMOSTAT_GET_WEEKLY_SCHEDULE_RESP_CB_ID

Thermostat cluster get weekly schedule response, refer to esp_zb_zcl_thermostat_get_weekly_schedule_resp_message_t

enumerator ESP_ZB_CORE_CMD_GREEN_POWER_RECV_CB_ID

Green power cluster command receiving, refer to esp_zb_zcl_cmd_green_power_recv_message_t

enumerator ESP_ZB_CORE_REPORT_ATTR_CB_ID

Attribute Report, refer to esp_zb_zcl_report_attr_message_t