iobroker.poolcontrol 1.2.0 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +285 -292
  2. package/admin/i18n/de/translations.json +158 -4
  3. package/admin/i18n/en/translations.json +161 -3
  4. package/admin/i18n/es/translations.json +158 -4
  5. package/admin/i18n/fr/translations.json +158 -4
  6. package/admin/i18n/it/translations.json +158 -4
  7. package/admin/i18n/nl/translations.json +158 -4
  8. package/admin/i18n/pl/translations.json +158 -4
  9. package/admin/i18n/pt/translations.json +158 -4
  10. package/admin/i18n/ru/translations.json +158 -4
  11. package/admin/i18n/uk/translations.json +158 -4
  12. package/admin/i18n/zh-cn/translations.json +158 -4
  13. package/admin/jsonConfig.json +180 -602
  14. package/io-package.json +121 -101
  15. package/lib/helpers/actuatorsHelper.js +6 -8
  16. package/lib/helpers/aiChemistryHelpHelper.js +7 -7
  17. package/lib/helpers/aiForecastHelper.js +21 -21
  18. package/lib/helpers/aiHelper.js +53 -63
  19. package/lib/helpers/consumptionHelper.js +23 -25
  20. package/lib/helpers/controlHelper.js +24 -24
  21. package/lib/helpers/controlHelper2.js +17 -17
  22. package/lib/helpers/debugLogHelper.js +12 -14
  23. package/lib/helpers/frostHelper.js +6 -6
  24. package/lib/helpers/heatHelper.js +14 -14
  25. package/lib/helpers/infoHelper.js +2 -2
  26. package/lib/helpers/migrationHelper.js +16 -16
  27. package/lib/helpers/photovoltaicHelper.js +28 -28
  28. package/lib/helpers/pumpHelper.js +16 -18
  29. package/lib/helpers/pumpHelper2.js +8 -10
  30. package/lib/helpers/pumpHelper3.js +9 -9
  31. package/lib/helpers/pumpHelper4.js +9 -9
  32. package/lib/helpers/pumpSpeedHelper.js +6 -6
  33. package/lib/helpers/runtimeHelper.js +14 -14
  34. package/lib/helpers/solarHelper.js +9 -9
  35. package/lib/helpers/speechHelper.js +13 -15
  36. package/lib/helpers/speechTextHelper.js +13 -13
  37. package/lib/helpers/statisticsHelper.js +9 -9
  38. package/lib/helpers/statisticsHelperMonth.js +15 -15
  39. package/lib/helpers/statisticsHelperWeek.js +11 -11
  40. package/lib/helpers/statusHelper.js +9 -9
  41. package/lib/helpers/temperatureHelper.js +9 -11
  42. package/lib/helpers/timeHelper.js +7 -9
  43. package/lib/stateDefinitions/actuatorsStates.js +19 -19
  44. package/lib/stateDefinitions/aiChemistryHelpStates.js +59 -28
  45. package/lib/stateDefinitions/aiStates.js +119 -31
  46. package/lib/stateDefinitions/consumptionStates.js +20 -14
  47. package/lib/stateDefinitions/controlStates.js +90 -37
  48. package/lib/stateDefinitions/debugLogStates.js +28 -13
  49. package/lib/stateDefinitions/generalStates.js +4 -4
  50. package/lib/stateDefinitions/heatStates.js +21 -21
  51. package/lib/stateDefinitions/infoStates.js +11 -5
  52. package/lib/stateDefinitions/photovoltaicStates.js +52 -24
  53. package/lib/stateDefinitions/pumpSpeedStates.js +11 -11
  54. package/lib/stateDefinitions/pumpStates.js +24 -15
  55. package/lib/stateDefinitions/pumpStates2.js +22 -10
  56. package/lib/stateDefinitions/pumpStates3.js +63 -24
  57. package/lib/stateDefinitions/pumpStates4.js +62 -32
  58. package/lib/stateDefinitions/runtimeStates.js +10 -10
  59. package/lib/stateDefinitions/solarStates.js +9 -9
  60. package/lib/stateDefinitions/speechStates.js +24 -21
  61. package/lib/stateDefinitions/statisticsStates.js +107 -29
  62. package/lib/stateDefinitions/statusStates.js +14 -12
  63. package/lib/stateDefinitions/temperatureStates.js +18 -12
  64. package/lib/stateDefinitions/timeStates.js +5 -5
  65. package/main.js +38 -0
  66. package/package.json +7 -8
package/README.md CHANGED
@@ -9,322 +9,322 @@
9
9
 
10
10
  ---
11
11
 
12
- ## Beschreibung
12
+ ## Description
13
13
 
14
- Der Adapter **ioBroker.poolcontrol** dient zur Steuerung und Überwachung von Poolanlagen.
15
- Er ermöglicht die Automatisierung von Pumpen-, Temperatur- und Solarsteuerung sowie die Verbrauchsauswertung.
14
+ The adapter ioBroker.poolcontrol is used for controlling and monitoring pool systems.
15
+ It enables automation of pump, temperature, and solar control as well as energy consumption analysis.
16
16
 
17
17
  ---
18
18
 
19
- ## Funktionen
19
+ ## Features
20
20
 
