Am Beispiel einer automatischen Gartenbewässerung

Automationen mit mehreren Schaltzeiten in Home Assistant erstellen

Automationen sind der Kern einer guten Smarthome Steuerung. Am Beispiel einer einfachen Gartenbewässerung zeige ich, wie man mehrere Schaltzeiten und Bedingungen verbindet.
Bitte beachte: Dieser Beitrag ist mehr als 3 Jahre alt. Manche Links, Preise, Produkte und Aussagen sind vielleicht nicht mehr aktuell!

Ich kann es nicht oft genug wiederholen: Eine App auf dem Smartphone, die eine Lampe oder was auch immer schalten kann, macht noch lange kein Smarthome, denn das ist nur ein verlagerter Schalter. Da jeder Hersteller seine eigene App hat, ist das sogar noch viel umständlicher. Smarthome-Hubs wie Home Assistant verbinden die unterschiedlichsten Systeme und Anwendungen unter einer Oberfläche und sorgen für wirklich smarte Funktionen.

Baustelle vor dem Bürofenster – die große Terrasse wird neu gepflastert

Wir haben seit über 6 Wochen eine Baustelle rund ums Haus, da wir unsere Terrasse, Einfahrten etc. erneuern lassen. Dabei kam auch heraus, dass die Fallrohre unserer Dachrinnen nicht mehr okay sind und ausgetauscht werden müssen. Unser Haus sieht zwar wie ein moderner Neubau aus, steht aber seit 1965.

Die Regenwasserzisterne
Und das 2,5 Meter tiefe Loch dafür.

Da gab es noch Rohre aus Ton und die sind irgendwann einmal kaputt. Da sowieso alles aufgerissen und der Bagger schon da war, war der Aufwand dafür überschaubar, daher haben wir uns auch gleich noch eine Regenwasserzisterne einbuddeln lassen, die das gesamte Regenwasser der großen Dach-Südseite auffangen kann. Durch die starken Regenfälle der letzten Tage ist die auch schon bis oben hin voll – immerhin 5.000 Liter. Zwei weitere Behälter (auf dem Bild oben rechts) waren schon von den Vorbesitzern hier und wurden versetzt. Auch diese fassen noch einmal gut 3.000 Liter und werden vom Garagendach gespeist.

Melde dich zu meinem Newsletter an!

Du kannst dich jederzeit abmelden und ich verspreche: Kein Spam!

Diese neue angelegte Fläche muss bewässert werden

Da dieses Regenwasser natürlich auch genutzt werden muss, installieren wir gerade eine automatische Bewässerung mit Versenkregnern und Wasserentnahmedosen von Gardena rund ums Haus. Dieses Jahr werden wir das zwar nicht mehr komplett umsetzen, aber es entstanden ein paar zusätzliche Flächen, die wir gerade frisch angesät haben und feucht gehalten werden wollen. Eine Tauchdruckpumpe war schon vorhanden und ein einfacher Regner sorgt mit einer ZigBee-Steckdose von Osram und einer Home Assistant Automation gerade dafür, dass der Grassamen die besten Voraussetzungen erhält.

Lohnt sich eine Regenwasserzisterne?

Eine Regenwasserzisterne ist eine tolle Sache, da man das Regenwasser in Trockenzeiten nicht nur für die Gartenbewässerung, sondern auch auf Reinigungsarbeiten etc. nutzen kann. Zwar war der Sommer dieses Jahr sehr nass, die letzten beiden Jahre aber extrem trocken, sodass eine Bewässerung notwendig wird, wenn man einen grünen Garten möchte. Eine Brunnenbohrung ist bei uns aus geografischen Gründen nicht wirtschaftlich möglich.

Die Kosten für eine Regenwasserzisterne sind allerdings erheblich. Eine Flachzisterne mit 5.000 Litern Kapazität und Vorfilter kostet in guter Qualität (unsere kauften wir bei der BayWa) 2.500 Euro. Für Aushubarbeiten, Kies und Sand, Einbau, Anschluss bzw. Erweiterung der Rohre, Tauchdruckpumpe usw. kommt mindestens noch einmal der gleiche Betrag hinzu.

Regenwasser vom Dach im Vorfilter der Zisterne

In unserer Region muss man mit 15 Liter pro Quadratmeter und Woche rechnen. Die zu bewässernde Fläche beträgt bei uns ca. 500 qm und muss im Schnitt 16 Wochen bewässert werden. 15 l * 500 qm *16 Wochen = 120.000 Liter = 120 qm Wasser pro Saison. Bei uns gibt es keinen gesonderten Tarif für Gartenwasser, daher würden wir hier 580 Euro pro Jahr nur für die Gartenbewässerung ausgeben, wenn wir diese optimal machen möchten. Die Zisterne würde sich damit nach gut 10 Jahren rechnen. Da bei uns Bagger etc. ohnehin schon da waren, fällt die Rechnung deutlich besser aus.

