Cluster API

Zigbee Cluster related APIs for ESP Zigbee SDK.

API Reference

Header File

Functions

esp_zb_cluster_list_t *esp_zb_zcl_cluster_list_create(void)

Create an empty cluster list.

Note

This cluster list is ready to add / update cluster refer to esp_zb_cluster_list_add_xxx_cluster() and esp_zb_cluster_list_update_xxx_cluster().

Returns

pointer to esp_zb_cluster_list_s

esp_zb_zcl_cluster_t *esp_zb_zcl_get_cluster(uint8_t endpoint, uint16_t cluster_id, uint8_t cluster_role)

Get ZCL cluster descriptor.

Note

Getting the local cluster from the specific endpoint.

Parameters
  • endpoint[in] The endpoint

  • cluster_id[in] The cluster id for attribute list refer to esp_zb_zcl_cluster_id

  • cluster_role[in] The cluster role of this cluster, either server or client role refer to esp_zb_zcl_cluster_role_t

Returns

pointer to esp_zb_zcl_cluster_s

esp_zb_attribute_list_t *esp_zb_basic_cluster_create(esp_zb_basic_cluster_cfg_t *basic_cfg)

Create a standard basic cluster attribute list.

Note

This only contains the mandatory attribute.

Parameters

basic_cfg[in] Configuration parameters for this cluster defined by esp_zb_basic_cluster_cfg_s

Returns

Pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_power_config_cluster_create(esp_zb_power_config_cluster_cfg_t *power_cfg)

Create a power configuration cluster attribute list.

Note

No mandatory attributes are requested by the ZCL specs, in current implementation main voltage and frequency are added by default.

Parameters

power_cfg[in] Configuration parameters for this cluster defined by esp_zb_power_config_cluster_cfg_s

Returns

Pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_identify_cluster_create(esp_zb_identify_cluster_cfg_t *identify_cfg)

Create a standard identify cluster attribute list.

Note

This only contains the mandatory attribute.

Parameters

identify_cfg[in] Configuration parameters for this cluster defined by esp_zb_identify_cluster_cfg_s

Returns

Pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_groups_cluster_create(esp_zb_groups_cluster_cfg_t *group_cfg)

Create a standard group cluster attribute list.

Note

This only contains the mandatory attribute.

Parameters

group_cfg[in] Configuration parameters for this cluster defined by esp_zb_groups_cluster_cfg_s

Returns

Pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_scenes_cluster_create(esp_zb_scenes_cluster_cfg_t *scene_cfg)

Create a standard scenes cluster attribute list.

Note

This only contains the mandatory attribute.

Parameters

scene_cfg[in] Configuration parameters for this cluster defined by esp_zb_scenes_cluster_cfg_s

Returns

Pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_on_off_cluster_create(esp_zb_on_off_cluster_cfg_t *on_off_cfg)

Create a standard on-off cluster attribute list.

Note

This only contains the mandatory attribute.

Parameters

on_off_cfg[in] Configuration parameters for this cluster defined by esp_zb_on_off_cluster_cfg_s

Returns

Pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_on_off_switch_cfg_cluster_create(esp_zb_on_off_switch_cluster_cfg_t *on_off_switch_cfg)

Create a standard on-off switch config cluster attribute list.

Note

This only contains the mandatory attribute. Switch type attribute default set to 0. User could change it if necessary.

Parameters

on_off_switch_cfg[in] Configuration parameters for this cluster defined by esp_zb_on_off_switch_cluster_cfg_s

Returns

Pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_level_cluster_create(esp_zb_level_cluster_cfg_t *level_cfg)

Create a standard level cluster attribute list.

Note

This only contains the mandatory attribute.

Parameters

level_cfg[in] Configuration parameters for this cluster defined by esp_zb_level_cluster_cfg_s

Returns

Pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_color_control_cluster_create(esp_zb_color_cluster_cfg_t *color_cfg)

Create a standard color cluster attribute list.

Note

This only contains the mandatory attribute.

Parameters

color_cfg[in] Configuration parameters for this cluster defined by esp_zb_color_cluster_cfg_s

Returns

Pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_time_cluster_create(esp_zb_time_cluster_cfg_t *time_cfg)

Create a standard time cluster attribute list.

Note

This only contains the mandatory attribute.

Parameters

time_cfg[in] Configuration parameters for this cluster defined by esp_zb_time_cluster_cfg_s

Returns

Pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_shade_config_cluster_create(esp_zb_shade_config_cluster_cfg_t *shade_cfg)

Create a standard shade config cluster attribute list.

Note

This only contains the mandatory attribute.

Parameters

shade_cfg[in] Configuration parameters for this cluster defined by esp_zb_shade_config_cluster_cfg_s

Returns

Pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_binary_input_cluster_create(esp_zb_binary_input_cluster_cfg_t *binary_input_cfg)

Create a standard binary input (basic) cluster attribute list.

Note

This only contains the mandatory attribute. Switch type attribute default set to 0. User could change it if necessary.

Parameters

binary_input_cfg[in] Configuration parameters for this cluster defined by esp_zb_binary_input_cluster_cfg_s

Returns

Pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_commissioning_cluster_create(esp_zb_commissioning_cluster_cfg_t *commissioning_cfg)

Create a standard commissioning cluster attribute list.

Note

This only contains the mandatory attribute. The ZCL spec 13.2.1.1 strongly recommended that this cluster only be deplayed on a single device endpoint, so we only supports single cluster instance for time being. Creating multiple clusters on different endpoints may cause unexpected behaviour.

Parameters

commissioning_cfg[in] Configuration parameters for this cluster defined by esp_zb_commissioning_cluster_cfg_s

Returns

Pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_door_lock_cluster_create(esp_zb_door_lock_cluster_cfg_t *lock_cfg)

Create a standard door lock cluster attribute list.

Note

This only contains the mandatory attribute.

Parameters

lock_cfg[in] Configuration parameters for this cluster defined by esp_zb_door_lock_cluster_cfg_s

Returns

Pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_ias_zone_cluster_create(esp_zb_ias_zone_cluster_cfg_t *ias_zone_cfg)

Create a standard IAS zone cluster attribute list.

Note

This only contains the mandatory attribute. Switch type attribute default set to 0. User could change it if necessary.

Parameters

ias_zone_cfg[in] Configuration parameters for this cluster defined by esp_zb_ias_zone_cluster_cfg_s

Returns

Pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_ias_ace_cluster_create(uint8_t zone_table_size)

Create a standard IAS ACE cluster attribute list.

Note

This only contains the mandatory attribute.

Parameters

zone_table_size[in] Maximum number of entries in the zone table.

Returns

Pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_temperature_meas_cluster_create(esp_zb_temperature_meas_cluster_cfg_t *temperature_cfg)

Create a standard temperature measurement cluster attribute list.

Note

This only contains the mandatory attribute.

Parameters

temperature_cfg[in] Configuration parameters for this cluster defined by esp_zb_temperature_meas_cluster_cfg_s

Returns

Pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_humidity_meas_cluster_create(esp_zb_humidity_meas_cluster_cfg_t *humidity_cfg)

Create a standard humidity measurement cluster attribute list.

Note

This only contains the mandatory attribute.

Parameters

humidity_cfg[in] Configuration parameters for this cluster defined by esp_zb_humidity_meas_cluster_cfg_s

Returns

Pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_illuminance_meas_cluster_create(esp_zb_illuminance_meas_cluster_cfg_t *illuminance_cfg)

Create a standard illuminance measurement cluster attribute list.

Parameters

illuminance_cfg[in] Configuration parameters for this cluster defined by esp_zb_illuminance_meas_cluster_cfg_s

Returns

Pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_pressure_meas_cluster_create(esp_zb_pressure_meas_cluster_cfg_t *pressure_cfg)

Create a standard pressure measurement cluster attribute list.

Parameters

pressure_cfg[in] Configuration parameters for this cluster defined by esp_zb_pressure_meas_cluster_cfg_s

Returns

Pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_flow_meas_cluster_create(esp_zb_flow_meas_cluster_cfg_t *flow_meas_cfg)

Create a standard flow measurement cluster attribute list.

Parameters

flow_meas_cfg[in] Configuration parameters for this cluster defined by esp_zb_flow_meas_cluster_cfg_s

Returns

Pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_electrical_meas_cluster_create(esp_zb_electrical_meas_cluster_cfg_t *electrical_cfg)

Create a standard electrical measurement cluster attribute list.

Parameters

electrical_cfg[in] Configuration parameters for this cluster defined by esp_zb_electrical_meas_cluster_cfg_s

Returns

Pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_occupancy_sensing_cluster_create(esp_zb_occupancy_sensing_cluster_cfg_t *sensing_cfg)

