Files
esphome/irrigation.yaml
T

147 lines
3.4 KiB
YAML

esp8266:
board: esp8285
# Sonoff 4CH Pro R3
esphome:
name: irrigation
friendly_name: "Irrigation"
# Adding area prepends it to entity IDs. Ridiculous.
#area: "Living room"
logger:
packages:
mqtt: !include templates/mqtt.yaml
ota: !include templates/ota.yaml
wifi: !include templates/wifi.yaml
uptime: !include templates/uptime.yaml
restart: !include templates/restart.yaml
syslog: !include templates/syslog.yaml
binary_sensor:
- platform: gpio
name: "Garden Peach button"
entity_category: diagnostic
pin:
number: GPIO0
mode: INPUT_PULLUP
inverted: True
on_press:
- switch.toggle: "relay_1"
- platform: gpio
name: "Garden Berries button"
entity_category: diagnostic
pin:
number: GPIO9
mode: INPUT_PULLUP
inverted: True
on_press:
- switch.toggle: "relay_2"
- platform: gpio
name: "Shower button"
entity_category: diagnostic
pin:
number: GPIO10
mode: INPUT_PULLUP
inverted: True
on_press:
- switch.toggle: "relay_3"
- platform: gpio
name: "Button 4"
entity_category: diagnostic
pin:
number: GPIO14
mode: INPUT_PULLUP
inverted: True
on_press:
- switch.toggle: "relay_4"
- platform: template
name: "Garden Peach relay"
entity_category: diagnostic
lambda: 'return id(relay_1).state;'
- platform: template
name: "Garden Berries relay"
entity_category: diagnostic
lambda: 'return id(relay_2).state;'
- platform: template
name: "Shower relay"
entity_category: diagnostic
lambda: 'return id(relay_3).state;'
- platform: template
name: "Relay 4"
entity_category: diagnostic
lambda: 'return id(relay_4).state;'
switch:
- platform: gpio
pin: GPIO12
id: "relay_1"
internal: true
restore_mode: ALWAYS_OFF
- platform: gpio
pin: GPIO5
id: "relay_2"
internal: true
restore_mode: ALWAYS_OFF
- platform: gpio
name: "Shower"
pin: GPIO4
id: "relay_3"
restore_mode: ALWAYS_OFF
- platform: gpio
internal: true
pin: GPIO15
id: "relay_4"
restore_mode: ALWAYS_OFF
sprinkler:
- id: garden
main_switch:
name: "Garden"
id: garden_main
auto_advance_switch: "Garden Auto Advance"
valve_open_delay: 10s
valves:
- valve_switch: "Garden Peach"
valve_switch_id: relay_1
run_duration: 2h # also update in spreadsheet and below
- valve_switch: "Garden Berries"
valve_switch_id: relay_2
run_duration: 2h # also update in spreadsheet and below
button:
- platform: template
name: "Nightly cycle"
on_press:
- sprinkler.shutdown: garden
- sprinkler.clear_queued_valves: garden
# Pre-moisturizing
- sprinkler.queue_valve:
id: garden
valve_number: 0
run_duration: 10min
- sprinkler.queue_valve:
id: garden
valve_number: 1
run_duration: 10min
# Main watering (uses default 2h duration)
- sprinkler.queue_valve:
id: garden
valve_number: 0
run_duration: 110min # 2h-above, also update in spreadsheet
- sprinkler.queue_valve:
id: garden
valve_number: 1
run_duration: 110min # 2h-above, also update in spreadsheet
- switch.turn_on: garden_main
- sprinkler.start_from_queue: garden
status_led:
pin:
number: GPIO13
inverted: True