21
- - **Pumpensteuerung**
22
- - Betriebsmodi: Automatik, Automatik (PV), Manuell, Zeitsteuerung, Aus
23
- - Automatik (PV) steuert die Pumpe abhängig vom Photovoltaik-Überschuss
24
- - Fehlererkennung (kein Stromverbrauch, Leistung trotz „AUS“, Überlast)
25
- - Sicherheitsfunktionen (Frostschutz, Überhitzungsschutz)
26
- - Pumpen-Leistungsempfehlung für regelbare Pumpen
21
+ - **Pump Control**
22
+ - Operating modes: Automatic, Automatic (PV), Manual, Time Control, Off
23
+ - Automatic (PV) controls the pump depending on photovoltaic surplus
24
+ - Error detection (no power consumption, power despite “OFF”, overload)
25
+ - Safety functions (frost protection, overheating protection)
26
+ - Pump power recommendation for variable-speed pumps
27
27
 
28
- - **Temperaturverwaltung**
29
- - Bis zu 6 Sensoren (Oberfläche, Grund, Vorlauf, Rücklauf, Kollektor, Außentemperatur)
30
- - Tages-Minimum / -Maximum
31
- - Änderung pro Stunde
32
- - Differenzen (z. B. Kollektor Luft, OberflächeGrund, VorlaufRücklauf)
33
-
34
- - **Solarsteuerung**
35
- - Ein-/Ausschaltgrenzen mit Hysterese
36
- - Kollektor-Warnung (mit automatischer Rücksetzung bei 10 % unter der Schwelle)
37
- - Optionale Sprachausgabe bei Warnung
38
-
39
- - **Heizungs- / Wärmepumpensteuerung (neu, Testphase)**
40
- - Automatische Steuerung von Heizstab oder Wärmepumpe auf Basis der Pooltemperatur
41
- - Zieltemperatur und maximale Sicherheitstemperatur konfigurierbar
42
- - Aktiv nur bei:
43
- - aktiver Poolsaison
44
- - Pumpenmodus **Automatik**
45
- - nicht aktivem Wartungsmodus
46
- - Vorranglogik:
47
- - Wartungsmodus blockiert die Heizungssteuerung vollständig
48
- - Heizung greift nicht in manuelle oder zeitgesteuerte Pumpenmodi ein
49
- - Pumpen-Nachlaufzeit nach Heizende konfigurierbar
50
- - Ownership-Schutz:
51
- - Die Pumpe wird nur dann ausgeschaltet, wenn sie zuvor vom heatHelper selbst eingeschaltet wurde
52
- - Unterstützt:
53
- - schaltbare Steckdosen **oder**
54
- - boolesche Steuer-States externer Heizungen
55
- - Interner Status- und Diagnosebereich unter `heat.*`
56
- - Rein steuernd, **keine Chemie- oder Solarlogik**
28
+ - **Temperature Management**
29
+ - Up to 6 sensors (surface, bottom, flow, return, collector, outside temperature)
30
+ - Daily minimum / maximum
31
+ - Hourly change
32
+ - Differences (e.g., collectorair, surfacebottom, flowreturn)
33
+
34
+ - **Solar Control**
35
+ - On/off thresholds with hysteresis
36
+ - Collector warning (with automatic reset at 10% below threshold)
37
+ - Optional speech output on warning
38
+
39
+ - **Heating / Heat Pump Control (new, test phase)**
40
+ - Automatic control of heating rod or heat pump based on pool temperature
41
+ - Target temperature and maximum safety temperature configurable
42
+ - Active only when:
43
+ - pool season is active
44
+ - pump mode **Automatic**
45
+ - maintenance mode is not active
46
+ - Priority logic:
47
+ - Maintenance mode fully blocks heating control
48
+ - Heating does not interfere with manual or time-based pump modes
49
+ - Configurable pump overrun time after heating ends
50
+ - Ownership protection:
51
+ - The pump is only switched off if it was previously switched on by the heatHelper itself
52
+ - Supports:
53
+ - switchable sockets **or**
54
+ - boolean control states of external heating systems
55
+ - Internal status and diagnostic section under `heat.*`
56
+ - Purely controlling, **no chemistry or solar logic**
57
57
 
58
- **Hinweis:**
59
- Diese Funktion befindet sich aktuell in einer **Testphase**.
60
- Die Logik ist vollständig implementiert, sollte aber zunächst nur mit interessierten Test-Usern eingesetzt werden.
61
-
62
- - **Photovoltaiksteuerung (seit v0.6.0)**
63
- - Automatische Pumpensteuerung auf Basis von PV-Erzeugung und Hausverbrauchs
64
- - Einschaltlogik: Überschuss ≥ (Pumpen-Nennleistung + Sicherheitsaufschlag)
65
- - Optionaler Nachlauf bei Wolkenphasen
66
- - Ignorieren bei erreichter Tagesumwälzung
67
- - Konfiguration über zwei Fremd-Objekt-IDs (power_generated_id, power_house_id)
68
- - Neuer Pumpenmodus „Automatik (PV)
69
-
70
- - **Zeitsteuerung**
71
- - Bis zu 3 frei konfigurierbare Zeitfenster pro Woche
72
-
73
- - **Laufzeit & Umwälzung**
74
- - Zählt Laufzeiten (heute, gesamt)
75
- - Berechnet tägliche Umwälzung und Restmenge
76
- - Rückspülerinnerung mit konfigurierbarem Intervall (z. B. alle 7 Tage)
77
- - Anzeige der letzten Rückspülung inkl. Datum
78
- - Automatische Rücksetzung nach erfolgter Rückspülung
79
- - PV-Modus berücksichtigt Umwälzstatus (z. B. „Ignoriere bei Umwälzung erreicht“)
80
-
81
- - **Verbrauch & Kosten**
82
- - Auswertung eines externen kWh-Zählers
83
- - Tages-, Wochen-, Monats- und Jahresverbrauch
84
- - Berechnung der Stromkosten anhand konfigurierbarem Preis
85
-
86
- **Hinweis:**
87
- Details zum Verhalten der Verbrauchs- und Kostenwerte (z. B. bei Neustarts oder beim Wechsel des Stromzählers) finden Sie in der Datei
88
- [help.md](https://github.com/DasBo1975/ioBroker.poolcontrol/blob/main/admin/help.md)
89
-
90
-
91
- - **Statistiksystem**
92
- - Bereich `analytics.statistics.*` mit Tages-, Wochen- und Monatswerten
93
- - Automatische Berechnung von Min-, Max-, Durchschnitts- und Laufzeitwerten
94
- - Vollständig persistente Datenpunkte (Überinstallationsschutz)
95
- - HTML- und JSON-Zusammenfassungen pro Sensor und Gesamtübersicht
96
-
97
- - **Drucksensor-Integration (seit v0.7.x)**
98
- - Echtzeit-Filterdruckmessung
99
- - Trendanalyse: steigend / fallend / stabil
100
- - Gleitender lernender Durchschnitt (avg_bar)
101
- - Selbstlernende Min-/Max-Druckwerte
102
- - Diagnosetext + letzte Aktualisierung
103
- - Keine automatische Steuerung rein informativ
104
- - Normaldruckbereich durch Benutzer einstellbar
105
-
106
- - **KI-System (ab v0.8.0)**
107
- - Module: Wetterhinweise (Open-Meteo), Pooltipps, Tageszusammenfassung, Wochenendbericht
108
- - Automatische Textausgaben mit optionaler Sprachausgabe
109
- - Stündliche Wetter-Updates zur laufenden Aktualisierung
110
- - Anti-Spam-System zur Vermeidung doppelter Hinweise
58
+ **Note:**
59
+ This function is currently in a **test phase**.
60
+ The logic is fully implemented but should initially only be used by interested test users.
61
+
62
+ - **Photovoltaic Control (since v0.6.0)**
63
+ - Automatic pump control based on PV generation and household consumption
64
+ - Start logic: surplus ≥ (pump rated power + safety margin)
65
+ - Optional overrun during cloudy phases
66
+ - Ignore if daily circulation target reached
67
+ - Configuration via two foreign object IDs (power_generated_id, power_house_id)
68
+ - New pump mode “Automatic (PV)
69
+
70
+ - **Time Control**
71
+ - Up to 3 freely configurable time windows per week
72
+
73
+ - **Runtime & Circulation**
74
+ - Counts runtime (today, total)
75
+ - Calculates daily circulation and remaining volume
76
+ - Backwash reminder with configurable interval (e.g., every 7 days)
77
+ - Display of last backwash including date
78
+ - Automatic reset after completed backwash
79
+ - PV mode considers circulation status (e.g., “Ignore when circulation reached”)
80
+
81
+ - **Consumption & Costs**
82
+ - Evaluation of an external kWh meter
83
+ - Daily, weekly, monthly and yearly consumption
84
+ - Calculation of electricity costs based on configurable price
85
+
86
+ **Note:**
87
+ Details about the behavior of consumption and cost values (e.g., after restarts or when changing the electricity meter) can be found here:
88
+
89
+ - [Documentation (English)](https://github.com/DasBo1975/ioBroker.poolcontrol/blob/main/docs/en/help.md)
90
+ - [Dokumentation (Deutsch)](https://github.com/DasBo1975/ioBroker.poolcontrol/blob/main/docs/de/help.md)
91
+
92
+ - **Statistics System**
93
+ - Section `analytics.statistics.*` with daily, weekly and monthly values
94
+ - Automatic calculation of min, max, average and runtime values
95
+ - Fully persistent data points (overinstall protection)
96
+ - HTML and JSON summaries per sensor and overall overview
97
+
98
+ - **Pressure Sensor Integration (since v0.7.x)**
99
+ - Real-time filter pressure measurement
100
+ - Trend analysis: rising / falling / stable
101
+ - Moving learning average (avg_bar)
102
+ - Self-learning min/max pressure values
103
+ - Diagnostic text + last update
104
+ - No automatic control – purely informational
105
+ - Normal pressure range configurable by the user
106
+
107
+ - **AI System (from v0.8.0)**
108
+ - Modules: Weather hints (Open-Meteo), pool tips, daily summary, weekend report
109
+ - Automatic text outputs with optional speech output
110
+ - Hourly weather updates for continuous refresh
111
+ - Anti-spam system to avoid duplicate hints
111
112
 
112
- - **Vorhersage für morgen (aiForecastHelper, ab v0.8.0)**
113
- - Erstellt automatisch eine tägliche Wetterprognose für den Folgetag
114
- - Analyse von Temperatur, Wetterlage, Regenwahrscheinlichkeit und Windstärke
115
- - Erzeugt Pool-Empfehlungen für den nächsten Tag (z. B. Abdeckung schließen, wenig Solarwärme zu erwarten)
116
- - Läuft vollständig eventbasiert und benötigt nur die Open-Meteo-Daten aus den ioBroker-Geodaten
117
- - Separate Schalter unter `ai.weather.switches.*` zum Aktivieren/Deaktivieren einzelner Prognosefunktionen
118
- - Ergebnisse werden unter `ai.weather.outputs.forecast_text` gespeichert
119
-
120
- - **Chemie-Hilfe (aiChemistryHelpHelper, ab v0.8.x)**
121
- - Interaktive, rein informative KI-Hilfe zur Wasserchemie
122
- - Auswahl typischer Poolprobleme über ein Auswahlfeld (z. B. pH zu hoch/niedrig, Chlor wirkt nicht, Wasser grün/trüb)
123
- - Ausgabe verständlicher Ursachen- und Lösungsbeschreibungen als Text
124
- - Keine automatische Dosierung
125
- - Keine Produktempfehlungen
126
- - Keine Steuerung von Geräten
127
- - Keine Sprachausgabe (rein visuelle Information)
128
- - Ziel: Ursachen verstehen und strukturiert vorgehen (messenkorrigierenfilternerneut messen)
129
- - Datenpunkte unter `ai.chemistry_help.*`
130
-
131
-
132
- - **Info-System (seit v0.7.x)**
133
- - Informationssystem des Adapters
134
- - Saisonale Grüße (Weihnachten, Silvester, Neujahr, Ostern)
135
- - Anzeige der installierten Adapterversion
113
+ - **Forecast for Tomorrow (aiForecastHelper, from v0.8.0)**
114
+ - Automatically creates a daily weather forecast for the next day
115
+ - Analysis of temperature, weather situation, rain probability and wind strength
116
+ - Generates pool recommendations for the following day (e.g., close cover, little solar heat expected)
117
+ - Fully event-based and only requires Open-Meteo data from ioBroker geodata
118
+ - Separate switches under `ai.weather.switches.*` to enable/disable individual forecast functions
119
+ - Results stored under `ai.weather.outputs.forecast_text`
120
+
121
+ - **Chemistry Help (aiChemistryHelpHelper, from v0.8.x)**
122
+ - Interactive, purely informative AI help for water chemistry
123
+ - Selection of typical pool problems via selection field (e.g., pH too high/low, chlorine ineffective, green/cloudy water)
124
+ - Clear cause and solution descriptions as text output
125
+ - No automatic dosing
126
+ - No product recommendations
127
+ - No device control
128
+ - No speech output (purely visual information)
129
+ - Goal: understand causes and proceed systematically (measurecorrectfiltermeasure again)
130
+ - Data points under `ai.chemistry_help.*`
131
+
132
+ - **Info System (since v0.7.x)**
133
+ - Adapter information system
134
+ - Seasonal greetings (Christmas, New Year’s Eve, New Year, Easter)
135
+ - Display of installed adapter version
136
136
 
137
- - **Sprachausgaben**
138
- - Ausgabe über Alexa oder Telegram
139
- - Ansagen bei Pumpenstart/-stopp, Fehlern oder Temperaturschwellen
137
+ - **Speech Outputs**
138
+ - Output via Alexa or Telegram
139
+ - Announcements on pump start/stop, errors or temperature thresholds
140
140
 
141
- - **SystemCheck (Diagnosebereich)**
142
- - Interner Diagnosebereich für Debug- und Überwachungsfunktionen
143
- - Auswahl des zu überwachenden Bereichs (z. B. Pumpe, Solar, Temperatur)
144
- - Fortlaufendes Log der letzten Änderungen
145
- - Manuelles Löschen des Logs möglich
141
+ - **SystemCheck (Diagnostic Section)**
142
+ - Internal diagnostic section for debug and monitoring functions
143
+ - Selection of area to monitor (e.g., pump, solar, temperature)
144
+ - Continuous log of the latest changes
145
+ - Manual log clearing possible
146
146
 
147
- Dieser Bereich dient ausschließlich der Analyse und Fehlerdiagnose.
148
- Im normalen Betrieb sollte die Überwachung deaktiviert bleiben.
147
+ This section is used exclusively for analysis and troubleshooting.
148
+ In normal operation, monitoring should remain disabled.
149
149
 
150
150
  ---
151
151
 
152
152
  ## Installation
153
153
 
154
- 1. Adapter über ioBroker Admin installieren.
155
- 2. Instanz anlegen.
156
- 3. Konfiguration im Admin-Tab vornehmen: Pumpenleistung, Sensoren, Solar, Sprachausgaben usw.
154
+ 1. Install adapter via ioBroker Admin.
155
+ 2. Create instance.
156
+ 3. Configure in the Admin tab: pump power, sensors, solar, speech outputs, etc.
157
157
 
158
158
  ---
159
159
 
160
- ## Konfiguration
160
+ ## Configuration
161
161
 
162
- Die Konfiguration erfolgt über Tabs im Admin-Interface:
163
- - **Allgemein** → Poolname, Poolgröße, minimale Umwälzung
164
- - **Pumpe** → Pumpenleistung, Leistungsgrenzen, Sicherheitsfunktionen
165
- - **Temperaturen** → Auswahl und Objekt-IDs der Sensoren
166
- - **Solarverwaltung** → Ein-/Ausschaltgrenzen, Hysterese, Warnschwelle
167
- - **Zeitsteuerung** → Zeitfenster für Pumpenbetrieb
168
- - **Sprachausgaben** → Aktivierung, Alexa/Telegram-Anbindung
169
- - **Verbrauch & Kosten** → externer kWh-Zähler, Strompreis
162
+ Configuration is done via tabs in the Admin interface:
163
+ - **General** → Pool name, pool size, minimum circulation
164
+ - **Pump** → Pump power, power limits, safety functions
165
+ - **Temperatures** → Selection and object IDs of sensors
166
+ - **Solar Management** → On/off thresholds, hysteresis, warning threshold
167
+ - **Time Control** → Time windows for pump operation
168
+ - **Speech Outputs** → Activation, Alexa/Telegram integration
169
+ - **Consumption & Costs** → external kWh meter, electricity price
170
170
 
171
171
  ---
172
172
 
173
- ## Geplante Erweiterungen
174
-
175
- - Erweiterte PV- und Solar-Effizienzanalyse (COP-Berechnung, Tagesnutzen, Wetterintegration)
176
- - Statistik-Exportfunktion (CSV/Excel)
177
- - Diagnostic-Helper zur automatischen Systemprüfung
178
- - Eigene Widgets für VIS/VIS2 (grafische Pool- und Solarvisualisierung)
179
- - Steuerung von Poolbeleuchtung, Ventilen und Gegenstromanlagen
180
- - Integration zusätzlicher Sensorboxen (z. B. TempBox, PressureBox, LevelBox)
181
- - KI- und Sprach-Assistenten-Erweiterung (Pool-Tagesbericht, Tipps, Sprachbefehle)
173
+ ## Planned Extensions
182
174
 
175
+ - Extended PV and solar efficiency analysis (COP calculation, daily benefit, weather integration)
176
+ - Statistics export function (CSV/Excel)
177
+ - Diagnostic helper for automatic system checks
178
+ - Own widgets for VIS/VIS2 (graphical pool and solar visualization)
179
+ - Control of pool lighting, valves and counter-current systems
180
+ - Integration of additional sensor boxes (e.g., TempBox, PressureBox, LevelBox)
181
+ - AI and voice assistant extension (pool daily report, tips, voice commands)
183
182
 
184
183
  ---
185
184
 
186
- ## Hinweis
185
+ ## Note
187
186
 
188
- Der Adapter befindet sich in aktiver Weiterentwicklung.
189
- Neue Funktionen werden regelmäßig ergänztbitte den Changelog beachten.
187
+ The adapter is under active development.
188
+ New features are added regularlyplease refer to the changelog.
190
189
 
191
190
  ---
192
191
 
193
- ## Dokumentation
194
- - [help.md (ausführliche Beschreibung und Hinweise)](./help.md)
192
+ ## Documentation
193
+ - [help.md (detailed description and notes)](./help.md)
195
194
 
196
195
  ---
197
196
 
198
197
  ## Changelog
199
198
  ### **WORK IN PROGRESS**
200
199
 
201
- ## 1.2.0
202
- - Aktivierung der Mehrsprachigkeit (i18n) in der jsonConfig
203
- - Zweisprachige Beschriftung (Deutsch/Englisch) der Instanzkonfiguration
204
- - Keine funktionalen Änderungen am Adapter
200
+ ### 1.2.0
201
+ Released: 15.02.2026
202
+ - Activation of multilingual support (i18n) in jsonConfig
203
+ - Bilingual labeling (German/English) of instance configuration
204
+ - No functional changes to the adapter
205
205
 
206
206
 
207
- ## v1.1.0 Pumpen-Leistungsempfehlung (23.01.2026)
208
- - **Pumpen-Leistungsempfehlung (ab v1.1.0)**
209
- - Neuer passiver Bereich `pump.speed`
210
- - Ableitung eines eindeutigen logischen Leistungszustands der laufenden Pumpe:
207
+ ## v1.1.0 Pump Power Recommendation (23.01.2026)
208
+ - **Pump Power Recommendation (from v1.1.0)**
209
+ - New passive section `pump.speed`
210
+ - Derives a clear logical performance state of the running pump:
211
211
  - `off`, `frost`, `low`, `normal`, `high`, `boost`
212
- - Der Leistungszustand basiert ausschließlich auf:
213
- - bestehender Pumpenlogik
214
- - aktivem Helper (z. B. Frost, Solar, Wartung)
215
- - aktuellem Pumpenstatus
216
- - Zusätzlich wird eine **empfohlene Pumpenleistung in Prozent (0–100 %)** bereitgestellt
217
- - Prozentwerte sind **frei konfigurierbar** und **überinstallationsgeschützt**
218
- - **Keine aktive Drehzahlregelung**
219
- - **Kein Eingriff in bestehende Pumpensteuerung**
220
- - Gedacht zur Anbindung externer Systeme wie:
212
+ - Performance state is based exclusively on:
213
+ - existing pump logic
214
+ - active helper (e.g., frost, solar, maintenance)
215
+ - current pump status
216
+ - Additionally provides a **recommended pump power in percent (0–100%)**
217
+ - Percentage values are **freely configurable** and **protected against overinstallation**
218
+ - **No active speed control**
219
+ - **No interference with existing pump control**
220
+ - Intended for connection to external systems such as:
221
221
  - Shelly 0–10 V
222
- - Frequenzumrichter
223
- - Blockly / Skripte
224
-
225
-
226
- ## v1.0.0 Zusatz-Aktoren (Beleuchtung & Zusatzpumpen) (02.01.2026)
227
- - Steuerung optionaler Pool-Aktoren:
228
- - Poolbeleuchtung (bis zu 3 Kanäle)
229
- - Zusatzpumpen / Attraktionen (bis zu 3 Kanäle)
230
- - Vollständige Konfiguration über die Admin-Oberfläche:
231
- - Aktivierung pro Aktor über Checkbox
232
- - Hinterlegung einer **externen Objekt-ID**
233
- (z. B. schaltbare Steckdose oder boolescher Steuer-State)
234
- - Unterstützte Betriebsarten:
235
- - Ein / Aus
236
- - Zeitbetrieb (Laufzeit in Minuten)
237
- - Dauerbetrieb
238
- - Interne Status- und Steuer-States:
239
- - aktueller Betriebszustand
240
- - verbleibende Restlaufzeit
241
- - Schaltstatus und Betriebsmodus
242
- - Klare Systemtrennung:
243
- - Zusatz-Aktoren beeinflussen **keine**
244
- Pumpen-, Solar-, Heizungs- oder KI-Logik
245
- - Rein optionale Erweiterung des Systems
222
+ - Frequency converters
223
+ - Blockly / scripts
224
+
225
+
226
+ ## v1.0.0 Additional Actuators (Lighting & Auxiliary Pumps) (02.01.2026)
227
+ - Control of optional pool actuators:
228
+ - Pool lighting (up to 3 channels)
229
+ - Auxiliary pumps / attractions (up to 3 channels)
230
+ - Full configuration via the Admin interface:
231
+ - Activation per actuator via checkbox
232
+ - Assignment of an **external object ID**
233
+ (e.g., switchable socket or boolean control state)
234
+ - Supported operating modes:
235
+ - On / Off
236
+ - Timed operation (runtime in minutes)
237
+ - Continuous operation
238
+ - Internal status and control states:
239
+ - current operating state
240
+ - remaining runtime
241
+ - switching status and operating mode
242
+ - Clear system separation:
243
+ - Additional actuators do **not**
244
+ affect pump, solar, heating, or AI logic
245
+ - Purely optional system extension
246
246
 
247
247
 
248
248
  ## v0.9.0 (WORK IN PROGRESS)
249
- - Einführung der Heizungs- / Wärmepumpensteuerung (`heatHelper`)
250
- - Automatische Heizanforderung basierend auf Pooltemperatur
251
- - Ziel- und Maximaltemperatur konfigurierbar
252
- - Unterstützung von:
253
- - schaltbaren Steckdosen
254
- - booleschen Steuer-States
255
- - Pumpen-Nachlaufzeit nach Heizende
256
- - Vorrangsystem:
257
- - Wartungsmodus blockiert Heizungssteuerung
258
- - Aktiv nur im Automatikmodus
259
- - Berücksichtigung des Saisonstatus
260
- - Ownership-Schutz für Pumpensteuerung
261
- - Neuer interner State `heat.heating_request` für externe Auswertung
249
+ - Introduction of heating / heat pump control (`heatHelper`)
250
+ - Automatic heating request based on pool temperature
251
+ - Target and maximum temperature configurable
252
+ - Support for:
253
+ - switchable sockets
254
+ - boolean control states
255
+ - Pump overrun time after heating ends
256
+ - Priority system:
257
+ - Maintenance mode blocks heating control
258
+ - Active only in automatic mode
259
+ - Considers season status
260
+ - Ownership protection for pump control
261
+ - New internal state `heat.heating_request` for external evaluation
262
262
 
263
263
 
264
264
  ## v0.8.2 (2025-12-25)
265
- - Neues KI-Modul **Chemie-Hilfe** (`aiChemistryHelpHelper`)
266
- - Rein informatives Hilfesystem zur Poolwasserchemie
267
- - Auswahl typischer Poolprobleme (z. B. pH zu hoch/niedrig, Chlor wirkt nicht, Wasser grün/trüb)
268
- - Verständliche Ursachen- und Lösungshinweise als Textausgabe
269
- - Keine automatische Dosierung
270
- - Keine Produktempfehlungen
271
- - Keine Geräte- oder Pumpensteuerung
272
- - Keine Sprachausgabe (rein visuelle Information)
273
- - Neue Datenpunkte unter `ai.chemistry_help.*`
265
+ - New AI module **Chemistry Help** (`aiChemistryHelpHelper`)
266
+ - Purely informative support system for pool water chemistry
267
+ - Selection of typical pool problems (e.g., pH too high/low, chlorine ineffective, green/cloudy water)
268
+ - Clear cause and solution hints as text output
269
+ - No automatic dosing
270
+ - No product recommendations
271
+ - No device or pump control
272
+ - No speech output (purely visual information)
273
+ - New data points under `ai.chemistry_help.*`
274
274
 
275
275
 
276
276
  ## v0.8.0 (2025-12-08)
277
- - Module: Wetterhinweise (Open-Meteo), Pooltipps, Tageszusammenfassung, Wochenendbericht
278
- - Automatische Textausgaben mit optionaler Sprachausgabe
279
- - Stündliche Wetter-Updates zur laufenden Aktualisierung
280
- - Anti-Spam-System zur Vermeidung doppelter Hinweise
281
- - Neues KI-Vorhersagesystem `aiForecastHelper` integriert
282
- - Erstellt täglich eine automatische „Vorhersage für morgen“ mit:
283
- - Temperaturspanne
284
- - Wetterlage (Beschreibung)
285
- - Regenwahrscheinlichkeit
286
- - Windanalyse (leicht / frisch / stark)
287
- - Pool-Empfehlungen für den Folgetag
288
- - Neue Schalter, Zeitpläne und Ausgaben unter `ai.weather.*`
289
- - Sofortige initiale Ausführung nach Instanzstart hinzugefügt
290
- - Erweiterung der Admin-Übersicht unter „Hilfe & Info um wichtige KI-Hinweise
291
- - Verbesserte interne Struktur des KI-Systems (aiHelper + aiForecastHelper)
277
+ - Modules: Weather hints (Open-Meteo), pool tips, daily summary, weekend report
278
+ - Automatic text outputs with optional speech output
279
+ - Hourly weather updates for continuous refresh
280
+ - Anti-spam system to avoid duplicate hints
281
+ - New AI forecast system `aiForecastHelper` integrated
282
+ - Creates a daily automatic “Forecast for Tomorrow” including:
283
+ - temperature range
284
+ - weather description
285
+ - rain probability
286
+ - wind analysis (light / moderate / strong)
287
+ - pool recommendations for the following day
288
+ - New switches, schedules and outputs under `ai.weather.*`
289
+ - Immediate initial execution after instance start added
290
+ - Extended Admin overview under “Help & Info with important AI notes
291
+ - Improved internal structure of the AI system (aiHelper + aiForecastHelper)
292
292
 
293
293
 
294
294
  ## v0.7.4 (2025-12-03)
295
- - Fix Bug in Controlhelper. Persistenter Schutz bei control.circulation.mode
295
+ - Fixed bug in ControlHelper. Persistent protection for control.circulation.mode
296
296
 
297
297
 
298
298
  ## v0.7.0 (2025-11-29)
299
- - Einführung eines neuen Drucksensor-Systems unter `pump.pressure.*`
300
- - Unterstützung externer Drucksensor-ObjektID (bar-Wert aus ioBroker)
301
- - Trenderkennung (steigend/fallend/stabil) und gleitender Druckdurchschnitt
302
- - Selbstlernende Min-/Max-Druckwerte mit manuellem Reset-State
303
- - Neuer Diagnose-Text (`status_text_diagnostic`) mit erweiterten Analyseinformationen
304
- - Erweiterte Pumpenüberwachung ohne automatische Steuerlogik (rein informativ)
299
+ - Introduction of a new pressure sensor system under `pump.pressure.*`
300
+ - Support for external pressure sensor object ID (bar value from ioBroker)
301
+ - Trend detection (rising/falling/stable) and moving pressure average
302
+ - Self-learning min/max pressure values with manual reset state
303
+ - New diagnostic text (`status_text_diagnostic`) with extended analysis information
304
+ - Extended pump monitoring without automatic control logic (purely informational)
305
305
 
306
306
 
307
307
  ## v0.6.2 (2025-11-07)
308
- - Überarbeitung der Instanzübersicht mit neuen Header-Strukturen für klarere Bedienung
309
- - Neues Startseitenbild „Egon im Blaumann“ in der Admin-Oberfläche integriert
310
- - Erweiterung des Sprachsystems um konfigurierbare Alexa-Ausgabezeiten
311
- - Anpassungen und Aufräumarbeiten in jsonConfig, speechHelper und speechStates
308
+ - Revision of instance overview with new header structures for clearer operation
309
+ - New start page imageEgon in Workwear” integrated into the Admin interface
310
+ - Extension of speech system with configurable Alexa output times
311
+ - Adjustments and cleanup in jsonConfig, speechHelper and speechStates
312
312
 
313
313
 
314
314
  ## v0.6.0 (2025-11-03)
315
- - Einführung der vollständigen Photovoltaik-Steuerung mit automatischer Pumpenlogik
316
- (neuer Pumpenmodus `Automatik (PV)` unter `pump.mode`)
317
- - Adapter reagiert auf PV-Überschuss basierend auf konfigurierbarer Hausverbrauchs- und Erzeugungsleistung
318
- - Einschaltlogik: Pumpe EIN bei Überschuss ≥ (Nennleistung + Schwellwert)
319
- - Berücksichtigung von Saisonstatus, Nachlaufzeit und optionalem „Umwälzung erreicht“-Schutz
320
- - Automatische Migration ergänzt neuen Modus `auto_pv` in bestehenden Installationen
321
- - Verbesserte interne Logik, Persistenz und Debug-Protokollierung
315
+ - Introduction of full photovoltaic control with automatic pump logic
316
+ (new pump mode `Automatic (PV)` under `pump.mode`)
317
+ - Adapter reacts to PV surplus based on configurable household consumption and generation power
318
+ - Start logic: pump ON when surplus ≥ (rated power + threshold)
319
+ - Considers season status, overrun time and optional “circulation reached” protection
320
+ - Automatic migration adds new mode `auto_pv` to existing installations
321
+ - Improved internal logic, persistence and debug logging
322
322
 
323
323
  ## v0.5.5 (2025-11-01)
324
- - Endlosschleife in Statistik Woche und Monat behoben
324
+ - Fixed endless loop in weekly and monthly statistics
325
325
 
326
326
  ## v0.5.3 (2025-10-30)
327
- - Telegram-Benutzerwahl hinzugefügt
327
+ - Added Telegram user selection
328
328
 
329
329
  ## v0.5.2 (2025-10-30)
330
330
 
@@ -332,29 +332,27 @@ Neue Funktionen werden regelmäßig ergänzt – bitte den Changelog beachten.
332
332
 
333
333
  ### **0.4.0 (26.10.2025)**
334
334
 
335
- **Neue Funktionen**
336
- - Einführung des neuen Statistik-Systems unter `analytics.statistics.temperature.today`
337
- - Automatische Erfassung von **Min-, Max- und Durchschnittswerten** aller aktiven Temperatursensoren
338
- - Pro Sensor: JSON- und HTML-Zusammenfassungen mit laufender Aktualisierung
339
- - Gesamtausgabe aller Sensoren (Tabelle) unter
335
+ **New Features**
336
+ - Introduction of the new statistics system under `analytics.statistics.temperature.today`
337
+ - Automatic collection of **min, max and average values** of all active temperature sensors
338
+ - Per sensor: JSON and HTML summaries with continuous updates
339
+ - Overall output of all sensors (table) under
340
340
  `analytics.statistics.temperature.today.outputs.summary_all_html`
341
- - Vollständig **persistente Datenpunkte** mit Überinstallationsschutz
342
- - **Automatischer Mitternachts-Reset** zur Tagesrücksetzung inkl. Zeitstempel
343
- - Vorbereitung für zukünftige Wochen-, Monats- und Saisonstatistiken
341
+ - Fully **persistent data points** with overinstall protection
342
+ - **Automatic midnight reset** for daily reset including timestamp
343
+ - Preparation for future weekly, monthly and seasonal statistics
344
344
 
345
- **Verbesserungen**
346
- - Einheitliche Struktur durch neuen Hauptordner `analytics`
347
- - Keine dauerhaften Loops oder Timerbelastungenreine Eventverarbeitung
348
- - Verbesserte Performance und Speicherstabilität
349
- - Überarbeitete Initialisierung aller Statistik-States beim Start
345
+ **Improvements**
346
+ - Unified structure through new main folder `analytics`
347
+ - No permanent loops or timer load pure event processing
348
+ - Improved performance and memory stability
349
+ - Revised initialization of all statistics states at startup
350
350
 
351
- **Hinweis**
352
- Diese Version bildet die stabile Basis für alle folgenden Statistik- und Analysefunktionen
353
- (z. B. Wochen- und Monatsstatistik, Historien- und Effizienz-Auswertungen).
351
+ **Note**
352
+ This version forms the stable basis for all following statistics and analysis functions
353
+ (e.g., weekly and monthly statistics, history and efficiency evaluations).
354
354
 
355
-
356
-
357
- *(ältere Versionen siehe [io-package.json](./io-package.json))*
355
+ *(older versions see [io-package.json](./io-package.json))*
358
356
 
359
357
  ---
360
358
 
@@ -364,42 +362,37 @@ Diese Version bildet die stabile Basis für alle folgenden Statistik- und Analys
364
362
 
365
363
  ---
366
364
 
367
- ## Unterstützung der Adapterentwicklung
368
- Wenn Ihnen **ioBroker.poolcontrol** gefällt, denken Sie bitte über eine Spende nach:
369
- ➡️ [Unterstützen via PayPal](https://www.paypal.com/donate?business=dirk.bertin@t-online.de)
365
+ ## Support Adapter Development
366
+ If you like **ioBroker.poolcontrol**, please consider making a donation:
367
+ ➡️ [Support via PayPal](https://www.paypal.com/donate?business=dirk.bertin@t-online.de)
370
368
 
371
369
  ---
372
370
 
373
- ## Haftungsausschluss
374
- Die Nutzung des Adapters erfolgt **auf eigene Gefahr**.
375
- Der Entwickler übernimmt **keine Haftung** für Schäden, die durch die Installation, Nutzung oder Fehlfunktionen entstehen.
376
- Dies gilt insbesondere bei direkter Ansteuerung von elektrischen Geräten (z. B. Poolpumpen).
377
- Der Nutzer ist für die **sichere Installation und den Betrieb seiner Hardware** verantwortlich.
371
+ ## Disclaimer
372
+ Use of the adapter is **at your own risk**.
373
+ The developer assumes **no liability** for damages resulting from installation, use or malfunctions.
374
+ This especially applies to direct control of electrical devices (e.g., pool pumps).
375
+ The user is responsible for the **safe installation and operation of their hardware**.
378
376
 
379
377
  ---
380
378
 
381
- ## Lizenz & Rechtliches
379
+ ## License & Legal
380
+
381
+ PoolControl is an open-source project developed by D. Bertin (DasBo1975).
382
382
 
383
- PoolControl ist ein von D. Bertin (DasBo1975) entwickeltes Open-Source-Projekt.
384
- - Der Name PoolControl sowie das zugehörige Logo sind Eigenentwicklungen und dürfen
385
- im Rahmen der Open-Source-Veröffentlichung (Adapter, GitHub-Repository, Wiki, Dokumentation,
386
- Visualisierungen) frei verwendet werden.
383
+ - The name PoolControl and the associated logo are original developments and may be freely used within the scope of the open-source publication (adapter, GitHub repository, wiki, documentation, visualizations).
387
384
 
388
- - Eine kommerzielle Nutzung, Weitergabe oder Veröffentlichung in abgewandelter Form
389
- (insbesondere als Teil eines kommerziellen Produkts oder Dienstes) bedarf der ausdrücklichen Zustimmung des Autors.
385
+ - Commercial use, redistribution or publication in modified form (especially as part of a commercial product or service) requires the explicit permission of the author.
390
386
 
391
- - Alle entwickelten Sensor‑, Hardware‑ und Gehäusekonstruktionen
392
- (z. B. Temperatur‑, Druck‑, Pegel‑, Elektronik‑ oder Steuerboxen) inklusive Entwürfen, Schaltplänen,
393
- 3D‑Modellen und Innenaufbauten unterliegen dem Urheberrecht von D. Bertin (DasBo1975).
387
+ - All developed sensor, hardware and enclosure constructions (e.g., temperature, pressure, level, electronics or control boxes) including designs, schematics, 3D models and internal constructions are subject to the copyright of D. Bertin (DasBo1975).
394
388
 
395
- - Veröffentlichung, Nachbau zum Zweck des Weiterverkaufs oder kommerzielle Nutzung dieser
396
- Hardware‑Designs ist nur mit schriftlicher Genehmigung des Autors gestattet.
389
+ - Publication, reproduction for resale or commercial use of these hardware designs is only permitted with written authorization from the author.
397
390
 
398
- Der Software‑Quellcode dieses Projekts steht unter der MIT License. Details siehe LICENSE.
391
+ The software source code of this project is licensed under the MIT License. See LICENSE for details.
399
392
 
400
393
  ---
401
394
 
402
395
  ## License
403
- Copyright (c) 2025–2026 D.Bertin (DasBo1975) <dasbo1975@outlook.de>
396
+ Copyright (c) 2025–2026 D. Bertin (DasBo1975) <dasbo1975@outlook.de>
404
397
 
405
- MIT License
398
+ MIT License