diff --git a/examples/light/main/app_main.cpp b/examples/light/main/app_main.cpp index 95ac16c37..eb6e135b3 100644 --- a/examples/light/main/app_main.cpp +++ b/examples/light/main/app_main.cpp @@ -180,16 +180,14 @@ extern "C" void app_main() ESP_LOGI(TAG, "Light created with endpoint_id %d", light_endpoint_id); /* Mark deferred persistence for some attributes that might be changed rapidly */ - cluster_t *level_control_cluster = cluster::get(endpoint, LevelControl::Id); - attribute_t *current_level_attribute = attribute::get(level_control_cluster, LevelControl::Attributes::CurrentLevel::Id); + attribute_t *current_level_attribute = attribute::get(light_endpoint_id, LevelControl::Id, LevelControl::Attributes::CurrentLevel::Id); attribute::set_deferred_persistence(current_level_attribute); - cluster_t *color_control_cluster = cluster::get(endpoint, ColorControl::Id); - attribute_t *current_x_attribute = attribute::get(color_control_cluster, ColorControl::Attributes::CurrentX::Id); + attribute_t *current_x_attribute = attribute::get(light_endpoint_id, ColorControl::Id, ColorControl::Attributes::CurrentX::Id); attribute::set_deferred_persistence(current_x_attribute); - attribute_t *current_y_attribute = attribute::get(color_control_cluster, ColorControl::Attributes::CurrentY::Id); + attribute_t *current_y_attribute = attribute::get(light_endpoint_id, ColorControl::Id, ColorControl::Attributes::CurrentY::Id); attribute::set_deferred_persistence(current_y_attribute); - attribute_t *color_temp_attribute = attribute::get(color_control_cluster, ColorControl::Attributes::ColorTemperatureMireds::Id); + attribute_t *color_temp_attribute = attribute::get(light_endpoint_id, ColorControl::Id, ColorControl::Attributes::ColorTemperatureMireds::Id); attribute::set_deferred_persistence(color_temp_attribute); #if CHIP_DEVICE_CONFIG_ENABLE_THREAD && CHIP_DEVICE_CONFIG_ENABLE_WIFI_STATION diff --git a/examples/light_wifi_prov/main/app_driver.cpp b/examples/light_wifi_prov/main/app_driver.cpp index f66b37819..0983d212b 100644 --- a/examples/light_wifi_prov/main/app_driver.cpp +++ b/examples/light_wifi_prov/main/app_driver.cpp @@ -96,10 +96,7 @@ static void app_driver_button_toggle_cb(void *arg, void *data) uint32_t cluster_id = OnOff::Id; uint32_t attribute_id = OnOff::Attributes::OnOff::Id; - node_t *node = node::get(); - endpoint_t *endpoint = endpoint::get(node, endpoint_id); - cluster_t *cluster = cluster::get(endpoint, cluster_id); - attribute_t *attribute = attribute::get(cluster, attribute_id); + attribute_t *attribute = attribute::get(endpoint_id, cluster_id, attribute_id); esp_matter_attr_val_t val = esp_matter_invalid(NULL); attribute::get_val(attribute, &val); @@ -139,34 +136,29 @@ esp_err_t app_driver_light_set_defaults(uint16_t endpoint_id) esp_err_t err = ESP_OK; void *priv_data = endpoint::get_priv_data(endpoint_id); led_indicator_handle_t handle = (led_indicator_handle_t)priv_data; - node_t *node = node::get(); - 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 = attribute::get(endpoint_id, LevelControl::Id, 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 = attribute::get(endpoint_id, ColorControl::Id, ColorControl::Attributes::ColorMode::Id); attribute::get_val(attribute, &val); if (val.val.u8 == (uint8_t)ColorControl::ColorMode::kCurrentHueAndCurrentSaturation) { /* Setting hue */ - attribute = attribute::get(cluster, ColorControl::Attributes::CurrentHue::Id); + attribute = attribute::get(endpoint_id, ColorControl::Id, 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 = attribute::get(endpoint_id, ColorControl::Id, ColorControl::Attributes::CurrentSaturation::Id); attribute::get_val(attribute, &val); err |= app_driver_light_set_saturation(handle, &val); } else if (val.val.u8 == (uint8_t)ColorControl::ColorMode::kColorTemperature) { /* Setting temperature */ - attribute = attribute::get(cluster, ColorControl::Attributes::ColorTemperatureMireds::Id); + attribute = attribute::get(endpoint_id, ColorControl::Id, ColorControl::Attributes::ColorTemperatureMireds::Id); attribute::get_val(attribute, &val); err |= app_driver_light_set_temperature(handle, &val); } else { @@ -174,8 +166,7 @@ esp_err_t app_driver_light_set_defaults(uint16_t endpoint_id) } /* Setting power */ - cluster = cluster::get(endpoint, OnOff::Id); - attribute = attribute::get(cluster, OnOff::Attributes::OnOff::Id); + attribute = attribute::get(endpoint_id, OnOff::Id, OnOff::Attributes::OnOff::Id); attribute::get_val(attribute, &val); err |= app_driver_light_set_power(handle, &val); @@ -189,7 +180,7 @@ app_driver_handle_t app_driver_light_init() led_indicator_handle_t leds[CONFIG_BSP_LEDS_NUM]; ESP_ERROR_CHECK(bsp_led_indicator_create(leds, NULL, CONFIG_BSP_LEDS_NUM)); led_indicator_set_hsv(leds[0], SET_HSV(DEFAULT_HUE, DEFAULT_SATURATION, DEFAULT_BRIGHTNESS)); - + return (app_driver_handle_t)leds[0]; #else return NULL; diff --git a/examples/light_wifi_prov/main/app_main.cpp b/examples/light_wifi_prov/main/app_main.cpp index 6aa7167fe..f34597f0d 100644 --- a/examples/light_wifi_prov/main/app_main.cpp +++ b/examples/light_wifi_prov/main/app_main.cpp @@ -240,18 +240,16 @@ extern "C" void app_main() ESP_LOGI(TAG, "Light created with endpoint_id %d", light_endpoint_id); /* Mark deferred persistence for some attributes that might be changed rapidly */ - cluster_t *level_control_cluster = cluster::get(endpoint, LevelControl::Id); attribute_t *current_level_attribute = - attribute::get(level_control_cluster, LevelControl::Attributes::CurrentLevel::Id); + attribute::get(light_endpoint_id, LevelControl::Id, LevelControl::Attributes::CurrentLevel::Id); attribute::set_deferred_persistence(current_level_attribute); - cluster_t *color_control_cluster = cluster::get(endpoint, ColorControl::Id); - attribute_t *current_x_attribute = attribute::get(color_control_cluster, ColorControl::Attributes::CurrentX::Id); + attribute_t *current_x_attribute = attribute::get(light_endpoint_id, ColorControl::Id, ColorControl::Attributes::CurrentX::Id); attribute::set_deferred_persistence(current_x_attribute); - attribute_t *current_y_attribute = attribute::get(color_control_cluster, ColorControl::Attributes::CurrentY::Id); + attribute_t *current_y_attribute = attribute::get(light_endpoint_id, ColorControl::Id, ColorControl::Attributes::CurrentY::Id); attribute::set_deferred_persistence(current_y_attribute); attribute_t *color_temp_attribute = - attribute::get(color_control_cluster, ColorControl::Attributes::ColorTemperatureMireds::Id); + attribute::get(light_endpoint_id, ColorControl::Id, ColorControl::Attributes::ColorTemperatureMireds::Id); attribute::set_deferred_persistence(color_temp_attribute); err = esp_event_loop_create_default();