Automationen & Dienste¶
GardenESP lässt sich aus Home-Assistant-Automationen heraus steuern — zwei Wege:
die Dienste gardenesp.start_line / gardenesp.stop_line (eine Linie sauber starten/
stoppen) und Binäreingänge (Taster/Schalter) als Auslöser.
Dienste: gardenesp.start_line / stop_line¶
Mit diesen Diensten steuerst du eine Bewässerungslinie aus eigener Logik (z. B. einer ET0-/Wetter-Bewässerung) — über denselben Pfad wie Panel und Karte (Quellen-Sperre, Regen-/Pegel-Gates, Verbrauchs-Logging, Zisternen-Nachlauf).
Warum nicht den Ventil-switch direkt schalten?
Ein direktes switch.turn_on am Ventil umgeht alles — Quellen-Lock, Sperren,
Verbrauchsmessung und Nachlauf. Nur die on-device-Notabschaltung bliebe als Schutz.
Die Dienste sind der vorgesehene Weg für externe Steuerung.
gardenesp.start_line¶
| Feld | Pflicht | Bedeutung |
|---|---|---|
line_id |
ja | Die rohe Linien-ID (z. B. ln_ff3a7f58). Im Panel in der Linien- und Steuerungs-Übersicht als „ID (für Dienst)" angezeigt — nicht zu verwechseln mit der Anzeige-ID L<n>. |
duration_min |
nein | Laufdauer in Minuten (Nachkommastellen = Sekunden, z. B. 0.5 = 30 s). Leer = manuelle Standarddauer der Linie. |
force |
nein | true = „Start trotzdem" — übersteuert einen Sperr-Sensor (Regen). Pegel-/Trockenlaufschutz der Quelle bleibt aktiv. |
gardenesp.stop_line¶
| Feld | Pflicht | Bedeutung |
|---|---|---|
line_id |
ja | Rohe Linien-ID der zu stoppenden Linie. |
Unbekannte line_id
Eine unbekannte ID liefert über die Dienste-Aufrufe (Automation, Entwicklerwerkzeuge → Aktionen) einen sauberen Validierungsfehler.
Beispiel: Linie zeitgesteuert mit eigener Dauer starten¶
automation:
- alias: "Tomaten morgens 6 Minuten"
trigger:
- platform: time
at: "06:00:00"
action:
- service: gardenesp.start_line
data:
line_id: ln_ff3a7f58
duration_min: 6
Binäreingänge als Taster/Schalter¶
Jeder Binäreingang eines Steuergeräts ist als normaler binary_sensor in Home Assistant
sichtbar (binary_sensor.gardenesp_steuergeraet_<x>_<name>) und in jeder Automation als Auslöser
oder Bedingung nutzbar — unabhängig davon, ob GardenESP ihn intern verwendet.
Damit ein Eingang einen sprechenden Namen trägt und nicht als Sperr-Sensor
behandelt wird, richte ihn im Steuergerät-Editor als Typ Taster / Schalter (button) ein
(siehe Erstes Steuergerät). Der Eingang wird dann als
schlichter binary_sensor geflasht — ohne Bewässerungs-Bedeutung, also auch nicht in der
Sperr-Sensor-Auswahl der Linien.
GardenControl & WROOM
GardenControl hat 3 Binäreingänge (BIN1–3), die sich Regen, S0-Literzähler und Taster teilen — ist einer als Literzähler belegt, steht er nicht mehr als Taster zur Verfügung. Bei ESP32-WROOM nimmst du einen freien GPIO. Die Polarität (Ruhe = an/aus) stellst du am Eingang über den Invertieren-Schalter ein.
Beispiel: Taster startet eine Linie¶
automation:
- alias: "Taster Terrasse → Rasen 10 min"
trigger:
- platform: state
entity_id: binary_sensor.gardenesp_steuergeraet_a_taster_terrasse
to: "on"
action:
- service: gardenesp.start_line
data:
line_id: ln_ff3a7f58
duration_min: 10
Bewusste Trennung
GardenESP bietet keine eingebaute „Taster → Aktion"-Verknüpfung. Die Logik dahinter
lebt in HA-Automationen auf der rohen binary_sensor-Entity — flexibler, und ohne die
Bewässerungslogik zu duplizieren.