Bauanleitung
🏊 Smart Swimming Pool: Heimautomatisierung für eine intelligentere Steuerung Ihres Schwimmbads
WARNUNG: 230V Netzspannung
Dieses Projekt arbeitet mit 230V Wechselstrom und darf nur von Personen mit Elektronik-Grundkenntnissen nachgebaut werden. Verwende immer einen RCD (FI-Schutzschalter). Das Projekt ist nicht CE/UL-zertifiziert und nicht für den gewerblichen Einsatz bestimmt.
Beispiel einer Anlage
In einer typischen Anlage erwärmt ein thermisches Solarsystem das Wasser und unterstützt die Raumheizung im Haus. Das erwärmte Wasser wird in einem Pufferspeicher gesammelt, der eine dritte Zirkulation für den Pool bereitstellt. Eine Pumpe an diesem Kreislauf leitet das Poolwasser durch einen Wärmetauscher:

Grundvoraussetzungen
- Swimmingpool mit Sandfilteranlage
- Über eine Pumpe zuschaltbarer Heizkreislauf mit Wärmetauscher
- Solarer Wärmespeicher mit zusätzlichem Heizkreislauf für den Pool
Teileliste (Bill of Materials)
| Komponente | Hinweise |
|---|---|
| ESP32 DevKit V1 | Mind. 4MB Flash, USB-Kabel inklusive |
| DS18B20 Temperatursensor (2x, wasserdicht) | Edelstahlsonde, 1m Kabel |
| 2-Kanal-Relais-Modul | Standard Aktiv-Low-Modul — siehe Hinweise |
| 4,7kΩ Widerstände (2x) | Pull-Up-Widerstände für OneWire-Bus |
| Breadboard + Jumper-Kabel | Für Prototyp; für Dauerbetrieb Lochrasterplatine |
| USB-Netzteil (5V / 1A+) | Für ESP32 + Relaismodul |
| Gehäuse (IP54+) | Optional, aber empfohlen für Außeneinsatz |
Preise und vollständige Teileliste: siehe Stückliste (Controller-Elektronik ~35–55 €, ohne Pumpen und Wärmetauscher-Infrastruktur).
⚠️ Relais-Modul Hinweis: Die Firmware steuert die Relais Aktiv-Low (GPIO LOW = Relais EIN, GPIO HIGH = Relais AUS). Dies entspricht der überwiegenden Mehrheit günstiger 2-Kanal-5V-Relais-Module. Während des ESP32-Starts sind die GPIOs kurz im hochohmigen Zustand — die Firmware setzt sie sofort nach dem Start auf HIGH (Relais AUS). Falls Ihr Modul andersherum arbeitet (Aktiv-High), finden Sie Konfigurationsmöglichkeiten im Fehlerbehebung.
Hardware-Aufbau
Breadboard-Layout

