Dieses Projekt ist der Versuch, eine vollautomatische Poolsteuerung auf Basis von ESPHome zu erstellen.
Der Controller ist so „codiert“, dass er völlig autark und unabhängig von einer Hausautomation (z.B. Home Assistant) funktioniert. Dennoch ist eine Integration, insbesondere in HA sehr sinnvoll und auch steuerbar.
Die Steuerung ist weitestgehend "trocken" getestet und ich schließe nicht aus, dass Änderungen beim "realen" Einsatz erforderlich sind.
Für den Nachbau des Projektes ist ein Grundverständnis von Programmierung und Elektrotechnik von Vorteil, es wurde aber bewusst auf "professionelle" Schemas verzichtet damit auch Laien in die Lage versetzt werden die Funktionsweise, Verkabelungen und Logiken zu verstehen.
Die configurations-yaml selbst ist versehen von Kommentaren um eine Art Nachvollziehbarkeit zu ermöglichen.
Detaillierte Informationen sind unter folgenden Links zu finden:
- Frequenzsteuerung (Modbus Register)
- Energiemesser (Modbus Register)
- Chemische Werte (Tuya W2839)
- Salzelektrolyse (Zodiac LM2-40) – Ansteuerung über H-Brücke
- Durchflusssensoren für Pumpe und Messzelle (YF-DN40 / S201)
- Temperaturmessung (DS18B20 OneWire)
- PH-Dosierpumpe (230V Relais)
- Schalter für Wartungsmodus
- Taster für PH Tank Reset (nach Auffüllen)
Noch offen:
- Hardware Installation am Pool
- Wärmepumpe via Modbus
- Integration in HA mit Dashboard und Steuermöglichkeiten
| Komponente | Modell | Funktion | Protokoll/Anschluss |
|---|---|---|---|
| Frequenzumrichter | CNWeiken WK600D – 0022 – M1T | Steuerung der Poolpumpe (Frequenz) | Modbus RS485 |
| Messgerät ORP/PH | Tuya W2839 Watercontroller | Messung von pH, ORP und Temperatur | UART Serial (RX/TX) |
| Energiemesser (DC) | PEACEFAIR PZEM-017 | Überwachung der Salzelektrolyse (DC), Erkennung von Low Salt | Modbus RS485 |
| Durchflussmesser | YF-DN40 / S201 | Durchflussmessung Hauptstrom & Messzelle | Pulse Counter (GPIO) |
| H-Brücke | Display3000 D-PHB02-Opto | Professionelle H-Brücke zum Schalten und Umpolen der Salzelektrolyse | Output (GPIO 3,3V) |
| Relais | Eltako Relais (1 oder 2 Kanal) | Zum Schutz des Controllers werden Dauerströme über Eltako geschaltet | Stromstoß (200-250ms) |
| Salzelektrolysezelle | Zodiac LM2-40 | Salzelektrolysezelle für 40g/h | 24V Gleichstrom |
| Netzteil 24V 10A | Meanwell NDR – 240-24 | Spannungversorgung für Salzelektrolyse und Energiemesser | 230V In / 24V Out |
| PH Pumpe | XxX | Pumpe für PH Minus | 230V Relaisausgang |
| Poolcontroller (ESP32) | Rocketcontroller Astra (inkl. RS485) | Steuereinheit aller Funktionen | 230V |
| Wärmepumpe | Sunrain BYC035 TE3 | 3 Phasen 35KW Wärmepumpe | Modbus RS485 |
Die Steuerung verfügt über vordefinierte Modi, die sowohl die Frequenz als auch die Sicherheitsfreigaben für Chemie steuern:
- 55% Stromsparen: Niedriger Durchfluss, Chemie aktiv.
- 70% / 85% / 100% Badebetrieb: Erhöhter Durchfluss für optimale Filterung.
- 0% Wartung: Alles AUS, Skripte gestoppt, Dosierung gesperrt.
- 55% Winterbetrieb: Frostschutzlauf, Chemie & Tuya-Sensoren deaktiviert.
Die Dosierung (pH / Chlor) ist softwareseitig mehrfach abgesichert:
- Pumpen-Check: Grundvoraussetzung ist ein Status-Check des Frequenzumrichters und (wenn installiert) ein Durchflusscheck.
- Watchdog: Wir verlassen uns nicht auf angenommene Zustände, sondern validieren diese kontinuierlich.
- Erstelle eine neue Datei
poolcontroller.yamlin deinem ESPHome Verzeichnis. - Kopiere den Code aus der Config-Datei hinein.
- Passe die Substitutions an deine Wünsche an. (Tipp: Siehe ESPHome Secrets Guide)
substitutions:
device_name: "poolcontroller"
friendly_name: "Pool"
friendly_name_entity: "#"
domain: !secret domain
ssid1_ap: !secret wifi_ssid
ssid1_pw: !secret wifi_pass
- Flashe den ESP32 (OTA, ESPHome Web Flasher etc.).
Ein Projekt wie dieses entsteht selten im Alleingang. Mein besonderer Dank gilt:
Udo: Für seinen stetigen Support, besonders in den schwierigen Phasen. Ein wahrer Lehrmeister, der Hilfe zur Selbsthilfe perfekt beherrscht! 🎓
@alausser: Dein Code war das Fundament und die Inspiration für die gesamte Software-Entwicklung dieses Projekts. 🚀
@hostcc: Many thanks for the esphome-component-dynamic-on-time. This dynamic time component made it incredibly easy to use the controller even without Home Assistant! ⏱️
OpenAI (ChatGPT) & Google (Gemini): Ein großes Dankeschön an die Entwickler dieser KIs. Ohne diese Unterstützung wäre die Software in dieser Form nie entstanden. 🤖
Dies ist ein privates Bastelprojekt (Do-It-Yourself). Die Arbeit mit elektrischen Komponenten, Wasser und chemischen Prozessen (Salzelektrolyse) birgt erhebliche Risiken.
- Eigenverantwortung: Jeder Nutzer handelt auf eigenes Risiko. Du bist selbst für die Sicherheit deiner Installation, deiner Geräte sowie für den Schutz deiner Mitmenschen verantwortlich.
- Haftungsausschluss: Im Falle von Sachschäden, Fehlfunktionen oder Personenschäden übernehme ich keinerlei Haftung oder Verantwortung.
- Fachpersonal: Insbesondere Arbeiten an der AC-Seite (230V) müssen zwingend durch eine qualifizierte Elektrofachkraft durchgeführt oder zumindest abgenommen werden.