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

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    1.6k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    668

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    1.2k

Test Adapter PoolControl

Geplant Angeheftet Gesperrt Verschoben Tester
testerpoolpoolcontrolsolar
411 Beiträge 14 Kommentatoren 26.5k Aufrufe 14 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 Online
    D Online
    DennisMenger
    schrieb am zuletzt editiert von
    #394

    Ich hätte da grundsätzlich Interesse dran. Das wäre klasse, wenn du das teilen würdest.

    PS: Solarauswertung scheint jetzt auch bei mir zu funktionieren.

    DasBo1975D 1 Antwort Letzte Antwort
    0
    • D DennisMenger

      Ich hätte da grundsätzlich Interesse dran. Das wäre klasse, wenn du das teilen würdest.

      PS: Solarauswertung scheint jetzt auch bei mir zu funktionieren.

      DasBo1975D Online
      DasBo1975D Online
      DasBo1975
      Developer
      schrieb am zuletzt editiert von
      #395

      @DennisMenger

      Freut mich zu hören, dass die Solarauswertung bei dir jetzt funktioniert. Den HTML Code für das Widget schicke ich in den nächsten Tagen.

      • 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
      • DasBo1975D Online
        DasBo1975D Online
        DasBo1975
        Developer
        schrieb am zuletzt editiert von
        #396

        @dennismenger

        Hier mal der html Code für das html widget.

        <div style="width:100%;height:100%;box-sizing:border-box;font-family:Arial,sans-serif;color:white;overflow:hidden;">
        
          <div id="solarCopHeaderV5" style="
            width:100%;
            box-sizing:border-box;
            padding:7px 10px;
            margin-bottom:7px;
            background:rgba(5,20,32,.94);
            border:1px solid rgba(0,216,255,.45);
            border-radius:8px;
            color:#00d8ff;
            font-weight:bold;
            font-size:15px;
            letter-spacing:.3px;
          ">
            Solar COP Auswertung
            <div id="solarCopStatsV5" style="
              margin-top:5px;
              color:#ffffff;
              font-weight:normal;
              font-size:10px;
              line-height:1.35;
            ">lade Tageswerte...</div>
          </div>
        
          <div id="solarLogbookV5" style="
            width:100%;
            height:calc(100% - 76px);
            overflow-y:auto;
            padding:0 4px 8px 4px;
            box-sizing:border-box;
          ">
            lade...
          </div>
        
        </div>
        
        <script>
        (function () {
          var baseLog = "poolcontrol.0.analytics.insights.solar.logbook";
          var dpText = baseLog + ".day_log_text";
          var baseResults = "poolcontrol.0.analytics.insights.solar.results";
        
          var targetId = "solarLogbookV5";
          var statsId = "solarCopStatsV5";
        
          function esc(t) {
            t = String(t || "");
            t = t.replace(/&/g, "&amp;");
            t = t.replace(/</g, "&lt;");
            t = t.replace(/>/g, "&gt;");
            return t;
          }
        
          function val(states, id, fallback) {
            if (states && states[id] && states[id].val !== undefined && states[id].val !== null && states[id].val !== "") {
              return states[id].val;
            }
            return fallback;
          }
        
          function cleanNumber(v, fallback) {
            if (v === null || v === undefined) return fallback;
        
            v = String(v).trim();
        
            if (v === "" || v === "(null)" || v === "null" || v === "undefined" || v === "$null") {
              return fallback;
            }
        
            v = v.replace(",", ".").replace(/[^\d.-]/g, "");
            var n = parseFloat(v);
        
            if (isNaN(n)) return fallback;
            return n;
          }
        
          function formatNumber(n, d) {
            n = cleanNumber(n, 0);
            return n.toFixed(d).replace(".", ",");
          }
        
          function getDeltaColor(delta) {
            if (delta === null) return "#9fb3c8";
            if (delta < 0) return "#ff5c5c";
            if (delta <= 1.5) return "#ffb13b";
            return "#00ff88";
          }
        
          function getColor(text) {
            if (text.indexOf("nicht gelaufen") !== -1 || text.indexOf("kein sinnvoller") !== -1) return "#ffb13b";
            if (text.indexOf("Fehler") !== -1 || text.indexOf("Warnung") !== -1) return "#ff5c5c";
            if (text.indexOf("OK") !== -1 || text.indexOf("gut") !== -1 || text.indexOf("gelaufen") !== -1) return "#00ff88";
            return "#00d8ff";
          }
        
          function calcCopScore(min, cop) {
            if (min <= 0 || cop === null || cop <= 0) return 0;
            if (cop < 2) return 1;
            if (cop < 4) return 2;
            if (cop < 6) return 3;
            if (cop < 8) return 4;
            return 5;
          }
        
          function stars(score) {
            var s = "";
            var i;
            var activeColor = score >= 4 ? "#00ff88" : "#ffb13b";
        
            for (i = 1; i <= 5; i++) {
              if (i <= score) {
                s += "<span style='color:" + activeColor + ";'>★</span>";
              } else {
                s += "<span style='color:#555;'>☆</span>";
              }
            }
        
            return s;
          }
        
          function renderStats(states) {
            var el = document.getElementById(statsId);
            if (!el) return;
        
            var min = cleanNumber(val(states, baseResults + ".active_minutes_today", 0), 0);
            var kwh = cleanNumber(val(states, baseResults + ".estimated_gain_today_kwh", 0), 0);
            var peak = cleanNumber(val(states, baseResults + ".peak_power_today_w", 0), 0);
            var copRaw = cleanNumber(val(states, baseResults + ".estimated_efficiency_ratio", null), null);
        
            var ran = val(states, baseResults + ".solar_ran_today", false);
            var effective = val(states, baseResults + ".solar_effective_now", false);
            var state = val(states, baseResults + ".solar_gain_state", "no_data");
        
            var collector = cleanNumber(val(states, baseResults + ".collector_temp_used", "-"), null);
            var delta = cleanNumber(val(states, baseResults + ".delta_t_used", "-"), null);
            var deltaColor = getDeltaColor(delta);
        
            var cop = null;
            var copText = "-";
            var copColor = "#9fb3c8";
        
            if (min > 0 && copRaw !== null && copRaw > 0) {
              cop = copRaw;
              copText = formatNumber(cop, 2);
              copColor = cop >= 6 ? "#00ff88" : (cop >= 2 ? "#ffb13b" : "#ff5c5c");
            }
        
            var statusText = "Heute: keine Aktivität";
            var statusColor = "#ffb13b";
        
            if (ran === true || ran === "true" || min > 0) {
              statusText = "Heute: Solar war aktiv";
              statusColor = "#00ff88";
            }
        
            if (effective === true || effective === "true") {
              statusText = "Solar aktuell wirksam";
              statusColor = "#00ff88";
            }
        
            var kwhColor = kwh > 0 ? "#00ff88" : "#ffb13b";
            var score = calcCopScore(min, cop);
            var scoreColor = score >= 4 ? "#00ff88" : (score >= 2 ? "#ffb13b" : "#9fb3c8");
        
            el.innerHTML =
              "<span style='color:" + statusColor + ";font-weight:bold;'>" + esc(statusText) + "</span>"
              + " &nbsp; | &nbsp; COP: <b style='color:" + copColor + ";'>" + esc(copText) + "</b>"
              + " &nbsp; | &nbsp; COP-Score: <b style='color:" + scoreColor + ";letter-spacing:1px;'>"
              + stars(score) + " (" + score + "/5)</b>"
              + " &nbsp; | &nbsp; Laufzeit: <b>" + esc(formatNumber(min, 0)) + " min</b>"
              + " &nbsp; | &nbsp; Solarertrag: <b style='color:" + kwhColor + ";'>" + esc(formatNumber(kwh, 2)) + " kWh</b>"
              + " &nbsp; | &nbsp; Solarspitze: <b>" + esc(formatNumber(peak, 0)) + " W</b>"
              + "<br>"
              + "Status: <b>" + esc(state) + "</b>"
              + " &nbsp; | &nbsp; Kollektor: <b>" + esc(collector === null ? "-" : formatNumber(collector, 1)) + " °C</b>"
              + " &nbsp; | &nbsp; ΔT: <b style='color:" + deltaColor + ";'>" + esc(delta === null ? "-" : formatNumber(delta, 1)) + " K</b>";
          }
        
          function renderLog(raw) {
            var box = document.getElementById(targetId);
            if (!box) return;
        
            if (!raw || raw === "undefined" || raw === "null" || raw === "$null") {
              box.innerHTML = "<div style='color:#ffb13b;padding:10px;font-size:10px;'>Keine Logbuchdaten vorhanden.</div>";
              return;
            }
        
            var lines = String(raw).split(/\r?\n/).reverse();
            var html = "";
            var i;
        
            for (i = 0; i < lines.length; i++) {
              var line = lines[i].trim();
              if (!line) continue;
        
              var m = line.match(/^([0-9]{2}:[0-9]{2})\s*-\s*(.*)$/);
              var time = "";
              var text = line;
        
              if (m) {
                time = m[1];
                text = m[2];
              }
        
              var firstSentence = text.split(". ")[0] || text;
              if (firstSentence.length > 120) {
                firstSentence = firstSentence.substring(0, 120) + "...";
              }
        
              var color = getColor(text);
              var bg = "rgba(0,30,50,.65)";
              var border = "rgba(0,170,255,.35)";
        
              if (i < 3) {
                bg = "rgba(0,50,80,.82)";
                border = color;
              }
        
              html += ""
                + "<div style='display:grid;grid-template-columns:54px 1fr;gap:8px;border:1px solid " + border + ";border-radius:8px;padding:6px 8px;margin-bottom:7px;background:" + bg + ";box-shadow:0 0 8px rgba(0,0,0,.35);'>"
                +   "<div style='color:" + color + ";font-weight:bold;font-size:10px;white-space:nowrap;'>" + esc(time) + "</div>"
                +   "<div style='color:#ffffff;font-size:10px;line-height:1.28;'>"
                +     "<div style='font-weight:bold;color:#ffffff;margin-bottom:2px;'>" + esc(firstSentence) + "</div>"
                +     "<div style='opacity:.72;'>" + esc(text) + "</div>"
                +   "</div>"
                + "</div>";
            }
        
            box.innerHTML = html;
          }
        
          function refresh() {
            vis.conn.getStates(baseLog + ".*", function (errLog, logStates) {
              var raw = "";
        
              if (!errLog && logStates && logStates[dpText]) {
                raw = logStates[dpText].val;
              }
        
              renderLog(raw);
            });
        
            vis.conn.getStates(baseResults + ".*", function (errRes, resultStates) {
              renderStats(resultStates || {});
            });
          }
        
          function startWhenReady() {
            if (typeof vis !== "undefined" && vis.conn && vis.conn.getStates) {
              refresh();
              setInterval(refresh, 60000);
            } else {
              setTimeout(startWhenReady, 500);
            }
          }
        
          startWhenReady();
        })();
        </script>
        
        • 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
        • D Online
          D Online
          DennisMenger
          schrieb am zuletzt editiert von
          #397

          Vielen Dank, werde ich testen

          1 Antwort Letzte Antwort
          1
          • DasBo1975D Online
            DasBo1975D Online
            DasBo1975
            Developer
            schrieb am zuletzt editiert von
            #398

            Mit der Version 1.3.10 habe ich einige größere Erweiterungen und Verbesserungen rund um die Photovoltaik-Integration umgesetzt.

            ✨ Neu: Photovoltaic Insights

            Ich habe einen neuen Analysebereich analytics.insights.photovoltaic eingeführt.

            Damit werte ich jetzt aus:

            wie lange die Pumpe durch PV-Überschuss gelaufen ist
            wie viel Energie dabei genutzt wurde
            und welche Einsparung sich daraus ungefähr ergibt

            Dazu gibt es:

            einen neuen Helper (photovoltaicInsightsHelper)
            eine eigene State-Struktur (Inputs, Calculation, Results, Debug)
            sowie Zusammenfassungen als Text, JSON und HTML

            Der Bereich ist vollständig in das bestehende i18n-System integriert.

            🔧 Verbesserung: Active Helper Handling

            Ich habe das Handling von pump.active_helper vereinheitlicht.

            Folgende Helper unterstützen das jetzt sauber:

            photovoltaicHelper
            solarHelper
            solarExtendedHelper

            Bisher haben einige dieser Helper den Status nicht gesetzt, wenn sie die Pumpe gesteuert haben.
            Das habe ich jetzt vereinheitlicht.

            Jeder Helper:

            setzt sich selbst als aktiven Helper, wenn er die Pumpe steuert
            gibt die Kontrolle wieder frei, wenn er fertig ist
            überschreibt keine anderen aktiven Helper

            Zusätzlich kann der Datenpunkt pump.active_helper jetzt auch sehr gut für Visualisierungen genutzt werden,
            um direkt zu sehen, welcher Helper aktuell die Pumpe steuert und warum sie läuft.

            Das sorgt für eine saubere Prioritätslogik und verhindert Konflikte zwischen den Helpern.

            🧠 Verbesserung: PV-Laufzeit-Auswertung

            Die PV-Laufzeit wird jetzt nur noch gezählt, wenn:

            tatsächlich PV-Überschuss aktiv ist
            und der photovoltaicHelper die Pumpe auch wirklich steuert

            Dadurch sind die Werte für Laufzeit, Energie und Einsparung deutlich genauer.

            🐛 Fix: PV-Umwälzlogik

            Ich habe einen Fehler behoben, bei dem die Pumpe gestoppt wurde, obwohl
            photovoltaic.ignore_on_circulation = false gesetzt war.

            Die Prüfung der Umwälzmenge greift jetzt nur noch, wenn diese Option auch wirklich aktiviert ist.

            • 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
            • DasBo1975D Online
              DasBo1975D Online
              DasBo1975
              Developer
              schrieb am zuletzt editiert von
              #399

              Hallo zusammen,

              ich habe soeben die Version 1.3.11 veröffentlicht.

              Die Version ist diesmal relativ schnell nach der letzten erschienen, weil sich ein Fehler in der Solarsteuerung eingeschlichen hatte.
              Konkret haben sich solarHelper und solarExtendedHelper beim Datenpunkt für die Sprachausgabe (speech.solar_active) gegenseitig beeinflusst. Im ungünstigsten Fall führte das dazu, dass die Sprachausgabe minütlich zwischen „eingeschaltet“ und „beendet“ gewechselt hat.

              Das Verhalten ist jetzt korrigiert. Die beiden Solarmodi sind sauber voneinander getrennt und beeinflussen sich nicht mehr gegenseitig. Die Sprachausgabe arbeitet damit wieder stabil.

              Da ich ohnehin am Code war, habe ich zusätzlich zwei größere Funktionen integriert, die ich ohnehin als nächste Schritte geplant hatte:

              Neu: pH-Auswertung (chemistry.ph)

              • Unterstützung für manuelle Eingabe und externe Datenpunkte
              • Berücksichtigung des Messortes (Pool, Messstrecke etc.)
              • Plausibilitätsprüfung und Statusbewertung
              • Verständliche Handlungsempfehlungen (keine automatische Dosierung)
              • Optionaler Mischlauf mit sauberem Pumpen-Handling
              • Erste Historienfunktionen

              Neu: TDS-Auswertung (chemistry.tds)

              • Unterstützung für manuelle Eingabe und externe Datenpunkte
              • Trendanalyse über 24h, 7 Tage und 30 Tage
              • Referenzwert (Startwert) zur Bewertung der Wasserentwicklung
              • Bewertung auf Basis von Trend, Absolutwert und Veränderung
              • Speicherung von Messwerten für die Trendberechnung
              • Ausgaben als Text, JSON und HTML für spätere Visualisierung

              Wie immer gilt:
              Das Ganze ist bewusst erstmal ohne automatische Chemie-Steuerung umgesetzt. Fokus liegt auf sauberer Auswertung und nachvollziehbaren Hinweisen.

              Falls euch beim Testen noch etwas auffällt oder ihr Ideen habt, gerne melden 🙂

              Viele Grüße
              DasBo

              • 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
              • DasBo1975D Online
                DasBo1975D Online
                DasBo1975
                Developer
                schrieb am zuletzt editiert von
                #400

                Mit Version 1.3.13 wurde die Projektdokumentation erweitert.

                Neu hinzugekommen ist eine ausführliche Funktionsübersicht des Adapters in deutscher und englischer Sprache unter docs/de und docs/en.
                Die Dokumentation beschreibt die wichtigsten Bereiche und Funktionen von PoolControl, darunter Pumpensteuerung, Solar/PV, Statistik-, Insights- sowie Chemie- und Analysefunktionen.

                Zusätzlich wurde ein ungültiger common.installedFrom-Eintrag in der io-package.json bereinigt.

                • 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
                • D Online
                  D Online
                  DennisMenger
                  schrieb am zuletzt editiert von DennisMenger
                  #401

                  Moin.
                  Ich habe heute festgestellt, dass bei mir im Zeitmodus die Umwälzmenge in circulation/daily_total nicht angepasst wird. Im Automatikmodus funktioniert es.

                  Aktuelle Version: v1.3.15

                  1 Antwort Letzte Antwort
                  0
                  • DasBo1975D Online
                    DasBo1975D Online
                    DasBo1975
                    Developer
                    schrieb am zuletzt editiert von
                    #402

                    Guten Morgen. Schaue ich mir an

                    • 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
                    • DasBo1975D Online
                      DasBo1975D Online
                      DasBo1975
                      Developer
                      schrieb am zuletzt editiert von
                      #403

                      Hallo zusammen,

                      ich habe soeben die Version 1.3.17 von PoolControl ins latest-Repository hochgeladen.

                      Neu dabei:

                      • Fehler bei der Umwälzberechnung im Zeitmodus behoben
                      • Sprachsystem und Runtime-Persistenz weiter stabilisiert
                      • Wiederholte Solar-Benachrichtigungen reduziert
                      • weitere interne Stabilitätsverbesserungen

                      Zusätzlich ist jetzt der neue ORP-/Redox-Bereich vollständig mit integriert:

                      • neuer Bereich unter chemistry.orp
                      • ORP-Eingabe über disabled, manual oder externen State
                      • Unterstützung für ORP-Werte in mV
                      • Einbindung der bestehenden pH-Werte als Referenz
                      • Messort-, Pumpen- und Stabilisierungslogik analog zu pH/TDS
                      • Trend-, History- sowie Text-/HTML-/JSON-Ausgaben
                      • bewusst ohne automatische Dosierung oder Chlorsteuerung

                      Außerdem wurde die bestehende pH-Struktur erweitert und an die neuen TDS-/ORP-Bereiche angepasst.

                      Ein besonderer Dank geht an @dennismenger für den Hinweis zur Umwälzberechnung im Zeitmodus. Dadurch konnte ich die Ursache eingrenzen und beheben.

                      Wie immer freue ich mich über Feedback und Rückmeldungen aus euren produktiven Systemen.

                      Viele Grüße
                      DasBo

                      • 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!

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

                        @dasbo1975 kein Problem ... wir testen nur. Die meiste Arbeit hast ja du.

                        Funktioniert jetzt einwandfrei. Danke

                        1 Antwort Letzte Antwort
                        0
                        • DasBo1975D DasBo1975

                          Hallo zusammen,

                          ich habe soeben die Version 1.3.17 von PoolControl ins latest-Repository hochgeladen.

                          Neu dabei:

                          • Fehler bei der Umwälzberechnung im Zeitmodus behoben
                          • Sprachsystem und Runtime-Persistenz weiter stabilisiert
                          • Wiederholte Solar-Benachrichtigungen reduziert
                          • weitere interne Stabilitätsverbesserungen

                          Zusätzlich ist jetzt der neue ORP-/Redox-Bereich vollständig mit integriert:

                          • neuer Bereich unter chemistry.orp
                          • ORP-Eingabe über disabled, manual oder externen State
                          • Unterstützung für ORP-Werte in mV
                          • Einbindung der bestehenden pH-Werte als Referenz
                          • Messort-, Pumpen- und Stabilisierungslogik analog zu pH/TDS
                          • Trend-, History- sowie Text-/HTML-/JSON-Ausgaben
                          • bewusst ohne automatische Dosierung oder Chlorsteuerung

                          Außerdem wurde die bestehende pH-Struktur erweitert und an die neuen TDS-/ORP-Bereiche angepasst.

                          Ein besonderer Dank geht an @dennismenger für den Hinweis zur Umwälzberechnung im Zeitmodus. Dadurch konnte ich die Ursache eingrenzen und beheben.

                          Wie immer freue ich mich über Feedback und Rückmeldungen aus euren produktiven Systemen.

                          Viele Grüße
                          DasBo

                          sigi234S Online
                          sigi234S Online
                          sigi234
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von
                          #405

                          @DasBo1975 sagte:

                          Außerdem wurde die bestehende pH-Struktur erweitert und an die neuen TDS-/ORP-Bereiche angepasst.

                          Warum sind die Zeitwerte alle in der Zukunft?

                          Screenshot (1560).png

                          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                          Immer Daten sichern!

                          DasBo1975D 1 Antwort Letzte Antwort
                          0
                          • sigi234S sigi234

                            @DasBo1975 sagte:

                            Außerdem wurde die bestehende pH-Struktur erweitert und an die neuen TDS-/ORP-Bereiche angepasst.

                            Warum sind die Zeitwerte alle in der Zukunft?

                            Screenshot (1560).png

                            DasBo1975D Online
                            DasBo1975D Online
                            DasBo1975
                            Developer
                            schrieb am zuletzt editiert von
                            #406

                            @sigi234 sagte:

                            @DasBo1975 sagte:

                            Außerdem wurde die bestehende pH-Struktur erweitert und an die neuen TDS-/ORP-Bereiche angepasst.

                            Warum sind die Zeitwerte alle in der Zukunft?

                            Okay. Das ist gruselig. Bei mir ist mir das bislang noch nicht aufgefallen. Stimmt denn die Zeitwerte bei dir auf dem Rechner?

                            Wenn ich heute Abend zu Hause bin, dann werde ich mir das anschauen

                            • 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!

                            sigi234S 1 Antwort Letzte Antwort
                            0
                            • DasBo1975D DasBo1975

                              @sigi234 sagte:

                              @DasBo1975 sagte:

                              Außerdem wurde die bestehende pH-Struktur erweitert und an die neuen TDS-/ORP-Bereiche angepasst.

                              Warum sind die Zeitwerte alle in der Zukunft?

                              Okay. Das ist gruselig. Bei mir ist mir das bislang noch nicht aufgefallen. Stimmt denn die Zeitwerte bei dir auf dem Rechner?

                              Wenn ich heute Abend zu Hause bin, dann werde ich mir das anschauen

                              sigi234S Online
                              sigi234S Online
                              sigi234
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von sigi234
                              #407

                              @DasBo1975 sagte:

                              Stimmt denn die Zeitwerte bei dir auf dem Rechner?

                              Ja

                              Edit:

                              Wert stimmt nicht

                              Screenshot (1561).png

                              Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                              Immer Daten sichern!

                              1 Antwort Letzte Antwort
                              0
                              • DasBo1975D Online
                                DasBo1975D Online
                                DasBo1975
                                Developer
                                schrieb zuletzt editiert von
                                #408

                                Mit Version 1.3.18 habe ich einen Fehler in den Zeit-/Datumsanzeigen der pH-, ORP- und TDS-Bereiche behoben.

                                Vielen Dank an @sigi234 für den Hinweis und das genaue Beobachten. 👍

                                Ursache war letztlich die Art, wie die Zeitstates intern gespeichert wurden. Einige value.time-Datenpunkte wurden bislang mit lokal formatierten Datumsstrings beschrieben. Je nach ioBroker/Admin-Interpretation konnte das zu falschen Datumsanzeigen führen.

                                Die betroffenen Zeitstates werden jetzt ioBroker-konform als numerische Millisekunden-Timestamps gespeichert. Zusätzlich habe ich eine rückwärtskompatible Behandlung älterer Werte eingebaut, damit bestehende Installationen sauber weiterlaufen.

                                Betroffen waren:

                                • pH-Auswertung
                                • ORP-/Redox-Auswertung
                                • TDS-Auswertung

                                Bei mir im Produktiv- und Testsystem laufen die Zeitanzeigen jetzt wieder korrekt.

                                • 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!

                                sigi234S 1 Antwort Letzte Antwort
                                0
                                • D Online
                                  D Online
                                  DennisMenger
                                  schrieb zuletzt editiert von
                                  #409

                                  @dasbo1975 heute leider wieder das Problem, dass im Zeitmodus die Umwälzmenge nicht aktualisiert wird. Sowohl mit der Version 1.3.18, als auch mit der 1.3.17. Wenn ich händisch den Schalter pump_switch einschalte, dann wird die Umwälzmenge gezählt. Schaltet die Pumpe über die Zeitsteuerung ein, dann passiert nix.

                                  1 Antwort Letzte Antwort
                                  0
                                  • DasBo1975D DasBo1975

                                    Mit Version 1.3.18 habe ich einen Fehler in den Zeit-/Datumsanzeigen der pH-, ORP- und TDS-Bereiche behoben.

                                    Vielen Dank an @sigi234 für den Hinweis und das genaue Beobachten. 👍

                                    Ursache war letztlich die Art, wie die Zeitstates intern gespeichert wurden. Einige value.time-Datenpunkte wurden bislang mit lokal formatierten Datumsstrings beschrieben. Je nach ioBroker/Admin-Interpretation konnte das zu falschen Datumsanzeigen führen.

                                    Die betroffenen Zeitstates werden jetzt ioBroker-konform als numerische Millisekunden-Timestamps gespeichert. Zusätzlich habe ich eine rückwärtskompatible Behandlung älterer Werte eingebaut, damit bestehende Installationen sauber weiterlaufen.

                                    Betroffen waren:

                                    • pH-Auswertung
                                    • ORP-/Redox-Auswertung
                                    • TDS-Auswertung

                                    Bei mir im Produktiv- und Testsystem laufen die Zeitanzeigen jetzt wieder korrekt.

                                    sigi234S Online
                                    sigi234S Online
                                    sigi234
                                    Forum Testing Most Active
                                    schrieb zuletzt editiert von sigi234
                                    #410

                                    @DasBo1975 sagte:

                                    Bei mir im Produktiv- und Testsystem laufen die Zeitanzeigen jetzt wieder korrekt.

                                    Bei mir auch bis auf:

                                    
                                    poolcontrol.0
                                    2026-05-12 12:50:52.530	info	State value to set for "poolcontrol.0.chemistry.ph.debug.last_update" has to be type "string" but received type "number"
                                    
                                    poolcontrol.0
                                    2026-05-12 12:50:52.497	info	State value to set for "poolcontrol.0.chemistry.ph.trend.reference_24h_at" has to be type "string" but received type "number"
                                    
                                    poolcontrol.0
                                    2026-05-12 12:50:52.462	info	State value to set for "poolcontrol.0.chemistry.ph.input.last_valid_value_at" has to be type "string" but received type "number"
                                    
                                    poolcontrol.0
                                    2026-05-12 12:50:52.456	info	State value to set for "poolcontrol.0.chemistry.ph.input.previous_value_at" has to be type "string" but received type "number"
                                    
                                    poolcontrol.0
                                    2026-05-12 12:50:52.443	info	State value to set for "poolcontrol.0.chemistry.ph.input.last_value_at" has to be type "string" but received type "number"
                                    
                                    poolcontrol.0
                                    2026-05-12 12:49:52.416	info	State value to set for "poolcontrol.0.chemistry.ph.debug.last_update" has to be type "string" but received type "number"
                                    
                                    poolcontrol.0
                                    2026-05-12 12:49:52.401	info	State value to set for "poolcontrol.0.chemistry.ph.input.last_valid_value_at" has to be type "string" but received type "number"
                                    
                                    poolcontrol.0
                                    2026-05-12 12:49:52.397	info	State value to set for "poolcontrol.0.chemistry.ph.input.previous_value_at" has to be type "string" but received type "number"
                                    
                                    poolcontrol.0
                                    2026-05-12 12:49:52.388	info	State value to set for "poolcontrol.0.chemistry.ph.input.last_value_at" has to be type "string" but received type "number"
                                    
                                    poolcontrol.0
                                    2026-05-12 12:48:52.398	info	State value to set for "poolcontrol.0.chemistry.ph.debug.last_update" has to be type "string" but received type "number"
                                    
                                    poolcontrol.0
                                    2026-05-12 12:48:52.389	info	State value to set for "poolcontrol.0.chemistry.ph.input.last_valid_value_at" has to be type "string" but received type "number"
                                    
                                    poolcontrol.0
                                    2026-05-12 12:48:52.387	info	State value to set for "poolcontrol.0.chemistry.ph.input.previous_value_at" has to be type "string" but received type "number"
                                    
                                    poolcontrol.0
                                    2026-05-12 12:48:52.377	info	State value to set for "poolcontrol.0.chemistry.ph.input.last_value_at" has to be type "string" but received type "number"
                                    

                                    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                    Immer Daten sichern!

                                    DasBo1975D 1 Antwort Letzte Antwort
                                    0
                                    • sigi234S sigi234

                                      @DasBo1975 sagte:

                                      Bei mir im Produktiv- und Testsystem laufen die Zeitanzeigen jetzt wieder korrekt.

                                      Bei mir auch bis auf:

                                      
                                      poolcontrol.0
                                      2026-05-12 12:50:52.530	info	State value to set for "poolcontrol.0.chemistry.ph.debug.last_update" has to be type "string" but received type "number"
                                      
                                      poolcontrol.0
                                      2026-05-12 12:50:52.497	info	State value to set for "poolcontrol.0.chemistry.ph.trend.reference_24h_at" has to be type "string" but received type "number"
                                      
                                      poolcontrol.0
                                      2026-05-12 12:50:52.462	info	State value to set for "poolcontrol.0.chemistry.ph.input.last_valid_value_at" has to be type "string" but received type "number"
                                      
                                      poolcontrol.0
                                      2026-05-12 12:50:52.456	info	State value to set for "poolcontrol.0.chemistry.ph.input.previous_value_at" has to be type "string" but received type "number"
                                      
                                      poolcontrol.0
                                      2026-05-12 12:50:52.443	info	State value to set for "poolcontrol.0.chemistry.ph.input.last_value_at" has to be type "string" but received type "number"
                                      
                                      poolcontrol.0
                                      2026-05-12 12:49:52.416	info	State value to set for "poolcontrol.0.chemistry.ph.debug.last_update" has to be type "string" but received type "number"
                                      
                                      poolcontrol.0
                                      2026-05-12 12:49:52.401	info	State value to set for "poolcontrol.0.chemistry.ph.input.last_valid_value_at" has to be type "string" but received type "number"
                                      
                                      poolcontrol.0
                                      2026-05-12 12:49:52.397	info	State value to set for "poolcontrol.0.chemistry.ph.input.previous_value_at" has to be type "string" but received type "number"
                                      
                                      poolcontrol.0
                                      2026-05-12 12:49:52.388	info	State value to set for "poolcontrol.0.chemistry.ph.input.last_value_at" has to be type "string" but received type "number"
                                      
                                      poolcontrol.0
                                      2026-05-12 12:48:52.398	info	State value to set for "poolcontrol.0.chemistry.ph.debug.last_update" has to be type "string" but received type "number"
                                      
                                      poolcontrol.0
                                      2026-05-12 12:48:52.389	info	State value to set for "poolcontrol.0.chemistry.ph.input.last_valid_value_at" has to be type "string" but received type "number"
                                      
                                      poolcontrol.0
                                      2026-05-12 12:48:52.387	info	State value to set for "poolcontrol.0.chemistry.ph.input.previous_value_at" has to be type "string" but received type "number"
                                      
                                      poolcontrol.0
                                      2026-05-12 12:48:52.377	info	State value to set for "poolcontrol.0.chemistry.ph.input.last_value_at" has to be type "string" but received type "number"
                                      
                                      DasBo1975D Online
                                      DasBo1975D Online
                                      DasBo1975
                                      Developer
                                      schrieb zuletzt editiert von
                                      #411

                                      @sigi234 sagte:

                                      @DasBo1975 sagte:

                                      Bei mir im Produktiv- und Testsystem laufen die Zeitanzeigen jetzt wieder korrekt.

                                      Bei mir auch bis auf:

                                      Hallo,

                                      das liegt daran, dass bei dir noch die alten Datenpunkte vorhanden sind, die an diesen Stellen noch string erwarten. Die neue Version schreibt dort jetzt korrekt number-Zeitstempel.

                                      Bitte einmal die drei Ordner ph, tds und orp unter poolcontrol.0.chemistry löschen und anschließend den Adapter neu starten. Dann werden die Datenpunkte neu angelegt und die Meldungen sollten weg sein.

                                      • 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

                                      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

                                      589

                                      Online

                                      32.9k

                                      Benutzer

                                      82.9k

                                      Themen

                                      1.3m

                                      Beiträge
                                      Community
                                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                      ioBroker Community 2014-2025
                                      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