mirror of
https://github.com/espressif/esp-matter.git
synced 2026-04-27 19:13:13 +00:00
app_driver: Restructuring setting the driver to default value
led_driver: Removing the get() APIs
This commit is contained in:
@@ -105,28 +105,3 @@ esp_err_t led_driver_set_temperature(led_driver_handle_t handle, uint32_t temper
|
||||
{
|
||||
return ESP_ERR_NOT_SUPPORTED;
|
||||
}
|
||||
|
||||
bool led_driver_get_power(led_driver_handle_t handle)
|
||||
{
|
||||
return current_power;
|
||||
}
|
||||
|
||||
uint8_t led_driver_get_brightness(led_driver_handle_t handle)
|
||||
{
|
||||
return current_brightness;
|
||||
}
|
||||
|
||||
uint16_t led_driver_get_hue(led_driver_handle_t handle)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8_t led_driver_get_saturation(led_driver_handle_t handle)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint32_t led_driver_get_temperature(led_driver_handle_t handle)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -16,10 +16,6 @@
|
||||
#include <led_driver.h>
|
||||
|
||||
static const char *TAG = "led_driver_hollow";
|
||||
static bool current_power = false;
|
||||
static uint8_t current_brightness = 0;
|
||||
static HS_color_t current_HS = {0, 0};
|
||||
static uint32_t current_temperature = 6600;
|
||||
|
||||
led_driver_handle_t led_driver_init(led_driver_config_t *config)
|
||||
{
|
||||
@@ -68,28 +64,3 @@ esp_err_t led_driver_set_temperature(led_driver_handle_t handle, uint32_t temper
|
||||
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
bool led_driver_get_power(led_driver_handle_t handle)
|
||||
{
|
||||
return current_power;
|
||||
}
|
||||
|
||||
uint8_t led_driver_get_brightness(led_driver_handle_t handle)
|
||||
{
|
||||
return current_brightness;
|
||||
}
|
||||
|
||||
uint16_t led_driver_get_hue(led_driver_handle_t handle)
|
||||
{
|
||||
return current_HS.hue;
|
||||
}
|
||||
|
||||
uint8_t led_driver_get_saturation(led_driver_handle_t handle)
|
||||
{
|
||||
return current_HS.saturation;
|
||||
}
|
||||
|
||||
uint32_t led_driver_get_temperature(led_driver_handle_t handle)
|
||||
{
|
||||
return current_temperature;
|
||||
}
|
||||
|
||||
@@ -34,12 +34,6 @@ esp_err_t led_driver_set_hue(led_driver_handle_t handle, uint16_t hue);
|
||||
esp_err_t led_driver_set_saturation(led_driver_handle_t handle, uint8_t saturation);
|
||||
esp_err_t led_driver_set_temperature(led_driver_handle_t handle, uint32_t temperature);
|
||||
|
||||
bool led_driver_get_power(led_driver_handle_t handle);
|
||||
uint8_t led_driver_get_brightness(led_driver_handle_t handle);
|
||||
uint16_t led_driver_get_hue(led_driver_handle_t handle);
|
||||
uint8_t led_driver_get_saturation(led_driver_handle_t handle);
|
||||
uint32_t led_driver_get_temperature(led_driver_handle_t handle);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -29,7 +29,7 @@ static const char *TAG = "led_driver_vled";
|
||||
static bool current_power = false;
|
||||
static uint8_t current_brightness = 0;
|
||||
static HS_color_t current_HS = {0, 0};
|
||||
static uint32_t current_temperature = 6600;
|
||||
static uint32_t current_temperature = 0;
|
||||
static RGB_color_t mRGB;
|
||||
static uint16_t DisplayHeight;
|
||||
static uint16_t DisplayWidth;
|
||||
@@ -196,28 +196,3 @@ esp_err_t led_driver_set_temperature(led_driver_handle_t handle, uint32_t temper
|
||||
hsv_to_rgb(current_HS, brightness, &mRGB);
|
||||
return led_driver_set_RGB(handle);
|
||||
}
|
||||
|
||||
bool led_driver_get_power(led_driver_handle_t handle)
|
||||
{
|
||||
return current_power;
|
||||
}
|
||||
|
||||
uint8_t led_driver_get_brightness(led_driver_handle_t handle)
|
||||
{
|
||||
return current_brightness;
|
||||
}
|
||||
|
||||
uint16_t led_driver_get_hue(led_driver_handle_t handle)
|
||||
{
|
||||
return current_HS.hue;
|
||||
}
|
||||
|
||||
uint8_t led_driver_get_saturation(led_driver_handle_t handle)
|
||||
{
|
||||
return current_HS.saturation;
|
||||
}
|
||||
|
||||
uint32_t led_driver_get_temperature(led_driver_handle_t handle)
|
||||
{
|
||||
return current_temperature;
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
static const char *TAG = "led_driver_ws2812";
|
||||
static bool current_power = false;
|
||||
static uint8_t current_brightness = 0;
|
||||
static uint32_t current_temp = 6600;
|
||||
static uint32_t current_temp = 0;
|
||||
static HS_color_t current_HS = {0, 0};
|
||||
static RGB_color_t mRGB;
|
||||
|
||||
@@ -113,28 +113,3 @@ esp_err_t led_driver_set_temperature(led_driver_handle_t handle, uint32_t temper
|
||||
hsv_to_rgb(current_HS, brightness, &mRGB);
|
||||
return led_driver_set_RGB(handle);
|
||||
}
|
||||
|
||||
bool led_driver_get_power(led_driver_handle_t handle)
|
||||
{
|
||||
return current_power;
|
||||
}
|
||||
|
||||
uint8_t led_driver_get_brightness(led_driver_handle_t handle)
|
||||
{
|
||||
return current_brightness;
|
||||
}
|
||||
|
||||
uint16_t led_driver_get_hue(led_driver_handle_t handle)
|
||||
{
|
||||
return current_HS.hue;
|
||||
}
|
||||
|
||||
uint8_t led_driver_get_saturation(led_driver_handle_t handle)
|
||||
{
|
||||
return current_HS.saturation;
|
||||
}
|
||||
|
||||
uint32_t led_driver_get_temperature(led_driver_handle_t handle)
|
||||
{
|
||||
return current_temp;
|
||||
}
|
||||
|
||||
@@ -97,30 +97,51 @@ esp_err_t app_driver_attribute_update(uint16_t endpoint_id, uint32_t cluster_id,
|
||||
return err;
|
||||
}
|
||||
|
||||
esp_err_t app_driver_attribute_set_defaults()
|
||||
esp_err_t app_driver_light_set_defaults(uint16_t endpoint_id)
|
||||
{
|
||||
/* Get the default value (current value) from esp_matter and update the app_driver */
|
||||
esp_err_t err = ESP_OK;
|
||||
void *priv_data = endpoint::get_priv_data(endpoint_id);
|
||||
led_driver_handle_t handle = (led_driver_handle_t)priv_data;
|
||||
node_t *node = node::get();
|
||||
endpoint_t *endpoint = endpoint::get_first(node);
|
||||
while (endpoint) {
|
||||
uint16_t endpoint_id = endpoint::get_id(endpoint);
|
||||
cluster_t *cluster = cluster::get_first(endpoint);
|
||||
while (cluster) {
|
||||
uint32_t cluster_id = cluster::get_id(cluster);
|
||||
attribute_t *attribute = attribute::get_first(cluster);
|
||||
while (attribute) {
|
||||
uint32_t attribute_id = attribute::get_id(attribute);
|
||||
esp_matter_attr_val_t val = esp_matter_invalid(NULL);
|
||||
err |= attribute::get_val(attribute, &val);
|
||||
void *priv_data = endpoint::get_priv_data(endpoint_id);
|
||||
err |= app_driver_attribute_update(endpoint_id, cluster_id, attribute_id, &val, priv_data);
|
||||
attribute = attribute::get_next(attribute);
|
||||
}
|
||||
cluster = cluster::get_next(cluster);
|
||||
}
|
||||
endpoint = endpoint::get_next(endpoint);
|
||||
endpoint_t *endpoint = endpoint::get(node, endpoint_id);
|
||||
cluster_t *cluster = NULL;
|
||||
attribute_t *attribute = NULL;
|
||||
esp_matter_attr_val_t val = esp_matter_invalid(NULL);
|
||||
|
||||
/* Setting brightness */
|
||||
cluster = cluster::get(endpoint, LevelControl::Id);
|
||||
attribute = attribute::get(cluster, LevelControl::Attributes::CurrentLevel::Id);
|
||||
attribute::get_val(attribute, &val);
|
||||
err |= app_driver_light_set_brightness(handle, &val);
|
||||
|
||||
/* Setting color */
|
||||
cluster = cluster::get(endpoint, ColorControl::Id);
|
||||
attribute = attribute::get(cluster, ColorControl::Attributes::ColorMode::Id);
|
||||
attribute::get_val(attribute, &val);
|
||||
if (val.val.u8 == EMBER_ZCL_COLOR_MODE_CURRENT_HUE_AND_CURRENT_SATURATION) {
|
||||
/* Setting hue */
|
||||
attribute = attribute::get(cluster, ColorControl::Attributes::CurrentHue::Id);
|
||||
attribute::get_val(attribute, &val);
|
||||
err |= app_driver_light_set_hue(handle, &val);
|
||||
/* Setting saturation */
|
||||
attribute = attribute::get(cluster, ColorControl::Attributes::CurrentSaturation::Id);
|
||||
attribute::get_val(attribute, &val);
|
||||
err |= app_driver_light_set_saturation(handle, &val);
|
||||
} else if (val.val.u8 == EMBER_ZCL_COLOR_MODE_COLOR_TEMPERATURE) {
|
||||
/* Setting temperature */
|
||||
attribute = attribute::get(cluster, ColorControl::Attributes::ColorTemperature::Id);
|
||||
attribute::get_val(attribute, &val);
|
||||
err |= app_driver_light_set_temperature(handle, &val);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Color mode not supported");
|
||||
}
|
||||
|
||||
/* Setting power */
|
||||
cluster = cluster::get(endpoint, OnOff::Id);
|
||||
attribute = attribute::get(cluster, OnOff::Attributes::OnOff::Id);
|
||||
attribute::get_val(attribute, &val);
|
||||
err |= app_driver_light_set_power(handle, &val);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
@@ -132,7 +153,7 @@ void *app_driver_light_init()
|
||||
return (void *)handle;
|
||||
}
|
||||
|
||||
void *app_driver_switch_init()
|
||||
void *app_driver_button_init()
|
||||
{
|
||||
/* Initialize button */
|
||||
button_config_t config = button_driver_get_config();
|
||||
|
||||
@@ -75,8 +75,8 @@ extern "C" void app_main()
|
||||
|
||||
/* Initialize driver */
|
||||
void *light_handle = app_driver_light_init();
|
||||
void *switch_handle = app_driver_switch_init();
|
||||
app_reset_button_register(switch_handle);
|
||||
void *button_handle = app_driver_button_init();
|
||||
app_reset_button_register(button_handle);
|
||||
|
||||
/* Create a Matter node */
|
||||
node::config_t node_config;
|
||||
@@ -84,7 +84,10 @@ extern "C" void app_main()
|
||||
|
||||
color_temperature_light::config_t light_config;
|
||||
light_config.on_off.on_off = DEFAULT_POWER;
|
||||
light_config.on_off.lighting.start_up_on_off = DEFAULT_POWER;
|
||||
light_config.level_control.current_level = DEFAULT_BRIGHTNESS;
|
||||
light_config.level_control.lighting.start_up_current_level = DEFAULT_BRIGHTNESS;
|
||||
light_config.color_control.color_mode = EMBER_ZCL_COLOR_MODE_COLOR_TEMPERATURE;
|
||||
endpoint_t *endpoint = color_temperature_light::create(node, &light_config, ENDPOINT_FLAG_NONE, light_handle);
|
||||
|
||||
/* These node and endpoint handles can be used to create/add other endpoints and clusters. */
|
||||
@@ -102,9 +105,6 @@ extern "C" void app_main()
|
||||
hue_saturation_config.current_saturation = DEFAULT_SATURATION;
|
||||
cluster::color_control::feature::hue_saturation::add(cluster, &hue_saturation_config);
|
||||
|
||||
/* Initialize driver defaults */
|
||||
app_driver_attribute_set_defaults();
|
||||
|
||||
/* Matter start */
|
||||
err = esp_matter::start(app_event_cb);
|
||||
if (err != ESP_OK) {
|
||||
@@ -112,6 +112,9 @@ extern "C" void app_main()
|
||||
}
|
||||
app_qrcode_print();
|
||||
|
||||
/* Starting driver with default values */
|
||||
app_driver_light_set_defaults(light_endpoint_id);
|
||||
|
||||
#if CONFIG_ENABLE_CHIP_SHELL
|
||||
esp_matter_console_diagnostics_register_commands();
|
||||
esp_matter_console_init();
|
||||
|
||||
@@ -38,14 +38,14 @@
|
||||
*/
|
||||
void *app_driver_light_init();
|
||||
|
||||
/** Initialize the switch driver
|
||||
/** Initialize the button driver
|
||||
*
|
||||
* This initializes the switch driver associated with the selected board.
|
||||
* This initializes the button driver associated with the selected board.
|
||||
*
|
||||
* @return Handle on success.
|
||||
* @return NULL in case of failure.
|
||||
*/
|
||||
void *app_driver_switch_init();
|
||||
void *app_driver_button_init();
|
||||
|
||||
/** Driver Update
|
||||
*
|
||||
@@ -63,11 +63,13 @@ void *app_driver_switch_init();
|
||||
esp_err_t app_driver_attribute_update(uint16_t endpoint_id, uint32_t cluster_id, uint32_t attribute_id,
|
||||
esp_matter_attr_val_t *val, void *priv_data);
|
||||
|
||||
/** Set driver defaults
|
||||
/** Set defaults for light driver
|
||||
*
|
||||
* Set the attribute drivers to their default values from the created data model.
|
||||
*
|
||||
* @param[in] endpoint_id Endpoint ID of the driver.
|
||||
*
|
||||
* @return ESP_OK on success.
|
||||
* @return error in case of failure.
|
||||
*/
|
||||
esp_err_t app_driver_attribute_set_defaults();
|
||||
esp_err_t app_driver_light_set_defaults(uint16_t endpoint_id);
|
||||
|
||||
@@ -136,33 +136,6 @@ esp_err_t app_driver_attribute_update(uint16_t endpoint_id, uint32_t cluster_id,
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
esp_err_t app_driver_attribute_set_defaults()
|
||||
{
|
||||
/* Get the default value (current value) from esp_matter and update the app_driver */
|
||||
esp_err_t err = ESP_OK;
|
||||
node_t *node = node::get();
|
||||
endpoint_t *endpoint = endpoint::get_first(node);
|
||||
while (endpoint) {
|
||||
uint16_t endpoint_id = endpoint::get_id(endpoint);
|
||||
cluster_t *cluster = cluster::get_first(endpoint);
|
||||
while (cluster) {
|
||||
uint32_t cluster_id = cluster::get_id(cluster);
|
||||
attribute_t *attribute = attribute::get_first(cluster);
|
||||
while (attribute) {
|
||||
uint32_t attribute_id = attribute::get_id(attribute);
|
||||
esp_matter_attr_val_t val = esp_matter_invalid(NULL);
|
||||
err |= attribute::get_val(attribute, &val);
|
||||
void *priv_data = endpoint::get_priv_data(endpoint_id);
|
||||
err |= app_driver_attribute_update(endpoint_id, cluster_id, attribute_id, &val, priv_data);
|
||||
attribute = attribute::get_next(attribute);
|
||||
}
|
||||
cluster = cluster::get_next(cluster);
|
||||
}
|
||||
endpoint = endpoint::get_next(endpoint);
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
void *app_driver_switch_init()
|
||||
{
|
||||
/* Initialize button */
|
||||
|
||||
@@ -35,12 +35,3 @@ void *app_driver_switch_init();
|
||||
*/
|
||||
esp_err_t app_driver_attribute_update(uint16_t endpoint_id, uint32_t cluster_id, uint32_t attribute_id,
|
||||
esp_matter_attr_val_t *val, void *priv_data);
|
||||
|
||||
/** Set driver defaults
|
||||
*
|
||||
* Set the attribute drivers to their default values from the created data model.
|
||||
*
|
||||
* @return ESP_OK on success.
|
||||
* @return error in case of failure.
|
||||
*/
|
||||
esp_err_t app_driver_attribute_set_defaults();
|
||||
|
||||
@@ -95,53 +95,57 @@ esp_err_t app_driver_attribute_update(uint16_t endpoint_id, uint32_t cluster_id,
|
||||
return err;
|
||||
}
|
||||
|
||||
esp_err_t app_driver_attribute_set_defaults()
|
||||
esp_err_t app_driver_light_set_defaults(uint16_t endpoint_id)
|
||||
{
|
||||
/* When using static endpoints, i.e. using the data model from zap-generated, this needs to be done
|
||||
after esp_matter::start() */
|
||||
/* Get the default value (current value) from matter submodule and update the app_driver */
|
||||
esp_err_t err = ESP_OK;
|
||||
led_driver_handle_t handle = (led_driver_handle_t)light_handle;
|
||||
uint8_t value;
|
||||
uint16_t value_u16;
|
||||
uint16_t endpoint_id = 0;
|
||||
uint32_t cluster_id = 0;
|
||||
uint32_t attribute_id = 0;
|
||||
esp_matter_attr_val_t val = esp_matter_invalid(NULL);
|
||||
|
||||
endpoint_id = light_endpoint_id;
|
||||
cluster_id = OnOff::Id;
|
||||
attribute_id = OnOff::Attributes::OnOff::Id;
|
||||
attribute::get_val_raw(endpoint_id, cluster_id, attribute_id, &value, sizeof(uint8_t));
|
||||
val = esp_matter_bool(value);
|
||||
err |= app_driver_attribute_update(endpoint_id, cluster_id, attribute_id, &val, light_handle);
|
||||
|
||||
endpoint_id = light_endpoint_id;
|
||||
/* Setting brightness */
|
||||
cluster_id = LevelControl::Id;
|
||||
attribute_id = LevelControl::Attributes::CurrentLevel::Id;
|
||||
attribute::get_val_raw(endpoint_id, cluster_id, attribute_id, &value, sizeof(uint8_t));
|
||||
val = esp_matter_uint8(value);
|
||||
err |= app_driver_attribute_update(endpoint_id, cluster_id, attribute_id, &val, light_handle);
|
||||
err |= app_driver_light_set_brightness(handle, &val);
|
||||
|
||||
endpoint_id = light_endpoint_id;
|
||||
/* Setting color */
|
||||
cluster_id = ColorControl::Id;
|
||||
attribute_id = ColorControl::Attributes::CurrentHue::Id;
|
||||
attribute::get_val_raw(endpoint_id, cluster_id, attribute_id, &value, sizeof(uint8_t));
|
||||
val = esp_matter_uint8(value);
|
||||
err |= app_driver_attribute_update(endpoint_id, cluster_id, attribute_id, &val, light_handle);
|
||||
if (value == EMBER_ZCL_COLOR_MODE_CURRENT_HUE_AND_CURRENT_SATURATION) {
|
||||
/* Setting hue */
|
||||
attribute_id = ColorControl::Attributes::CurrentHue::Id;
|
||||
attribute::get_val_raw(endpoint_id, cluster_id, attribute_id, &value, sizeof(uint8_t));
|
||||
val = esp_matter_uint8(value);
|
||||
err |= app_driver_light_set_hue(handle, &val);
|
||||
/* Setting saturation */
|
||||
attribute_id = ColorControl::Attributes::CurrentSaturation::Id;
|
||||
attribute::get_val_raw(endpoint_id, cluster_id, attribute_id, &value, sizeof(uint8_t));
|
||||
val = esp_matter_uint8(value);
|
||||
err |= app_driver_light_set_saturation(handle, &val);
|
||||
} else if (value == EMBER_ZCL_COLOR_MODE_COLOR_TEMPERATURE) {
|
||||
/* Setting temperature */
|
||||
attribute_id = ColorControl::Attributes::ColorTemperature::Id;
|
||||
attribute::get_val_raw(endpoint_id, cluster_id, attribute_id, (uint8_t *)&value_u16, sizeof(uint16_t));
|
||||
val = esp_matter_uint16(value_u16);
|
||||
err |= app_driver_light_set_temperature(handle, &val);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Color mode not supported");
|
||||
}
|
||||
|
||||
endpoint_id = light_endpoint_id;
|
||||
cluster_id = ColorControl::Id;
|
||||
attribute_id = ColorControl::Attributes::CurrentSaturation::Id;
|
||||
/* Setting power */
|
||||
cluster_id = OnOff::Id;
|
||||
attribute_id = OnOff::Attributes::OnOff::Id;
|
||||
attribute::get_val_raw(endpoint_id, cluster_id, attribute_id, &value, sizeof(uint8_t));
|
||||
val = esp_matter_uint8(value);
|
||||
err |= app_driver_attribute_update(endpoint_id, cluster_id, attribute_id, &val, light_handle);
|
||||
|
||||
endpoint_id = light_endpoint_id;
|
||||
cluster_id = ColorControl::Id;
|
||||
attribute_id = ColorControl::Attributes::ColorTemperature::Id;
|
||||
attribute::get_val_raw(endpoint_id, cluster_id, attribute_id, (uint8_t *)&value_u16, sizeof(uint16_t));
|
||||
val = esp_matter_uint16(value_u16);
|
||||
err |= app_driver_attribute_update(endpoint_id, cluster_id, attribute_id, &val, light_handle);
|
||||
val = esp_matter_bool(value);
|
||||
err |= app_driver_light_set_power(handle, &val);
|
||||
|
||||
return err;
|
||||
}
|
||||
@@ -154,7 +158,7 @@ void *app_driver_light_init()
|
||||
return (void *)handle;
|
||||
}
|
||||
|
||||
void *app_driver_switch_init()
|
||||
void *app_driver_button_init()
|
||||
{
|
||||
/* Initialize button */
|
||||
button_config_t config = button_driver_get_config();
|
||||
|
||||
@@ -66,8 +66,8 @@ extern "C" void app_main()
|
||||
|
||||
/* Initialize driver */
|
||||
light_handle = app_driver_light_init();
|
||||
void *switch_handle = app_driver_switch_init();
|
||||
app_reset_button_register(switch_handle);
|
||||
void *button_handle = app_driver_button_init();
|
||||
app_reset_button_register(button_handle);
|
||||
|
||||
/* Initialize matter callback */
|
||||
attribute::set_callback(app_attribute_update_cb);
|
||||
@@ -80,7 +80,8 @@ extern "C" void app_main()
|
||||
}
|
||||
app_qrcode_print();
|
||||
|
||||
app_driver_attribute_set_defaults();
|
||||
/* Starting driver with default values */
|
||||
app_driver_light_set_defaults(light_endpoint_id);
|
||||
|
||||
#if CONFIG_ENABLE_CHIP_SHELL
|
||||
esp_matter_console_diagnostics_register_commands();
|
||||
|
||||
@@ -32,14 +32,14 @@
|
||||
*/
|
||||
void *app_driver_light_init();
|
||||
|
||||
/** Initialize the switch driver
|
||||
/** Initialize the button driver
|
||||
*
|
||||
* This initializes the switch driver associated with the selected board.
|
||||
* This initializes the button driver associated with the selected board.
|
||||
*
|
||||
* @return Handle on success.
|
||||
* @return NULL in case of failure.
|
||||
*/
|
||||
void *app_driver_switch_init();
|
||||
void *app_driver_button_init();
|
||||
|
||||
/** Driver Update
|
||||
*
|
||||
@@ -57,13 +57,15 @@ void *app_driver_switch_init();
|
||||
esp_err_t app_driver_attribute_update(uint16_t endpoint_id, uint32_t cluster_id, uint32_t attribute_id,
|
||||
esp_matter_attr_val_t *val, void *priv_data);
|
||||
|
||||
/** Set driver defaults
|
||||
/** Set defaults for light driver
|
||||
*
|
||||
* Set the attribute drivers to their default values.
|
||||
* This API should be called after esp_matter::start() because, for zap data model, the attribute defaults are a part
|
||||
* of zap-generated and they are initialized in esp_matter::start().
|
||||
*
|
||||
* @param[in] endpoint_id Endpoint ID of the driver.
|
||||
*
|
||||
* @return ESP_OK on success.
|
||||
* @return error in case of failure.
|
||||
*/
|
||||
esp_err_t app_driver_attribute_set_defaults();
|
||||
esp_err_t app_driver_light_set_defaults(uint16_t endpoint_id);
|
||||
|
||||
Reference in New Issue
Block a user