Create a standard occupancy sensor cluster attribute list.

Parameters

sensing_cfg[in] Configuration parameters for this cluster defined by esp_zb_occupancy_sensing_cluster_cfg_s

Returns

Pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_window_covering_cluster_create(esp_zb_window_covering_cluster_cfg_t *covering_cfg)

Create a standard window covering cluster attribute list.

Parameters

covering_cfg[in] Configuration parameters for this cluster defined by esp_zb_window_covering_cluster_cfg_s

Returns

Pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_ota_cluster_create(esp_zb_ota_cluster_cfg_t *ota_cfg)

Create a standard OTA cluster attribute list.

Note

This only contains the mandatory attribute

Parameters

ota_cfg[in] Configuration parameters for this cluster defined by esp_zb_ota_cluster_cfg_s

Returns

pointer to attribute list esp_zb_attribute_list_s

Create a standard touchlink commissioning cluster attribute list.

Note

This only contains the ZB_ZCL_ATTR_GLOBAL_CLUSTER_REVISION_ID and touchlink commissioning cluster has no attributes.

Returns

pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_thermostat_cluster_create(esp_zb_thermostat_cluster_cfg_t *thermostat_cfg)

Create a standard thermostat cluster attribute list.

Parameters

thermostat_cfg[in] Configuration parameters for this cluster defined by esp_zb_thermostat_cluster_cfg_s

Returns

pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_fan_control_cluster_create(esp_zb_fan_control_cluster_cfg_t *fan_control_cfg)

Create a standard fan control attribute list.

Parameters

fan_control_cfg[in] Configuration parameters for this cluster defined by esp_zb_fan_control_cluster_cfg_s

Returns

pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_thermostat_ui_config_cluster_create(esp_zb_thermostat_ui_config_cluster_cfg_t *thermostat_ui_config_cfg)

Create a standard thermostat ui config attribute list.

Parameters

thermostat_ui_config_cfg[in] Configuration parameters for this cluster defined by esp_zb_thermostat_ui_config_cluster_cfg_s

Returns

pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_analog_input_cluster_create(esp_zb_analog_input_cluster_cfg_t *analog_input_cfg)

Create a standard analog input attribute list.

Parameters

analog_input_cfg[in] Configuration parameters for this cluster defined by esp_zb_analog_input_cluster_cfg_s

Returns

pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_analog_output_cluster_create(esp_zb_analog_output_cluster_cfg_t *analog_output_cfg)

Create a standard analog output attribute list.

Parameters

analog_output_cfg[in] Configuration parameters for this cluster defined by esp_zb_analog_output_cluster_cfg_s

Returns

pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_analog_value_cluster_create(esp_zb_analog_value_cluster_cfg_t *analog_value_cfg)

Create a standard analog value attribute list.

Parameters

analog_value_cfg[in] Configuration parameters for this cluster defined by esp_zb_analog_value_cluster_cfg_s

Returns

pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_carbon_dioxide_measurement_cluster_create(esp_zb_carbon_dioxide_measurement_cluster_cfg_t *carbon_dioxide_measurement_cfg)

Create a standard carbon dioxide measurement attribute list.

Parameters

carbon_dioxide_measurement_cfg[in] Configuration parameters for this cluster defined by esp_zb_carbon_dioxide_measurement_cluster_cfg_s

Returns

pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_pm2_5_measurement_cluster_create(esp_zb_pm2_5_measurement_cluster_cfg_t *pm2_5_measurement_cfg)

Create a standard pm2.5 measurement attribute list.

Parameters

pm2_5_measurement_cfg[in] Configuration parameters for this cluster defined by esp_zb_pm2_5_measurement_cluster_cfg_s

Returns

pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_multistate_value_cluster_create(esp_zb_multistate_value_cluster_cfg_t *multistate_value_cfg)

Create a standard multistate value attribute list.

Parameters

multistate_value_cfg[in] Configuration parameters for this cluster defined by esp_zb_multistate_value_cluster_cfg_s

Returns

pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_metering_cluster_create(esp_zb_metering_cluster_cfg_t *metering_cfg)

Create a standard metering attribute list.

Parameters

metering_cfg[in] Configuration parameters for this cluster defined by esp_zb_metering_cluster_cfg_s

Returns

pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_diagnostics_cluster_create(void)

Create a standard diagnostics attribute list.

Returns

pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_meter_identification_cluster_create(esp_zb_meter_identification_cluster_cfg_t *meter_identification_cfg)

Create a standard metering attribute list.

Parameters

meter_identification_cfg[in] Configuration parameters for this cluster defined by esp_zb_meter_identification_cluster_cfg_s

Returns

pointer to attribute list esp_zb_attribute_list_s

esp_zb_attribute_list_t *esp_zb_price_cluster_create(void)

Create a standard metering attribute list.

Returns

pointer to attribute list esp_zb_attribute_list_s

esp_err_t esp_zb_cluster_list_add_basic_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add basic cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_power_config_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add power configuration cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_identify_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add identify cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_groups_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add groups cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_scenes_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add scenes cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_on_off_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add on_off cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_on_off_switch_config_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add on_off switch config cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_level_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add level cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_color_control_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add color_control cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_time_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add Time cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_shade_config_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add Shade Config cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_binary_input_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add binary input (basic) cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_commissioning_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add Commissioning cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_ias_zone_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add ias zone cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_ias_ace_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add IAS ACE cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_door_lock_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add Door Lock cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_temperature_meas_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add Temperature measurement cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_humidity_meas_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add Humidity measurement cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_illuminance_meas_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add illuminance measurement cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_pressure_meas_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add pressure measurement cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_flow_meas_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add flow measurement cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_electrical_meas_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add electrical measurement cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_occupancy_sensing_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add occupancy sensor cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_window_covering_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add window covering cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_ota_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add OTA cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

Add touchlink commissioning cluster (attribute list) in a cluster list.

Note

The touchlink commissioning cluster id should not be same as already existing zcl cluster id refer to zb_zcl_common.h

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_thermostat_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add thermostat cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_fan_control_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add fan control cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_thermostat_ui_config_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add thermostat ui config cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_analog_input_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add analog input cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_analog_output_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add analog output cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_analog_value_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add analog value cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_carbon_dioxide_measurement_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add carbon dioxide measurement cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_pm2_5_measurement_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add pm2.5 measurement cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_multistate_value_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add multistate value cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_metering_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add metering cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_diagnostics_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add diagnostics cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_meter_identification_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add meter identification cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_price_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add price cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_add_custom_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Add customized cluster (attribute list) in a cluster list.

Note

The customized cluster id should not be same as already existing zcl cluster id refer to zb_zcl_common.h

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_basic_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update basic cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_power_config_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update power configuration cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_identify_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update identify cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_groups_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update groups cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_scenes_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update scenes cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_on_off_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update on_off cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_on_off_switch_config_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update on_off switch config cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_level_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update level cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_color_control_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update color control cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_time_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update Time cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_shade_config_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update Shade Config cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_binary_input_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update binary input (basic) cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_commissioning_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update Commissioning cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_ias_zone_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update ias zone cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to add

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_ias_ace_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update IAS ACE cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_door_lock_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update Door Lock cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_temperature_meas_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update temperature measurement cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_humidity_meas_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update humidity measurement cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_illuminance_meas_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update illuminance measurement cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_pressure_meas_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update pressure measurement cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_flow_meas_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update flow measurement cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_electrical_meas_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update electrical measurement cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_occupancy_sensing_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update occupancy sensor cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_window_covering_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update window covering cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_thermostat_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update thermostat cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_fan_control_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update fan control cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_thermostat_ui_config_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update thermostat ui config cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_analog_input_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update analog input cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_analog_output_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update analog output cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_analog_value_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update analog value cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_carbon_dioxide_measurement_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update carbon dioxide measurement cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_pm2_5_measurement_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update pm2.5 measurement cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_multistate_value_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update multistate value cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_metering_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update metering cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_diagnostics_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update diagnostics cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_meter_identification_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update meter identification cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_price_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update price cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_ota_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update OTA cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized

esp_err_t esp_zb_cluster_list_update_custom_cluster(esp_zb_cluster_list_t *cluster_list, esp_zb_attribute_list_t *attr_list, uint8_t role_mask)

Update customized cluster (attribute list) in a cluster list.

Parameters
  • cluster_list[in] A pointer to cluster list esp_zb_cluster_list_s

  • attr_list[in] An attribute list which wants to update

  • role_mask[in] A role of server or client for this cluster (attribute list) refer to esp_zb_zcl_cluster_role_t

Returns

  • ESP_OK on success

  • ESP_ERR_INVALID_ARG if cluster list not initialized