Automation diff
31 removals
71 lines
127 additions
112 lines
alias: Smart Irrigation
alias: Smart Irrigation
trigger:
trigger:
- platform: event
- platform: event
event_type: smart_irrigation_start_irrigation_all_zones
event_type: smart_irrigation_start_irrigation_all_zones
- platform: sun
event: sunrise
offset: "01:00:00"
- platform: time
at: "00:00:00"
id: midnight
condition:
condition:
- condition: state
- condition: state
entity_id: input_boolean.irrigation_enabled
entity_id: input_boolean.irrigation_enabled
state: "on"
state: "on"
action:
action:
- if:
- if:
- condition: template
- condition: trigger
value_template: >-
id:
{{states('input_number.number_of_days_since_last_irrigation')<states('input_number.irrigate_every')}}
- midnight
then:
then:
- service: input_number.increment
- service: input_boolean.turn_off
data: {}
data: {}
target:
target:
entity_id: input_number.number_of_days_since_last_irrigation
entity_id: input_boolean.irrigation_automation_ran_today
else:
else:
- repeat:
- if:
for_each:
- condition: state
- sensor: sensor.smart_irrigation_lawn_main_deck_sensors
entity_id: input_boolean.irrigation_automation_ran_today
vid: 0
state: "off"
zid: 1
then:
- sensor: sensor.smart_irrigation_lawn_tree
- if:
vid: 1
- condition: template
zid: 2
value_template: >-
- sensor: sensor.smart_irrigation_lawn_office
{{states('input_number.number_of_days_since_last_irrigation')<states('input_number.irrigate_every')}}
vid: 2
then:
zid: 3
- service: input_number.increment
- sensor: sensor.smart_irrigation_herbs
data: {}
vid: 3
target:
zid: 4
entity_id: input_number.number_of_days_since_last_irrigation
- sensor: sensor.smart_irrigation_greenhouse
else:
vid: 4
- service: input_number.set_value
zid: 5
target:
- sensor: sensor.smart_irrigation_side_house
entity_id: input_number.smart_irrigation_number_of_zones_enabled
vid: 5
data:
zid: 6
value: 0
sequence:
- repeat:
- if:
for_each:
- condition: template
- sensor: sensor.smart_irrigation_lawn_main_deck_owm
value_template: >-
vid: 0
{{state_attr(repeat.item.sensor,'State')=='disabled' or
zid: 1
states(repeat.item.sensor)|int()==0}}
- sensor: sensor.smart_irrigation_lawn_tree
then:
vid: 1
- service: switch.turn_off
zid: 2
target:
- sensor: sensor.smart_irrigation_lawn_office
entity_id: >-
vid: 2
{{'switch.sprinklercontroller_enable_zone_'+repeat.item.zid|string()}}
zid: 3
data: {}
- sensor: sensor.smart_irrigation_herbs
else:
vid: 3
- service: switch.turn_on
zid: 4
target:
- sensor: sensor.smart_irrigation_greenhouse
entity_id: >-
vid: 4
{{'switch.sprinklercontroller_enable_zone_'+repeat.item.zid|string()}}
zid: 5
data: {}
- sensor: sensor.smart_irrigation_side_house
- service: esphome.sprinklercontroller_set_valve_run_duration
vid: 5
data:
zid: 6
duration: "{{states(repeat.item.sensor)}}"
sequence:
valve: "{{repeat.item.vid}}"
- if:
- service: esphome.sprinklercontroller_start_full_cycle
- condition: template
data: {}
value_template: >-
- service: smart_irrigation.reset_all_buckets
{{state_attr(repeat.item.sensor,'State')=='disabled'
data: {}
or states(repeat.item.sensor)|int(default=0)==0}}
- service: input_number.set_value
then:
data:
- service: switch.turn_off
value: 0
target:
target:
entity_id: >-
entity_id: input_number.number_of_days_since_last_irrigation
{{'switch.sprinklercontroller_enable_zone_'+repeat.item.zid|string()}}
data: {}
else:
- service: switch.turn_on
target:
entity_id: >-
{{'switch.sprinklercontroller_enable_zone_'+repeat.item.zid|string()}}
data: {}
- service: input_number.increment
target:
entity_id: >-
input_number.smart_irrigation_number_of_zones_enabled
data: {}
- service: esphome.sprinklercontroller_set_valve_run_duration
data:
duration: "{{states(repeat.item.sensor)|int(default=0)}}"
valve: "{{repeat.item.vid}}"
- if:
- condition: template
value_template: >-
{{states('input_number.smart_irrigation_number_of_zones_enabled')|int(default=0)>0}}
then:
- service: esphome.sprinklercontroller_start_full_cycle
data: {}
enabled: true
- service: smart_irrigation.reset_all_buckets
data: {}
- service: input_number.set_value
data:
value: 0
target:
entity_id: input_number.number_of_days_since_last_irrigation
- service: input_boolean.turn_on
data: {}
target:
entity_id: input_boolean.irrigation_automation_ran_today
mode: single
mode: single