<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Test Adapter PoolControl]]></title><description><![CDATA[<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Aktuelle Test Version</th>
<th>1.3.18</th>
</tr>
</thead>
<tbody>
<tr>
<td>Veröffentlichungsdatum</td>
<td>29.09.2025</td>
</tr>
<tr>
<td>Github Link</td>
<td><a href="https://github.com/DasBo1975/iobroker.poolcontrol" rel="nofollow ugc">https://github.com/DasBo1975/iobroker.poolcontrol</a></td>
</tr>
</tbody>
</table>
<p dir="auto"><strong>Adapter-Beschreibung</strong><br />
Der Adapter <strong>ioBroker.poolcontrol</strong> dient zur Steuerung und Überwachung von Poolanlagen.<br />
Zu den Funktionen gehören:</p>
<ul>
<li>Pumpensteuerung (Automatik, Manuell, Zeitsteuerung, Aus) inkl. Frost- und Überhitzungsschutz</li>
<li>Temperaturverwaltung mit bis zu 6 Sensoren, Min/Max, Deltas und Änderungsraten</li>
<li>Solarsteuerung mit Hysterese und Warnschwellen</li>
<li>Zeitsteuerung mit bis zu 3 konfigurierbaren Zeitfenstern</li>
<li>Laufzeit- und Umwälzberechnung</li>
<li>Verbrauchs- und Kostenanalyse über externen kWh-Zähler</li>
<li>Sprachausgabe über Alexa oder Telegram</li>
</ul>
<p dir="auto"><strong>Changelog (Auszug)</strong></p>
<ul>
<li>0.0.7 – Help-Datei (<code>help.md</code>) und erste README-Version hinzugefügt</li>
<li>0.0.6 – Verbrauchs- und Kostenberechnung mit externem kWh-Zähler</li>
<li>0.0.5 – Sprachausgabe über Alexa und Telegram</li>
</ul>
]]></description><link>https://forum.iobroker.net/topic/82332/test-adapter-poolcontrol</link><generator>RSS for Node</generator><lastBuildDate>Sat, 16 May 2026 20:19:31 GMT</lastBuildDate><atom:link href="https://forum.iobroker.net/topic/82332.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 29 Sep 2025 06:02:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Test Adapter PoolControl on Thu, 14 May 2026 09:50:33 GMT]]></title><description><![CDATA[<p dir="auto">Gibts hier auch die Möglichkeit eine UV-Lampe einzuschalten, aber nur dann wenn die Pumpe läuft?</p>
<p dir="auto">Und kann ich zb den Flow-Sensor meiner Dosieranlage irgendwie nutzen um zu sagen, es ist kein Flow, dreh alles ab, oder benachritige mich?</p>
]]></description><link>https://forum.iobroker.net/post/1339607</link><guid isPermaLink="true">https://forum.iobroker.net/post/1339607</guid><dc:creator><![CDATA[homecineplexx]]></dc:creator><pubDate>Thu, 14 May 2026 09:50:33 GMT</pubDate></item><item><title><![CDATA[Reply to Test Adapter PoolControl on Wed, 13 May 2026 15:55:17 GMT]]></title><description><![CDATA[<p dir="auto">Hallo zusammen,</p>
<p dir="auto">ich habe gerade die Version 1.3.20 hochgeladen.</p>
<p dir="auto">Enthalten sind diesmal hauptsächlich Stabilitätsverbesserungen im Bereich Runtime-/Umwälzberechnung sowie eine Nachbesserung der Zeitsteuerung.</p>
<p dir="auto">Änderungen:</p>
<ul>
<li>Runtime-Selbstheilung für seltene verpasste Pumpenstart-Ereignisse ergänzt</li>
<li>Laufzeit- und Umwälzberechnung bei verzögerten oder gefilterten Pumpenschalter-Updates stabilisiert</li>
<li>Seltenen Synchronisationsfehler behoben, bei dem die Umwälzberechnung trotz aktiver Pumpen-Livewerte stehen bleiben konnte</li>
<li>Interne Runtime-Synchronisierung robuster gegenüber kleinen Timing-Unterschieden zwischen unterschiedlichen Systemen gemacht</li>
<li>Zeitsteuerungs-Datenpunkte (<code>timecontrol.*</code>) gegen Überschreiben bei Updates/Überinstallationen abgesichert</li>
<li>Gespeicherte Zeitfenster, Uhrzeiten und Wochentage bleiben jetzt bei Updates erhalten</li>
</ul>
<p dir="auto">Danke auch an <a class="plugin-mentions-user plugin-mentions-a" href="/user/dennismenger" aria-label="Profile: dennismenger">@<bdi>dennismenger</bdi></a>  für die Screenshots und Rückmeldungen rund um das Verhalten im Zeitmodus. Dadurch konnte ich die Runtime-/Synchronisationslogik nochmals gezielt absichern.</p>
<p dir="auto">Viele Grüße<br />
DasBo</p>
]]></description><link>https://forum.iobroker.net/post/1339494</link><guid isPermaLink="true">https://forum.iobroker.net/post/1339494</guid><dc:creator><![CDATA[DasBo1975]]></dc:creator><pubDate>Wed, 13 May 2026 15:55:17 GMT</pubDate></item><item><title><![CDATA[Reply to Test Adapter PoolControl on Wed, 13 May 2026 04:14:02 GMT]]></title><description><![CDATA[<p dir="auto">Moin.</p>
<p dir="auto">Einmal zwei Screenshots. Beide Werte bei 0. Pumpe lief im Zeitmodus. Die Werte im Ordner pump/live verändern sich auch, aber bei daily_total leider nicht.</p>
<p dir="auto">Start:</p>
<p dir="auto"><img src="/assets/uploads/files/1778645592061-daily2.png" alt="daily2.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">nach 4 Minuten:</p>
<p dir="auto"><img src="/assets/uploads/files/1778645592068-daily1.png" alt="daily1.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.iobroker.net/post/1339406</link><guid isPermaLink="true">https://forum.iobroker.net/post/1339406</guid><dc:creator><![CDATA[DennisMenger]]></dc:creator><pubDate>Wed, 13 May 2026 04:14:02 GMT</pubDate></item><item><title><![CDATA[Reply to Test Adapter PoolControl on Tue, 12 May 2026 20:51:25 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dennismenger" aria-label="Profile: DennisMenger">@<bdi>DennisMenger</bdi></a> <a href="/post/1339394">sagte</a>:</p>
<p dir="auto">Hier einmal zwei Screenshots. Ich hoffe alle Datenpunkte sind dabei.</p>
</blockquote>
<p dir="auto">Bitte einmal im Zeitmodus die Werte von circulation.daily_total über 3 Minuten beobachten:<br />
Startwert notieren, 3 Minuten warten, Endwert notieren.<br />
Bei deinem aktuellen flow_current_lh von ca. 6196 l/h müsste daily_total in 3 Minuten um ungefähr 300 Liter steigen.</p>
]]></description><link>https://forum.iobroker.net/post/1339399</link><guid isPermaLink="true">https://forum.iobroker.net/post/1339399</guid><dc:creator><![CDATA[DasBo1975]]></dc:creator><pubDate>Tue, 12 May 2026 20:51:25 GMT</pubDate></item><item><title><![CDATA[Reply to Test Adapter PoolControl on Tue, 12 May 2026 20:12:03 GMT]]></title><description><![CDATA[<p dir="auto">Hier einmal zwei Screenshots. Ich hoffe alle Datenpunkte sind dabei.</p>
<p dir="auto"><img src="/assets/uploads/files/1778616695620-pool2.png" alt="pool2.png" class=" img-fluid img-markdown" /></p>
<p dir="auto"><img src="/assets/uploads/files/1778616695629-pool1.png" alt="pool1.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.iobroker.net/post/1339394</link><guid isPermaLink="true">https://forum.iobroker.net/post/1339394</guid><dc:creator><![CDATA[DennisMenger]]></dc:creator><pubDate>Tue, 12 May 2026 20:12:03 GMT</pubDate></item><item><title><![CDATA[Reply to Test Adapter PoolControl on Tue, 12 May 2026 18:25:13 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dennismenger" aria-label="Profile: DennisMenger">@<bdi>DennisMenger</bdi></a> <a href="/post/1339181">sagte</a>:</p>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dasbo1975" aria-label="Profile: dasbo1975">@<bdi>dasbo1975</bdi></a> 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.</p>
</blockquote>
<p dir="auto">Hallo Dennis,</p>
<p dir="auto">danke für die Rückmeldung. Ich habe den Zeitmodus heute mehrfach in meinem Test- und Produktivsystem geprüft. Dort wird <code>circulation.daily_total</code> im Zeitmodus korrekt hochgezählt, auch wenn <code>pump.active_helper = timeHelper</code> aktiv ist.</p>
<p dir="auto">Ich hänge zusätzlich zwei Screenshots von heute 20:10 Uhr und 20:13 Uhr an. Dort sieht man meine aktuelle Einstellung im Pumpenbereich wärend des Zeitmodus sowie, dass <code>daily_total</code> dabei weiter hochzählt.</p>
<p dir="auto">Dadurch scheint das Problem momentan nicht generell den Zeitmodus selbst zu betreffen, sondern möglicherweise eine bestimmte Konstellation bei den Leistungs-/Livewerten.</p>
<p dir="auto">Könntest du mir bitte während der Fehler aktiv ist einmal folgende Datenpunkte schicken bzw. als Screenshot posten:</p>
<ul>
<li><code>pump.current_power</code></li>
<li><code>pump.live.flow_current_lh</code></li>
<li><code>pump.live.flow_percent</code></li>
<li><code>pump.pump_switch</code></li>
<li><code>pump.active_helper</code></li>
<li><code>circulation.daily_total</code></li>
<li><code>pump.pump_max_watt</code></li>
<li><code>pump.pump_power_lph</code></li>
</ul>
<p dir="auto">Wichtig wäre dabei:</p>
<ul>
<li>Pumpe läuft über die Zeitsteuerung</li>
<li><code>daily_total</code> zählt in dem Moment nicht weiter</li>
</ul>
<p dir="auto">Dann kann ich besser eingrenzen, an welcher Stelle die Werte bei dir nicht weitergegeben oder berechnet werden.</p>
<p dir="auto">Viele Grüße<br />
DasBo<br />
<img src="/assets/uploads/files/1778609736131-timehelper-bild-1-20uhr10.png" alt="Timehelper Bild 1 20uhr10.png" class=" img-fluid img-markdown" /><br />
<img src="/assets/uploads/files/1778609747879-timehelper-20uhr13.png" alt="Timehelper 20uhr13.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.iobroker.net/post/1339344</link><guid isPermaLink="true">https://forum.iobroker.net/post/1339344</guid><dc:creator><![CDATA[DasBo1975]]></dc:creator><pubDate>Tue, 12 May 2026 18:25:13 GMT</pubDate></item><item><title><![CDATA[Reply to Test Adapter PoolControl on Tue, 12 May 2026 11:18:19 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/sigi234" aria-label="Profile: sigi234">@<bdi>sigi234</bdi></a> <a href="/post/1339229">sagte</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dasbo1975" aria-label="Profile: DasBo1975">@<bdi>DasBo1975</bdi></a> <a href="/post/1339137">sagte</a>:</p>
<p dir="auto">Bei mir im Produktiv- und Testsystem laufen die Zeitanzeigen jetzt wieder korrekt.</p>
</blockquote>
<p dir="auto">Bei mir auch bis auf:</p>
<pre><code></code></pre>
</blockquote>
<p dir="auto">Hallo,</p>
<p dir="auto">das liegt daran, dass bei dir noch die alten Datenpunkte vorhanden sind, die an diesen Stellen noch <code>string</code> erwarten. Die neue Version schreibt dort jetzt korrekt <code>number</code>-Zeitstempel.</p>
<p dir="auto">Bitte einmal die drei Ordner <code>ph</code>, <code>tds</code> und <code>orp</code> unter <code>poolcontrol.0.chemistry</code> löschen und anschließend den Adapter neu starten. Dann werden die Datenpunkte neu angelegt und die Meldungen sollten weg sein.</p>
]]></description><link>https://forum.iobroker.net/post/1339235</link><guid isPermaLink="true">https://forum.iobroker.net/post/1339235</guid><dc:creator><![CDATA[DasBo1975]]></dc:creator><pubDate>Tue, 12 May 2026 11:18:19 GMT</pubDate></item><item><title><![CDATA[Reply to Test Adapter PoolControl on Tue, 12 May 2026 10:52:07 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dasbo1975" aria-label="Profile: DasBo1975">@<bdi>DasBo1975</bdi></a> <a href="/post/1339137">sagte</a>:</p>
<p dir="auto">Bei mir im Produktiv- und Testsystem laufen die Zeitanzeigen jetzt wieder korrekt.</p>
</blockquote>
<p dir="auto">Bei mir auch bis auf:</p>
<pre><code>
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"
</code></pre>
]]></description><link>https://forum.iobroker.net/post/1339229</link><guid isPermaLink="true">https://forum.iobroker.net/post/1339229</guid><dc:creator><![CDATA[sigi234]]></dc:creator><pubDate>Tue, 12 May 2026 10:52:07 GMT</pubDate></item><item><title><![CDATA[Reply to Test Adapter PoolControl on Tue, 12 May 2026 06:48:54 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dasbo1975" aria-label="Profile: dasbo1975">@<bdi>dasbo1975</bdi></a> 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.</p>
]]></description><link>https://forum.iobroker.net/post/1339181</link><guid isPermaLink="true">https://forum.iobroker.net/post/1339181</guid><dc:creator><![CDATA[DennisMenger]]></dc:creator><pubDate>Tue, 12 May 2026 06:48:54 GMT</pubDate></item><item><title><![CDATA[Reply to Test Adapter PoolControl on Mon, 11 May 2026 17:35:53 GMT]]></title><description><![CDATA[<p dir="auto">Mit Version 1.3.18 habe ich einen Fehler in den Zeit-/Datumsanzeigen der pH-, ORP- und TDS-Bereiche behoben.</p>
<p dir="auto">Vielen Dank an <a class="plugin-mentions-user plugin-mentions-a" href="/user/sigi234" aria-label="Profile: sigi234">@<bdi>sigi234</bdi></a>  für den Hinweis und das genaue Beobachten. 👍</p>
<p dir="auto">Ursache war letztlich die Art, wie die Zeitstates intern gespeichert wurden. Einige <code>value.time</code>-Datenpunkte wurden bislang mit lokal formatierten Datumsstrings beschrieben. Je nach ioBroker/Admin-Interpretation konnte das zu falschen Datumsanzeigen führen.</p>
<p dir="auto">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.</p>
<p dir="auto">Betroffen waren:</p>
<ul>
<li>pH-Auswertung</li>
<li>ORP-/Redox-Auswertung</li>
<li>TDS-Auswertung</li>
</ul>
<p dir="auto">Bei mir im Produktiv- und Testsystem laufen die Zeitanzeigen jetzt wieder korrekt.</p>
]]></description><link>https://forum.iobroker.net/post/1339137</link><guid isPermaLink="true">https://forum.iobroker.net/post/1339137</guid><dc:creator><![CDATA[DasBo1975]]></dc:creator><pubDate>Mon, 11 May 2026 17:35:53 GMT</pubDate></item><item><title><![CDATA[Reply to Test Adapter PoolControl on Mon, 11 May 2026 11:00:05 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dasbo1975" aria-label="Profile: DasBo1975">@<bdi>DasBo1975</bdi></a> <a href="/post/1339068">sagte</a>:</p>
<p dir="auto">Stimmt denn die Zeitwerte bei dir auf dem Rechner?</p>
</blockquote>
<p dir="auto">Ja</p>
<p dir="auto">Edit:</p>
<p dir="auto">Wert stimmt nicht</p>
<p dir="auto"><img src="/assets/uploads/files/1778497204330-screenshot-1561.png" alt="Screenshot (1561).png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.iobroker.net/post/1339069</link><guid isPermaLink="true">https://forum.iobroker.net/post/1339069</guid><dc:creator><![CDATA[sigi234]]></dc:creator><pubDate>Mon, 11 May 2026 11:00:05 GMT</pubDate></item><item><title><![CDATA[Reply to Test Adapter PoolControl on Mon, 11 May 2026 10:42:27 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/sigi234" aria-label="Profile: sigi234">@<bdi>sigi234</bdi></a> <a href="/post/1339063">sagte</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dasbo1975" aria-label="Profile: DasBo1975">@<bdi>DasBo1975</bdi></a> <a href="/post/1339055">sagte</a>:</p>
<p dir="auto">Außerdem wurde die bestehende pH-Struktur erweitert und an die neuen TDS-/ORP-Bereiche angepasst.</p>
</blockquote>
<p dir="auto">Warum sind die Zeitwerte alle in der Zukunft?</p>
</blockquote>
<p dir="auto">Okay. Das ist gruselig. Bei mir ist mir das bislang noch nicht aufgefallen. Stimmt denn die Zeitwerte bei dir auf dem Rechner?</p>
<p dir="auto">Wenn ich heute Abend zu Hause bin, dann werde ich mir das anschauen</p>
]]></description><link>https://forum.iobroker.net/post/1339068</link><guid isPermaLink="true">https://forum.iobroker.net/post/1339068</guid><dc:creator><![CDATA[DasBo1975]]></dc:creator><pubDate>Mon, 11 May 2026 10:42:27 GMT</pubDate></item><item><title><![CDATA[Reply to Test Adapter PoolControl on Mon, 11 May 2026 09:39:27 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dasbo1975" aria-label="Profile: DasBo1975">@<bdi>DasBo1975</bdi></a> <a href="/post/1339055">sagte</a>:</p>
<p dir="auto">Außerdem wurde die bestehende pH-Struktur erweitert und an die neuen TDS-/ORP-Bereiche angepasst.</p>
</blockquote>
<p dir="auto">Warum sind die Zeitwerte alle in der Zukunft?</p>
<p dir="auto"><img src="/assets/uploads/files/1778492366466-screenshot-1560.png" alt="Screenshot (1560).png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.iobroker.net/post/1339063</link><guid isPermaLink="true">https://forum.iobroker.net/post/1339063</guid><dc:creator><![CDATA[sigi234]]></dc:creator><pubDate>Mon, 11 May 2026 09:39:27 GMT</pubDate></item><item><title><![CDATA[Reply to Test Adapter PoolControl on Mon, 11 May 2026 09:02:03 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dasbo1975" aria-label="Profile: dasbo1975">@<bdi>dasbo1975</bdi></a> kein Problem ... wir testen nur. Die meiste Arbeit hast ja du.</p>
<p dir="auto">Funktioniert jetzt einwandfrei. Danke</p>
]]></description><link>https://forum.iobroker.net/post/1339058</link><guid isPermaLink="true">https://forum.iobroker.net/post/1339058</guid><dc:creator><![CDATA[DennisMenger]]></dc:creator><pubDate>Mon, 11 May 2026 09:02:03 GMT</pubDate></item><item><title><![CDATA[Reply to Test Adapter PoolControl on Mon, 11 May 2026 08:09:00 GMT]]></title><description><![CDATA[<p dir="auto">Hallo zusammen,</p>
<p dir="auto">ich habe soeben die Version 1.3.17 von PoolControl ins latest-Repository hochgeladen.</p>
<p dir="auto">Neu dabei:</p>
<ul>
<li>Fehler bei der Umwälzberechnung im Zeitmodus behoben</li>
<li>Sprachsystem und Runtime-Persistenz weiter stabilisiert</li>
<li>Wiederholte Solar-Benachrichtigungen reduziert</li>
<li>weitere interne Stabilitätsverbesserungen</li>
</ul>
<p dir="auto">Zusätzlich ist jetzt der neue ORP-/Redox-Bereich vollständig mit integriert:</p>
<ul>
<li>neuer Bereich unter <code>chemistry.orp</code></li>
<li>ORP-Eingabe über <code>disabled</code>, <code>manual</code> oder externen State</li>
<li>Unterstützung für ORP-Werte in mV</li>
<li>Einbindung der bestehenden pH-Werte als Referenz</li>
<li>Messort-, Pumpen- und Stabilisierungslogik analog zu pH/TDS</li>
<li>Trend-, History- sowie Text-/HTML-/JSON-Ausgaben</li>
<li>bewusst ohne automatische Dosierung oder Chlorsteuerung</li>
</ul>
<p dir="auto">Außerdem wurde die bestehende pH-Struktur erweitert und an die neuen TDS-/ORP-Bereiche angepasst.</p>
<p dir="auto">Ein besonderer Dank geht an <a class="plugin-mentions-user plugin-mentions-a" href="/user/dennismenger" aria-label="Profile: dennismenger">@<bdi>dennismenger</bdi></a> für den Hinweis zur Umwälzberechnung im Zeitmodus. Dadurch konnte ich die Ursache eingrenzen und beheben.</p>
<p dir="auto">Wie immer freue ich mich über Feedback und Rückmeldungen aus euren produktiven Systemen.</p>
<p dir="auto">Viele Grüße<br />
DasBo</p>
]]></description><link>https://forum.iobroker.net/post/1339055</link><guid isPermaLink="true">https://forum.iobroker.net/post/1339055</guid><dc:creator><![CDATA[DasBo1975]]></dc:creator><pubDate>Mon, 11 May 2026 08:09:00 GMT</pubDate></item><item><title><![CDATA[Reply to Test Adapter PoolControl on Mon, 11 May 2026 06:50:58 GMT]]></title><description><![CDATA[<p dir="auto">Guten Morgen. Schaue ich mir an</p>
]]></description><link>https://forum.iobroker.net/post/1339043</link><guid isPermaLink="true">https://forum.iobroker.net/post/1339043</guid><dc:creator><![CDATA[DasBo1975]]></dc:creator><pubDate>Mon, 11 May 2026 06:50:58 GMT</pubDate></item><item><title><![CDATA[Reply to Test Adapter PoolControl on Mon, 11 May 2026 06:14:33 GMT]]></title><description><![CDATA[<p dir="auto">Moin.<br />
Ich habe heute festgestellt, dass bei mir im Zeitmodus die Umwälzmenge in circulation/daily_total nicht angepasst wird. Im Automatikmodus funktioniert es.</p>
<p dir="auto">Aktuelle Version: v1.3.15</p>
]]></description><link>https://forum.iobroker.net/post/1339038</link><guid isPermaLink="true">https://forum.iobroker.net/post/1339038</guid><dc:creator><![CDATA[DennisMenger]]></dc:creator><pubDate>Mon, 11 May 2026 06:14:33 GMT</pubDate></item><item><title><![CDATA[Reply to Test Adapter PoolControl on Fri, 08 May 2026 06:14:04 GMT]]></title><description><![CDATA[<p dir="auto">Mit Version 1.3.13 wurde die Projektdokumentation erweitert.</p>
<p dir="auto">Neu hinzugekommen ist eine ausführliche Funktionsübersicht des Adapters in deutscher und englischer Sprache unter docs/de und docs/en.<br />
Die Dokumentation beschreibt die wichtigsten Bereiche und Funktionen von PoolControl, darunter Pumpensteuerung, Solar/PV, Statistik-, Insights- sowie Chemie- und Analysefunktionen.</p>
<p dir="auto">Zusätzlich wurde ein ungültiger common.installedFrom-Eintrag in der io-package.json bereinigt.</p>
]]></description><link>https://forum.iobroker.net/post/1338600</link><guid isPermaLink="true">https://forum.iobroker.net/post/1338600</guid><dc:creator><![CDATA[DasBo1975]]></dc:creator><pubDate>Fri, 08 May 2026 06:14:04 GMT</pubDate></item><item><title><![CDATA[Reply to Test Adapter PoolControl on Sat, 02 May 2026 13:03:48 GMT]]></title><description><![CDATA[<p dir="auto">Hallo zusammen,</p>
<p dir="auto">ich habe soeben die Version <strong>1.3.11</strong> veröffentlicht.</p>
<p dir="auto">Die Version ist diesmal relativ schnell nach der letzten erschienen, weil sich ein Fehler in der Solarsteuerung eingeschlichen hatte.<br />
Konkret haben sich <code>solarHelper</code> und <code>solarExtendedHelper</code> beim Datenpunkt für die Sprachausgabe (<code>speech.solar_active</code>) gegenseitig beeinflusst. Im ungünstigsten Fall führte das dazu, dass die Sprachausgabe minütlich zwischen „eingeschaltet“ und „beendet“ gewechselt hat.</p>
<p dir="auto">Das Verhalten ist jetzt korrigiert. Die beiden Solarmodi sind sauber voneinander getrennt und beeinflussen sich nicht mehr gegenseitig. Die Sprachausgabe arbeitet damit wieder stabil.</p>
<p dir="auto">Da ich ohnehin am Code war, habe ich zusätzlich zwei größere Funktionen integriert, die ich ohnehin als nächste Schritte geplant hatte:</p>
<p dir="auto"><strong>Neu: pH-Auswertung (<a href="http://chemistry.ph" rel="nofollow ugc">chemistry.ph</a>)</strong></p>
<ul>
<li>Unterstützung für manuelle Eingabe und externe Datenpunkte</li>
<li>Berücksichtigung des Messortes (Pool, Messstrecke etc.)</li>
<li>Plausibilitätsprüfung und Statusbewertung</li>
<li>Verständliche Handlungsempfehlungen (keine automatische Dosierung)</li>
<li>Optionaler Mischlauf mit sauberem Pumpen-Handling</li>
<li>Erste Historienfunktionen</li>
</ul>
<p dir="auto"><strong>Neu: TDS-Auswertung (chemistry.tds)</strong></p>
<ul>
<li>Unterstützung für manuelle Eingabe und externe Datenpunkte</li>
<li>Trendanalyse über 24h, 7 Tage und 30 Tage</li>
<li>Referenzwert (Startwert) zur Bewertung der Wasserentwicklung</li>
<li>Bewertung auf Basis von Trend, Absolutwert und Veränderung</li>
<li>Speicherung von Messwerten für die Trendberechnung</li>
<li>Ausgaben als Text, JSON und HTML für spätere Visualisierung</li>
</ul>
<p dir="auto">Wie immer gilt:<br />
Das Ganze ist bewusst erstmal ohne automatische Chemie-Steuerung umgesetzt. Fokus liegt auf sauberer Auswertung und nachvollziehbaren Hinweisen.</p>
<p dir="auto">Falls euch beim Testen noch etwas auffällt oder ihr Ideen habt, gerne melden 🙂</p>
<p dir="auto">Viele Grüße<br />
DasBo</p>
]]></description><link>https://forum.iobroker.net/post/1337503</link><guid isPermaLink="true">https://forum.iobroker.net/post/1337503</guid><dc:creator><![CDATA[DasBo1975]]></dc:creator><pubDate>Sat, 02 May 2026 13:03:48 GMT</pubDate></item><item><title><![CDATA[Reply to Test Adapter PoolControl on Fri, 01 May 2026 18:30:19 GMT]]></title><description><![CDATA[<p dir="auto">Mit der Version 1.3.10 habe ich einige größere Erweiterungen und Verbesserungen rund um die Photovoltaik-Integration umgesetzt.</p>
<p dir="auto">✨ Neu: Photovoltaic Insights</p>
<p dir="auto">Ich habe einen neuen Analysebereich analytics.insights.photovoltaic eingeführt.</p>
<p dir="auto">Damit werte ich jetzt aus:</p>
<p dir="auto">wie lange die Pumpe durch PV-Überschuss gelaufen ist<br />
wie viel Energie dabei genutzt wurde<br />
und welche Einsparung sich daraus ungefähr ergibt</p>
<p dir="auto">Dazu gibt es:</p>
<p dir="auto">einen neuen Helper (photovoltaicInsightsHelper)<br />
eine eigene State-Struktur (Inputs, Calculation, Results, Debug)<br />
sowie Zusammenfassungen als Text, JSON und HTML</p>
<p dir="auto">Der Bereich ist vollständig in das bestehende i18n-System integriert.</p>
<p dir="auto">🔧 Verbesserung: Active Helper Handling</p>
<p dir="auto">Ich habe das Handling von pump.active_helper vereinheitlicht.</p>
<p dir="auto">Folgende Helper unterstützen das jetzt sauber:</p>
<p dir="auto">photovoltaicHelper<br />
solarHelper<br />
solarExtendedHelper</p>
<p dir="auto">Bisher haben einige dieser Helper den Status nicht gesetzt, wenn sie die Pumpe gesteuert haben.<br />
Das habe ich jetzt vereinheitlicht.</p>
<p dir="auto">Jeder Helper:</p>
<p dir="auto">setzt sich selbst als aktiven Helper, wenn er die Pumpe steuert<br />
gibt die Kontrolle wieder frei, wenn er fertig ist<br />
überschreibt keine anderen aktiven Helper</p>
<p dir="auto">Zusätzlich kann der Datenpunkt pump.active_helper jetzt auch sehr gut für Visualisierungen genutzt werden,<br />
um direkt zu sehen, welcher Helper aktuell die Pumpe steuert und warum sie läuft.</p>
<p dir="auto">Das sorgt für eine saubere Prioritätslogik und verhindert Konflikte zwischen den Helpern.</p>
<p dir="auto">🧠 Verbesserung: PV-Laufzeit-Auswertung</p>
<p dir="auto">Die PV-Laufzeit wird jetzt nur noch gezählt, wenn:</p>
<p dir="auto">tatsächlich PV-Überschuss aktiv ist<br />
und der photovoltaicHelper die Pumpe auch wirklich steuert</p>
<p dir="auto">Dadurch sind die Werte für Laufzeit, Energie und Einsparung deutlich genauer.</p>
<p dir="auto">🐛 Fix: PV-Umwälzlogik</p>
<p dir="auto">Ich habe einen Fehler behoben, bei dem die Pumpe gestoppt wurde, obwohl<br />
photovoltaic.ignore_on_circulation = false gesetzt war.</p>
<p dir="auto">Die Prüfung der Umwälzmenge greift jetzt nur noch, wenn diese Option auch wirklich aktiviert ist.</p>
]]></description><link>https://forum.iobroker.net/post/1337407</link><guid isPermaLink="true">https://forum.iobroker.net/post/1337407</guid><dc:creator><![CDATA[DasBo1975]]></dc:creator><pubDate>Fri, 01 May 2026 18:30:19 GMT</pubDate></item><item><title><![CDATA[Reply to Test Adapter PoolControl on Mon, 27 Apr 2026 19:49:13 GMT]]></title><description><![CDATA[<p dir="auto">Vielen Dank, werde ich testen</p>
]]></description><link>https://forum.iobroker.net/post/1336773</link><guid isPermaLink="true">https://forum.iobroker.net/post/1336773</guid><dc:creator><![CDATA[DennisMenger]]></dc:creator><pubDate>Mon, 27 Apr 2026 19:49:13 GMT</pubDate></item><item><title><![CDATA[Reply to Test Adapter PoolControl on Mon, 27 Apr 2026 18:58:06 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dennismenger" aria-label="Profile: dennismenger">@<bdi>dennismenger</bdi></a></p>
<p dir="auto">Hier mal der html Code für das html widget.</p>
<pre><code>&lt;div style="width:100%;height:100%;box-sizing:border-box;font-family:Arial,sans-serif;color:white;overflow:hidden;"&gt;

  &lt;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;
  "&gt;
    Solar COP Auswertung
    &lt;div id="solarCopStatsV5" style="
      margin-top:5px;
      color:#ffffff;
      font-weight:normal;
      font-size:10px;
      line-height:1.35;
    "&gt;lade Tageswerte...&lt;/div&gt;
  &lt;/div&gt;

  &lt;div id="solarLogbookV5" style="
    width:100%;
    height:calc(100% - 76px);
    overflow-y:auto;
    padding:0 4px 8px 4px;
    box-sizing:border-box;
  "&gt;
    lade...
  &lt;/div&gt;

