Wollte noch mal ein kleines Update geben, da mittlerweile alles läuft:
Zuerst einmal habe ich in Smart Irrigation 6 Zonen hinzugefügt, eine für jeden Bewässerungskreislauf (Rasen, Teich, Garage, Beet -Links, -Hinten, -Rechs).
Die sind gleich zu meinen Magnetventilen in ESPHome. Der ESP Code ist dann wie folgt:
esphome:
name: gartenbewasserung
friendly_name: Gartenbewässerung
esp8266:
board: d1_mini
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "******************************************************************************"
ota:
- platform: esphome
password: !secret ota_passwd
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Gartenbewasserung"
password: !secret wifi_password
captive_portal:
switch:
- platform: gpio
name: "Relay 1"
pin: D1
# Stellt sicher, dass die Relais beim neustart des ESPs ausgeschaltet sind
restore_mode: ALWAYS_OFF
id: rasen_sprinkler_valve
# Schaltet sicherheitshalber den GPIO-Switch nach 10 Minuten aus. Im Bedarfsfall die Dauer anpassen ;)
on_turn_on:
- delay: 600s
- switch.turn_off: rasen_sprinkler_valve
- platform: gpio
name: "Relay 2"
pin: D2
restore_mode: ALWAYS_OFF
id: teich_sprinkler_valve
on_turn_on:
- delay: 600s
- switch.turn_off: teich_sprinkler_valve
- platform: gpio
name: "Relay 3"
pin: D3
restore_mode: ALWAYS_OFF
id: garage_sprinkler_valve
on_turn_on:
- delay: 600s
- switch.turn_off: garage_sprinkler_valve
- platform: gpio
name: "Relay 4"
pin: D4
restore_mode: ALWAYS_OFF
id: links_sprinkler_valve
on_turn_on:
- delay: 600s
- switch.turn_off: links_sprinkler_valve
- platform: gpio
name: "Relay 5"
pin: D5
restore_mode: ALWAYS_OFF
id: hinten_sprinkler_valve
on_turn_on:
- delay: 600s
- switch.turn_off: hinten_sprinkler_valve
- platform: gpio
name: "Relay 6"
pin: D6
restore_mode: ALWAYS_OFF
id: rechts_sprinkler_valve
on_turn_on:
- delay: 600s
- switch.turn_off: rechts_sprinkler_valve
sensor:
- platform: wifi_signal # Reports the WiFi signal strength/RSSI in dB
name: "WiFi Signal dB"
id: wifi_signal_db
update_interval: 60s
entity_category: "diagnostic"
- platform: copy # Reports the WiFi signal strength in %
source_id: wifi_signal_db
name: "WiFi Signal Percent"
filters:
- lambda: return min(max(2 * (x + 100.0), 0.0), 100.0);
unit_of_measurement: "Signal %"
entity_category: "diagnostic"
sprinkler:
- id: garden_sprinkler_ctrlr
main_switch: "Garten Sprinkler"
auto_advance_switch: "Garten Sprinkler Auto Advance"
reverse_switch: "Garten Sprinkler Reverse"
multiplier_number: "Garten Sprinkler Multiplier"
repeat_number: "Garten Sprinkler Repeat"
valve_overlap: 5s
valves:
- valve_switch: "Rasen"
enable_switch: "Aktiviere Rasen"
run_duration_number: "Rasen Laufzeit"
valve_switch_id: rasen_sprinkler_valve
- valve_switch: "Teich"
enable_switch: "Aktiviere Teich"
run_duration_number: "Teich Laufzeit"
valve_switch_id: teich_sprinkler_valve
- valve_switch: "Garage"
enable_switch: "Aktiviere Garage"
run_duration_number: "Garage Laufzeit"
valve_switch_id: garage_sprinkler_valve
- valve_switch: "Beet Links"
enable_switch: "Aktiviere Beet Links"
run_duration_number: "Beet Links Laufzeit"
valve_switch_id: links_sprinkler_valve
- valve_switch: "Beet Hinten"
enable_switch: "Aktiviere Beet Hinten"
run_duration_number: "Beet Hinten Laufzeit"
valve_switch_id: hinten_sprinkler_valve
- valve_switch: "Beet Rechts"
enable_switch: "Aktiviere Beet Rechts"
run_duration_number: "Beet Rechts Laufzeit"
valve_switch_id: rechts_sprinkler_valve
button:
- platform: restart
name: "Garten Sprinkler neu starten"
(Code Credit an Simon42)
Danach brauchte ich noch 2 Automationen:
alias: Irrigation - Reset Buckets ESPHome
description: ""
triggers:
- entity_id:
- switch.gartenbewasserung_garten_sprinkler
from: "off"
to: "on"
for:
hours: 0
minutes: 1
seconds: 0
enabled: true
trigger: state
conditions: []
actions:
- data: {}
action: smart_irrigation.reset_all_buckets
mode: single
und
alias: Irrigation - Set Time & Run ESPHome
description: ""
triggers:
- trigger: sun
event: sunrise
offset: "-01:00:00"
conditions:
- condition: or
conditions:
- alias: " Rasen Daily Adjusted Run Time is above 60"
condition: numeric_state
entity_id: sensor.smart_irrigation_rasen
above: 60
- alias: " Teich Daily Adjusted Run Time is above 60"
condition: numeric_state
entity_id: sensor.smart_irrigation_teich
above: 60
- alias: " Garage Daily Adjusted Run Time is above 60"
condition: numeric_state
entity_id: sensor.smart_irrigation_garage
above: 60
- alias: " Beet Links Daily Adjusted Run Time is above 60"
condition: numeric_state
entity_id: sensor.smart_irrigation_beet_links
above: 60
- alias: " Beet Hinten Daily Adjusted Run Time is above 60"
condition: numeric_state
entity_id: sensor.smart_irrigation_beet_hinten
above: 60
- alias: " Beet Rechts Daily Adjusted Run Time is above 60"
condition: numeric_state
entity_id: sensor.smart_irrigation_beet_rechts
above: 60
actions:
- data:
value: "{{states('sensor.smart_irrigation_rasen')}}"
target:
entity_id: number.gartenbewasserung_rasen_laufzeit
action: number.set_value
- data:
value: "{{states('sensor.smart_irrigation_teich')}}"
target:
entity_id: number.gartenbewasserung_teich_laufzeit
action: number.set_value
- data:
value: "{{states('sensor.smart_irrigation_garage')}}"
target:
entity_id: number.gartenbewasserung_garage_laufzeit
action: number.set_value
- data:
value: "{{states('sensor.smart_irrigation_beet_links')}}"
target:
entity_id: number.gartenbewasserung_beet_links_laufzeit
action: number.set_value
- data:
value: "{{states('sensor.smart_irrigation_beet_hinten')}}"
target:
entity_id: number.gartenbewasserung_beet_hinten_laufzeit
action: number.set_value
- data:
value: "{{states('sensor.smart_irrigation_beet_rechts')}}"
target:
entity_id: number.gartenbewasserung_beet_rechts_laufzeit
action: number.set_value
- delay:
hours: 0
minutes: 0
seconds: 10
milliseconds: 0
- data: {}
target:
entity_id: switch.gartenbewasserung_garten_sprinkler
enabled: true
action: homeassistant.turn_on
mode: single
(Credits wieder an Simon!)
Last, but not least, will ich natürlich auch nen Dashboard dafür:
views:
- title: Home
type: panel
cards:
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- show_name: true
show_icon: true
type: button
tap_action:
action: toggle
entity: switch.gartenbewasserung_garten_sprinkler
icon: mdi:hydro-power
name: Bewässerungscomputer
- type: horizontal-stack
cards:
- type: gauge
entity: sensor.gartenbewasserung_wifi_signal_percent
name: WiFi
- show_name: false
show_icon: true
type: button
tap_action:
action: toggle
entity: button.gartenbewasserung_garten_sprinkler_neu_starten
- type: horizontal-stack
cards:
- type: gauge
entity: number.gartenbewasserung_garten_sprinkler_multiplier
min: 0
max: 5
name: Multi
- type: gauge
entity: number.gartenbewasserung_garten_sprinkler_repeat
min: 0
max: 5
name: Rep.
- show_name: false
show_icon: true
type: button
tap_action:
action: toggle
entity: switch.gartenbewasserung_garten_sprinkler_reverse
icon: mdi:keyboard-tab-reverse
- type: horizontal-stack
cards:
- type: horizontal-stack
cards:
- show_name: true
show_icon: true
type: button
tap_action:
action: toggle
icon: mdi:sprinkler
name: Rasen
entity: switch.gartenbewasserung_rasen
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: gauge
entity: number.gartenbewasserung_rasen_laufzeit
name: Laufzeit
min: 30
max: 600
needle: false
- show_name: false
show_icon: true
type: button
tap_action:
action: toggle
entity: switch.gartenbewasserung_aktiviere_rasen
icon: mdi:power
- type: horizontal-stack
cards:
- type: history-graph
entities:
- entity: switch.gartenbewasserung_rasen
name: Verl.
hours_to_show: 22
- type: horizontal-stack
cards:
- show_name: true
show_icon: true
type: button
tap_action:
action: toggle
icon: mdi:sprinkler
name: Teich
entity: switch.gartenbewasserung_teich
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: gauge
entity: number.gartenbewasserung_teich_laufzeit
name: Laufzeit
min: 30
max: 600
needle: false
- show_name: false
show_icon: true
type: button
tap_action:
action: toggle
entity: switch.gartenbewasserung_aktiviere_teich
icon: mdi:power
- type: horizontal-stack
cards:
- type: history-graph
entities:
- entity: switch.gartenbewasserung_teich
name: Verl.
hours_to_show: 22
- type: horizontal-stack
cards:
- show_name: true
show_icon: true
type: button
tap_action:
action: toggle
icon: mdi:sprinkler
name: Garage
entity: switch.gartenbewasserung_garage
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: gauge
entity: number.gartenbewasserung_garage_laufzeit
name: Laufzeit
min: 30
max: 600
needle: false
- show_name: false
show_icon: true
type: button
tap_action:
action: toggle
entity: switch.gartenbewasserung_aktiviere_garage
icon: mdi:power
- type: horizontal-stack
cards:
- type: history-graph
entities:
- entity: switch.gartenbewasserung_garage
name: Verl.
hours_to_show: 22
- type: horizontal-stack
cards:
- type: horizontal-stack
cards:
- show_name: true
show_icon: true
type: button
tap_action:
action: toggle
icon: mdi:sprinkler
name: Beet Links
entity: switch.gartenbewasserung_beet_links
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: gauge
entity: number.gartenbewasserung_beet_links_laufzeit
name: Laufzeit
min: 30
max: 600
needle: false
- show_name: false
show_icon: true
type: button
tap_action:
action: toggle
entity: switch.gartenbewasserung_aktiviere_beet_links
icon: mdi:power
- type: horizontal-stack
cards:
- type: history-graph
entities:
- entity: switch.gartenbewasserung_beet_links
name: Verl.
hours_to_show: 22
- type: horizontal-stack
cards:
- show_name: true
show_icon: true
type: button
tap_action:
action: toggle
icon: mdi:sprinkler
name: Beet Hinten
entity: switch.gartenbewasserung_beet_hinten
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: gauge
entity: number.gartenbewasserung_beet_hinten_laufzeit
name: Laufzeit
min: 30
max: 600
needle: false
- show_name: false
show_icon: true
type: button
tap_action:
action: toggle
entity: switch.gartenbewasserung_aktiviere_beet_hinten
icon: mdi:power
- type: horizontal-stack
cards:
- type: history-graph
entities:
- entity: switch.gartenbewasserung_beet_hinten
name: Verl.
hours_to_show: 22
- type: horizontal-stack
cards:
- show_name: true
show_icon: true
type: button
tap_action:
action: toggle
icon: mdi:sprinkler
name: Beet Rechts
entity: switch.gartenbewasserung_beet_rechts
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: gauge
entity: number.gartenbewasserung_beet_rechts_laufzeit
name: Laufzeit
min: 30
max: 600
needle: false
- show_name: false
show_icon: true
type: button
tap_action:
action: toggle
entity: switch.gartenbewasserung_aktiviere_beet_rechts
icon: mdi:power
- type: horizontal-stack
cards:
- type: history-graph
entities:
- entity: switch.gartenbewasserung_beet_rechts
name: Verl.
hours_to_show: 22
Und damit ist das Projekt erstmal beendet. 
Möchte mich hier nochmal bei Simon bedanken für seine Arbeit und das Sharen des Codes, was wirklich eine sehr große Hilfe war!