Betrachtet man die Entwicklung der Temperaturen durch den Klimawandel, dürfte der Wasserbedarf in den nächsten Jahren jedoch deutlich steigen und dann wird man froh sein, wenn man auf günstiges Regenwasser zurückgreifen kann. Sicher steigen dann nämlich auch die Kosten für Leitungswasser.


Mehrere Schaltzeiten in Home Assistant einstellen

Damit Rasen gut anwachsen kann, soll man ihn besser öfter, dafür kürzer bewässern. Tagsüber jede Stunde für 2-3 Minuten ist nach meinen Recherchen wohl optimal. Außerdem soll die Bewässerung ausgesetzt werden, wenn es regnet oder an diesem Tag schon mehr als 3 mm Niederschlag gegeben hat. Da wir mit unserer LCN-WIH bereits einen Regensensor auf dem Dach haben, kann man diesen auch gleich dafür einsetzen. Über die FineOffset Wetterstation (die unter zig Markennamen wie Bresser, Saintlogic oder dnt angeboten wird), ihren Niederschlagsmesser und WeeWX bekomme ich außerdem die stündliche und tägliche Regenmenge berichtet.

Fine Offset WH1080 Wetterstation
Die Wetterstation auf unserem Dach

Der geplante Ablauf ist also:

  • Schalte die Pumpe über die ZigBee Steckdose jede volle Stunde für 2 Minuten ein
  • aber nur wenn es aktuell nicht regnet
  • oder es heute schon mehr als 3 mm Niederschlag (= 3 Liter pro Quadratmeter) gab

Meine Osram ZigBee Steckdose heißt bei mir übrigens „Springer“, da sie immer dann zum Einsatz kommt, wenn ich vorübergehend eine bestimmte Funktion benötige.

Eine Automation mit einer einzigen Schaltzeit und den genannten Bedingungen lässt sich im visuellen Editor für Automationen zusammenklicken.

Home Assistant Automation mit mehreren Schaltzeiten
Automation anlegen und Namen geben
Home Assistant Automation mit mehreren Schaltzeiten
Mehrere Schaltzeiten als Auslöser der Automation als Liste in YAML
Home Assistant Automation mit mehreren Schaltzeiten
Erste Bedingung: Es darf gerade nicht regnen (vom LCN-Regensensor auf dem Dach)
Home Assistant Automation mit mehreren Schaltzeiten
Zweite Bedingung: Es darf nicht mehr als 0,3 cm Niederschlag gehabt haben – vom Regenmesser der FineOffset Wetterstation und WeeWX
Wenn alles zutrifft, wird der Dienst „switch.turn_on“ gestartet und die ZigBee-Steckdose „Springer“ aktiviert. Nach einer Verzögerung von 2 Minuten …
… wird der Dienst „switch.turn_off“ aufgerufen, der die Steckdose und damit die Pumpe wieder ausschaltet

Möchte man jedoch mehrere Schaltzeiten, muss man etwas YAML-Code einfügen. Praktischerweise gibt es in HA für den „Time“ Auslöser die Möglichkeit mehrere Zeiten als Liste anzugeben. Für die Aufgabe der Gartenbewässerung ist das ideal, da man hier selten andere Einstellungen benötigen wird.

alias: Bewässerung
description: ''
trigger:
  - platform: time
    at:
      - '7:00'
      - '8:00'
      - '9:00'
      - '10:00'
      - '11:00'
      - '12:00'
      - '13:00'
      - '14:00'
      - '15:00'
      - '16:00'
      - '17:00'
      - '18:00'
      - '19:00'
      - '20:00'
condition:
  - condition: state
    entity_id: binary_sensor.wih_regen
    state: 'off'
  - condition: numeric_state
    entity_id: sensor.weewx_niederschlag_heute_cm
    below: '0.3'
action:
  - service: switch.turn_on
    target:
      entity_id: switch.springer
  - delay:
      hours: 0
      minutes: 2
      seconds: 0
      milliseconds: 0
  - service: switch.turn_off
    target:
      entity_id: switch.springer
mode: single
Code-Sprache: YAML (yaml)

Ihr könnt die grundsätzliche Automation erst einmal über den visuellen Editor anlegen, da diese sehr komfortabel bei der Auswahl der Entitäten wie Schalter und Sensoren ist. Danach klickt ihr oben rechts in der Automation auf die drei Pünktchen und wählt „Als YAML bearbeiten“ aus. Damit lassen sich die Schaltzeiten wie oben dargestellt erweitern. Nachdem die Automatisierung gespeichert wurde, muss man unter Einstellungen -> Serversteuerung die Automationen neu laden, damit diese auch aktiv werden.

Frontend und Einstellung der Bewässerungsdauer über Helfer

