Smarte Villa oder Ferienhaus Gartenbewässerung mit ESP32

Smarte Villa oder Ferienhaus Gartenbewässerung mit ESP32
Ob Ferienhaus auf Kreta oder Ferienvilla auf Zypern: Der Garten braucht auch dann Aufmerksamkeit, wenn du nicht vor Ort bist. Baue eine kleine WLAN-Steuerung, mit der du die Bodenfeuchte im Blick behältst und die Bewässerung aus der Ferne startest.

Projektüberblick
Gerade im Mittelmeerraum mit seinen trockenen Sommern ist eine bedarfsgerechte Wasserversorgung wichtig. Auf Zypern brauchen beispielsweise Kübelpflanzen und frisch bepflanzte Beete während längerer Trockenphasen regelmäßig Wasser. Liegt das Ferienhaus einige Flugstunden entfernt, sind Messwerte aus dem Garten besonders praktisch. Ein ESP32 kann das Messsignal eines Bodenfeuchtesensors an Home Assistant senden. Dort siehst du den Verlauf und startest bei Bedarf einen kurzen Bewässerungszyklus. Ein separater Treiber schaltet ein kleines 12-V-Gleichspannungsventil.
Wir beginnen bewusst mit einer manuell gestarteten Fernsteuerung für 1 Zone. Der Sensor löst im Beispiel keine automatische Bewässerung aus. So lernst du zunächst, welche Messwerte zu deinem Boden passen und wie viel Wasser tatsächlich ankommt. Hat eine Ferienvilla einen größeren Garten, sind Beete, Hecken und Kübel häufig unterschiedlich zu versorgen. Unser Aufbau beginnt deshalb mit einem kleinen Bereich; für mehrere Bewässerungszonen braucht es später zusätzliche Ventile und eine entsprechend ausgelegte Steuerung.
So arbeiten die Teile zusammen
Das Projekt setzt einen laufenden Home-Assistant-Server, WLAN am Einsatzort und Grundkenntnisse im Löten und Messen voraus. Das Gartenfoto ist eine KI-generierte Illustration, kein Foto eines getesteten Aufbaus.
Die Bauteile im Projekt
Controller und Sensor kommen aus dem Makershop-Sortiment. Die Ventiltechnik wird separat passend zur Wasserversorgung ausgewählt. Es handelt sich nicht um ein fertiges Komplettset.

ESP32 mit WLAN
Die Verbindung zwischen Beet und Dashboard.
- Das ESP32-S-OLED-Board ist eine passende Boardfamilie.
- GPIO34 und GPIO26 müssen bei deiner Revision frei herausgeführt sein.
- Das OLED bleibt in diesem Grundaufbau ungenutzt.

Bodenfeuchtesensor
Ein günstiger Einstieg in analoge Messungen.
- Gabelsonde und Auswertemodul mit analogem Ausgang AO.
- Für beaufsichtigte Lernversuche und Kalibrierung.
- Für dauerhaften Einsatz eine geeignete, wetterfeste Sonde wählen.
Ventil & Treiber
Separat beschaffen und elektrisch abstimmen.
- Stromlos geschlossenes 12-V-DC-Ventil, maximal 0,5 A für diesen Beispielaufbau.
- AO3400A auf beschrifteter Adapterplatine, Widerstände und Freilaufdiode.
- Passendes Netzteil, Sicherung, Schläuche und Verbinder.
Zusätzlich auf die Werkbank
- USB-Datenkabel und geeignetes USB-Netzteil für das ESP32-Board.
- Breadboard und Jumperkabel für den Sensortest; für den Ventilstrom verlötete Verbindungen oder geeignete Klemmen.
- Spannungsteiler: 10 kΩ von AO zum Messknoten und 20 kΩ vom Messknoten nach GND; 100 nF vom Messknoten nach GND.
- Treiber: 100 Ω zwischen GPIO26 und Gate, 100 kΩ zwischen Gate und Source, 1N4007 als Freilaufdiode.
- Geregeltes 12-V-DC-Netzteil; passende Absicherung nahe dem Plusausgang, nach Ventil, Leitungen und Einschaltstrom auswählen.
- Multimeter, Lötausrüstung, später ein geeignetes Außengehäuse mit Kabelverschraubungen.
Den aktuellen Bestand und die Unterlagen zu den Makershop-Bauteilen findest du auf den verlinkten Produktseiten. Ventil, Treiber und Wasseranschlüsse sind separat zu beschaffen.
Sensor und Ventil anschließen
Der ESP32 wird per USB versorgt. Der Sensor läuft an 3,3 V. Das Ventil erhält seine Energie aus einem separaten 12-V-DC-Netzteil. 12 V gehören niemals an einen GPIO oder den 3V3-Anschluss. Alle hier genannten GND-Punkte werden miteinander verbunden.
1 · Sensorpfad

| Verbindung | Anschluss | Aufgabe |
|---|---|---|
| Sensor VCC / GND | ESP32 3V3 / GND | Sensorversorgung; Beschriftung und zulässige Versorgung der gelieferten Revision prüfen. |
| Sensor AO | Über 10 kΩ zum Messknoten | Analoger Ausgang; DO bleibt frei. |
| Messknoten | GPIO34; zusätzlich 20 kΩ und 100 nF jeweils nach GND | Spannung teilen und Störungen dämpfen. |
Bei 3,3 V am AO liegen rechnerisch 2,2 V am Messknoten: 3,3 × 20 / (10 + 20). Gemessen wird hinter dem Teiler. GPIO34 gehört beim klassischen ESP32 zu ADC1 und eignet sich damit für diesen WLAN-Aufbau. Andere ESP32-Familien benötigen eine eigene Pinprüfung.
2 · Lastpfad mit MOSFET
| Bauteil / Signal | Verbindung |
|---|---|
| GPIO26 | Über 100 Ω an Gate (G) des AO3400A. |
| Gate (G) | Zusätzlich über 100 kΩ an Source (S). |
| Source (S) | Gemeinsame Masse: ESP32 GND und 12-V-Netzteil minus. |
| Drain (D) | An Ventil minus. |
| Ventil plus | An abgesicherte +12 V. |
| 1N4007 | Direkt parallel zur Ventilspule: Kathode (Ring) an Ventil plus, Anode an Ventil minus / Drain. |
Der AO3400A ist laut Hersteller auch bei 2,5 V Gate-Spannung spezifiziert. Verwende eine beschriftete SOT-23-Adapterplatine und kontrolliere G, D und S anhand des Datenblatts. Die Versorgung des Ventils läuft nicht durch das Breadboard und nicht durch den ESP32. Diese Beispielauslegung gilt nur für eine kleine DC-Spule bis 0,5 A; Temperatur, Verdrahtung und Abschaltverhalten müssen am tatsächlichen Aufbau geprüft werden.
Für das Ventil zählen außerdem Mindestdruck, Durchfluss, Wasserqualität und Einschaltdauer. Ein druckabhängiges Ventil arbeitet nicht automatisch an einer Regentonne. Anschluss an die Trinkwasserinstallation und erforderlichen Rückflussschutz mit einem passenden Fachbetrieb klären.
In 4 Schritten ins Dashboard
ESPHome vorbereiten
Installiere den ESPHome Device Builder über den passenden Weg für deine Home-Assistant-Installation. Lege ein ESP32-Gerät an. Das Beispiel verwendet den klassischen ESP32 mit ESP-IDF; Pinbelegung und Boardrevision vorher abgleichen.
Zugangsdaten hinterlegen
Lege WLAN-Name, WLAN-Passwort, API-Schlüssel und OTA-Passwort in der ESPHome-Datei secrets.yaml ab. Erzeuge einen eigenen API-Schlüssel, zum Beispiel mit openssl rand -base64 32. Verwende keine Beispieldaten als echte Zugangsdaten.
Firmware installieren
Übernimm die Konfiguration unten. Speichere die heruntergeladene Textdatei als garten.yaml. Den ersten Upload führst du per USB aus. Lies danach die Logs: WLAN muss verbunden sein und die Signalspannung muss sich beim Wechsel zwischen trockenem und feuchtem Substrat nachvollziehbar ändern.
Home Assistant verbinden
Füge das erkannte ESPHome-Gerät unter Einstellungen → Geräte & Dienste hinzu und gib den API-Schlüssel an. Platziere Signalspannung, „Messsignal plausibel“, „Ventil angesteuert“ sowie die Start- und Stopptasten auf einer Dashboard-Karte.
Von unterwegs zugreifen
Nutze Home Assistant Cloud oder einen passend eingerichteten VPN-Zugang. Öffne keine ESPHome-Geräteports direkt im Internet. Das Smartphone spricht mit Home Assistant; der ESP32 bleibt im lokalen Netz. Bei reiner Internetstörung läuft ein bereits gestarteter Zyklus lokal zu Ende. Verliert der ESP32 sein WLAN, schaltet die Konfiguration ab.
ESPHome-Konfiguration
Ein Tastendruck startet maximal 30 Sekunden. Weitere Startbefehle während eines laufenden Zyklus werden ignoriert. Stoppen schaltet sofort ab. Nach Neustart bleibt der Ausgang aus. Ohne frisches, grob plausibles Messsignal startet kein Zyklus.
Vollständige Konfiguration anzeigen
# Lernaufbau: manuell gestarteter, lokal begrenzter 30-s-Zyklus.
# GPIO26: active-high MOSFET-Treiber, NICHT direkt das Ventil.
esphome:
name: makershop-garten
friendly_name: Makershop Garten
on_boot:
priority: -100
then:
- switch.turn_off: ventil
esp32:
board: esp32dev
framework:
type: esp-idf
logger:
api:
encryption:
key: !secret garden_api_key
ota:
- platform: esphome
password: !secret garden_ota_password
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
on_disconnect:
then:
- script.stop: wasserzyklus
- switch.turn_off: ventil
globals:
- id: messzeit
type: uint32_t
restore_value: no
initial_value: '0'
- id: plausibel
type: bool
restore_value: no
initial_value: 'false'
sensor:
- platform: adc
pin: GPIO34
id: boden_spannung
name: Boden Signalspannung
attenuation: auto
update_interval: 5s
accuracy_decimals: 2
on_value:
then:
- lambda: |-
id(messzeit) = millis();
id(plausibel) = !isnan(x) && x > 0.05f && x < 2.30f;
- if:
condition:
lambda: 'return !id(plausibel);'
then:
- script.stop: wasserzyklus
- switch.turn_off: ventil
switch:
- platform: gpio
pin: GPIO26
id: ventil
internal: true
restore_mode: ALWAYS_OFF
script:
- id: wasserzyklus
mode: single
then:
- if:
condition:
and:
- wifi.connected:
- lambda: |-
return id(plausibel) &&
(uint32_t)(millis() - id(messzeit)) < 15000;
then:
- switch.turn_on: ventil
- delay: 30s
- switch.turn_off: ventil
else:
- logger.log: "Start gesperrt: WLAN oder Messsignal pruefen."
button:
- platform: template
name: 30 Sekunden bewaessern
on_press:
- script.execute: wasserzyklus
- platform: template
name: Bewaesserung stoppen
on_press:
- script.stop: wasserzyklus
- switch.turn_off: ventil
binary_sensor:
- platform: template
name: Ventil angesteuert
lambda: 'return id(ventil).state;'
- platform: template
name: Messsignal plausibel
lambda: |-
return id(plausibel) &&
(uint32_t)(millis() - id(messzeit)) < 15000;
interval:
- interval: 1s
then:
- if:
condition:
lambda: |-
return id(ventil).state && (!id(plausibel) ||
(uint32_t)(millis() - id(messzeit)) >= 15000);
then:
- script.stop: wasserzyklus
- switch.turn_off: ventil
ESPHome-Datei herunterladen (.txt) ↓
Benötigte Einträge in secrets.yaml
wifi_ssid: "DEIN_WLAN"
wifi_password: "DEIN_WLAN_PASSWORT"
garden_api_key: "DEIN_EIGENER_BASE64_SCHLUESSEL"
garden_ota_password: "DEIN_EIGENES_OTA_PASSWORT"Prüfstand: Konfiguration mit ESPHome 2026.9.0 validiert. Firmware erfolgreich kompiliert. Kein Hardwaretest durchgeführt.
Kalibrieren, testen, erst dann erweitern
Die Gabelsonde misst Leitfähigkeit. Salzgehalt, Substrat und Einstecktiefe verändern die Werte. Deshalb ist eine scheinbar genaue Prozentanzeige ohne eigene Kalibrierung wenig hilfreich. Starte mit der gemessenen Spannung und beobachte ihren Verlauf.
- Trockenreferenz: Stecke die Sonde in das tatsächlich verwendete, trockene Substrat. Notiere den stabilisierten Wert.
- Feuchtreferenz: Befeuchte dasselbe Substrat, lasse überschüssiges Wasser ablaufen und miss bei gleicher Einstecktiefe erneut. Nur die Sonde kommt in die Erde; Elektronik und Steckverbindungen bleiben trocken.
- Plausibilität: Das Beispiel akzeptiert am ADC 0,05 bis 2,30 V. Liegen normale Werte außerhalb, prüfe zuerst Versorgung und Teiler. Diese Grenzen sind keine universelle Trocken-/Feucht-Kalibrierung.
- LED-Test: Starte, stoppe und starte während eines laufenden Zyklus erneut. Die Laufzeit darf dadurch nicht verlängert werden.
- Ausfalltest: Teste WLAN-Verlust und Neustart während des Zyklus. Der Ausgang muss abschalten und darf nach Rückkehr nicht selbst wieder starten.
- Wassertest: Prüfe den fertigen Lastkreis unter Aufsicht. Miss mit einem Gefäß die Wassermenge eines Zyklus und kontrolliere anschließend, dass wirklich kein Wasser mehr fließt.
Was bedeutet „30 Sekunden“ für die Pflanzen?
Das ist zunächst eine kurze Testlaufzeit, kein allgemeiner Gießplan. Bei 2 Litern pro Stunde liefert ein Tropfer rechnerisch etwa 17 ml in 30 Sekunden. Entscheidend ist die vor Ort gemessene Menge. Pflanzen, Wetter, Topfgröße und Boden bestimmen später die passende Dauer und Häufigkeit. Ein sonniger Terrassenkübel an einer Ferienvilla auf Kreta kann schneller austrocknen als ein schattiges Beet. Übertrage die Einstellung deshalb nicht ungeprüft auf den gesamten Villengarten.
Automatik als nächster Schritt
Erst nach stabilen Messungen sind ein Zeitfenster, eine Trockenheitsschwelle und eine Obergrenze sinnvoll. Plane zusätzlich eine Mindestpause zwischen Zyklen und ein Tageslimit ein: Viele kurze Starts können zusammen trotzdem zu viel Wasser liefern. Der Grundcode enthält keine automatische Wiederholung und kein Tagesbudget.
Vom Lernaufbau zum Gartenbetrieb
Die günstige resistive Sonde ist für das Kennenlernen gut geeignet, bei dauernder Spannung jedoch anfällig für Korrosion. Für einen festen Einbau sind eine für den Außenbereich geeignete Sonde, eine geprüfte Versorgung und saubere Steckverbindungen wichtiger als eine hübsche Dashboard-Anzeige. Auch kapazitive Sensoren sind nicht automatisch wasserdicht.
Ein stromlos geschlossenes Ventil hilft bei Stromausfall. Ein verklemmtes Ventil, ein kurzgeschlossener MOSFET oder eingefrorene Software werden dadurch nicht zuverlässig abgesichert. Für unbeaufsichtigte Anlagen sind unabhängige Maßnahmen wie Mengenbegrenzung, Durchflussüberwachung und eine geeignete zusätzliche Absperrung einzuplanen.
Fernsteuerung ersetzt außerdem keine Kontrolle von Tropfern, Leitungen und Pflanzen. Bei einer Ferienvilla mit größerem Garten müssen außerdem Filter, einzelne Bewässerungszonen und die Pflanzen selbst regelmäßig geprüft werden. Das kann ein lokaler Dienstleister übernehmen – etwa im Rahmen der Gartenpflege auf Zypern.

