NEWS
Test Adapter PoolControl
-
-
richtig, das wäre auch der beste Fall.
Der Debug-Zusatz überwacht im Hintergrund die States aus dem jeweils aktiven Bereich (z. B. Pumpe, Solar, Temperatur usw.) und schreibt ins Log, wenn dort ungewöhnliche oder zu häufige Änderungen auftreten.
Damit sehen wir zum Beispiel, wenn sich die Pumpe ungewollt kurz einschaltet oder flackert, also für einen Bruchteil einer Sekunde ein- und sofort wieder aus geht. Solche Minischaltungen würden im normalen Betrieb gar nicht auffallen, können aber Hinweise auf falsche Rückmeldungen oder Timing-Probleme geben.
-
Da haben wir noch was:
poolcontrol.0 2025-10-06 11:28:11.730 info State value to set for "poolcontrol.0.runtime.today" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:28:11.724 info State value to set for "poolcontrol.0.runtime.total" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:27:52.300 info State value to set for "poolcontrol.0.runtime.today" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:27:52.298 info State value to set for "poolcontrol.0.runtime.total" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:26:52.289 info State value to set for "poolcontrol.0.runtime.today" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:26:52.286 info State value to set for "poolcontrol.0.runtime.total" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:25:52.274 info State value to set for "poolcontrol.0.runtime.today" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:25:52.272 info State value to set for "poolcontrol.0.runtime.total" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:24:52.261 info State value to set for "poolcontrol.0.runtime.today" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:24:52.259 info State value to set for "poolcontrol.0.runtime.total" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:23:52.256 info State value to set for "poolcontrol.0.runtime.today" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:23:52.254 info State value to set for "poolcontrol.0.runtime.total" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:22:52.253 info State value to set for "poolcontrol.0.runtime.today" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:22:52.250 info State value to set for "poolcontrol.0.runtime.total" has to be type "number" but received type "string"
-
@sigi234 sagte in Test Adapter PoolControl:
poolcontrol.0 2025-10-06 11:28:11.730 info State value to set for "poolcontrol.0.runtime.today" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:28:11.724 info State value to set for "poolcontrol.0.runtime.total" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:27:52.300 info State value to set for "poolcontrol.0.runtime.today" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:27:52.298 info State value to set for "poolcontrol.0.runtime.total" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:26:52.289 info State value to set for "poolcontrol.0.runtime.today" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:26:52.286 info State value to set for "poolcontrol.0.runtime.total" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:25:52.274 info State value to set for "poolcontrol.0.runtime.today" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:25:52.272 info State value to set for "poolcontrol.0.runtime.total" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:24:52.261 info State value to set for "poolcontrol.0.runtime.today" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:24:52.259 info State value to set for "poolcontrol.0.runtime.total" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:23:52.256 info State value to set for "poolcontrol.0.runtime.today" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:23:52.254 info State value to set for "poolcontrol.0.runtime.total" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:22:52.253 info State value to set for "poolcontrol.0.runtime.today" has to be type "number" but received type "string" poolcontrol.0 2025-10-06 11:22:52.250 info State value to set for "poolcontrol.0.runtime.total" has to be type "number" but received type "string"
Ist notiert. Eine Bereinigte Version ist schon auf dem Weg nach Github. Dann bitte einmal den Ordner Runtime löschen damit die bereinigten Datenpunkte dort sauber wieder angelegt werden.
-
Hi,
wir wollen uns im Winter einen kleinen Pool bauen und ich hatte schon überlegt wie ich das in ioBroker integrieren kann. Mit dem Adapter bin ich natürlich froh das ich mir hier jetzt keine Gedanken mehr machen muss
Danke @DasBo1975
Eine Idee hatte ich schon,. keine Ahnung jedoch ob das Sinn macht aber das werdet ihr mir bestimmt sagen. Wenn ich eine Solarsteuerung habe, läuft die Pumpe und somit die Umwälzung aufgrund des Temperaturunterschiedes. Wenn ich jetzt diese Laufzeit und die automatische Laufzeit anhand der Zeitsteuerung aufsummiere, erhalte ich eine Umwälzung des Poolwasser von > 100%. Kann man nicht die Menge des umgewälzten Poolwasser aufgrund der Solarsteuerung aufaddieren und dann Abends noch eine zeitliche Umwälzung steuern, sodass ich auf 100% Umwälzung komme.
Was meint ihr, macht das Sinn und könnte man das im Adapter integrieren?
-
@claus1993 sagte in Test Adapter PoolControl:
Hi,
wir wollen uns im Winter einen kleinen Pool bauen und ich hatte schon überlegt wie ich das in ioBroker integrieren kann. Mit dem Adapter bin ich natürlich froh das ich mir hier jetzt keine Gedanken mehr machen muss
Danke @DasBo1975
Was meint ihr, macht das Sinn und könnte man das im Adapter integrieren?
Hi Claus,
deine Idee war echt klasse – genau daraus ist inzwischen die Logik im Adapter entstanden
Der ControlHelper prüft jetzt jeden Tag automatisch, ob die gewünschte Umwälzmenge erreicht wurde.
Wenn nicht, kann man wählen:Automatikmodus: Der Adapter pumpt die fehlende Menge selbstständig nach (z. B. am Abend).
Manuell: Du bekommst eine Benachrichtigung mit dem Hinweis, dass noch eine bestimmte Menge fehlt und die Pumpe manuell eingeschaltet werden soll.
Nur Benachrichtigung: Es wird nichts nachgepumpt, aber du erhältst einen Tagesbericht.
Die Uhrzeit für diese tägliche Prüfung ist frei einstellbar (Standard = 18:00 Uhr), und die Laufzeit aus der Solarsteuerung wird automatisch mit eingerechnet.
So erreichst du am Ende des Tages immer rund 100 % Umwälzung – ohne doppelt zu pumpen.Viele Grüße
Bo -
Hi,
sehr schön wie sich das entwickelt
Bei mir ist es so, dass ich eine Umwälzpumpe habe. Diese ist unabhängig von der Heizung.
Das bedeutet, dass beim Einschalten der Pumpe nicht automatisch das Wasser beheizt wird.
Das will ich auch nicht immer.
Die Heizung wird also separat geschaltet und auch nur, wenn tatsächlich geheizt werden soll- z.B. soll nicht geheizt werden, wenn ich für eine Zeit die Wassertemperatur niedrig belasse
- oder wenn die Wassertemperatur bereits hoch genug ist. Dabei soll aber ggf wegen der Mindestlaufzeit der Umwälzpumpe
die Umwälzung weiter erfolgen
Das heißt ich habe 2 datenpunkte
- Umwälzpumpe
- Heizung.
Hast du so etwas bereits vorgesehen ?
vG Looxer
-
@looxer01 sagte in Test Adapter PoolControl:
Hi,
Das heißt ich habe 2 datenpunkte
- Umwälzpumpe
- Heizung.
Hast du so etwas bereits vorgesehen ?
vG Looxer
Hi
Gut das du das noch mal betonst mit 2 Datenpunkten. Das ist zur Zeit so noch nicht enthalten. Aber angedacht. z.B als Wärmepumpe. Aber als reine Heizung so wie du es beschreibst noch nicht.Welche Daten liefert denn dein Heizungsdatenpunkt? Ein/Aus oder Temperatur?
LG
-
@dasbo1975 sagte in Test Adapter PoolControl:
Welche Daten liefert denn dein Heizungsdatenpunkt? Ein/Aus oder Temperatur?
Hi,
ist ein State (also an aus).
Die Heizung soll eben solange auf "an" stehen bis die Ziel-temperatur erreicht ist.vG Looxer
-
@looxer01 sagte in Test Adapter PoolControl:
@dasbo1975 sagte in Test Adapter PoolControl:
Welche Daten liefert denn dein Heizungsdatenpunkt? Ein/Aus oder Temperatur?
Hi,
ist ein State (also an aus).
Die Heizung soll eben solange auf "an" stehen bis die Ziel-temperatur erreicht ist.vG Looxer
Ahh ok, verstanden. Ich packe es mal mit auf die ToDo Liste
-
@dasbo1975 sagte in Test Adapter PoolControl:
Ahh ok, verstanden. Ich packe es mal mit auf die ToDo Liste
Danke dir.
noch ergänzend dazu. Vorausetzung für das setzen des States für die Heizung ist natürlich, dass die Umwälzpumpe läuft.
Ansonsten fließt ja kein Wasser durch den WärmetauschervG Looxer
-
Version 0.2.1
ist am Start.
- kleine Schönheitsreparaturen
- Bugfixes
- Log leiser gemacht
zu beziehen über github
-
Kleines Update (Bugfix, keine Versionsänderung)
Auf GitHub steht jetzt eine überarbeitete Version des Adapters bereit.
Die Steuer-Helper (Control, Solar, Frost) wurden intern angepasst:
Die Vorrangsteuerung läuft nun über den neuen Datenpunkt pump.active_helper.
Dadurch erkennen Solar- und Froststeuerung zuverlässig, wenn der ControlHelper aktiv ist (z. B. bei Rückspülung oder Wartung) und pausieren automatisch.Kein Versionssprung nötig, nur ein Bugfix-Commit.
Wer den Adapter bereits nutzt, kann einfach den aktuellen Stand von GitHub laden. -
Hallo, da kommen mir noch ein paar Gedanken:
-
Poollicht
-
Gegenstromanlage
-
Wasserfall
-
Poolreinigung bzw. Roboter
-
Poolüberdachung
-
Poolheizung
-
-
erstmal Danke für die Integration meines Vorschlages zur Regelung der Pumpe!
Was die Gedanken von @sigi234 betrifft könnte ich noch hinzufügen,
-
Whirlpool Pump Jet
-
Whirlpool Pump Air
-
UV-Light
Alternativ könnte man auch einfach definierbare Schalter einbauen. Hierzu gibst du über die Einstellungen in der Instanz Namen ein und wählst den dazugehörigen Schaltaktor aus. Erweitern könnte man es noch mit einem Datenpunkt und eine Verzögerung mit dem du den Schalter schalten möchtest.
Zur Verständlichung ein Beispiel.
-
Name: UV-Licht
-
Aktor: Shelly der die UV Lampe schaltet
-
Datenpunkt: der Schelly der meine Umwälzpume steuert.
-
Verzögerung: 0 Sekunden da die UV-Lampe zusammen mit der Pumpe laufen soll.
Bei einer Wärmepumpe würde ich eine Verzögerung von 30 Sekunden ansetzen damit diese nich in einen Error läuft.
-
-
Danke euch beiden, @sigi234 und @claus1993, für eure ausführlichen Vorschläge und Gedanken!
Ich hab mir alles notiert – das sind richtig gute Ansätze, auch wenn manche davon schon in sehr spezielle Bereiche gehen.
Ich werde mir in Ruhe anschauen, was davon sich sinnvoll in das bestehende Konzept integrieren lässt, ohne den Adapter zu überladen.
Euer Feedback ist auf jeden Fall sehr wertvoll und fließt in die weiteren Planungen mit ein. -
PoolControl Adapter – Version 0.2.2 veröffentlicht
Hallo zusammen,
ich habe soeben die neue Version 0.2.2 meines Adapters ioBroker.poolcontrol auf GitHub und npm veröffentlicht.
Diese Version bringt ein weiteres wichtiges Puzzleteil für die manuelle und automatische Steuerung des Pools mit:
den Bereich „Control“
Neu in Version 0.2.2
Automatische Rückspülerinnerung
Der Adapter erinnert jetzt selbständig an fällige Rückspülungen – wahlweise per Sprachausgabe (Alexa, Telegram, E-Mail) oder Log-Meldung.- Über den Datenpunkt
control.pump.backwash_reminder_active
lässt sich die Erinnerung aktivieren oder deaktivieren. - Das Intervall legt man mit
control.pump.backwash_interval_days
fest (Standard: 7 Tage). - Sobald der Zeitraum überschritten ist, erscheint im Objektbaum der Hinweis
control.pump.backwash_required = true
, und der Adapter erzeugt eine Benachrichtigung. - Beim Start einer Rückspülung wird die Erinnerung automatisch zurückgesetzt und das Datum (
control.pump.backwash_last_date
) aktualisiert.
Damit ist jetzt ein vollständiger automatischer Zyklus möglich:
Erinnerung → Rückspülen → Reset → neuer Zyklus.
️ Der neue Bereich Control
Mit Version 0.2.2 ist der Bereich „control“ im Objektbaum komplett angelegt.
Er dient als zentrale Steuer- und Wartungsebene für alle manuellen oder halbautomatischen Funktionen des Adapters.Die Unterstruktur sieht so aus:
control
├─ season
├─ pump
├─ energy
└─ circulation🧭 Überblick
Bereich Beschreibung control.season.active Aktiviert oder beendet die Poolsaison. Viele Automatikfunktionen (Solar, Frost, Zeitsteuerung usw.) arbeiten nur bei aktiver Saison. control.pump.backwash_start Startet manuell eine Rückspülung mit der eingestellten Dauer. control.pump.backwash_duration Dauer der Rückspülung in Minuten. control.pump.backwash_active Zeigt an, ob gerade eine Rückspülung läuft. control.pump.backwash_reminder_active Aktiviert die automatische Rückspülerinnerung. control.pump.backwash_interval_days Intervall für die Rückspülerinnerung (z. B. 7 Tage). control.pump.backwash_last_date Datum der letzten Rückspülung. Wird automatisch aktualisiert. control.pump.backwash_required Signalisiert, dass eine Rückspülung fällig ist. control.pump.maintenance_active Aktiviert den Wartungsmodus (Automatik wird pausiert). control.pump.notifications_enabled Schaltet Sprach- und Nachrichtenmeldungen für Control-Ereignisse ein oder aus. control.energy.reset Setzt Verbrauchs- und Kostenwerte vollständig zurück. control.circulation.mode Legt fest, wie die tägliche Umwälzprüfung erfolgt (Automatik, Manuell, Nur Benachrichtigung, Aus). control.circulation.check_time Uhrzeit für den täglichen Umwälzungs-Check. control.circulation.last_report Zeitstempel des letzten automatisch erzeugten Tagesberichts.
️ Steuerung über VIS / Blockly / Admin
Alle Schaltpunkte im Bereich Control können sowohl
direkt im Admin-Objektbaum, über Blockly-Skripte, als auch über eine VIS-Oberfläche bedient werden.Beispielsweise lässt sich:
- die Rückspülung per Button starten,
- der Wartungsmodus aktivieren,
- oder der Tages-Umwälzungsbericht auslösen.
Damit ist der Bereich Control die Schnittstelle zwischen Automatik und manueller Bedienung.
Ausblick – was als Nächstes kommt
Aus der README habe ich auch wieder den Bereich der geplanten Funktionen übernommen.
Diese Punkte sind bereits in Arbeit oder vorgesehen für zukünftige Versionen:- Heizungs- / Wärmepumpen-Logik mit Ziel- und Max-Temperatur
- PV-Überschuss-Erkennung (Pumpe läuft bei Solarstrom länger)
- Erweiterte Sprachlogik (Ereignisse, Ruhezeiten, individuelle Texte)
- Visualisierung & Widgets für VIS / VIS 2
- Saison-Statistikbereich mit Start-, End- und Vergleichswerten
- Zubehörsteuerung (Licht, Gegenstromanlage, Fontäne, Whirlpool u. a.)
GitHub
Das aktuelle Release ist wie gewohnt hier verfügbar:
Ich freue mich wie immer über Rückmeldungen, Tests und Anregungen aus der Community.
Viele Grüße
Bo - Über den Datenpunkt
-
Bugfixes 09.10.2025
Interne Sprach-Statusdatenpunkte (SolarActive, TimeActive, FrostActive) wurden nun schreibgeschützt gesetzt, um versehentliche Änderungen zu verhindern.
-
@dasbo1975 sagte in Test Adapter PoolControl:
PoolControl Adapter – Version 0.2.2 veröffentlicht
poolcontrol.0 2025-10-09 13:22:22.039 info [speechHelper] Alexa sagt: Wartungsmodus beendet. Automatikbetrieb wieder aktiv. poolcontrol.0 2025-10-09 13:22:22.027 warn Read-only state "poolcontrol.0.speech.queue" has been written without ack-flag with value "Wartungsmodus beendet. Automatikbetrieb wieder aktiv." poolcontrol.0 2025-10-09 13:22:22.025 info [controlHelper] Wartungsmodus beendet. Automatik wieder aktiv. poolcontrol.0 2025-10-09 13:22:22.023 warn State "poolcontrol.0.pump.reason" has no existing object, this might lead to an error in future versions
-
Hallo,
ich würde mich hier auch mal einbringen.
Kann man eine Pumpensteuerung auch über einen Datenpunkt 0-100 für steuerbare Pumpen anlegen.
Ich steuere diese ausschließlich über den Redox und PH-Wert
z.B. der Redoxwert ist über 750 Pumpe läuft mit 20% zum messen der Werte und die Salzwasser Elektrolyse schaltet ab zwischen 700-749 Pumpe läuft auf 30 % Elektrolyse schaltet zu 650-699 auf 40% usw.
genau so beim PH-Wert 7,2 PH aus über 7,3 PH schaltet zu.Grüße und Danke im Voraus