Im Lovelace Frontend kann man einen Schalter für die Automation einbauen, mit dem man sie bei Bedarf auch deaktivieren kann. Ich habe auch einen Schalter für meine „Springer“ Steckdose, damit ich diese auch manuell schalten kann.

Ein Schalter, um die Automation deaktivieren zu können.

Damit könnte man auch eine automatische Deaktivierung der Bewässerung realisieren, wenn die Kamera Personen vor dem Hochbeet erkennt, damit diese nicht nass werden – mit Frigate und einer eigenen Zone für das Hochbeet wäre das kein Problem.

Außerdem wäre es praktisch, wenn man die Bewässerungsdauer im Frontend einstellen könnte. Dazu legt man sich unter Einstellungen -> Helfer einen Schieberegler an, mit dem man die Bewässerungsdauer in Minuten bestimmen kann.

Ein Helfer, um die Bewässerungsdauer individuell anpassen zu können. Minimal kann 1 Minute eingestellt werden, maximal 30 Minuten.

Um den Helfer mit der Zeiteinstellung in die Automation einbinden kann, bedarf es wieder etwas YAML, das die fest-codierte Verzögerungseinstellung ersetzt:

delay:
  minutes: '{{ states(''input_number.bewasserungsdauer'') | int  }}'
Code-Sprache: YAML (yaml)
Damit erfolgt die Einstellung der Bewässerungsdauer über den Helfer und kann im Frontend verändert werden

Den Helfer für die Bewässerungsdauer könnte man nun auch über den Dienst input_number manipulieren. So wäre eine weitere Automation denkbar, welche die Bewässerungsdauer in Abhängigkeit der Außentemperatur verlängert oder je nach Bodenfeuchte verkürzt – oder oder oder …

Welche Sensoren und Bedingungen ihr einfügt, bleibt euch natürlich selbst überlassen. Vielleicht habt ihr einen Bodenfeuchte-Sensor über ESPHome eingebunden (eine kleine Bauanleitung dazu folgt demnächst) oder wertet die Daten eines Wetterdienstes aus? Mit einem Füllstandssensor für die Zisterne könnte man die Bewässerungszeit verringern oder ganz abschalten etc. Es gibt jede Menge Möglichkeiten und natürlich beschränkt sich die Anwendung mehrerer Schaltzeiten nicht nur auf die Gartenbewässerung 😉

Melde dich zu meinem Newsletter an!

Du kannst dich jederzeit abmelden und ich verspreche: Kein Spam!


Die mit Sternchen (*) gekennzeichneten Verweise sind sogenannte Provision-Links. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen.Wenn du auf so einen Verweislink klickst und über diesen Link einkaufst, bekomme ich von deinem Einkauf eine Provision. Für dich verändert sich der Preis nicht und du unterstützt damit meine Arbeit. Preisänderungen und Irrtümer vorbehalten.

6 Kommentare

  1. Hallo, ich möchte mir für die manuelle Bewässerung auch die Bewässerungsdauer einbauen, den Helfer „Bewässerungsdauer“ habe ich angelegt, weiß aber nicht wohin der code soll?
    delay:
    minutes: ‚{{ states(“input_number.bewasserungsdauer“) | int }}‘

    LG

  2. Hallo, habe alles so nachgebaut und funktioniert. Toll, danke!!

    Allerdings hab ich den letzten part mit dem Schieberegler nicht kapiert.
    Den Regler hab ich angelegt aber wie bekomm ich den mit der Sutomation verbunden?
    Möchte das nämlich auch bei meinem Garagenlicht mit Bewegungsmelder anwenden?!

    LG

    • Du baust dir nach dem gleichen Schema einen Helfer „Beleuchtungsdauer“ oder so – was du ja schon gemacht hast.

      In deiner Automation für den Bewegungsmelder baust du dann auch wieder die Verzögerung für das Ausschalten im Stil:

      
      delay:
        minutes: '{{ states(''input_number.beleuchtungsdauer'') | int  }}'Code-Sprache: JavaScript (javascript)

      ein. Im Prinzip genau so wie bei der Bewässerungsdauer.

  3. Der Auslöser lässt sich auch ganz ohne YAML realisieren.
    Gehe alle 60 Minuten an, aber nur mit der nachfolgenden Bedingung, dass es nach 6:59 bzw. vor 20:01 ist.

    • Das ist vollkommen richtig. Mit der gezeigten Methode ist man allerdings flexibler, da man z. B. auch Pausen und unregelmäßige Intervalle einstellen kann. Im Zweifelsfall ist es auch etwas übersichtlicher und besser nachvollziehbar. Wie in vielen Dingen, gibt es auch bei Home Assistant zig Wege, um das Gleiche zu erreichen.

      Vielen Dank für deinen Hinweis!

Schreibe einen Kommentar zu nachbelichtetAntworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert