Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter PoolControl

NEWS

  • Der neue Monatsrückblick für Mai und Juni 2026 ist online!
    BluefoxB
    Bluefox
    8
    1
    1.2k

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    3.6k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    17
    1
    6.4k

Test Adapter PoolControl

Geplant Angeheftet Gesperrt Verschoben Tester
testerpoolpoolcontrolsolar
534 Beiträge 19 Kommentatoren 61.4k Aufrufe 18 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • D DennisMenger

    @DasBo1975 Heute erst wieder zum Testen gekommen. Leider kann ich bei mir noch keine Entwarnung bezüglich des PV-Modus geben.

    Er schaltet noch immer nach ein paar Sekunden ab, obwohl weiter PV-Überschuss vorhanden ist.

    Was ich beobachtet habe ist, dass zeitgleich zum Ausschalten der Pumpe die Werte
    photovoltaic/last_update
    photovoltaic/power_generated_w
    photovoltaic/power_house_w
    photovoltaic/power_surplus_w
    photovoltaic/status_text

    vom Zeitstempel her aktualisiert werden. Das macht ja auch eigentlich Sinn. Aber irgendwie scheint er sich da immer zu verschlucken. Ich habe keine Ahnung wo ich noch gucken kann.

    Sag mir gerne wenn ich noch was testen, überprüfen oder bereitstellen kann.

    Vielen Dank

    DasBo1975D Offline
    DasBo1975D Offline
    DasBo1975
    Developer
    schrieb am zuletzt editiert von
    #525

    @DennisMenger sagte:

    @DasBo1975 Heute erst wieder zum Testen gekommen. Leider kann ich bei mir noch keine Entwarnung bezüglich des PV-Modus geben.

    Er schaltet noch immer nach ein paar Sekunden ab, obwohl weiter PV-Überschuss vorhanden ist.

    Was ich beobachtet habe ist, dass zeitgleich zum Ausschalten der Pumpe die Werte
    photovoltaic/last_update
    photovoltaic/power_generated_w
    photovoltaic/power_house_w
    photovoltaic/power_surplus_w
    photovoltaic/status_text

    vom Zeitstempel her aktualisiert werden. Das macht ja auch eigentlich Sinn. Aber irgendwie scheint er sich da immer zu verschlucken. Ich habe keine Ahnung wo ich noch gucken kann.

    Sag mir gerne wenn ich noch was testen, überprüfen oder bereitstellen kann.

    Vielen Dank

    Schaue ich mir natürlich an. Gib mir ein bisschen.

    Eine Frage noch. Deine Schalt-/Messsteckdose ist von HM?

    • Entwickler des Adapters PoolControl / BertinSoft-Sprachassistent

    • Einfach macht aus einem Problem keine Lösung

    • universelle Gerätedatenstruktur mit kontextueller Funktionszuordnung. Oder einfach gesagt: Jedes Gerät spricht dieselbe Sprache - nur nicht jedes sagt alles!

    D 1 Antwort Letzte Antwort
    0
    • DasBo1975D DasBo1975

      @DennisMenger sagte:

      @DasBo1975 Heute erst wieder zum Testen gekommen. Leider kann ich bei mir noch keine Entwarnung bezüglich des PV-Modus geben.

      Er schaltet noch immer nach ein paar Sekunden ab, obwohl weiter PV-Überschuss vorhanden ist.

      Was ich beobachtet habe ist, dass zeitgleich zum Ausschalten der Pumpe die Werte
      photovoltaic/last_update
      photovoltaic/power_generated_w
      photovoltaic/power_house_w
      photovoltaic/power_surplus_w
      photovoltaic/status_text

      vom Zeitstempel her aktualisiert werden. Das macht ja auch eigentlich Sinn. Aber irgendwie scheint er sich da immer zu verschlucken. Ich habe keine Ahnung wo ich noch gucken kann.

      Sag mir gerne wenn ich noch was testen, überprüfen oder bereitstellen kann.

      Vielen Dank

      Schaue ich mir natürlich an. Gib mir ein bisschen.

      Eine Frage noch. Deine Schalt-/Messsteckdose ist von HM?

      D Online
      D Online
      DennisMenger
      schrieb am zuletzt editiert von
      #526

      Schaue ich mir natürlich an. Gib mir ein bisschen.

      Eine Frage noch. Deine Schalt-/Messsteckdose ist von HM?

      Moin, ja HmIP

      1 Antwort Letzte Antwort
      0
      • D Online
        D Online
        DennisMenger
        schrieb am zuletzt editiert von
        #527

        Habe nochmal einen Test gemacht, dass ich die Datenpunkte der HmIP-Steckdose direkt ausgewählt habe und nicht über den Alias-Datenpunkt. Brachte aber keine Veränderung.

        DasBo1975D 1 Antwort Letzte Antwort
        0
        • D DennisMenger

          Habe nochmal einen Test gemacht, dass ich die Datenpunkte der HmIP-Steckdose direkt ausgewählt habe und nicht über den Alias-Datenpunkt. Brachte aber keine Veränderung.

          DasBo1975D Offline
          DasBo1975D Offline
          DasBo1975
          Developer
          schrieb am zuletzt editiert von
          #528

          @DennisMenger sagte:

          Habe nochmal einen Test gemacht, dass ich die Datenpunkte der HmIP-Steckdose direkt ausgewählt habe und nicht über den Alias-Datenpunkt. Brachte aber keine Veränderung.

          Hallo Dennis,

          danke dir erst einmal, dass du weiterhin so geduldig mit testest.

          Da das Problem trotz der bisherigen Änderungen weiterhin auftritt, möchte ich jetzt bewusst nicht noch einmal auf Verdacht etwas an PoolControl ändern. Die bisherigen Analysen haben zwar tatsächlich zwei Fehler im Auto-PV-Bereich aufgedeckt, die inzwischen behoben sind, aber offensichtlich waren diese nicht die eigentliche Ursache für das von dir beobachtete Abschalten.

          Deshalb möchte ich jetzt einen anderen Weg gehen und den Ablauf auf deinem System wesentlich genauer protokollieren.

          Ich habe dafür ein kleines Diagnose-Skript vorbereitet, das du bitte temporär im ioBroker-JavaScript-Adapter laufen lässt.

          Wichtig: Das Skript steuert nichts. Es verändert weder PoolControl noch deine Pumpe oder irgendwelche anderen Datenpunkte. Es beobachtet ausschließlich die für den Auto-PV-Betrieb relevanten Zustände und schreibt das Ergebnis gesammelt in einen eigenen Diagnose-Datenpunkt unter 0_userdata.0.

          Du musst im Skript auch keine Datenpunkte anpassen. Es liest die von dir in PoolControl eingestellten Datenpunkte für Pumpenschalter, Pumpenleistung, PV-Erzeugung und Hausverbrauch automatisch aus der Konfiguration von poolcontrol.0 aus.

          Bitte geh folgendermaßen vor:

          Im JavaScript-Adapter ein neues Skript anlegen.
          Den folgenden Code vollständig hineinkopieren.
          Skript starten.
          Danach den Auto-PV-Modus so testen, wie du es bisher gemacht hast.
          Warten, bis die Pumpe wieder unerwartet ausgeht.
          Anschließend bitte den Inhalt dieses Datenpunktes kopieren:

          0_userdata.0.PoolControlDebug.AutoPVTrace

          Dort werden die letzten 400 relevanten Ereignisse mit Zeitstempeln im Millisekundenbereich gesammelt.

          Mich interessiert dabei vor allem die genaue Reihenfolge: Kommt zuerst der Ausschaltzustand von der HmIP-Steckdose? Setzt PoolControl zuerst seinen internen Pumpenschalter auf AUS? Ändert sich vorher die PV-Berechnung? Oder passiert noch etwas ganz anderes?

          Zusätzlich werden unter anderem ack, die Quelle der Stateänderung, Pumpenmodus, aktiver Helper, Pumpenleistung, PV-Erzeugung, Hausverbrauch, Überschuss und der aktuelle Auto-PV-Status festgehalten.

          Damit sollten wir beim nächsten Auftreten wesentlich genauer erkennen können, was tatsächlich die Ursache und was nur die Folge des Abschaltens ist.

          Hier das Skript:

          // PoolControl Auto-PV Diagnose-Trace fuer ioBroker JavaScript-Adapter
          // Read-only gegenueber PoolControl und Hardware.
          // Schreibt nur nach 0_userdata.0.PoolControlDebug.AutoPVTrace.
          
          const PC = 'poolcontrol.0';
          const TRACE_ID = '0_userdata.0.PoolControlDebug.AutoPVTrace';
          const MAX_EVENTS = 400;
          
          let trace = [];
          let ids = {
            pumpSwitch: '',
            pumpPower: '',
            pvPower: '',
            housePower: ''
          };
          
          const pcStates = [
            `${PC}.pump.mode`,
            `${PC}.pump.active_helper`,
            `${PC}.pump.pump_switch`,
            `${PC}.pump.current_power`,
            `${PC}.pump.pump_max_watt`,
            `${PC}.pump.error`,
            `${PC}.photovoltaic.power_generated_w`,
            `${PC}.photovoltaic.power_house_w`,
            `${PC}.photovoltaic.power_surplus_w`,
            `${PC}.photovoltaic.surplus_active`,
            `${PC}.photovoltaic.status_text`,
            `${PC}.photovoltaic.afterrun_min`,
            `${PC}.photovoltaic.last_update`,
            `${PC}.circulation.daily_remaining`,
            `${PC}.status.season_active`
          ];
          
          function v(id) {
            if (!id) return null;
            const s = getState(id);
            return s ? s.val : null;
          }
          
          function nowMs() {
            const d = new Date();
            return d.toTimeString().slice(0, 8) + '.' + String(d.getMilliseconds()).padStart(3, '0');
          }
          
          function short(id) {
            return String(id || '').replace(`${PC}.`, '');
          }
          
          function add(src, s) {
            const ev = {
              rt: nowMs(),
              src: short(src),
              v: s ? s.val : null,
              ack: s ? s.ack : null,
              ts: s ? s.ts : null,
              lc: s ? s.lc : null,
              from: s ? s.from : null,
              q: s && s.q !== undefined ? s.q : null,
          
              mode: v(`${PC}.pump.mode`),
              owner: v(`${PC}.pump.active_helper`),
              pump: v(`${PC}.pump.pump_switch`),
              hwPump: v(ids.pumpSwitch),
              pumpW: v(`${PC}.pump.current_power`),
              hwPumpW: v(ids.pumpPower),
              maxW: v(`${PC}.pump.pump_max_watt`),
          
              pv: v(`${PC}.photovoltaic.power_generated_w`),
              house: v(`${PC}.photovoltaic.power_house_w`),
              surplus: v(`${PC}.photovoltaic.power_surplus_w`),
              surplusActive: v(`${PC}.photovoltaic.surplus_active`),
              pvText: v(`${PC}.photovoltaic.status_text`),
              afterrun: v(`${PC}.photovoltaic.afterrun_min`),
          
              error: v(`${PC}.pump.error`),
              dailyRemaining: v(`${PC}.circulation.daily_remaining`),
              season: v(`${PC}.status.season_active`)
            };
          
            if (ids.pvPower) ev.hwPv = v(ids.pvPower);
            if (ids.housePower) ev.hwHouse = v(ids.housePower);
          
            trace.push(ev);
            while (trace.length > MAX_EVENTS) trace.shift();
          
            setState(TRACE_ID, JSON.stringify(trace), true);
          }
          
          createState(TRACE_ID, '[]', {
            name: 'PoolControl Auto-PV Trace',
            type: 'string',
            role: 'json',
            read: true,
            write: true
          }, () => {
            setState(TRACE_ID, '[]', true);
          
            getObject(`system.adapter.${PC}`, (err, obj) => {
              const cfg = obj && obj.native ? obj.native : {};
          
              ids.pumpSwitch = String(cfg.pump_switch || '').trim();
              ids.pumpPower = String(cfg.pump_current_power_id || '').trim();
              ids.pvPower = String(cfg.power_generated_id || '').trim();
              ids.housePower = String(cfg.power_house_id || '').trim();
          
              const watchIds = Array.from(new Set([
                ...pcStates,
                ids.pumpSwitch,
                ids.pumpPower,
                ids.pvPower,
                ids.housePower
              ].filter(Boolean)));
          
              add('script.start', {
                val: {
                  pumpSwitch: ids.pumpSwitch || null,
                  pumpPower: ids.pumpPower || null,
                  pvPower: ids.pvPower || null,
                  housePower: ids.housePower || null
                },
                ack: true,
                ts: Date.now(),
                lc: Date.now(),
                from: 'javascript',
                q: 0
              });
          
              watchIds.forEach(id => {
                on({ id, change: 'any' }, obj => add(id, obj.state));
              });
          
              log(
                `PoolControl Auto-PV Trace gestartet. Beobachte ${watchIds.length} States. Ausgabe: ${TRACE_ID}`,
                'info'
              );
            });
          });
          

          Wenn die Pumpe ausgegangen ist, brauchst du mir anschließend nur den kompletten Inhalt von

          0_userdata.0.PoolControlDebug.AutoPVTrace

          zu schicken.

          Danach kannst du das Diagnose-Skript wieder stoppen oder löschen.

          Ich möchte diesmal wirklich erst sehen, was beim Abschalten auf deinem System genau passiert, bevor ich noch einmal etwas an PoolControl ändere.

          Vielen Dank nochmals für deine Geduld und vor allem fürs Testen und Bereitstellen der Informationen. Das hilft mir wirklich sehr bei der Fehlersuche. 🙂

          • Entwickler des Adapters PoolControl / BertinSoft-Sprachassistent

          • Einfach macht aus einem Problem keine Lösung

          • universelle Gerätedatenstruktur mit kontextueller Funktionszuordnung. Oder einfach gesagt: Jedes Gerät spricht dieselbe Sprache - nur nicht jedes sagt alles!

          D 1 Antwort Letzte Antwort
          0
          • DasBo1975D DasBo1975

            @DennisMenger sagte:

            Habe nochmal einen Test gemacht, dass ich die Datenpunkte der HmIP-Steckdose direkt ausgewählt habe und nicht über den Alias-Datenpunkt. Brachte aber keine Veränderung.

            Hallo Dennis,

            danke dir erst einmal, dass du weiterhin so geduldig mit testest.

            Da das Problem trotz der bisherigen Änderungen weiterhin auftritt, möchte ich jetzt bewusst nicht noch einmal auf Verdacht etwas an PoolControl ändern. Die bisherigen Analysen haben zwar tatsächlich zwei Fehler im Auto-PV-Bereich aufgedeckt, die inzwischen behoben sind, aber offensichtlich waren diese nicht die eigentliche Ursache für das von dir beobachtete Abschalten.

            Deshalb möchte ich jetzt einen anderen Weg gehen und den Ablauf auf deinem System wesentlich genauer protokollieren.

            Ich habe dafür ein kleines Diagnose-Skript vorbereitet, das du bitte temporär im ioBroker-JavaScript-Adapter laufen lässt.

            Wichtig: Das Skript steuert nichts. Es verändert weder PoolControl noch deine Pumpe oder irgendwelche anderen Datenpunkte. Es beobachtet ausschließlich die für den Auto-PV-Betrieb relevanten Zustände und schreibt das Ergebnis gesammelt in einen eigenen Diagnose-Datenpunkt unter 0_userdata.0.

            Du musst im Skript auch keine Datenpunkte anpassen. Es liest die von dir in PoolControl eingestellten Datenpunkte für Pumpenschalter, Pumpenleistung, PV-Erzeugung und Hausverbrauch automatisch aus der Konfiguration von poolcontrol.0 aus.

            Bitte geh folgendermaßen vor:

            Im JavaScript-Adapter ein neues Skript anlegen.
            Den folgenden Code vollständig hineinkopieren.
            Skript starten.
            Danach den Auto-PV-Modus so testen, wie du es bisher gemacht hast.
            Warten, bis die Pumpe wieder unerwartet ausgeht.
            Anschließend bitte den Inhalt dieses Datenpunktes kopieren:

            0_userdata.0.PoolControlDebug.AutoPVTrace

            Dort werden die letzten 400 relevanten Ereignisse mit Zeitstempeln im Millisekundenbereich gesammelt.

            Mich interessiert dabei vor allem die genaue Reihenfolge: Kommt zuerst der Ausschaltzustand von der HmIP-Steckdose? Setzt PoolControl zuerst seinen internen Pumpenschalter auf AUS? Ändert sich vorher die PV-Berechnung? Oder passiert noch etwas ganz anderes?

            Zusätzlich werden unter anderem ack, die Quelle der Stateänderung, Pumpenmodus, aktiver Helper, Pumpenleistung, PV-Erzeugung, Hausverbrauch, Überschuss und der aktuelle Auto-PV-Status festgehalten.

            Damit sollten wir beim nächsten Auftreten wesentlich genauer erkennen können, was tatsächlich die Ursache und was nur die Folge des Abschaltens ist.

            Hier das Skript:

            // PoolControl Auto-PV Diagnose-Trace fuer ioBroker JavaScript-Adapter
            // Read-only gegenueber PoolControl und Hardware.
            // Schreibt nur nach 0_userdata.0.PoolControlDebug.AutoPVTrace.
            
            const PC = 'poolcontrol.0';
            const TRACE_ID = '0_userdata.0.PoolControlDebug.AutoPVTrace';
            const MAX_EVENTS = 400;
            
            let trace = [];
            let ids = {
              pumpSwitch: '',
              pumpPower: '',
              pvPower: '',
              housePower: ''
            };
            
            const pcStates = [
              `${PC}.pump.mode`,
              `${PC}.pump.active_helper`,
              `${PC}.pump.pump_switch`,
              `${PC}.pump.current_power`,
              `${PC}.pump.pump_max_watt`,
              `${PC}.pump.error`,
              `${PC}.photovoltaic.power_generated_w`,
              `${PC}.photovoltaic.power_house_w`,
              `${PC}.photovoltaic.power_surplus_w`,
              `${PC}.photovoltaic.surplus_active`,
              `${PC}.photovoltaic.status_text`,
              `${PC}.photovoltaic.afterrun_min`,
              `${PC}.photovoltaic.last_update`,
              `${PC}.circulation.daily_remaining`,
              `${PC}.status.season_active`
            ];
            
            function v(id) {
              if (!id) return null;
              const s = getState(id);
              return s ? s.val : null;
            }
            
            function nowMs() {
              const d = new Date();
              return d.toTimeString().slice(0, 8) + '.' + String(d.getMilliseconds()).padStart(3, '0');
            }
            
            function short(id) {
              return String(id || '').replace(`${PC}.`, '');
            }
            
            function add(src, s) {
              const ev = {
                rt: nowMs(),
                src: short(src),
                v: s ? s.val : null,
                ack: s ? s.ack : null,
                ts: s ? s.ts : null,
                lc: s ? s.lc : null,
                from: s ? s.from : null,
                q: s && s.q !== undefined ? s.q : null,
            
                mode: v(`${PC}.pump.mode`),
                owner: v(`${PC}.pump.active_helper`),
                pump: v(`${PC}.pump.pump_switch`),
                hwPump: v(ids.pumpSwitch),
                pumpW: v(`${PC}.pump.current_power`),
                hwPumpW: v(ids.pumpPower),
                maxW: v(`${PC}.pump.pump_max_watt`),
            
                pv: v(`${PC}.photovoltaic.power_generated_w`),
                house: v(`${PC}.photovoltaic.power_house_w`),
                surplus: v(`${PC}.photovoltaic.power_surplus_w`),
                surplusActive: v(`${PC}.photovoltaic.surplus_active`),
                pvText: v(`${PC}.photovoltaic.status_text`),
                afterrun: v(`${PC}.photovoltaic.afterrun_min`),
            
                error: v(`${PC}.pump.error`),
                dailyRemaining: v(`${PC}.circulation.daily_remaining`),
                season: v(`${PC}.status.season_active`)
              };
            
              if (ids.pvPower) ev.hwPv = v(ids.pvPower);
              if (ids.housePower) ev.hwHouse = v(ids.housePower);
            
              trace.push(ev);
              while (trace.length > MAX_EVENTS) trace.shift();
            
              setState(TRACE_ID, JSON.stringify(trace), true);
            }
            
            createState(TRACE_ID, '[]', {
              name: 'PoolControl Auto-PV Trace',
              type: 'string',
              role: 'json',
              read: true,
              write: true
            }, () => {
              setState(TRACE_ID, '[]', true);
            
              getObject(`system.adapter.${PC}`, (err, obj) => {
                const cfg = obj && obj.native ? obj.native : {};
            
                ids.pumpSwitch = String(cfg.pump_switch || '').trim();
                ids.pumpPower = String(cfg.pump_current_power_id || '').trim();
                ids.pvPower = String(cfg.power_generated_id || '').trim();
                ids.housePower = String(cfg.power_house_id || '').trim();
            
                const watchIds = Array.from(new Set([
                  ...pcStates,
                  ids.pumpSwitch,
                  ids.pumpPower,
                  ids.pvPower,
                  ids.housePower
                ].filter(Boolean)));
            
                add('script.start', {
                  val: {
                    pumpSwitch: ids.pumpSwitch || null,
                    pumpPower: ids.pumpPower || null,
                    pvPower: ids.pvPower || null,
                    housePower: ids.housePower || null
                  },
                  ack: true,
                  ts: Date.now(),
                  lc: Date.now(),
                  from: 'javascript',
                  q: 0
                });
            
                watchIds.forEach(id => {
                  on({ id, change: 'any' }, obj => add(id, obj.state));
                });
            
                log(
                  `PoolControl Auto-PV Trace gestartet. Beobachte ${watchIds.length} States. Ausgabe: ${TRACE_ID}`,
                  'info'
                );
              });
            });
            

            Wenn die Pumpe ausgegangen ist, brauchst du mir anschließend nur den kompletten Inhalt von

            0_userdata.0.PoolControlDebug.AutoPVTrace

            zu schicken.

            Danach kannst du das Diagnose-Skript wieder stoppen oder löschen.

            Ich möchte diesmal wirklich erst sehen, was beim Abschalten auf deinem System genau passiert, bevor ich noch einmal etwas an PoolControl ändere.

            Vielen Dank nochmals für deine Geduld und vor allem fürs Testen und Bereitstellen der Informationen. Das hilft mir wirklich sehr bei der Fehlersuche. 🙂

            D Online
            D Online
            DennisMenger
            schrieb am zuletzt editiert von DennisMenger
            #529

            @DasBo1975 Moin und vielen Dank.

            Wie soll ich dir den Inhalt schicken? Hier für das Forum sind es zu viele Zeichen.

            EDIT: habe dir eine Nachricht mit der Datei geschickt

            1 Antwort Letzte Antwort
            1
            • DasBo1975D Offline
              DasBo1975D Offline
              DasBo1975
              Developer
              schrieb am zuletzt editiert von
              #530

              Hallo Dennis,

              erst einmal vielen Dank, dass du das kleine Diagnose-Skript so schnell ausprobiert und mir die Aufzeichnung zur Verfügung gestellt hast.

              Die Daten daraus waren für mich mehr als hilfreich. Ohne diesen detaillierten Mitschnitt hätte ich diesen Fehler vermutlich noch sehr lange gesucht – oder vielleicht überhaupt nicht gefunden. Im normalen Log waren Ursache und Folge einfach nicht eindeutig genug voneinander zu unterscheiden.

              Mit dem Diagnose-Skript konnte ich zum ersten Mal ganz genau sehen, was beim Abschalten passiert: Auto-PV hatte die Pumpe korrekt gestartet, ausreichend PV-Überschuss war vorhanden und auch die Haltebedingung war erfüllt. Trotzdem kam der Ausschaltbefehl direkt aus PoolControl. Die HmIP-Steckdose war damit endgültig aus dem Verdacht raus – sie hat nur brav das gemacht, was PoolControl ihr gesagt hat.

              Danach ließ sich der eigentliche Übeltäter finden. 😉

              PoolControl besitzt für seine verschiedenen Helper bewusst eine Art Zuständigkeits- und Vorrangsteuerung. Vereinfacht gesagt soll jeder Helper wissen, wann er die Pumpe steuern darf und – mindestens genauso wichtig – wann er die Finger davon lassen muss.

              Einer hat sich dabei allerdings ein wenig danebenbenommen: Solar Extended.

              Solar Extended hat vollkommen richtig erkannt, dass im Modus Auto-PV gerade nicht seine Stunde geschlagen hat. Anstatt sich danach aber einfach zurückzulehnen und Auto-PV seine Arbeit machen zu lassen, hat er sinngemäß gesagt:

              „Ich soll die Pumpe gerade nicht einschalten? Na gut, dann mache ich sie eben aus.“ 😄

              Genau das war der Fehler.

              Dadurch konnte Solar Extended bei seinem nächsten Durchlauf eine von Auto-PV korrekt laufende Pumpe wieder ausschalten – obwohl Auto-PV weiterhin ausreichend Überschuss erkannt hatte und die Pumpe ausdrücklich weiterlaufen lassen wollte.

              Das erklärt auch, warum ich das Problem auf meinem eigenen System nicht reproduzieren konnte: Ich verwende die normale Solarsteuerung. Du verwendest Solar Extended – und genau in dieser Kombination mit Auto-PV lag der Fehler.

              Ich habe das Verhalten inzwischen gezielt in einer Testumgebung mit deinen Werten nachgestellt und konnte die Abschaltung reproduzieren. Anschließend wurde die Zuständigkeit von Solar Extended korrigiert und derselbe Test erneut durchgeführt. Auto-PV bleibt jetzt unangetastet. Gleichzeitig wurde geprüft, dass Solar Extended im normalen Automatikmodus weiterhin wie vorgesehen die Pumpe ein- und ausschalten kann.

              Die Version 1.4.5 mit dieser Korrektur sollte in den nächsten Stunden verfügbar sein.

              Und an dieser Stelle auch noch einmal ein großes Dankeschön an dich und natürlich an alle anderen, die PoolControl testen, Rückmeldungen geben, Logs bereitstellen und auch bei solchen hartnäckigen Fehlern dranbleiben.

              Gerade dieser Fall zeigt ziemlich schön, wie wertvoll solche Rückmeldungen sind. Ohne deinen Test mit dem Diagnose-Skript hätten wir zwar einige andere echte Schwachstellen gefunden und behoben – aber der eigentliche Fehler, wegen dem wir ursprünglich angefangen hatten zu suchen, hätte sich weiterhin sehr erfolgreich vor uns versteckt. 😉

              Vielen Dank für deine Unterstützung!

              • Entwickler des Adapters PoolControl / BertinSoft-Sprachassistent

              • Einfach macht aus einem Problem keine Lösung

              • universelle Gerätedatenstruktur mit kontextueller Funktionszuordnung. Oder einfach gesagt: Jedes Gerät spricht dieselbe Sprache - nur nicht jedes sagt alles!

              D 1 Antwort Letzte Antwort
              0
              • DasBo1975D DasBo1975

                Hallo Dennis,

                erst einmal vielen Dank, dass du das kleine Diagnose-Skript so schnell ausprobiert und mir die Aufzeichnung zur Verfügung gestellt hast.

                Die Daten daraus waren für mich mehr als hilfreich. Ohne diesen detaillierten Mitschnitt hätte ich diesen Fehler vermutlich noch sehr lange gesucht – oder vielleicht überhaupt nicht gefunden. Im normalen Log waren Ursache und Folge einfach nicht eindeutig genug voneinander zu unterscheiden.

                Mit dem Diagnose-Skript konnte ich zum ersten Mal ganz genau sehen, was beim Abschalten passiert: Auto-PV hatte die Pumpe korrekt gestartet, ausreichend PV-Überschuss war vorhanden und auch die Haltebedingung war erfüllt. Trotzdem kam der Ausschaltbefehl direkt aus PoolControl. Die HmIP-Steckdose war damit endgültig aus dem Verdacht raus – sie hat nur brav das gemacht, was PoolControl ihr gesagt hat.

                Danach ließ sich der eigentliche Übeltäter finden. 😉

                PoolControl besitzt für seine verschiedenen Helper bewusst eine Art Zuständigkeits- und Vorrangsteuerung. Vereinfacht gesagt soll jeder Helper wissen, wann er die Pumpe steuern darf und – mindestens genauso wichtig – wann er die Finger davon lassen muss.

                Einer hat sich dabei allerdings ein wenig danebenbenommen: Solar Extended.

                Solar Extended hat vollkommen richtig erkannt, dass im Modus Auto-PV gerade nicht seine Stunde geschlagen hat. Anstatt sich danach aber einfach zurückzulehnen und Auto-PV seine Arbeit machen zu lassen, hat er sinngemäß gesagt:

                „Ich soll die Pumpe gerade nicht einschalten? Na gut, dann mache ich sie eben aus.“ 😄

                Genau das war der Fehler.

                Dadurch konnte Solar Extended bei seinem nächsten Durchlauf eine von Auto-PV korrekt laufende Pumpe wieder ausschalten – obwohl Auto-PV weiterhin ausreichend Überschuss erkannt hatte und die Pumpe ausdrücklich weiterlaufen lassen wollte.

                Das erklärt auch, warum ich das Problem auf meinem eigenen System nicht reproduzieren konnte: Ich verwende die normale Solarsteuerung. Du verwendest Solar Extended – und genau in dieser Kombination mit Auto-PV lag der Fehler.

                Ich habe das Verhalten inzwischen gezielt in einer Testumgebung mit deinen Werten nachgestellt und konnte die Abschaltung reproduzieren. Anschließend wurde die Zuständigkeit von Solar Extended korrigiert und derselbe Test erneut durchgeführt. Auto-PV bleibt jetzt unangetastet. Gleichzeitig wurde geprüft, dass Solar Extended im normalen Automatikmodus weiterhin wie vorgesehen die Pumpe ein- und ausschalten kann.

                Die Version 1.4.5 mit dieser Korrektur sollte in den nächsten Stunden verfügbar sein.

                Und an dieser Stelle auch noch einmal ein großes Dankeschön an dich und natürlich an alle anderen, die PoolControl testen, Rückmeldungen geben, Logs bereitstellen und auch bei solchen hartnäckigen Fehlern dranbleiben.

                Gerade dieser Fall zeigt ziemlich schön, wie wertvoll solche Rückmeldungen sind. Ohne deinen Test mit dem Diagnose-Skript hätten wir zwar einige andere echte Schwachstellen gefunden und behoben – aber der eigentliche Fehler, wegen dem wir ursprünglich angefangen hatten zu suchen, hätte sich weiterhin sehr erfolgreich vor uns versteckt. 😉

                Vielen Dank für deine Unterstützung!

                D Online
                D Online
                DennisMenger
                schrieb am zuletzt editiert von
                #531

                @DasBo1975 Super, vielen Dank. Es sieht tatsächlich so aus, dass es aktuell so funktioniert wie es soll. Ich werde das weiter beobachten und Info geben.

                Vielen Dank für die immer weitere Entwicklung des Adapters.

                DasBo1975D 1 Antwort Letzte Antwort
                1
                • D DennisMenger

                  @DasBo1975 Super, vielen Dank. Es sieht tatsächlich so aus, dass es aktuell so funktioniert wie es soll. Ich werde das weiter beobachten und Info geben.

                  Vielen Dank für die immer weitere Entwicklung des Adapters.

                  DasBo1975D Offline
                  DasBo1975D Offline
                  DasBo1975
                  Developer
                  schrieb am zuletzt editiert von
                  #532

                  @DennisMenger sagte:

                  @DasBo1975 Super, vielen Dank. Es sieht tatsächlich so aus, dass es aktuell so funktioniert wie es soll. Ich werde das weiter beobachten und Info geben.

                  Vielen Dank für die immer weitere Entwicklung des Adapters.

                  Das freut mich doch schon mal zu hören

                  • Entwickler des Adapters PoolControl / BertinSoft-Sprachassistent

                  • Einfach macht aus einem Problem keine Lösung

                  • universelle Gerätedatenstruktur mit kontextueller Funktionszuordnung. Oder einfach gesagt: Jedes Gerät spricht dieselbe Sprache - nur nicht jedes sagt alles!

                  1 Antwort Letzte Antwort
                  0
                  • C Offline
                    C Offline
                    claus1993
                    schrieb am zuletzt editiert von
                    #533

                    @dasbo1975,
                    wie hast du das mit dem Frostschutz geregelt?
                    Hält der Frostschutz die Temperatur des Beckens auf +2° oder berücksichtigst er auch Wasserleitungen die teilweise schneller gefrieren als das größere Becken?

                    DasBo1975D 1 Antwort Letzte Antwort
                    0
                    • C claus1993

                      @dasbo1975,
                      wie hast du das mit dem Frostschutz geregelt?
                      Hält der Frostschutz die Temperatur des Beckens auf +2° oder berücksichtigst er auch Wasserleitungen die teilweise schneller gefrieren als das größere Becken?

                      DasBo1975D Offline
                      DasBo1975D Offline
                      DasBo1975
                      Developer
                      schrieb am zuletzt editiert von
                      #534

                      @claus1993 sagte:

                      @dasbo1975,
                      wie hast du das mit dem Frostschutz geregelt?
                      Hält der Frostschutz die Temperatur des Beckens auf +2° oder berücksichtigst er auch Wasserleitungen die teilweise schneller gefrieren als das größere Becken?

                      Hallo Claus,

                      ich habe den Frostschutz bewusst nicht an der Beckentemperatur festgemacht, sondern an der Außentemperatur.

                      Sobald die Außentemperatur den eingestellten Frostschutzwert erreicht bzw. unterschreitet, wird die Umwälzpumpe eingeschaltet. Es geht also nicht darum, das komplette Becken auf z. B. +2 °C zu halten, sondern darum, bei Frostgefahr das Wasser in Bewegung zu halten und damit auch die Leitungen und wasserführenden Anlagenteile mit einzubeziehen.

                      Die Rohrleitungen selbst werden dabei allerdings nicht separat temperaturmäßig überwacht. PoolControl reagiert auf die Außentemperatur als Auslöser für den Frostschutz.

                      Die zusätzlichen +2 °C sind nur der Abstand zum späteren Abschalten. Wenn der Frostschutz zum Beispiel bei +2 °C anspringt, wird er erst wieder beendet, wenn die Außentemperatur ungefähr +4 °C erreicht hat. Damit soll verhindert werden, dass die Pumpe ständig an und aus schaltet, wenn die Temperatur genau um den Grenzwert herum schwankt.

                      • Entwickler des Adapters PoolControl / BertinSoft-Sprachassistent

                      • Einfach macht aus einem Problem keine Lösung

                      • universelle Gerätedatenstruktur mit kontextueller Funktionszuordnung. Oder einfach gesagt: Jedes Gerät spricht dieselbe Sprache - nur nicht jedes sagt alles!

                      1 Antwort Letzte Antwort
                      1

                      Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                      Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                      Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                      Registrieren Anmelden
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      443

                      Online

                      33.0k

                      Benutzer

                      83.6k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2026
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe