# packages/bewaesserung/automations.yaml automation: - id: bewaesserung_taeglicher_check alias: "Bewässerung: Täglicher Check" description: > Täglich zur konfigurierten Uhrzeit: gießt wenn Min-Feuchte unter Schwelle und (optional) kein Regen vorhergesagt. mode: single trigger: - platform: time at: input_datetime.bewaesserung_uhrzeit condition: - condition: state entity_id: input_boolean.bewaesserung_aktiv state: "on" - condition: numeric_state entity_id: sensor.bewaesserung_min_feuchte below: input_number.bewaesserung_schwellwert action: # Regensperre: nur prüfen wenn aktiv - if: - condition: state entity_id: input_boolean.bewaesserung_regensperre state: "on" then: - action: weather.get_forecasts target: entity_id: weather.home data: type: daily response_variable: wetter - if: - condition: template value_template: > {{ (wetter['weather.home'].forecast | default([{}]) | first).precipitation | default(0) | float(0) > 0 }} then: - stop: "Regen vorhergesagt – Bewässerung übersprungen" # Pumpe einschalten - action: switch.turn_on target: entity_id: switch.hydro_one - action: notify.mobile_app_DEIN_GERAET data: title: "Bewässerung" message: > Bewässerung gestartet – Min-Feuchte: {{ states('sensor.bewaesserung_min_feuchte') }}% # Warten bis Zielfeuchte erreicht oder Timeout - wait_for_trigger: - trigger: template value_template: > {{ states('sensor.bewaesserung_min_feuchte') | float(0) >= states('input_number.bewaesserung_ziel_feuchte') | float(70) }} timeout: seconds: "{{ (states('input_number.bewaesserung_dauer') | int) * 60 }}" continue_on_timeout: true # Pumpe ausschalten - action: switch.turn_off target: entity_id: switch.hydro_one # Benachrichtigung: Ziel erreicht oder Timeout - if: - condition: template value_template: "{{ wait.completed }}" then: - action: notify.mobile_app_DEIN_GERAET data: title: "Bewässerung" message: > ✅ Fertig – Feuchte jetzt {{ states('sensor.bewaesserung_min_feuchte') }}% else: - action: notify.mobile_app_DEIN_GERAET data: title: "Bewässerung" message: > ⚠️ Timeout nach {{ states('input_number.bewaesserung_dauer') | int }} min – Feuchte erst {{ states('sensor.bewaesserung_min_feuchte') }}% # Wochenzähler erhöhen - action: counter.increment target: entity_id: counter.bewaesserung_woche - id: bewaesserung_failsafe alias: "Bewässerung: Failsafe-Abschaltung" description: "Pumpe zwangsweise abschalten wenn sie länger als 15 min läuft" mode: single trigger: - platform: state entity_id: switch.hydro_one to: "on" for: minutes: 15 action: - action: switch.turn_off target: entity_id: switch.hydro_one - action: notify.mobile_app_DEIN_GERAET data: title: "Bewässerung ALARM" message: "🚨 Pumpe-Notabschaltung! Lief länger als 15 Minuten." - id: bewaesserung_wochenreport alias: "Bewässerung: Wochenreport" description: "Jeden Sonntag um 20:00 Bericht und Zähler-Reset" mode: single trigger: - platform: time at: "20:00:00" condition: - condition: time weekday: - sun action: - action: notify.mobile_app_DEIN_GERAET data: title: "Bewässerung Wochenreport" message: > Diese Woche {{ states('counter.bewaesserung_woche') }}× gegossen. - action: counter.reset target: entity_id: counter.bewaesserung_woche