@@ -66,11 +66,20 @@ switch:
6666 optimistic : true
6767 restore_mode : RESTORE_DEFAULT_OFF
6868 entity_category : config
69+ # Internal switch that aggregates state of winter mode and the user-visible
70+ # switch above. The intermediate entity is needed to prevent winter mode from
71+ # affecting the state of the schedule might have been set by the user
72+ - platform : template
73+ id : lawn_sprinklers_disabled_aggregate
74+ internal : true
75+ optimistic : true
76+ restore_mode : DISABLED
6977 lambda : |-
7078 // Prevent enabling schedule if winter mode is active
7179 if (id(winter_mode).state)
7280 return true;
73- return {};
81+ // Otherwise, follow the state of the switch above
82+ return id(lawn_sprinklers_disabled).state;
7483
7584 # Schedule, flowerbed sprinklers
7685 - platform : template
@@ -129,11 +138,17 @@ switch:
129138 optimistic : true
130139 restore_mode : RESTORE_DEFAULT_OFF
131140 entity_category : config
141+ # See comment above on its purpose
142+ - platform : template
143+ id : flowerbed_sprinklers_disabled_aggregate
144+ internal : true
145+ optimistic : true
146+ restore_mode : DISABLED
132147 lambda : |-
133148 // See above
134149 if (id(winter_mode).state)
135150 return true;
136- return {} ;
151+ return id(flowerbed_sprinklers_disabled).state ;
137152
138153number :
139154 # Schedule, lawn sprinklers
@@ -203,7 +218,7 @@ dynamic_on_time:
203218 fri : lawn_sprinklers_fri
204219 sat : lawn_sprinklers_sat
205220 sun : lawn_sprinklers_sun
206- disabled : lawn_sprinklers_disabled
221+ disabled : lawn_sprinklers_disabled_aggregate
207222 on_time :
208223 - logger.log :
209224 format : ' schedule: Waiting for water tank to be full'
@@ -229,7 +244,7 @@ dynamic_on_time:
229244 fri : flowerbed_sprinklers_fri
230245 sat : flowerbed_sprinklers_sat
231246 sun : flowerbed_sprinklers_sun
232- disabled : flowerbed_sprinklers_disabled
247+ disabled : flowerbed_sprinklers_disabled_aggregate
233248 on_time :
234249 - logger.log :
235250 format : ' schedule: Waiting for water tank to be full'
0 commit comments