Unser Pool ist drei mal sechs Meter groß. Dazu gehören ein Sandfilter, eine Salzanlage und eine automatische pH-Dosierung. In den ersten zwei bis drei Saisonen schaltete ich die Pumpe trotzdem von Hand: mal zu kurz, mal länger als nötig. Die Wände wurden zeitweise glitschig, und es bildeten sich Algen.
Seit 2020 wird die Filterlaufzeit automatisiert gesteuert, zuerst mit openHAB und seit 2024 mit Home Assistant. Der wichtigste Schritt war nicht das ferngesteuerte Einschalten. Entscheidend war, die benötigte Laufzeit und den energetisch günstigen Zeitpunkt als zwei getrennte Probleme zu behandeln.
Home Assistant berechnet dafür ein Tagesziel, zählt erledigte Minuten und hält die Restlaufzeit separat fest. Eine PV-bedingte Pause löscht also nicht, was noch fehlt. Umgekehrt darf ein begrenzter manueller Lauf nicht unbemerkt alle Zähler durcheinanderbringen.
Mein Langzeiteindruck ist deutlich stabiler klares Wasser. Das ist eine Beobachtung des Gesamtsystems aus Filtration, Salz, pH-Regelung und Pflege – kein wissenschaftlicher Nachweis, dass allein die Pumpenautomation Algen verhindert.
Laufzeitbedarf und PV-Zeitpunkt sind zwei Fragen
Eine Zeitschaltuhr könnte jeden Tag denselben Block abarbeiten. Bei mir soll die Laufzeit aber mit der Wassertemperatur steigen und möglichst dann stattfinden, wenn PV-Überschuss und Akkustand passen. Daraus ergeben sich vier Zustände:
- das Tagesziel,
- die heute dem Tagesbudget gutgeschriebenen Minuten,
- die noch offene Restlaufzeit,
- die Laufzeit der aktuellen Pumpensession.
Nur wenn diese Werte getrennt bleiben, kann die Pumpe pausieren und später dort fortsetzen, wo sie aufgehört hat. Der Pumpenschalter ist damit nur der Ausgang; das eigentliche System ist ein kleines Laufzeitbudget.
Jeden Morgen um 8 Uhr berechnet Home Assistant dieses Budget neu. Bis einschließlich 27 Grad gelten in meiner aktuellen Konfiguration sieben Minuten je Grad Wassertemperatur. Bei 24 Grad sind das 168 Minuten. Oberhalb von 27 Grad setzt die Logik das Ziel auf 240 Minuten. Das sind anlagenspezifische Erfahrungswerte, keine Empfehlung für andere Pools.
Der Temperatursensor sitzt in der Pooltechnik. Direkt nach dem Start ist sein Wert nicht zwingend repräsentativ für das Becken. Deshalb speichert Home Assistant ihn erst, wenn die Pumpe länger als 18 Minuten läuft und mehr als 5 Grad gemessen werden. Am nächsten Morgen dient bevorzugt dieser durch Zirkulation bestätigte Wert als Grundlage; fehlt er, verwendet die reale Automation den aktuellen Livewert.
So arbeitet das Tagesbudget
Während eines normalen Laufs erhöht Home Assistant jede Minute den Tages- und Sessionzähler und zieht eine Minute von der Restlaufzeit ab. Die Restlaufzeit kann nicht unter null fallen. Ist sie aufgebraucht, endet der automatische Lauf.
Zusätzlich begrenze ich den Vormittag auf die Hälfte des Tagesziels. Wird dieser Anteil vor 14 Uhr erreicht, stoppt die Pumpe; die andere Hälfte bleibt offen. Nach 14 Uhr darf sie in einem neuen PV-Fenster weiterlaufen. Beim Ausschalten wird nur der Sessionzähler zurückgesetzt, nicht das Tagesbudget.
Der tägliche Reset ist eine bewusste Grenze: Um 8 Uhr werden „heute gelaufen“ auf null und „verbleibend“ auf das neu berechnete Ziel gesetzt. Eine offene Restlaufzeit vom Vortag wird weder übertragen noch separat protokolliert, sondern durch das neue Tagesbudget ersetzt. War Home Assistant um 8 Uhr nicht aktiv, gibt es in der aktuellen Poollogik keinen eigenen Nachhol-Trigger.
Grafik vergrößern
PV sucht die passenden Zeitfenster
Automatische Starts sind bei mir nur während der aktiven Poolsaison, zwischen 9 und 20 Uhr und mit offener Restlaufzeit möglich. Home Assistant bewertet dafür Tagesprognose, poolrelevanten Überschuss und Ladestand des Hausakkus:
| PV-Prognose | Poolrelevanter Überschuss | Mindest-Ladestand des Akkus |
|---|---|---|
| unter 20 kWh | mehr als 1.399 W | mehr als 65 % |
| 20 bis unter 30 kWh | mehr als 1.199 W | mehr als 55 % |
| ab 30 kWh | mehr als 999 W | mehr als 45 % |
Das sind meine aktuellen Schwellen. Pumpenleistung, PV-Anlage, Akku und Hausverbrauch können bei einer anderen Anlage völlig andere Werte sinnvoll machen.
Die Startlogik prüft um 9 Uhr und danach alle 15 Minuten; zusätzlich kann ein länger anliegender Überschuss einen Versuch auslösen. Die Stoplogik prüft alle fünf Minuten. Sie stoppt bei kritischem Akkustand auch frühzeitig. Nach mehr als neun gezählten Minuten kann außerdem ein Überschussmangel pausieren: In meiner Konfiguration müssen der poolrelevante Wert unter 201 Watt und der über zehn Minuten gemittelte allgemeine Überschuss unter 500 Watt liegen. Der Restzähler bleibt dabei stehen.
Für Tage mit mittlerer oder guter Prognose existiert zwischen 17 und 20 Uhr ein kleiner Fallback: Sind weniger als zehn automatische Minuten verbucht, darf die Pumpe bei mehr als 70 beziehungsweise 60 Prozent Akkustand nochmals starten. Unter 20 kWh Prognose gibt es diesen erzwungenen Abendstart nicht.
Das hat eine klare Folge: Werden die Bedingungen an einem schlechten Solartag nicht erreicht, bleibt die Pumpe aus oder nach einer Pause aus. Die offenen Minuten bleiben nur bis zum nächsten 08:00-Reset sichtbar und werden dann durch das neue Ziel ersetzt; eine rückwirkende Defizitbilanz gibt es nicht. Nach mehreren schwachen Tagen beurteile ich vor allem die Wasserqualität und behalte den aktuellen Pumpenbetrieb samt Laufzeit auf dem Wandtablet im Essbereich im Auge. Auch ihr leichtes Betriebsgeräusch aus dem Keller bekomme ich im Alltag mit. Die Automation optimiert meinen Betrieb, garantiert aber nicht an jedem Tag das berechnete Ziel.
Im Juli und August kommt es nach meiner Erfahrung nur selten vor, dass so wenig PV verfügbar ist. Mehrere schwache Tage hintereinander erlebe ich eher Richtung Herbst, wenn sich die Badesaison ohnehin dem Ende nähert. Eine Garantie ist das natürlich nicht.
Ein echter Pooltag aus der Home-Assistant-Historie
Der 7. September 2026 zeigt das Prinzip. Um 8 Uhr setzte Home Assistant bei einem gespeicherten Temperaturwert von 27,5 Grad ein Ziel von 240 Minuten; der Tageszähler begann bei null. Die Prognose lag bei rund 56,9 kWh.
Um 9 Uhr startete die Pumpe automatisch. Zwei Stunden später waren 120 Minuten erledigt und 120 Minuten offen. Weil damit das Vormittagsbudget erreicht war, pausierte sie um 11 Uhr. Um 14 Uhr begann der zweite Block. Um 16 Uhr standen Tageslaufzeit und Ziel beide bei 240 Minuten, die Restlaufzeit bei null, und die Pumpe schaltete aus.
An diesem Tag gab es keinen manuellen Schwimm-Run. Gerade deshalb ist der Verlauf nützlich: Er belegt den normalen Weg vom Tagesziel über eine geplante Pause bis zum vollständigen Abschluss.
Manuelle Läufe bleiben begrenzt
Beim Schwimmen möchte ich die Pumpe für den Skimmer einschalten können. Ein manueller Start öffnet deshalb eine Auswahl für 15, 30, 45 oder 60 Minuten; ohne Antwort gelten insgesamt 15 Minuten. Währenddessen blockiert ein eigener Ausnahmezustand die normale PV-Stoplogik. Bei ununterbrochenem Home-Assistant-Betrieb schaltet die Automation die Pumpe nach Timerende aus und räumt Timer und Ausnahme auf. Nach einem Neustart während des Laufs prüfe ich Pumpenzustand und Ausnahme manuell.
Die Zählweise hängt vom Zeitpunkt ab. Solange nach 8 Uhr noch Restlaufzeit offen ist, trägt auch ein manuell gestarteter Schwimm-Run zum Tagesziel bei: Der Tageszähler steigt und der Rest sinkt. Vor 8 Uhr oder nach erreichtem Tagesziel setzt die Automation dagegen einen Marker für echten Zusatzlauf; dann steigt nur der Sessionzähler, während Tages- und Restwert unverändert bleiben. Automatische Starts setzen vor dem Einschalten einen eigenen Marker, damit sie nicht versehentlich als Zusatzlauf gelten.
Nach erreichtem Ziel kann ich außerdem einen freiwilligen PV-Nachlauf starten. Er endet, sobald der Hausakku unter 90 Prozent fällt oder der poolrelevante Überschuss unter 600 Watt liegt. Das ist vom zeitlich begrenzten Schwimm-Run getrennt.
Bei einem Home-Assistant-Neustart bleiben die Zahlenhelfer als Zustände erhalten, ausgefallene Pumpenminuten werden aber nicht rückwirkend ergänzt. Der Schwimm-Timer ist in meiner Installation nicht auf Wiederherstellung gestellt. Eine eigene Start-Automation, die Pumpenzustand, Zähler, Timer und Ausnahme neu abgleicht, gibt es derzeit nicht.
Was ich aus mehreren Saisonen ableite
Vor 2020 hing die Laufzeit von meiner Erinnerung ab; zugleich gab es glitschige Wände und Algen. Seit der Automatisierung erlebe ich klares Wasser im Alltag wesentlich zuverlässiger. Belegen kann ich heute die Steuerungszustände, Pumpenläufe und Entscheidungen der Energiebedingungen.
Nicht vorhanden sind vergleichbare Reihen von pH-, Chlor- oder Redoxwerten sowie Fotos des früheren Zustands. Deshalb lässt sich der Anteil der Automation nicht von Sandfilter, Salzsystem, pH-Dosierung, Nutzung und Pflege trennen. Ihr konkreter Nutzen ist ein anderer: Sie macht Laufzeit planbar, Pausen nachvollziehbar und Defizite sichtbar.
So überträgst du das Prinzip auf deine Anlage
Das hier ist bewusst keine vollständige Klick-für-Klick-Anleitung. Dafür müssten Auswahl der Pumpe, reale Durchflussmessung, elektrische Ausführung und Wasserpflege für die jeweilige Anlage geklärt sein. Übertragbar ist aber die Architektur:
| Zustand oder Signal | Aufgabe |
|---|---|
| Saisonfreigabe | Verhindert neue Starts außerhalb der Badesaison; Stoppen bleibt immer möglich. |
| Gültige Wassertemperatur | Liefert die Grundlage für eine fachlich festgelegte Laufzeitregel. |
| Tagesziel | Speichert den Bedarf des aktuellen Tages in Minuten. |
| Heute gelaufen | Zeigt, wie viel davon bereits verbucht wurde. |
| Restlaufzeit | Bleibt bei einer Pause erhalten und sinkt nie unter null. |
| Sessionlaufzeit | Hilft bei Mindestlaufzeit, Temperaturfreigabe und Aufräumen. |
| Marker für Automatik und manuellen Lauf | Entscheiden, welche Minuten das Tagesbudget verbrauchen. |
| Timer für die manuelle Ausnahme | Begrenzt einen Schwimm-Run und räumt ihn definiert auf. |
| PV-Prognose, Überschuss und Akku | Optimieren den Zeitpunkt, nicht den gespeicherten Laufzeitbedarf. |
Baue zuerst die Grundsteuerung ohne PV: Ziel setzen, reale Pumpenminuten zählen, bei null stoppen und bei einer Pause den Rest behalten. Danach kommen manueller Timer, eindeutige Marker und erst zuletzt die Energiesignale hinzu. So lässt sich jeder Übergang einzeln beobachten.
Für die Verbindungen hilft ein klarer Datenfluss. Der tägliche Reset schreibt Ziel, Tageswert und Rest. Der Minutenzähler liest Pumpenzustand und Laufart, erhöht die passenden Zähler und meldet „Rest gleich null“ an den Stop. Eine Pause setzt nur die Session zurück. Die Startautomation darf das Restbudget lesen, aber niemals neu berechnen oder löschen. Der manuelle Timer sperrt vorübergehend die PV-Stoplogik; sein Ende führt trotzdem über denselben sicheren Pumpen-Stop und räumt anschließend seine Marker auf.
Diese Trennung erleichtert auch die Fehlersuche. Wenn die Pumpe zu früh stoppt, lässt sich zuerst klären, ob das Ziel falsch war, Minuten falsch verbucht wurden oder lediglich die Energiebedingung eine Pause ausgelöst hat. Ein einzelner Sammelstatus „Pumpe soll laufen“ könnte diese Ursachen nicht auseinanderhalten.
Helfer werden unter Einstellungen → Geräte & Dienste → Helfer angelegt. Home Assistant dokumentiert dafür Zahlenhelfer, Umschalter und Timer. Automationen entstehen im visuellen Automationseditor; native Zeit-, Zustands- und numerische Auslöser sind für diese Logik meist ausreichend. Konkrete Entitäten sollten über ihre entity_id statt über kurzlebigere Gerätekennungen verbunden werden.
Eine vollständige Nachbauanleitung mit Helfern, Übergängen und Neustartstrategie wäre ein eigener technischer Beitrag. Für die Entscheidung, ob das Prinzip zur eigenen Anlage passt, sind zunächst die Zustände und ihre Beziehungen wichtiger als kopierte Konfiguration.
Kleine Abnahmematrix vor dem Alltagseinsatz
| Test | Erwartetes Ergebnis |
|---|---|
| Saison aus | Kein neuer Start; Ausschalten bleibt möglich. |
| Tagesziel erreicht | Rest bleibt bei null, der automatische Lauf endet. |
| PV fällt während des Laufs | Nach der definierten Stopbedingung pausieren; Rest bleibt erhalten. |
| Temperatur ungültig | Kein unbemerkter Start mit einem als null interpretierten Messwert. |
| Manueller Lauf bei offenem Ziel | Timer begrenzt den Lauf; Tageswert steigt und Rest sinkt. |
| Manueller Zusatzlauf nach Ziel | Session wird gezählt, Tageswert und Rest bleiben unverändert. |
| Home Assistant startet neu | Pumpenzustand, Zähler, Rest, Timer und Marker bewusst prüfen und bei Bedarf bereinigen. |
| Stop über Dashboard oder Uhr | Ausschalten funktioniert unabhängig von Saison- und Energiebedingungen. |
Prüfe kurze Zeiten zunächst beaufsichtigt. Ein grüner Automations-Trace genügt nicht: Der reale Pumpenzustand, die Zähler und die unabhängigen Wasserwerte müssen ebenfalls passen.
Fazit
Für eine reine feste Laufzeit genügt eine Zeitschaltuhr. Home Assistant lohnt sich hier, wenn Temperatur, unterbrechbare Laufzeit, manuelle Nutzung und PV-Fenster zusammenspielen sollen.
Die wichtigste Entscheidung ist dann, Bedarf und Zeitpunkt nicht zu vermischen: Das Tagesziel beschreibt die nötige Laufzeit, die Energiebedingungen suchen günstige Abschnitte, und der Restzähler verbindet beide. Gleichzeitig muss klar sein, was bei Schlechtwetter und am nächsten Reset passiert. Offene Minuten werden beim nächsten Tagesreset verworfen. Die Anzeige zeigt daher nur das aktuelle Tagesbudget; vergangene Defizite lassen sich daraus nicht ablesen.
So verstanden verspricht die Automation nicht automatisch perfektes Wasser. Sie nimmt mir das tägliche Schalten ab, zeigt offene Laufzeit bis zum nächsten Tagesreset und gibt Sandfilter, Salzsystem, pH-Regelung und Pflege einen verlässlicheren Betriebsrahmen.
Praxisstand der beschriebenen Home-Assistant-Logik: 9. September 2026.