&lt;/div&gt;

&lt;script&gt;
(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(/&amp;/g, "&amp;amp;");
    t = t.replace(/&lt;/g, "&amp;lt;");
    t = t.replace(/&gt;/g, "&amp;gt;");
    return t;
  }

  function val(states, id, fallback) {
    if (states &amp;&amp; states[id] &amp;&amp; states[id].val !== undefined &amp;&amp; states[id].val !== null &amp;&amp; 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 &lt; 0) return "#ff5c5c";
    if (delta &lt;= 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 &lt;= 0 || cop === null || cop &lt;= 0) return 0;
    if (cop &lt; 2) return 1;
    if (cop &lt; 4) return 2;
    if (cop &lt; 6) return 3;
    if (cop &lt; 8) return 4;
    return 5;
  }

  function stars(score) {
    var s = "";
    var i;
    var activeColor = score &gt;= 4 ? "#00ff88" : "#ffb13b";

    for (i = 1; i &lt;= 5; i++) {
      if (i &lt;= score) {
        s += "&lt;span style='color:" + activeColor + ";'&gt;★&lt;/span&gt;";
      } else {
        s += "&lt;span style='color:#555;'&gt;☆&lt;/span&gt;";
      }
    }

    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 &gt; 0 &amp;&amp; copRaw !== null &amp;&amp; copRaw &gt; 0) {
      cop = copRaw;
      copText = formatNumber(cop, 2);
      copColor = cop &gt;= 6 ? "#00ff88" : (cop &gt;= 2 ? "#ffb13b" : "#ff5c5c");
    }

    var statusText = "Heute: keine Aktivität";
    var statusColor = "#ffb13b";

    if (ran === true || ran === "true" || min &gt; 0) {
      statusText = "Heute: Solar war aktiv";
      statusColor = "#00ff88";
    }

    if (effective === true || effective === "true") {
      statusText = "Solar aktuell wirksam";
      statusColor = "#00ff88";
    }

    var kwhColor = kwh &gt; 0 ? "#00ff88" : "#ffb13b";
    var score = calcCopScore(min, cop);
    var scoreColor = score &gt;= 4 ? "#00ff88" : (score &gt;= 2 ? "#ffb13b" : "#9fb3c8");

    el.innerHTML =
      "&lt;span style='color:" + statusColor + ";font-weight:bold;'&gt;" + esc(statusText) + "&lt;/span&gt;"
      + " &amp;nbsp; | &amp;nbsp; COP: &lt;b style='color:" + copColor + ";'&gt;" + esc(copText) + "&lt;/b&gt;"
      + " &amp;nbsp; | &amp;nbsp; COP-Score: &lt;b style='color:" + scoreColor + ";letter-spacing:1px;'&gt;"
      + stars(score) + " (" + score + "/5)&lt;/b&gt;"
      + " &amp;nbsp; | &amp;nbsp; Laufzeit: &lt;b&gt;" + esc(formatNumber(min, 0)) + " min&lt;/b&gt;"
      + " &amp;nbsp; | &amp;nbsp; Solarertrag: &lt;b style='color:" + kwhColor + ";'&gt;" + esc(formatNumber(kwh, 2)) + " kWh&lt;/b&gt;"
      + " &amp;nbsp; | &amp;nbsp; Solarspitze: &lt;b&gt;" + esc(formatNumber(peak, 0)) + " W&lt;/b&gt;"
      + "&lt;br&gt;"
      + "Status: &lt;b&gt;" + esc(state) + "&lt;/b&gt;"
      + " &amp;nbsp; | &amp;nbsp; Kollektor: &lt;b&gt;" + esc(collector === null ? "-" : formatNumber(collector, 1)) + " °C&lt;/b&gt;"
      + " &amp;nbsp; | &amp;nbsp; ΔT: &lt;b style='color:" + deltaColor + ";'&gt;" + esc(delta === null ? "-" : formatNumber(delta, 1)) + " K&lt;/b&gt;";
  }

  function renderLog(raw) {
    var box = document.getElementById(targetId);
    if (!box) return;

    if (!raw || raw === "undefined" || raw === "null" || raw === "$null") {
      box.innerHTML = "&lt;div style='color:#ffb13b;padding:10px;font-size:10px;'&gt;Keine Logbuchdaten vorhanden.&lt;/div&gt;";
      return;
    }

    var lines = String(raw).split(/\r?\n/).reverse();
    var html = "";
    var i;

    for (i = 0; i &lt; 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 &gt; 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 &lt; 3) {
        bg = "rgba(0,50,80,.82)";
        border = color;
      }

      html += ""
        + "&lt;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);'&gt;"
        +   "&lt;div style='color:" + color + ";font-weight:bold;font-size:10px;white-space:nowrap;'&gt;" + esc(time) + "&lt;/div&gt;"
        +   "&lt;div style='color:#ffffff;font-size:10px;line-height:1.28;'&gt;"
        +     "&lt;div style='font-weight:bold;color:#ffffff;margin-bottom:2px;'&gt;" + esc(firstSentence) + "&lt;/div&gt;"
        +     "&lt;div style='opacity:.72;'&gt;" + esc(text) + "&lt;/div&gt;"
        +   "&lt;/div&gt;"
        + "&lt;/div&gt;";
    }

    box.innerHTML = html;
  }

  function refresh() {
    vis.conn.getStates(baseLog + ".*", function (errLog, logStates) {
      var raw = "";

      if (!errLog &amp;&amp; logStates &amp;&amp; logStates[dpText]) {
        raw = logStates[dpText].val;
      }

      renderLog(raw);
    });

    vis.conn.getStates(baseResults + ".*", function (errRes, resultStates) {
      renderStats(resultStates || {});
    });
  }

  function startWhenReady() {
    if (typeof vis !== "undefined" &amp;&amp; vis.conn &amp;&amp; vis.conn.getStates) {
      refresh();
      setInterval(refresh, 60000);
    } else {
      setTimeout(startWhenReady, 500);
    }
  }

  startWhenReady();
})();
&lt;/script&gt;
</code></pre>
]]></description><link>https://forum.iobroker.net/post/1336752</link><guid isPermaLink="true">https://forum.iobroker.net/post/1336752</guid><dc:creator><![CDATA[DasBo1975]]></dc:creator><pubDate>Mon, 27 Apr 2026 18:58:06 GMT</pubDate></item><item><title><![CDATA[Reply to Test Adapter PoolControl on Mon, 27 Apr 2026 16:39:50 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dennismenger" aria-label="Profile: DennisMenger">@<bdi>DennisMenger</bdi></a></p>
<p dir="auto">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.</p>
]]></description><link>https://forum.iobroker.net/post/1336705</link><guid isPermaLink="true">https://forum.iobroker.net/post/1336705</guid><dc:creator><![CDATA[DasBo1975]]></dc:creator><pubDate>Mon, 27 Apr 2026 16:39:50 GMT</pubDate></item><item><title><![CDATA[Reply to Test Adapter PoolControl on Mon, 27 Apr 2026 09:23:12 GMT]]></title><description><![CDATA[<p dir="auto">Ich hätte da grundsätzlich Interesse dran. Das wäre klasse, wenn du das teilen würdest.</p>
<p dir="auto">PS: Solarauswertung scheint jetzt auch bei mir zu funktionieren.</p>
]]></description><link>https://forum.iobroker.net/post/1336618</link><guid isPermaLink="true">https://forum.iobroker.net/post/1336618</guid><dc:creator><![CDATA[DennisMenger]]></dc:creator><pubDate>Mon, 27 Apr 2026 09:23:12 GMT</pubDate></item></channel></rss>