Der ESP32 und das Relais-Modul auf einem Breadboard — der einfachste Weg, um zu starten.
Schritt 1: ESP32 vorbereiten
- Schließen Sie den ESP32 per USB an Ihren Computer an.
- Prüfen Sie, ob er als serielle Schnittstelle erkannt wird (
/dev/ttyUSB0unter Linux,COM3unter Windows). - Installieren Sie ggf. CP210x- oder CH340-Treiber (CP210x Treiber, CH340 Treiber).
Schritt 2: Temperatursensoren anschließen
Die DS18B20-Sensoren verwenden das OneWire-Protokoll. Verbinden Sie sie wie folgt:
Die Firmware (esp32dev-Umgebung) weist jedem Sensor einen eigenen GPIO-Pin zu:
| Sensor | ESP32 Pin | Kabel (typisch) |
|---|---|---|
| Solar-Kollektor (DS18B20 #1) | GPIO32 | VDD=Rot, GND=Schwarz, DATA=Gelb/Weiß |
| Poolwasser (DS18B20 #2) | GPIO33 | VDD=Rot, GND=Schwarz, DATA=Gelb/Weiß |
Wichtig: Schließen Sie einen 4,7kΩ-Widerstand zwischen jeder DATA-Leitung und 3.3V an (Pull-Up). OneWire benötigt einen separaten Pull-Up pro GPIO-Pin. Für zwei Sensoren auf getrennten GPIOs benötigen Sie zwei 4,7kΩ-Widerstände.
Schritt 3: Relais-Modul anschließen
| ESP32 Pin | Relais-Modul | Hinweise |
|---|---|---|
| GPIO26 | IN2 | Heizkreispumpe |
| GPIO25 | IN1 | Umwälzpumpe / Filter |
| 5V (VIN) | VCC | 5V nicht 3.3V! |
| GND | GND | Gemeinsame Masse mit ESP32 |
⚠️ Stromversorgung: Das Relais-Modul benötigt 5V Spannung (nutzen Sie den VIN-Pin des ESP32 bei USB-Stromversorgung). Nicht vom 3.3V-Pin versorgen. Verbinden Sie ESP32 GND mit Relais GND (gemeinsame Masse).
Schritt 4: Abschließende Prüfung
Bevor Sie Pumpen oder Netzspannung anschließen, folgen Sie der Inbetriebnahme-Checkliste — einer vollständigen Schritt-für-Schritt-Prüfliste mit Hardware-Kontrolle, Firmware-Test, Sensor-Überprüfung, Relais-Test und Automatik-Check.
Wichtige Punkte vorab:
- Überprüfen Sie alle Verbindungen anhand des Schaltplans.
- Vergewissern Sie sich, dass das Relais-Modul korrekt arbeitet: Bei eingeschaltetem ESP32 (noch ohne Pumpensteuerung) messen Sie die GPIO-Pins mit einem Multimeter — sie sollten HIGH sein (Relais AUS). Nach dem Schalten eines Relais über die Weboberfläche sollte der zugehörige GPIO auf LOW gehen (Relais EIN).
- Spiele Sie zuerst die Firmware auf (siehe unten) und testen Sie mit dem Webinterface ohne angeschlossene Pumpen.
- Immer noch keine 230V? Erste erfolgreiche Firmware-Tests abwarten.
Firmware-Installation
PlatformIO (Empfohlen)
⚠️ Wichtig: Der Pool-Controller ist ein PlatformIO-Projekt. Es gibt keine Arduino-IDE-kompatible
.ino-Datei. PlatformIO ist die einzige unterstützte Build-Methode.
- Installieren Sie Visual Studio Code und die PlatformIO-Erweiterung.
- Repository klonen:
git clone https://github.com/smart-swimmingpool/pool-controller.git cd pool-controller - Öffnen Sie den Ordner in VS Code — PlatformIO erkennt das Projekt automatisch.
- Die richtige Umgebung wählen: Das Projekt hat als Voreinstellung die Umgebung für den NORVI AE01-R Industrie-Controller. Für ein Standard-ESP32-DevKit wechseln Sie zur
esp32dev-Umgebung:- Klicken Sie auf das PlatformIO-Logo (⚡-Symbol) in der VS-Code-Fußzeile
- Gehen Sie zu Project Tasks → esp32dev
- Oder nutzen Sie den Umgebungswechsler unten im VS-Code-Fenster
- Verbinden Sie den ESP32 per USB.
- Schritt A — Firmware flashen: Klicken Sie auf den → (Upload and Monitor)-Button neben
esp32devin der PlatformIO-Fußzeile. Die Firmware wird kompiliert und geflasht. - Schritt B — Dateisystem hochladen (Weboberfläche): Die Weboberfläche wird in einer separaten LittleFS-Partition gespeichert und muss nach der Firmware hochgeladen werden:
- Öffnen Sie in VS Code den PlatformIO-Reiter → esp32dev → Platform → Upload Filesystem Image
- Oder per Terminal:
pio run -e esp32dev -t uploadfs - Ohne diesen Schritt zeigt die Weboberfläche eine Fehlerseite statt der Konfigurationsseite.
Nach dem Flashen prüfen
Öffnen Sie den seriellen Monitor (115200 Baud). Sie sollten sehen:
[INFO] Pool Controller v3.3.0 starting...
[INFO] WiFi: Starting in AP mode
[INFO] AP: 'Pool-Controller-Setup'. IP: 192.168.4.1Der ESP32 startet standardmäßig im Access Point (AP) Modus.
Erste Inbetriebnahme & Konfiguration
Schritt 1: Mit ESP32 verbinden
- Suchen Sie nach WLAN-Netzwerken — Sie sehen
Pool-Controller-Setup(offenes Netzwerk, kein Passwort). - Verbinden Sie sich von Ihrem Smartphone oder Laptop.
- Öffnen Sie einen Browser und gehen Sie zu http://192.168.4.1
Schritt 2: WLAN konfigurieren
- Die Weboberfläche zeigt eine Konfigurationsseite.
- Geben Sie Ihren WLAN-Namen (SSID) und Ihr Passwort ein.
- Klicken Sie auf Speichern — der ESP32 startet neu und verbindet sich mit Ihrem Netzwerk.
Schritt 3: MQTT einrichten
- Finden Sie die IP-Adresse des ESP32 (Router oder serieller Monitor).
- Öffnen Sie
http://<esp32-ip>/im Browser. - Gehen Sie zu Konfiguration → MQTT.
- Geben Sie die Adresse Ihres MQTT-Brokers ein (z. B.
192.168.1.100odercore-mosquitto). - Bei Authentifizierung Benutzername/Passwort eingeben.
- Klicken Sie auf Speichern — der Controller verbindet sich neu mit MQTT.
Kein MQTT-Broker? Installieren Sie Mosquitto auf einem Rechner im Netzwerk oder nutzen Sie das Mosquitto-Add-On in Home Assistant.
Schritt 4: Home Assistant Integration
Wenn Sie Home Assistant mit MQTT verwenden:
- Der Controller sendet automatisch MQTT Discovery-Nachrichten.
- In Home Assistant gehen Sie zu Einstellungen → Geräte & Dienste.
- Klicken Sie auf Integration hinzufügen → MQTT (falls nicht schon konfiguriert).
- Der Pool Controller sollte automatisch als neues Gerät erscheinen.
- Alle Sensoren, Steuerungen und Konfigurationsparameter erscheinen als Entities — keine manuelle Einrichtung nötig.
▶️ Ausführliche Anleitung: Siehe Home Assistant Integrations-Guide für die vollständige Entity-Referenz, Dashboard-Einrichtung, Automatisierungsbeispiele und Fehlerbehebung.
Schritt 5: Pumpen anschließen
Erst jetzt — nach erfolgreichem Test — die Pumpen anschließen:
- Trennen Sie den ESP32 von der USB-Stromversorgung.
- Verdrahten Sie die Relaisausgänge mit Ihren Pumpenschützen/Ventilen.
- Verwenden Sie geeignete Kabelquerschnitte für 230V.
- Schließen Sie die Netzspannung über einen RCD (FI-Schutzschalter) an.
- Versorgen Sie den ESP32 wieder über sein USB-Netzteil (elektrisch getrennt von 230V).
WARNUNG: 230V Netzspannung
Dieses Projekt arbeitet mit 230V Wechselstrom und darf nur von Personen mit Elektronik-Grundkenntnissen nachgebaut werden. Verwende immer einen RCD (FI-Schutzschalter). Das Projekt ist nicht CE/UL-zertifiziert und nicht für den gewerblichen Einsatz bestimmt.
Wie geht es weiter?
Sobald Ihr Pool Controller läuft:
- Entdecken Sie den Home Assistant Integrations-Guide für die vollständige Entity-Referenz, Dashboard-Einrichtung und Automatisierungsbeispiele
- Richten Sie das Grafana Dashboard für Temperaturverläufe ein
- Fügen Sie den Pool Monitor für ein eigenes Display hinzu
- Besuchen Sie das Fehlerbehebung bei Problemen
- Folgen Sie der openHAB Integrations-Anleitung, um openHAB Schritt für Schritt einzurichten
- Nutzen Sie die openHAB Konfiguration als Referenz für die vollständigen Konfigurationsdateien