Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions controllers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -229,8 +229,8 @@ switch:
id(flowerbed_sprinklers_standby_switch).turn_on();
#ifdef HAS_SCHEDULE
// Disable scheduled runs
lawn_sprinklers_disabled->turn_on();
flowerbed_sprinklers_disabled->turn_on();
lawn_sprinklers_disabled_aggregate->turn_on();
flowerbed_sprinklers_disabled_aggregate->turn_on();
#endif
// Turn off peripherals power (water level relay and alike)
id(${peripherals_power_off_relay_id}).turn_on();
Expand All @@ -240,9 +240,9 @@ switch:
id(flowerbed_sprinklers_standby_switch).turn_off();
id(lawn_sprinklers_standby_switch).turn_off();
#ifdef HAS_SCHEDULE
// Enabled scheduled runs
lawn_sprinklers_disabled->turn_off();
flowerbed_sprinklers_disabled->turn_off();
// Enable scheduled runs
lawn_sprinklers_disabled_aggregate->turn_off();
flowerbed_sprinklers_disabled_aggregate->turn_off();
#endif
// Enable peripherals power
id(${peripherals_power_off_relay_id}).turn_off();
Expand Down
23 changes: 19 additions & 4 deletions schedule.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,20 @@ switch:
optimistic: true
restore_mode: RESTORE_DEFAULT_OFF
entity_category: config
# Internal switch that aggregates state of winter mode and the user-visible
# switch above. The intermediate entity is needed to prevent winter mode from
# affecting the state of the schedule might have been set by the user
- platform: template
id: lawn_sprinklers_disabled_aggregate
internal: true
optimistic: true
restore_mode: DISABLED
lambda: |-
// Prevent enabling schedule if winter mode is active
if (id(winter_mode).state)
return true;
return {};
// Otherwise, follow the state of the switch above
return id(lawn_sprinklers_disabled).state;

# Schedule, flowerbed sprinklers
- platform: template
Expand Down Expand Up @@ -129,11 +138,17 @@ switch:
optimistic: true
restore_mode: RESTORE_DEFAULT_OFF
entity_category: config
# See comment above on its purpose
- platform: template
id: flowerbed_sprinklers_disabled_aggregate
internal: true
optimistic: true
restore_mode: DISABLED
lambda: |-
// See above
if (id(winter_mode).state)
return true;
return {};
return id(flowerbed_sprinklers_disabled).state;

number:
# Schedule, lawn sprinklers
Expand Down Expand Up @@ -203,7 +218,7 @@ dynamic_on_time:
fri: lawn_sprinklers_fri
sat: lawn_sprinklers_sat
sun: lawn_sprinklers_sun
disabled: lawn_sprinklers_disabled
disabled: lawn_sprinklers_disabled_aggregate
on_time:
- logger.log:
format: 'schedule: Waiting for water tank to be full'
Expand All @@ -229,7 +244,7 @@ dynamic_on_time:
fri: flowerbed_sprinklers_fri
sat: flowerbed_sprinklers_sat
sun: flowerbed_sprinklers_sun
disabled: flowerbed_sprinklers_disabled
disabled: flowerbed_sprinklers_disabled_aggregate
on_time:
- logger.log:
format: 'schedule: Waiting for water tank to be full'
Expand Down