Der smarte Pool (4/4) - AZ-Delivery

In den vorangegangenen Artikeln haben wir den Pool-Controller mit openHAB verbunden. Über die Oberfläche der Sitemap in openHAB können in der Sektion Einstellungen die Parameter für die Temperaturen einfach eingestellt werden. Die Regeln reagieren auf diese Änderungen.

Nun geht es darum, die Steuerung auch wirklich smart zu machen: die Regelung verläuft automatisch und kann über WLAN bzw. Internet angepasst werden.

Regelsteuerung des Pools

Für die Erwärmung des Pools haben wir drei Modi implementiert:

Modus: Auto

Der vollautomatische Modus schaltet die Filterpumpe zeitgesteuert und erwärmt automatisch das Poolwasser bis zu einer Maximaltemperatur. Dies jedoch nur so lange die Mindesttemperatur im Wärmespeicher nicht unterschritten wird.

Modus: Boost

Vergleichbar mit dem Modus “Auto”, jedoch ohne Berücksichtigung der Mindesttemperatur im Wärmespeicher.

Modus: Manuell

Die Pumpen werden über die App manuell ein- und ausgeschaltet. Unabhängig von Regeln und Schwellwerten.

Die Grenzwerte

Für die Steuerung der Temperatur des Pools werden folgende drei Parameter benötigt:

  • maximale Pooltemperatur: Wie warm soll der Pool werden?
  • minimale Wärmespeichertemperatur: Welche Temperatur muss das Wasser im Pufferspeicher mindestens haben, dass der Pool mitgeheizt werden kann?
  • Hysterese: Wie groß soll die Temperaturabweichung sein bevor die min/max-Regeln sich auswirken?

Das smarte Herz: pool.rules

Die Regeln in der pool.rules sind die Regeln von openHAB hinterlegt. Diese Regeln verwenden die Konfigurationswerte, die man über die Einstellungen festlegen kann.

Hier werden die Werte der Temperatursensoren verglichen und anhand der Hysterese dann die Funksteckdosen gesteuert. Die Hysterese ist notwendig, damit bei sehr geringen Temperaturdifferenzen die Pumpen nicht ständig ein- und ausgeschaltet werden. Ein Wert von 0,5K ist hat sich als völlig ausreichend erwiesen.

Die Regeln sind aufgeteilt und bedienen so die einzelnen Betriebsmodi.

Add-On: Anzeigemodul

Um die Temperaturen auch ohne App zu verfolgen, haben wir eine kleine Monitoring-Anwendung in eine alte Schraubenschachtel gesteckt. Dieses Modul entstand auf Basis des LCD-Displays, das auch in einem früheren Blogartikel vorgestellt wurde.

Display

Dieser Pool-Monitor basiert auf einem ESP8266 und einem LCD Display 16 x 2. Der ESP empfängt die Temperaturwerte - ebenfalls über MQTT - und aktualisiert das Display.

Der Quellcode dazu befindet sich ebenfalls im Code-Repository und ist abgeleitet vom Pool-Controller entstanden.

Das Gehäuse ist eine alte Schrauben-Box, die mit etwas Füllmaterial ausgepolstert wurde. Etwas Tricky war die Bohrung für den Micro-USB Stecker. Vielleicht wird nächstes Jahr diese Box upgegraded und mit einer Solarzelle ausgestattet. Dann kann diese auch draußen in der Nähe des Pools installiert werden.

Open Source

Ziel war es von Anfang an, ein Projekt basierend auf Open Source zu erstellen. So ist natürlich auch wieder ein Open Source Projekt entstanden.

Das gesamte Projekt ist auf GitHub verfügbar:

https://github.com/stritti/smart-swimming-pool

Und so sieht die Installation des Systems beim Autor aus:

 

Installation beim Autor

 

Fazit

Der Pool-Controller ist seit Mai im Einsatz und hat nach ein paar Verbesserungen den Sommer über zuverlässig funktioniert.

Hauptproblem war eigentlich die fehlende Prüfung, ob die WLAN-Verbindung noch besteht. Wir dachten immer, wir habe irgendwo ein Leak im Code, dabei hat der ESP-Controller gelegentlich nur die Verbindung über das WLAN verloren. Jetzt läuft der Controller zuverlässig, liefert Daten und steuert die Pumpen.

Seit diesem Jahr gibt es also einen schönen warmen Pool und trotzdem immer genügend warmes Wasser im Haushalt. Ein Projekt mit klarem Mehrwert an Komfort mit relativ geringem finanziellem Einsatz. Dadurch hat das Projekt auch einen sehr hohen Woman acceptance factor erzielt.

Ausblick

Es gibt noch einige Möglichkeiten das Projekt über den kommenden Winter zu verbessern und zu erweitern. Wir denken da an

  • Temperatursensor direkt am Solarkreislauf, um zu prüfen ob die Heizung im Solar- oder Heizmodus ist
  • Outdoor-Sensor für Umgebungstemperatur und Wassertemperatur mit Versorgung über Solarzellen
  • Die Regelsteuerung direkt im ESP-Code auf dem Pool Controller (nur noch Update der Konfiguration und Monitoring über MQTT)
  • Mehr Sicherheit durch Verschlüsselung der MQTT-Kommunikation
  • Messung der Wasserqualität (pH, Chlor) durch zusätzliche Sensoren
  • Einbeziehen der Wettervorhersage, um den Pufferspeicher noch optimaler einzuteilen

Wir freuen uns über Nachbauten, inspirierte Projekte und Vorschläge für weitere Verbesserungen. Gerne auch als Pull-Requests auf GitHub.

 

DisplaysEsp-8266Projekte für fortgeschritteneSmart home

5 Kommentare

Andreas Wolter

Andreas Wolter

@Dirk Albers: der verlinkte Beitrag zum LCD bezieht sich auf den Uno mit ATmega328 Mikrocontroller. Daher passen die Pinnummern nicht. Diese muss man dann für den ESP abändern. Die Pins sind theoretisch frei wählbar. Sie müssen die Nummern dann aber in der Initialisierung des Objektes angeben. Schauen Sie dafür bitte in das Pinout des Mikrocontrollers.

Ich empfehle den Anschluss über den I2C-Adapter. Der wird an SDA und SCL verkabelt, dann muss aber auch eine andere Library eingebunden werden. Ein passender Beitrag dazu ist dieser hier: https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/lcd-mit-fc113-und-esp32-boards

Grüße,
Andreas Wolter

Dirk Albers

Dirk Albers

Hallo, ein tolles Projekt!
Wie wird denn das Display mit dem ESP verkabelt? Das habe ich leider nicht gefunden. Nach dem Blogartikel zum Display in dem Tutorial soll man GPIO11 anschließen, den finde ich aber nicht auf dem Bord.
Danke für Hilfe. Gruß Dirk!

Patrik

Patrik

Hallo,

Womit genau wird der solarkreislauf geschaltet? Mit einem stellantrieb oder ähnliches? Danke im Voraus :)

Stephan Strittmatter

Stephan Strittmatter

Hallo Ingo,

leider sehe ich als Autor die Nachricht erst jetzt. Am besten du verscuhts mich mal über Twitter (@_stritti_) oder über das GitHub-Projekt (https://github.com/stritti/smart-swimming-pool) zu kontaktieren.

Viele Grüße,

Stephan

Ingo

Ingo

Hallo,
es ist ein sehr interessanter Bericht. Habt ihr gut beschrieben. Könnten wir uns einmal zusammen unterhalten, da ich auch gerade an so etwas ähnlichem Arbeite, für ein Ideenaustausch?

Kommentar hinterlassen

Alle Kommentare werden von einem Moderator vor der Veröffentlichung überprüft

Empfohlene Blogbeiträge

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery