[climate] Return std::string_view from get_custom_fan_mode() and get_custom_preset()

This commit is contained in:
J. Nick Koston
2026-01-09 07:43:52 -10:00
parent 6dcbc24864
commit 265bc55c28
+20
View File
@@ -5,6 +5,7 @@ sensor:
climate:
- platform: thermostat
id: test_thermostat
name: Test Thermostat
sensor: thermostat_sensor
humidity_sensor: thermostat_sensor
@@ -15,6 +16,25 @@ climate:
- name: Away
default_target_temperature_low: 16°C
default_target_temperature_high: 20°C
custom_preset:
- name: Eco Mode
default_target_temperature_low: 16°C
default_target_temperature_high: 22°C
- name: Sleep Mode
default_target_temperature_low: 17°C
default_target_temperature_high: 21°C
on_state:
- lambda: |-
// Test get_custom_preset() returns std::string_view
if (id(test_thermostat).has_custom_preset()) {
auto preset = id(test_thermostat).get_custom_preset();
// Compare with string literal using ==
if (preset == "Eco Mode") {
ESP_LOGD("test", "Preset is Eco Mode");
}
// Log using %.*s format for string_view
ESP_LOGD("test", "Custom preset: %.*s", (int) preset.size(), preset.data());
}
idle_action:
- logger.log: idle_action
cool_action: