iobroker.poolcontrol 1.2.14 → 1.2.15
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.
- package/README.md +4 -0
- package/io-package.json +14 -14
- package/lib/helpers/aiChemistryHelpHelper.js +143 -143
- package/lib/stateDefinitions/aiChemistryHelpStates.js +14 -14
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -189,6 +189,10 @@ New features are added regularly – please refer to the changelog.
|
|
|
189
189
|
|
|
190
190
|
## Changelog
|
|
191
191
|
|
|
192
|
+
### 1.2.15
|
|
193
|
+
Release: 22.03.2026
|
|
194
|
+
- Fix i18n usage (replace I18n.t with I18n.translate) to resolve adapter startup crash and restart loop on certain systems.
|
|
195
|
+
|
|
192
196
|
### 1.2.14
|
|
193
197
|
Release: 22.03.2026
|
|
194
198
|
- ### add i18n support for chemistry help texts
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "poolcontrol",
|
|
4
|
-
"version": "1.2.
|
|
4
|
+
"version": "1.2.15",
|
|
5
5
|
"news": {
|
|
6
|
+
"1.2.15": {
|
|
7
|
+
"en": "Fix i18n usage (replace I18n.t with I18n.translate) to resolve adapter startup crash and restart loop on certain systems.",
|
|
8
|
+
"de": "i18n-Nutzung korrigiert (I18n.t durch I18n.translate ersetzt), um Absturz beim Adapterstart und Restart-Loop auf bestimmten Systemen zu beheben.",
|
|
9
|
+
"ru": "Исправьте использование i18n (замените I18n.t на I18n.translate), чтобы устранить сбой при запуске адаптера и цикл перезапуска в определенных системах.",
|
|
10
|
+
"pt": "Corrija o uso do i18n (substitua I18n.t por I18n.translate) para resolver falha na inicialização do adaptador e loop de reinicialização em determinados sistemas.",
|
|
11
|
+
"nl": "I18n-gebruik repareren (vervang I18n.t door I18n.translate) om de opstartcrash van de adapter en de herstartlus op bepaalde systemen op te lossen.",
|
|
12
|
+
"fr": "Correction de l'utilisation de i18n (remplacez I18n.t par I18n.translate) pour résoudre le crash de démarrage de l'adaptateur et la boucle de redémarrage sur certains systèmes.",
|
|
13
|
+
"it": "Correggere l'utilizzo di i18n (sostituire I18n.t con I18n.translate) per risolvere il crash di avvio dell'adattatore e riavviare il ciclo su alcuni sistemi.",
|
|
14
|
+
"es": "Corrija el uso de i18n (reemplace I18n.t con I18n.translate) para resolver el bloqueo de inicio del adaptador y el ciclo de reinicio en ciertos sistemas.",
|
|
15
|
+
"pl": "Napraw użycie i18n (zamień I18n.t na I18n.translate), aby rozwiązać awarię uruchamiania adaptera i pętlę restartu w niektórych systemach.",
|
|
16
|
+
"uk": "Виправте використання i18n (замініть I18n.t на I18n.translate), щоб усунути збій запуску адаптера та цикл перезапуску в певних системах.",
|
|
17
|
+
"zh-cn": "修复 i18n 使用情况(将 I18n.t 替换为 I18n.translate),以解决某些系统上的适配器启动崩溃和重新启动循环问题。"
|
|
18
|
+
},
|
|
6
19
|
"1.2.14": {
|
|
7
20
|
"en": "Add i18n support for chemistry help (common.states and help texts), fix React issues caused by invalid translations, and improve multilingual user guidance.",
|
|
8
21
|
"de": "i18n-Unterstützung für Chemie-Hilfe hinzugefügt (common.states und Hilfetexte), React-Fehler durch fehlerhafte Übersetzungen behoben und mehrsprachige Benutzerführung verbessert.",
|
|
@@ -54,19 +67,6 @@
|
|
|
54
67
|
"pl": "Naprawiono nieprawidłową wspólną definicję w stanach wykonawczych, która mogła powodować awarię widoku obiektów administracyjnych.",
|
|
55
68
|
"uk": "Виправлено недійсне загальне визначення в станах виконання, яке могло привести до збою перегляду об’єктів адміністратора.",
|
|
56
69
|
"zh-cn": "修复了运行时状态中无效的通用定义,该定义可能会导致管理对象视图崩溃。"
|
|
57
|
-
},
|
|
58
|
-
"1.2.7": {
|
|
59
|
-
"en": "Corrected role definitions for writable states according to ioBroker guidelines.",
|
|
60
|
-
"de": "Rollen-Definitionen für beschreibbare States gemäß ioBroker-Richtlinien korrigiert.",
|
|
61
|
-
"ru": "Исправлены определения ролей для записываемых состояний в соответствии с рекомендациями ioBroker.",
|
|
62
|
-
"pt": "Definições de função corrigidas para estados graváveis de acordo com as diretrizes do ioBroker.",
|
|
63
|
-
"nl": "Roldefinities voor beschrijfbare statussen gecorrigeerd volgens de richtlijnen van ioBroker.",
|
|
64
|
-
"fr": "Définitions de rôles corrigées pour les états inscriptibles conformément aux directives ioBroker.",
|
|
65
|
-
"it": "Corrette le definizioni dei ruoli per gli stati scrivibili secondo le linee guida di ioBroker.",
|
|
66
|
-
"es": "Definiciones de roles corregidas para estados de escritura según las pautas de ioBroker.",
|
|
67
|
-
"pl": "Poprawione definicje ról dla stanów zapisywalnych zgodnie z wytycznymi ioBroker.",
|
|
68
|
-
"uk": "Виправлено визначення ролей для записуваних станів відповідно до вказівок ioBroker.",
|
|
69
|
-
"zh-cn": "根据 ioBroker 指南更正了可写状态的角色定义。"
|
|
70
70
|
}
|
|
71
71
|
},
|
|
72
72
|
"titleLang": {
|
|
@@ -153,40 +153,40 @@ const aiChemistryHelpHelper = {
|
|
|
153
153
|
*/
|
|
154
154
|
_getHelpText(issue) {
|
|
155
155
|
const commonFooter =
|
|
156
|
-
`\n\n${I18n.
|
|
157
|
-
`• ${I18n.
|
|
158
|
-
`• ${I18n.
|
|
159
|
-
`• ${I18n.
|
|
156
|
+
`\n\n${I18n.translate('Important:')}\n` +
|
|
157
|
+
`• ${I18n.translate('Always proceed step by step: measure first → correct in small steps → let the water circulate → measure again.')}\n` +
|
|
158
|
+
`• ${I18n.translate('Always follow the product instructions (concentration and pool volume may differ).')}\n` +
|
|
159
|
+
`• ${I18n.translate('If you are unsure, correct more slowly rather than forcing it.')}\n`;
|
|
160
160
|
|
|
161
161
|
const map = {
|
|
162
162
|
// ----------------------------------------------------------
|
|
163
163
|
// pH
|
|
164
164
|
// ----------------------------------------------------------
|
|
165
165
|
ph_low:
|
|
166
|
-
`${I18n.
|
|
167
|
-
`${I18n.
|
|
168
|
-
`${I18n.
|
|
169
|
-
`${I18n.
|
|
170
|
-
`• ${I18n.
|
|
171
|
-
`• ${I18n.
|
|
172
|
-
`• ${I18n.
|
|
173
|
-
`${I18n.
|
|
174
|
-
`• ${I18n.
|
|
175
|
-
`• ${I18n.
|
|
166
|
+
`${I18n.translate('Problem: pH value is too low (water is too acidic).')}\n\n` +
|
|
167
|
+
`${I18n.translate('What this means:')}\n` +
|
|
168
|
+
`${I18n.translate('A pH value that is too low can attack materials (metals / built-in parts) more strongly and can increase irritation during bathing. It can also make the overall water balance unstable.')}\n\n` +
|
|
169
|
+
`${I18n.translate('Common causes:')}\n` +
|
|
170
|
+
`• ${I18n.translate('A lot of rainwater / fresh water (can acidify the water)')}\n` +
|
|
171
|
+
`• ${I18n.translate('Low alkalinity (buffer missing → pH drops faster)')}\n` +
|
|
172
|
+
`• ${I18n.translate('Frequent corrections / backwashing / water changes')}\n\n` +
|
|
173
|
+
`${I18n.translate('Typical corrective direction:')}\n` +
|
|
174
|
+
`• ${I18n.translate('Raise the pH gradually with a pH increaser / pH plus product.')}\n` +
|
|
175
|
+
`• ${I18n.translate('If the pH keeps dropping again, also check total alkalinity / the buffer, otherwise every pH correction will only hold for a short time.')}\n${
|
|
176
176
|
commonFooter
|
|
177
177
|
}`,
|
|
178
178
|
|
|
179
179
|
ph_high:
|
|
180
|
-
`${I18n.
|
|
181
|
-
`${I18n.
|
|
182
|
-
`${I18n.
|
|
183
|
-
`${I18n.
|
|
184
|
-
`• ${I18n.
|
|
185
|
-
`• ${I18n.
|
|
186
|
-
`• ${I18n.
|
|
187
|
-
`${I18n.
|
|
188
|
-
`• ${I18n.
|
|
189
|
-
`• ${I18n.
|
|
180
|
+
`${I18n.translate('Problem: pH value is too high (water is too alkaline).')}\n\n` +
|
|
181
|
+
`${I18n.translate('What this means:')}\n` +
|
|
182
|
+
`${I18n.translate('If the pH value is too high, chlorine / disinfection often works less effectively and cloudiness / precipitation (for example lime) can occur more easily. Eyes and skin may also become irritated.')}\n\n` +
|
|
183
|
+
`${I18n.translate('Common causes:')}\n` +
|
|
184
|
+
`• ${I18n.translate('Strong outgassing / a lot of bubbling (CO₂ escapes → pH rises)')}\n` +
|
|
185
|
+
`• ${I18n.translate('Hard water / high alkalinity')}\n` +
|
|
186
|
+
`• ${I18n.translate('Some pools / materials can initially push the pH upward')}\n\n` +
|
|
187
|
+
`${I18n.translate('Typical corrective direction:')}\n` +
|
|
188
|
+
`• ${I18n.translate('Lower the pH in small steps with a pH reducer / pH minus product.')}\n` +
|
|
189
|
+
`• ${I18n.translate('If the pH repeatedly rises again, also consider alkalinity / water hardness, because this strongly affects stability.')}\n${
|
|
190
190
|
commonFooter
|
|
191
191
|
}`,
|
|
192
192
|
|
|
@@ -194,118 +194,118 @@ const aiChemistryHelpHelper = {
|
|
|
194
194
|
// Chlor
|
|
195
195
|
// ----------------------------------------------------------
|
|
196
196
|
chlor_low:
|
|
197
|
-
`${I18n.
|
|
198
|
-
`${I18n.
|
|
199
|
-
`${I18n.
|
|
200
|
-
`${I18n.
|
|
201
|
-
`• ${I18n.
|
|
202
|
-
`• ${I18n.
|
|
203
|
-
`• ${I18n.
|
|
204
|
-
`${I18n.
|
|
205
|
-
`• ${I18n.
|
|
206
|
-
`• ${I18n.
|
|
197
|
+
`${I18n.translate('Problem: Chlorine level is too low.')}\n\n` +
|
|
198
|
+
`${I18n.translate('What this means:')}\n` +
|
|
199
|
+
`${I18n.translate('Too little effective chlorine can allow germs and algae to multiply more easily. Often the first signs are tired-looking water: less clarity, more odor, and deposits forming faster.')}\n\n` +
|
|
200
|
+
`${I18n.translate('Common causes:')}\n` +
|
|
201
|
+
`• ${I18n.translate('A lot of sun / UV exposure (chlorine breaks down faster)')}\n` +
|
|
202
|
+
`• ${I18n.translate('High bathing load (sweat / organic matter consumes chlorine)')}\n` +
|
|
203
|
+
`• ${I18n.translate('Unfavorable pH value (chlorine works less effectively)')}\n\n` +
|
|
204
|
+
`${I18n.translate('Typical corrective direction:')}\n` +
|
|
205
|
+
`• ${I18n.translate('Bring disinfection back into a normal range and check the pH in parallel.')}\n` +
|
|
206
|
+
`• ${I18n.translate('If chlorine keeps dropping permanently, also check causes such as organic load, filter condition, and circulation.')}\n${
|
|
207
207
|
commonFooter
|
|
208
208
|
}`,
|
|
209
209
|
|
|
210
210
|
chlor_high:
|
|
211
|
-
`${I18n.
|
|
212
|
-
`${I18n.
|
|
213
|
-
`${I18n.
|
|
214
|
-
`${I18n.
|
|
215
|
-
`• ${I18n.
|
|
216
|
-
`• ${I18n.
|
|
217
|
-
`${I18n.
|
|
218
|
-
`• ${I18n.
|
|
219
|
-
`• ${I18n.
|
|
220
|
-
`• ${I18n.
|
|
211
|
+
`${I18n.translate('Problem: Chlorine level is too high.')}\n\n` +
|
|
212
|
+
`${I18n.translate('What this means:')}\n` +
|
|
213
|
+
`${I18n.translate('A chlorine level that is too high can irritate eyes and skin, cause strong odor, and put more stress on materials and covers. In this situation, adding even more chemicals is almost never the right direction.')}\n\n` +
|
|
214
|
+
`${I18n.translate('Common causes:')}\n` +
|
|
215
|
+
`• ${I18n.translate('Too much chlorine added / shock treatment too high')}\n` +
|
|
216
|
+
`• ${I18n.translate('Too little natural breakdown (cover on + little sun)')}\n\n` +
|
|
217
|
+
`${I18n.translate('Typical corrective direction:')}\n` +
|
|
218
|
+
`• ${I18n.translate('Do not add more chlorine.')}\n` +
|
|
219
|
+
`• ${I18n.translate('Let time do the work (sun / UV reduces chlorine) and keep the water circulating well.')}\n` +
|
|
220
|
+
`• ${I18n.translate('Only evaluate further corrections (for example pH) once chlorine is back in a normal range.')}\n${
|
|
221
221
|
commonFooter
|
|
222
222
|
}`,
|
|
223
223
|
|
|
224
224
|
chlor_no_effect:
|
|
225
|
-
`${I18n.
|
|
226
|
-
`${I18n.
|
|
227
|
-
`${I18n.
|
|
228
|
-
`${I18n.
|
|
229
|
-
`• ${I18n.
|
|
230
|
-
`• ${I18n.
|
|
231
|
-
`• ${I18n.
|
|
232
|
-
`${I18n.
|
|
233
|
-
`• ${I18n.
|
|
234
|
-
`• ${I18n.
|
|
235
|
-
`• ${I18n.
|
|
225
|
+
`${I18n.translate('Problem: Chlorine level does not rise despite dosing.')}\n\n` +
|
|
226
|
+
`${I18n.translate('What this means:')}\n` +
|
|
227
|
+
`${I18n.translate('This often happens when the water has a high chlorine demand: the added chlorine is consumed immediately before a stable free chlorine level can remain measurable.')}\n\n` +
|
|
228
|
+
`${I18n.translate('Common causes:')}\n` +
|
|
229
|
+
`• ${I18n.translate('High organic load (dirt, biofilm, heavy use)')}\n` +
|
|
230
|
+
`• ${I18n.translate('Early / invisible algae growth')}\n` +
|
|
231
|
+
`• ${I18n.translate('Strongly incorrect pH value (effectiveness reduced)')}\n\n` +
|
|
232
|
+
`${I18n.translate('Typical corrective direction:')}\n` +
|
|
233
|
+
`• ${I18n.translate('First check the basic values (pH, filter / circulation, visual inspection for deposits).')}\n` +
|
|
234
|
+
`• ${I18n.translate('Get the water clean again (clean / backwash the filter, brush the pool), so chlorine is not only being consumed immediately.')}\n` +
|
|
235
|
+
`• ${I18n.translate('If no effect can be measured permanently, there is often an oxidative demand present (chlorine is immediately bound / broken down) – then only consistent reduction of the causes and measuring again will help.')}\n${
|
|
236
236
|
commonFooter
|
|
237
237
|
}`,
|
|
238
238
|
|
|
239
239
|
chlor_smell:
|
|
240
|
-
`${I18n.
|
|
241
|
-
`${I18n.
|
|
242
|
-
`${I18n.
|
|
243
|
-
`${I18n.
|
|
244
|
-
`• ${I18n.
|
|
245
|
-
`• ${I18n.
|
|
246
|
-
`• ${I18n.
|
|
247
|
-
`${I18n.
|
|
248
|
-
`• ${I18n.
|
|
249
|
-
`• ${I18n.
|
|
240
|
+
`${I18n.translate('Problem: Strong chlorine smell despite the measured value.')}\n\n` +
|
|
241
|
+
`${I18n.translate('What this means:')}\n` +
|
|
242
|
+
`${I18n.translate('The typical indoor pool smell often does not come from too much good chlorine, but from bound chlorine compounds (chloramines). These are formed when chlorine combines with nitrogen / organic matter from sweat and similar contamination.')}\n\n` +
|
|
243
|
+
`${I18n.translate('Common causes:')}\n` +
|
|
244
|
+
`• ${I18n.translate('High bathing load / organic input')}\n` +
|
|
245
|
+
`• ${I18n.translate('Too little fresh water / breakdown / filter care')}\n` +
|
|
246
|
+
`• ${I18n.translate('Poor ventilation (for indoor pools) increases the perceived smell')}\n\n` +
|
|
247
|
+
`${I18n.translate('Typical corrective direction:')}\n` +
|
|
248
|
+
`• ${I18n.translate('The goal is to reduce bound contamination: good circulation / filtration, pool cleaning, and possibly a fresh water share.')}\n` +
|
|
249
|
+
`• ${I18n.translate('Also check the pH in parallel, because an incorrect pH further reduces disinfection performance.')}\n${commonFooter}`,
|
|
250
250
|
|
|
251
251
|
// ----------------------------------------------------------
|
|
252
252
|
// Wasserbild / Optik
|
|
253
253
|
// ----------------------------------------------------------
|
|
254
254
|
water_green:
|
|
255
|
-
`${I18n.
|
|
256
|
-
`${I18n.
|
|
257
|
-
`${I18n.
|
|
258
|
-
`${I18n.
|
|
259
|
-
`• ${I18n.
|
|
260
|
-
`• ${I18n.
|
|
261
|
-
`• ${I18n.
|
|
262
|
-
`• ${I18n.
|
|
263
|
-
`${I18n.
|
|
264
|
-
`• ${I18n.
|
|
265
|
-
`• ${I18n.
|
|
266
|
-
`• ${I18n.
|
|
255
|
+
`${I18n.translate('Problem: Water is green.')}\n\n` +
|
|
256
|
+
`${I18n.translate('What this means:')}\n` +
|
|
257
|
+
`${I18n.translate('Green water is very often a sign of algae growth (often caused by too little effective chlorine and / or poor circulation).')}\n\n` +
|
|
258
|
+
`${I18n.translate('Common causes:')}\n` +
|
|
259
|
+
`• ${I18n.translate('Free chlorine too low or already consumed')}\n` +
|
|
260
|
+
`• ${I18n.translate('pH too high → chlorine works much less effectively')}\n` +
|
|
261
|
+
`• ${I18n.translate('Insufficient filter / circulation or dirty filter')}\n` +
|
|
262
|
+
`• ${I18n.translate('High temperature + sun (algae growth is encouraged)')}\n\n` +
|
|
263
|
+
`${I18n.translate('Typical corrective direction:')}\n` +
|
|
264
|
+
`• ${I18n.translate('Check the water values (especially pH and chlorine) and improve circulation / filter condition.')}\n` +
|
|
265
|
+
`• ${I18n.translate('Brush / vacuum the pool thoroughly so deposits do not survive.')}\n` +
|
|
266
|
+
`• ${I18n.translate('Then let the filter run patiently until the water becomes clear again.')}\n${commonFooter}`,
|
|
267
267
|
|
|
268
268
|
water_cloudy:
|
|
269
|
-
`${I18n.
|
|
270
|
-
`${I18n.
|
|
271
|
-
`${I18n.
|
|
272
|
-
`${I18n.
|
|
273
|
-
`• ${I18n.
|
|
274
|
-
`• ${I18n.
|
|
275
|
-
`• ${I18n.
|
|
276
|
-
`• ${I18n.
|
|
277
|
-
`${I18n.
|
|
278
|
-
`• ${I18n.
|
|
279
|
-
`• ${I18n.
|
|
280
|
-
`• ${I18n.
|
|
269
|
+
`${I18n.translate('Problem: Water is cloudy / gray / milky.')}\n\n` +
|
|
270
|
+
`${I18n.translate('What this means:')}\n` +
|
|
271
|
+
`${I18n.translate('Cloudy water is often caused by fine suspended particles or chemical imbalances (for example pH / alkalinity / lime) that the filter cannot handle well.')}\n\n` +
|
|
272
|
+
`${I18n.translate('Common causes:')}\n` +
|
|
273
|
+
`• ${I18n.translate('Dirty filter / filter runtime too short')}\n` +
|
|
274
|
+
`• ${I18n.translate('pH / alkalinity outside the stable range')}\n` +
|
|
275
|
+
`• ${I18n.translate('High water hardness (lime) – especially together with high pH')}\n` +
|
|
276
|
+
`• ${I18n.translate('Too little disinfection → biological cloudiness is possible')}\n\n` +
|
|
277
|
+
`${I18n.translate('Typical corrective direction:')}\n` +
|
|
278
|
+
`• ${I18n.translate('Check the filter condition (cleaning / backwashing) and ensure sufficient circulation.')}\n` +
|
|
279
|
+
`• ${I18n.translate('Check the basic values pH / chlorine and stabilize them.')}\n` +
|
|
280
|
+
`• ${I18n.translate('If the cloudiness looks mineral (milky / white), also consider water hardness / balance.')}\n${
|
|
281
281
|
commonFooter
|
|
282
282
|
}`,
|
|
283
283
|
|
|
284
284
|
algae_visible:
|
|
285
|
-
`${I18n.
|
|
286
|
-
`${I18n.
|
|
287
|
-
`${I18n.
|
|
288
|
-
`${I18n.
|
|
289
|
-
`• ${I18n.
|
|
290
|
-
`• ${I18n.
|
|
291
|
-
`• ${I18n.
|
|
292
|
-
`${I18n.
|
|
293
|
-
`• ${I18n.
|
|
294
|
-
`• ${I18n.
|
|
295
|
-
`• ${I18n.
|
|
285
|
+
`${I18n.translate('Problem: Algae visible on walls or floor.')}\n\n` +
|
|
286
|
+
`${I18n.translate('What this means:')}\n` +
|
|
287
|
+
`${I18n.translate('Visible algae are a clear sign that disinfection / circulation was not sufficient or that local dead zones are forming (corners / pipes).')}\n\n` +
|
|
288
|
+
`${I18n.translate('Common causes:')}\n` +
|
|
289
|
+
`• ${I18n.translate('Chlorine too low or already consumed')}\n` +
|
|
290
|
+
`• ${I18n.translate('pH too high (chlorine works less effectively)')}\n` +
|
|
291
|
+
`• ${I18n.translate('Too little brushing / pool care, poor circulation')}\n\n` +
|
|
292
|
+
`${I18n.translate('Typical corrective direction:')}\n` +
|
|
293
|
+
`• ${I18n.translate('Mechanics first: brush / vacuum consistently, maintain the filter.')}\n` +
|
|
294
|
+
`• ${I18n.translate('Then stabilize the values (pH / chlorine) and improve circulation.')}\n` +
|
|
295
|
+
`• ${I18n.translate('The goal is to remove algae not only chemically, but also mechanically.')}\n${commonFooter}`,
|
|
296
296
|
|
|
297
297
|
foam_on_surface:
|
|
298
|
-
`${I18n.
|
|
299
|
-
`${I18n.
|
|
300
|
-
`${I18n.
|
|
301
|
-
`${I18n.
|
|
302
|
-
`• ${I18n.
|
|
303
|
-
`• ${I18n.
|
|
304
|
-
`• ${I18n.
|
|
305
|
-
`${I18n.
|
|
306
|
-
`• ${I18n.
|
|
307
|
-
`• ${I18n.
|
|
308
|
-
`• ${I18n.
|
|
298
|
+
`${I18n.translate('Problem: Foam on the water surface.')}\n\n` +
|
|
299
|
+
`${I18n.translate('What this means:')}\n` +
|
|
300
|
+
`${I18n.translate('Foam is often caused by surfactants / organic matter (sunscreen, body care products, cleaning residues), some algaecides / polymers, or also air in the system. It is usually not a chlorine problem, but rather a substances-in-the-water problem.')}\n\n` +
|
|
301
|
+
`${I18n.translate('Common causes:')}\n` +
|
|
302
|
+
`• ${I18n.translate('A lot of lotions / oils in the water, high organic load')}\n` +
|
|
303
|
+
`• ${I18n.translate('Certain anti-algae products can promote foam')}\n` +
|
|
304
|
+
`• ${I18n.translate('Air entering the system (small leaks) → foam appears stronger')}\n\n` +
|
|
305
|
+
`${I18n.translate('Typical corrective direction:')}\n` +
|
|
306
|
+
`• ${I18n.translate('Skim off the surface, keep the filter clean, and reduce organic input.')}\n` +
|
|
307
|
+
`• ${I18n.translate('Keep an eye on pH / chlorine as well (stable values help break down organic matter faster).')}\n` +
|
|
308
|
+
`• ${I18n.translate('If foam remains permanently, systematically narrow down the source (products / contamination / technology).')}\n${
|
|
309
309
|
commonFooter
|
|
310
310
|
}`,
|
|
311
311
|
|
|
@@ -313,40 +313,40 @@ const aiChemistryHelpHelper = {
|
|
|
313
313
|
// Badegefühl / Stabilität
|
|
314
314
|
// ----------------------------------------------------------
|
|
315
315
|
skin_eye_irritation:
|
|
316
|
-
`${I18n.
|
|
317
|
-
`${I18n.
|
|
318
|
-
`${I18n.
|
|
319
|
-
`${I18n.
|
|
320
|
-
`• ${I18n.
|
|
321
|
-
`• ${I18n.
|
|
322
|
-
`• ${I18n.
|
|
323
|
-
`${I18n.
|
|
324
|
-
`• ${I18n.
|
|
325
|
-
`• ${I18n.
|
|
326
|
-
`• ${I18n.
|
|
316
|
+
`${I18n.translate('Problem: Skin or eye irritation while swimming.')}\n\n` +
|
|
317
|
+
`${I18n.translate('What this means:')}\n` +
|
|
318
|
+
`${I18n.translate('Irritation can have several causes: pH that is too high or very low, too high a disinfectant concentration, or bound chlorine compounds (chloramines) caused by organic contamination.')}\n\n` +
|
|
319
|
+
`${I18n.translate('Common causes:')}\n` +
|
|
320
|
+
`• ${I18n.translate('pH outside the comfortable range')}\n` +
|
|
321
|
+
`• ${I18n.translate('Chlorine clearly too high')}\n` +
|
|
322
|
+
`• ${I18n.translate('Chlorine smell / chloramines caused by strong organic input')}\n\n` +
|
|
323
|
+
`${I18n.translate('Typical corrective direction:')}\n` +
|
|
324
|
+
`• ${I18n.translate('Measure first (pH and chlorine) and bring the values back into a normal range.')}\n` +
|
|
325
|
+
`• ${I18n.translate('Keep the pool / filter clean so that organic contamination does not turn into bound compounds.')}\n` +
|
|
326
|
+
`• ${I18n.translate('If irritation is strong, pause swimming until the water values are stable.')}\n${commonFooter}`,
|
|
327
327
|
|
|
328
328
|
values_unstable:
|
|
329
|
-
`${I18n.
|
|
330
|
-
`${I18n.
|
|
331
|
-
`${I18n.
|
|
332
|
-
`${I18n.
|
|
333
|
-
`• ${I18n.
|
|
334
|
-
`• ${I18n.
|
|
335
|
-
`• ${I18n.
|
|
336
|
-
`• ${I18n.
|
|
337
|
-
`${I18n.
|
|
338
|
-
`• ${I18n.
|
|
339
|
-
`• ${I18n.
|
|
329
|
+
`${I18n.translate('Problem: Water values are often unstable (change quickly).')}\n\n` +
|
|
330
|
+
`${I18n.translate('What this means:')}\n` +
|
|
331
|
+
`${I18n.translate('If pH / chlorine fluctuate strongly all the time, the water often lacks stability: the buffer (alkalinity) is too low / too high, the load changes frequently, or circulation / filtration is not constant enough.')}\n\n` +
|
|
332
|
+
`${I18n.translate('Common causes:')}\n` +
|
|
333
|
+
`• ${I18n.translate('Total alkalinity too low → pH jumps / tips over quickly')}\n` +
|
|
334
|
+
`• ${I18n.translate('Many small corrections without enough circulation time')}\n` +
|
|
335
|
+
`• ${I18n.translate('Poor filter condition / filter times too short')}\n` +
|
|
336
|
+
`• ${I18n.translate('Strong external influences (rain, heat, heavy use)')}\n\n` +
|
|
337
|
+
`${I18n.translate('Typical corrective direction:')}\n` +
|
|
338
|
+
`• ${I18n.translate('First get the basics stable (buffer / filter / regularity), then only fine-tune.')}\n` +
|
|
339
|
+
`• ${I18n.translate('Always correct in small steps and allow enough time for mixing.')}\n${commonFooter}`,
|
|
340
340
|
|
|
341
341
|
unknown_problem:
|
|
342
|
-
`${I18n.
|
|
343
|
-
`${I18n.
|
|
344
|
-
`1) ${I18n.
|
|
345
|
-
`2) ${I18n.
|
|
346
|
-
`3) ${I18n.
|
|
347
|
-
`${I18n.
|
|
348
|
-
`• ${I18n.
|
|
349
|
-
`• ${I18n.
|
|
342
|
+
`${I18n.translate('Problem: It is unclear what exactly is wrong.')}\n\n` +
|
|
343
|
+
`${I18n.translate('Procedure (minimal and sensible):')}\n` +
|
|
344
|
+
`1) ${I18n.translate('Visual check: Green? Cloudy? Deposits? Foam?')}\n` +
|
|
345
|
+
`2) ${I18n.translate('Two measured values are enough for the start: pH + free chlorine.')}\n` +
|
|
346
|
+
`3) ${I18n.translate('Check the technology: Is circulation running? Is the filter clean? Is backwashing needed?')}\n\n` +
|
|
347
|
+
`${I18n.translate('Typical rule of thumb:')}\n` +
|
|
348
|
+
`• ${I18n.translate('Visual problems (green / cloudy) are very often a combination of disinfection + pH + filtration.')}\n` +
|
|
349
|
+
`• ${I18n.translate('Odor / irritation is often not too much chlorine, but incorrectly bound / organically loaded water.')}\n${
|
|
350
350
|
commonFooter
|
|
351
351
|
}`,
|
|
352
352
|
};
|
|
@@ -357,8 +357,8 @@ const aiChemistryHelpHelper = {
|
|
|
357
357
|
|
|
358
358
|
// Fallback
|
|
359
359
|
return (
|
|
360
|
-
`${I18n.
|
|
361
|
-
`${I18n.
|
|
360
|
+
`${I18n.translate('Note: This problem is not known yet.')}\n\n` +
|
|
361
|
+
`${I18n.translate('Please select one of the existing items or use "Issue unclear / not specific".')}\n${
|
|
362
362
|
commonFooter
|
|
363
363
|
}`
|
|
364
364
|
);
|
|
@@ -30,30 +30,30 @@ async function createAiChemistryHelpStates(adapter) {
|
|
|
30
30
|
adapter.log.debug('[aiChemistryHelpStates] Initialization started');
|
|
31
31
|
|
|
32
32
|
const issueStates = {
|
|
33
|
-
none: I18n.
|
|
33
|
+
none: I18n.translate('No issue selected'),
|
|
34
34
|
|
|
35
35
|
// pH
|
|
36
|
-
ph_low: I18n.
|
|
37
|
-
ph_high: I18n.
|
|
36
|
+
ph_low: I18n.translate('pH is too low'),
|
|
37
|
+
ph_high: I18n.translate('pH is too high'),
|
|
38
38
|
|
|
39
39
|
// Chlorine / disinfection
|
|
40
|
-
chlor_low: I18n.
|
|
41
|
-
chlor_high: I18n.
|
|
42
|
-
chlor_no_effect: I18n.
|
|
43
|
-
chlor_smell: I18n.
|
|
40
|
+
chlor_low: I18n.translate('Chlorine is too low'),
|
|
41
|
+
chlor_high: I18n.translate('Chlorine is too high'),
|
|
42
|
+
chlor_no_effect: I18n.translate('Chlorine does not rise despite dosing'),
|
|
43
|
+
chlor_smell: I18n.translate('Strong chlorine smell despite reading'),
|
|
44
44
|
|
|
45
45
|
// Water appearance
|
|
46
|
-
water_green: I18n.
|
|
47
|
-
water_cloudy: I18n.
|
|
48
|
-
algae_visible: I18n.
|
|
49
|
-
foam_on_surface: I18n.
|
|
46
|
+
water_green: I18n.translate('Water is green'),
|
|
47
|
+
water_cloudy: I18n.translate('Water is cloudy / gray / milky'),
|
|
48
|
+
algae_visible: I18n.translate('Algae visible on walls or floor'),
|
|
49
|
+
foam_on_surface: I18n.translate('Foam on the water surface'),
|
|
50
50
|
|
|
51
51
|
// Swim feel / stability
|
|
52
|
-
skin_eye_irritation: I18n.
|
|
53
|
-
values_unstable: I18n.
|
|
52
|
+
skin_eye_irritation: I18n.translate('Skin or eye irritation when swimming'),
|
|
53
|
+
values_unstable: I18n.translate('Water values are often unstable'),
|
|
54
54
|
|
|
55
55
|
// Uncertainty
|
|
56
|
-
unknown_problem: I18n.
|
|
56
|
+
unknown_problem: I18n.translate('Issue unclear / not specific'),
|
|
57
57
|
};
|
|
58
58
|
|
|
59
59
|
// ----------------------------------------------------------
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iobroker.poolcontrol",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.15",
|
|
4
4
|
"description": "Steuerung & Automatisierung für den Pool (Pumpe, Heizung, Ventile, Sensoren).",
|
|
5
5
|
"author": "DasBo1975 <dasbo1975@outlook.de>",
|
|
6
6
|
"homepage": "https://github.com/DasBo1975/ioBroker.poolcontrol",
|