Häufige Fragen
Kann ich damit meine Bewässerung per Handy steuern?
Ja, über Home Assistant. Im lokalen WLAN direkt, von unterwegs über Home Assistant Cloud oder VPN. Die Starttaste führt den begrenzten Zyklus aus; ein direkt öffentlich erreichbarer ESP32 ist dafür nicht nötig.
Funktioniert das ohne Home Assistant?
Die beschriebene Bedienung setzt Home Assistant voraus. ESPHome kann weitere Bedienwege unterstützen, aber dieser Grundaufbau enthält weder eine eigenständige Weboberfläche noch einen automatischen Zeitplan.
Kann ich ein vorhandenes Irrigation-System anschließen?
Nur wenn Spannung, Ventilart, Strom und Hydraulik zum Treiber passen. Viele Gartenanlagen verwenden 24-V-Wechselspannungsventile oder bistabile Ventile. Dafür ist diese 12-V-DC-Schaltung nicht geeignet. Bestehende Steuerungen nicht parallel auf dieselbe Spule schalten.
Warum wird keine exakte Bodenfeuchte in Prozent angezeigt?
Die Spannung hängt stark von Sonde, Erde und Salzgehalt ab. Eine eigene Trocken-/Feucht-Kalibrierung kann einen relativen Index liefern; das ist trotzdem keine wissenschaftlich bestimmte volumetrische Bodenfeuchte.
Kann das System während eines Urlaubs allein laufen?
Der Artikel beschreibt einen Lern- und Testaufbau. Vor unbeaufsichtigtem Betrieb müssen Wasserinstallation, Ausfallverhalten und unabhängige Schutzmaßnahmen am fertigen System geprüft werden. Eine Starttaste und ein Softwaretimer allein sind keine vollständige Absicherung.
Wie bleibt ein Ferienhaus trotz Fernsteuerung betreut?
Verlässliche Messwerte, klare Benachrichtigungen und eine erreichbare Person vor Ort ergänzen sich. Vereinbare, wer bei einer Störung nach der Ferienvilla schaut und die Wasserzufuhr bei Bedarf manuell absperrt. Auch mit Fernzugriff bleibt eine regelmäßige Kontrolle des Gartens sinnvoll.
Wenn etwas nicht funktioniert
| Beobachtung | Als Erstes prüfen |
|---|---|
| Messwert bleibt gleich | AO statt DO angeschlossen? Masse verbunden? Sonde richtig eingesteckt? Spannung vor und hinter dem Teiler messen. |
| Starttaste bewirkt nichts | WLAN verbunden, Messwert jünger als 15 Sekunden und zwischen den Plausibilitätsgrenzen? Logs lesen. |
| LED arbeitet, Ventil nicht | 12-V-Versorgung, G/D/S-Zuordnung, gemeinsame Masse, Spulenstrom und Mindestwasserdruck prüfen. |
| ESP32 startet beim Schalten neu | Freilaufdiode, Kabelführung und stabile getrennte Versorgung prüfen. Laststrom nicht über das Board führen. |
| Ventil bleibt offen | Wasser manuell absperren. Treiber, Kurzschluss und mechanische Blockade prüfen; nicht auf die Dashboard-Anzeige verlassen. |
Weitere Ideen für dein smartes Ferienhaus
Das Muster lässt sich erweitern: ein Lecksensor am Wasseranschluss, ein Durchflusssensor zur Kontrolle oder Raumklima-Messwerte für längere Abwesenheiten. Starte mit einer stabilen Zone und ergänze erst danach weitere Funktionen.
Bei einer Ferienvilla auf Zypern lässt sich diese technische Übersicht mit lokaler Betreuung verbinden, beispielsweise durch Villa Team. So gibt es auch dann einen Ansprechpartner vor Ort, wenn eine Meldung aus dem Garten praktisches Eingreifen erfordert.
Als kleines Sensorprojekt passt dazu unsere ESP32-Wetterstation mit OLED und BME280.











