From bd3d4be315853bd179e33da0b091cf78e79eddae Mon Sep 17 00:00:00 2001 From: manuel Date: Wed, 8 Apr 2026 00:24:22 +0200 Subject: update toilet light control --- esphome/config/toiletlight.yaml | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) (limited to 'esphome/config/toiletlight.yaml') diff --git a/esphome/config/toiletlight.yaml b/esphome/config/toiletlight.yaml index 1b1de4c..35b968e 100644 --- a/esphome/config/toiletlight.yaml +++ b/esphome/config/toiletlight.yaml @@ -18,7 +18,7 @@ esp32: CONFIG_LOG_DEFAULT_LEVEL_NONE: y preferences: - flash_write_interval: 30s + flash_write_interval: 10s # Enable logging logger: @@ -132,6 +132,10 @@ output: # update_interval: 1s globals: + - id: saved_values + type: bool + restore_value: yes + initial_value: 'false' - id: saved_brightness type: float restore_value: yes @@ -151,18 +155,22 @@ binary_sensor: condition: lambda: 'return x.has_value() && x.value();' then: - - globals.set: - id: saved_brightness - value: !lambda 'return id(toilet).current_values.get_brightness();' - - globals.set: - id: saved_color_temp - value: !lambda 'return id(toilet).current_values.get_color_temperature();' + - lambda: |- + if (!id(saved_values)) { + id(saved_brightness) = id(toilet).current_values.get_brightness(); + id(saved_color_temp) = id(toilet).current_values.get_color_temperature(); + id(saved_values) = true; + } - light.turn_on: id: toilet brightness: 1% color_temperature: 3000 K else: - - light.turn_on: - id: toilet - brightness: !lambda 'return id(saved_brightness);' - color_temperature: !lambda 'return id(saved_color_temp);' + - lambda: |- + if (id(saved_values)) { + auto call = id(toilet).turn_on(); + call.set_brightness(id(saved_brightness)); + call.set_color_temperature(id(saved_color_temp)); + call.perform(); + id(saved_values) = false; + } -- cgit v1.2.3