diff --git a/controllers.yaml b/controllers.yaml index a6bf0e9..d607064 100644 --- a/controllers.yaml +++ b/controllers.yaml @@ -220,10 +220,16 @@ switch: restore_mode: RESTORE_DEFAULT_OFF entity_category: config turn_on_action: + # Shutdown active operations on controllers if any + - lambda: !include + file: script_reset_controller.yaml + vars: + sprinkler: lawn_sprinklers + - lambda: !include + file: script_reset_controller.yaml + vars: + sprinkler: flowerbed_sprinklers - lambda: |- - // Shutdown active operations on controllers if any - id(lawn_sprinklers).shutdown(); - id(flowerbed_sprinklers).shutdown(); // Put controllers into standby id(lawn_sprinklers_standby_switch).turn_on(); id(flowerbed_sprinklers_standby_switch).turn_on(); @@ -263,8 +269,15 @@ button: - platform: template name: "Lawn sprinklers: shutdown" on_press: - - sprinkler.shutdown: lawn_sprinklers + - lambda: !include + file: script_reset_controller.yaml + vars: + sprinkler: lawn_sprinklers + - platform: template name: "Flowerbed sprinklers: shutdown" on_press: - - sprinkler.shutdown: flowerbed_sprinklers + - lambda: !include + file: script_reset_controller.yaml + vars: + sprinkler: flowerbed_sprinklers diff --git a/script_reset_controller.yaml b/script_reset_controller.yaml new file mode 100644 index 0000000..2f10cc9 --- /dev/null +++ b/script_reset_controller.yaml @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2025 Ilia Sotnikov +--- +!lambda |- + // `true` parameter clears any queued values as well + id(${sprinkler}).shutdown(true); + id(${sprinkler}).reset_resume();