Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter PoolControl

    NEWS

    • Amazon Alexa - ioBroker Skill läuft aus ?

    • MonatsrĂĽckblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    Test Adapter PoolControl

    This topic has been deleted. Only users with topic management privileges can see it.
    • sigi234
      sigi234 Forum Testing Most Active @DasBo1975 last edited by

      @dasbo1975

      Hallo, da kommen mir noch ein paar Gedanken:

      • Poollicht

      • Gegenstromanlage

      • Wasserfall

      • Poolreinigung bzw. Roboter

      • PoolĂĽberdachung

      • Poolheizung

      1 Reply Last reply Reply Quote 1
      • C
        claus1993 last edited by

        @DasBo1975

        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.

        1 Reply Last reply Reply Quote 1
        • DasBo1975
          DasBo1975 Developer last edited by

          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. 👍

          1 Reply Last reply Reply Quote 1
          • DasBo1975
            DasBo1975 Developer last edited by

            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.

            control screenshot.png


            🖱️ 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:

            • GitHub: https://github.com/DasBo1975/ioBroker.poolcontrol

            Ich freue mich wie immer ĂĽber RĂĽckmeldungen, Tests und Anregungen aus der Community.
            Viele GrĂĽĂźe
            Bo

            sigi234 Homer.J. 2 Replies Last reply Reply Quote 2
            • DasBo1975
              DasBo1975 Developer last edited by

              Bugfixes 09.10.2025

              Interne Sprach-Statusdatenpunkte (SolarActive, TimeActive, FrostActive) wurden nun schreibgeschützt gesetzt, um versehentliche Änderungen zu verhindern.

              1 Reply Last reply Reply Quote 0
              • sigi234
                sigi234 Forum Testing Most Active @DasBo1975 last edited by

                @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 
                
                1 Reply Last reply Reply Quote 0
                • Homer.J.
                  Homer.J. @DasBo1975 last edited by

                  @dasbo1975

                  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

                  DasBo1975 1 Reply Last reply Reply Quote 0
                  • DasBo1975
                    DasBo1975 Developer last edited by

                    @sigi234 sagte in Test Adapter PoolControl:

                    @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 
                    

                    Danke

                    Wurde geändert

                    1 Reply Last reply Reply Quote 0
                    • DasBo1975
                      DasBo1975 Developer @Homer.J. last edited by

                      @homer-j sagte in Test Adapter PoolControl:

                      @dasbo1975

                      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

                      Anfrage zur 0–100 %-Pumpensteuerung

                      Hallo @homer.j,

                      dein Vorschlag mit der 0–100 %-Pumpensteuerung ist sehr interessant und grundsätzlich gut machbar.
                      Damit ich das sauber in die bestehende Struktur einbauen kann, mĂĽsste ich vorher kurz wissen,
                      wie du das aktuell technisch gelöst hast:

                      Hast du bereits einen vorhandenen Datenpunkt (z. B. ĂĽber Modbus, MQTT oder ESP),
                      über den deine Pumpe mit einem Prozentwert (0–100 %) angesteuert wird?
                      Dann würde ich diesen Fremd-Datenpunkt in der Adapter-Konfiguration auswählbar machen
                      (z. B. „Objekt-ID Drehzahlsteuerung“),
                      und der Adapter wĂĽrde dort automatisch den Sollwert schreiben.

                      Oder soll der Adapter die komplette Logik selbst ĂĽbernehmen,
                      also abhängig vom Redox- und pH-Wert selbst berechnen,
                      mit welcher Leistung die Pumpe laufen soll?
                      In diesem Fall wĂĽrde ich ein separates Regel-Modul (ChemControl) dafĂĽr bauen,
                      das diese Werte auswertet und die Drehzahl entsprechend anpasst.

                      Welche Variante trifft bei dir zu?

                      Homer.J. 1 Reply Last reply Reply Quote 0
                      • DasBo1975
                        DasBo1975 Developer last edited by

                        🧩 Ausblick auf Version 0.3.0 – Erweiterte Pumpenlauf- und Durchschnittserkennung

                        In der kommenden Version möchte ich zusätzlich eine Durchschnittsleistungs-Erkennung für die Pumpe einbauen.
                        Damit wird der Adapter nicht nur erkennen, ob die Pumpe läuft, sondern auch, wie konstant sie sich im Vergleich zu ihrem bisherigen Betriebsverhalten verhält.

                        Die Idee ist, dass der Adapter über einen längeren Zeitraum (z. B. mehrere Tage oder Wochen) automatisch mitlernt,
                        in welchem Leistungsbereich sich die Pumpe im Normalbetrieb tatsächlich bewegt – unabhängig von der in der Instanz hinterlegten Nennleistung.

                        📊 Durchschnitts- und Vergleichswerte

                        Dazu wird ein eigener Datenpunkt angelegt, zum Beispiel:

                        pump.average_power_longterm → Durchschnittsverbrauch der Pumpe über den Lernzeitraum

                        pump.deviation_status → Textstatus „Pumpe läuft im Durchschnittsnormbereich“ oder „Pumpe außerhalb des Durchschnittsnormbereichs“

                        Der Adapter vergleicht also laufend den aktuellen Leistungswert (z. B. aus der Messsteckdose) mit dem langfristig ermittelten Durchschnittswert.
                        Liegt der aktuelle Verbrauch innerhalb einer definierten Toleranz (z. B. ±10 %), bleibt der Status „im Durchschnittsnormbereich“.
                        Liegt er deutlich darüber oder darunter, wird automatisch der Status „außerhalb des Durchschnittsnormbereichs“ gesetzt.

                        Damit lassen sich über längere Zeiträume Tendenzen erkennen,
                        etwa wenn der Filter zunehmend verschmutzt oder der Durchfluss nachlässt.
                        Diese Werte dienen nicht als Fehler oder Alarm, sondern rein als Informationsanzeige im Bereich Status –
                        ähnlich einer kleinen „Gesundheitsanzeige“ der Pumpe.

                        💧 Reale Umwälzung auf Basis der tatsächlichen Leistungsaufnahme

                        Darüber hinaus soll künftig die tägliche Umwälzung nicht mehr nur anhand der Nennleistung berechnet werden,
                        sondern dynamisch auf Grundlage der tatsächlich gemessenen Leistungsaufnahme.

                        Aus dem realen Verbrauch wird der geschätzte aktuelle Durchfluss in Litern pro Stunde abgeleitet,
                        und dieser Wert fließt direkt in die Berechnung der realen täglichen Umwälzung ein.

                        So wird sichtbar, wie sich der tatsächliche Wasserdurchsatz im Laufe des Tages verändert –
                        zum Beispiel durch steigenden Filterdruck, Temperaturänderungen oder Pumpenalterung.
                        Die bisherige statische Berechnung wird damit Schritt für Schritt durch eine realitätsnahe, lernende Auswertung ersetzt.

                        Langfristig kann diese Logik später auch dazu genutzt werden, automatisch Hinweise zu geben,
                        z. B. „Filterdurchfluss sinkt – Rückspülen empfohlen“,
                        aber zunächst steht die reine Analyse und Anzeige im Vordergrund.

                        1 Reply Last reply Reply Quote 0
                        • Homer.J.
                          Homer.J. @DasBo1975 last edited by Homer.J.

                          @dasbo1975

                          Ich Steuere die ganze Geschichte ĂĽber KNX mit diesem Aktor.
                          ( MDT Analog Ein- / Ausgang AIO eignet sich zum Steuern von Geräten mit 0-10 V Eingang )
                          Der Datenpunkt sieht so aus.

                          Wert:
                          2004.48mV
                          Typ:
                          number
                          Zeitstempel:
                          7 hours ago
                          Bestätigt:
                          Bestätigt (true)
                          Zuletzt geändert:
                          7 hours ago
                          Qualität:
                          0x00 - good
                          Von:
                          system.adapter.openknx.0
                          Benutzer:
                          system.user.admin
                          

                          hier mal ein Teil vom Script ich schreibe den mV Datenpunkt nochmal in % um da ich es auch über andere Geräte steuere.

                          on({ id: [].concat(['openknx.0.Steckdosen.Pool.Pool_Ausgang_Messwert_ORP']), change: 'ne' }, async (obj) => {
                            let value = obj.state.val;
                            let oldValue = obj.oldState.val;
                            if ((getState('openknx.0.Steckdosen.Pool.Pool_Ausgang_Messwert_ORP').val >= 751) && (getState('openknx.0.Steckdosen.Pool.Pool_Vorgabe_aktueller_Stellwert_A').val != 20)) {
                              setState('openknx.0.Steckdosen.Pool.Pool_Vorgabe_aktueller_Stellwert_A' /* Pool Vorgabe aktueller Stellwert A */, 20);
                              setState('alias.0.Steckdosen.Schalten.Salzwasser_Pool_schalten' /* Salzwasser Pool schalten */, false);
                              console.info('Filter auf 20%');
                            } else if (((getState(obj.id).val >= 701) && (getState(obj.id).val < 750)) && (getState('openknx.0.Steckdosen.Pool.Pool_Vorgabe_aktueller_Stellwert_A').val != 30)) {
                              setState('openknx.0.Steckdosen.Pool.Pool_Vorgabe_aktueller_Stellwert_A' /* Pool Vorgabe aktueller Stellwert A */, 30);
                              setState('alias.0.Steckdosen.Schalten.Salzwasser_Pool_schalten' /* Salzwasser Pool schalten */, true);
                              console.info('Filter auf 30%');
                            } else if (((getState(obj.id).val >= 651) && (getState(obj.id).val < 700)) && (getState('openknx.0.Steckdosen.Pool.Pool_Vorgabe_aktueller_Stellwert_A').val != 40)) {
                              setState('openknx.0.Steckdosen.Pool.Pool_Vorgabe_aktueller_Stellwert_A' /* Pool Vorgabe aktueller Stellwert A */, 40);
                              console.info('Filter auf 40%');
                            } else if (((getState(obj.id).val >= 601) && (getState(obj.id).val < 650)) && (getState('openknx.0.Steckdosen.Pool.Pool_Vorgabe_aktueller_Stellwert_A').val != 50)) {
                              setState('openknx.0.Steckdosen.Pool.Pool_Vorgabe_aktueller_Stellwert_A' /* Pool Vorgabe aktueller Stellwert A */, 50);
                              console.info('Filter auf 50%');
                            } else if ((getState(obj.id).val <= 600) && (getState('openknx.0.Steckdosen.Pool.Pool_Vorgabe_aktueller_Stellwert_A').val != 60)) {
                              setState('openknx.0.Steckdosen.Pool.Pool_Vorgabe_aktueller_Stellwert_A' /* Pool Vorgabe aktueller Stellwert A */, 60);
                              console.info('Filter auf 60%');
                            }
                          });
                          

                          Hier noch der Redoxwert als Datenpunkt.

                          Wert:
                          769.92mV
                          Typ:
                          number
                          Zeitstempel:
                          a few seconds ago
                          Bestätigt:
                          Bestätigt (true)
                          Zuletzt geändert:
                          28 minutes ago
                          Qualität:
                          0x00 - good
                          Von:
                          system.adapter.openknx.0
                          Benutzer:
                          system.user.admin
                          

                          Es wäre natürlich schön wenn mann die Werte gleich direkt in den Adapter eingeben könnte.
                          Ich hoffe es reicht dir erstmal so wenn du noch etwas brauchst gib Bescheid

                          GrĂĽĂźe

                          DasBo1975 1 Reply Last reply Reply Quote 0
                          • DasBo1975
                            DasBo1975 Developer @Homer.J. last edited by

                            @homer-j sagte in Test Adapter PoolControl:

                            @dasbo1975

                            Ich Steuere die ganze Geschichte ĂĽber KNX mit diesem Aktor.
                            ( MDT Analog Ein- / Ausgang AIO eignet sich zum Steuern von Geräten mit 0-10 V Eingang )

                            Es wäre natürlich schön wenn mann die Werte gleich direkt in den Adapter eingeben könnte.
                            Ich hoffe es reicht dir erstmal so wenn du noch etwas brauchst gib Bescheid

                            GrĂĽĂźe

                            Danke dir, das ist wirklich spannend und sehr hilfreich!

                            Den Bereich Redox- bzw. ORP-Werte habe ich intern tatsächlich schon vorgesehen, allerdings bislang noch nicht aktiv umgesetzt – vor allem nicht in Verbindung mit KNX oder analogen 0–10-V-Ausgängen.

                            Ich möchte im Moment erst einmal den Fokus auf die Hauptfunktionen legen, die für den Großteil der Pools relevant sind, also Pumpe, Solar, Umwälzung, Steuerlogik und die Sprachausgaben.

                            Deine Umsetzung über den MDT-AIO-Aktor und die Umrechnung der mV-Werte ist aber ein super Beispiel, wie sich das künftig direkt im Adapter abbilden ließe. Ich nehme deinen Vorschlag auf jeden Fall mit auf meine Merkliste – eventuell kommt das dann später als eigener Bereich (z. B. „RedoxHelper“) oder als erweiterte Konfigurationsoption.

                            Vielen Dank auf jeden Fall für deine ausführliche Beschreibung und das Skriptbeispiel – das hilft mir wirklich sehr bei der Planung der nächsten Schritte!

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            1.1k
                            Online

                            32.2k
                            Users

                            80.9k
                            Topics

                            1.3m
                            Posts

                            pool poolcontrol solar tester
                            6
                            86
                            1208
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo