iobroker.poolcontrol 1.2.12 → 1.2.13

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 (35) hide show
  1. package/README.md +6 -0
  2. package/admin/i18n/de/translations.json +0 -2
  3. package/admin/i18n/es/translations.json +0 -2
  4. package/admin/i18n/fr/translations.json +0 -2
  5. package/admin/i18n/it/translations.json +0 -2
  6. package/admin/i18n/nl/translations.json +0 -2
  7. package/admin/i18n/pl/translations.json +0 -2
  8. package/admin/i18n/pt/translations.json +0 -2
  9. package/admin/i18n/ru/translations.json +0 -2
  10. package/admin/i18n/uk/translations.json +0 -2
  11. package/admin/i18n/zh-cn/translations.json +0 -2
  12. package/io-package.json +16 -15
  13. package/lib/stateDefinitions/actuatorsStates.js +132 -19
  14. package/lib/stateDefinitions/aiChemistryHelpStates.js +28 -11
  15. package/lib/stateDefinitions/aiStates.js +201 -31
  16. package/lib/stateDefinitions/consumptionStates.js +140 -14
  17. package/lib/stateDefinitions/controlStates.js +120 -34
  18. package/lib/stateDefinitions/debugLogStates.js +32 -10
  19. package/lib/stateDefinitions/generalStates.js +28 -4
  20. package/lib/stateDefinitions/heatStates.js +132 -17
  21. package/lib/stateDefinitions/infoStates.js +20 -5
  22. package/lib/stateDefinitions/photovoltaicStates.js +78 -19
  23. package/lib/stateDefinitions/pumpSpeedStates.js +76 -11
  24. package/lib/stateDefinitions/pumpStates.js +100 -15
  25. package/lib/stateDefinitions/pumpStates2.js +36 -9
  26. package/lib/stateDefinitions/pumpStates3.js +92 -23
  27. package/lib/stateDefinitions/pumpStates4.js +120 -30
  28. package/lib/stateDefinitions/runtimeStates.js +74 -10
  29. package/lib/stateDefinitions/solarStates.js +68 -9
  30. package/lib/stateDefinitions/speechStates.js +133 -18
  31. package/lib/stateDefinitions/statisticsStates.js +167 -24
  32. package/lib/stateDefinitions/statusStates.js +92 -12
  33. package/lib/stateDefinitions/temperatureStates.js +117 -18
  34. package/lib/stateDefinitions/timeStates.js +43 -12
  35. package/package.json +1 -1
@@ -18,7 +18,10 @@ async function createSolarStates(adapter) {
18
18
  await adapter.setObjectNotExistsAsync('solar', {
19
19
  type: 'channel',
20
20
  common: {
21
- name: 'Solar',
21
+ name: {
22
+ en: 'Solar',
23
+ de: 'Solar',
24
+ },
22
25
  },
23
26
  native: {},
24
27
  });
@@ -27,7 +30,14 @@ async function createSolarStates(adapter) {
27
30
  await adapter.setObjectNotExistsAsync('solar.solar_control_active', {
28
31
  type: 'state',
29
32
  common: {
30
- name: 'Enable solar control',
33
+ name: {
34
+ en: 'Enable solar control',
35
+ de: 'Solarsteuerung aktivieren',
36
+ },
37
+ desc: {
38
+ en: 'Enables or disables the solar control',
39
+ de: 'Aktiviert oder deaktiviert die Solarsteuerung',
40
+ },
31
41
  type: 'boolean',
32
42
  role: 'switch',
33
43
  read: true,
@@ -48,7 +58,14 @@ async function createSolarStates(adapter) {
48
58
  await adapter.setObjectNotExistsAsync('solar.hysteresis_active', {
49
59
  type: 'state',
50
60
  common: {
51
- name: 'Use hysteresis control',
61
+ name: {
62
+ en: 'Use hysteresis control',
63
+ de: 'Hysteresesteuerung verwenden',
64
+ },
65
+ desc: {
66
+ en: 'Enables or disables hysteresis control for solar operation',
67
+ de: 'Aktiviert oder deaktiviert die Hysteresesteuerung fuer den Solarbetrieb',
68
+ },
52
69
  type: 'boolean',
53
70
  role: 'switch',
54
71
  read: true,
@@ -69,7 +86,14 @@ async function createSolarStates(adapter) {
69
86
  await adapter.setObjectNotExistsAsync('solar.temp_on', {
70
87
  type: 'state',
71
88
  common: {
72
- name: 'Collector temperature ON threshold (°C)',
89
+ name: {
90
+ en: 'Collector temperature ON threshold (°C)',
91
+ de: 'Kollektortemperatur EIN-Schwelle (°C)',
92
+ },
93
+ desc: {
94
+ en: 'Temperature threshold at which solar operation is switched on',
95
+ de: 'Temperaturschwelle, bei der der Solarbetrieb eingeschaltet wird',
96
+ },
73
97
  type: 'number',
74
98
  role: 'level',
75
99
  unit: '°C',
@@ -91,7 +115,14 @@ async function createSolarStates(adapter) {
91
115
  await adapter.setObjectNotExistsAsync('solar.temp_off', {
92
116
  type: 'state',
93
117
  common: {
94
- name: 'Collector temperature OFF threshold (°C)',
118
+ name: {
119
+ en: 'Collector temperature OFF threshold (°C)',
120
+ de: 'Kollektortemperatur AUS-Schwelle (°C)',
121
+ },
122
+ desc: {
123
+ en: 'Temperature threshold at which solar operation is switched off',
124
+ de: 'Temperaturschwelle, bei der der Solarbetrieb ausgeschaltet wird',
125
+ },
95
126
  type: 'number',
96
127
  role: 'level',
97
128
  unit: '°C',
@@ -113,7 +144,14 @@ async function createSolarStates(adapter) {
113
144
  await adapter.setObjectNotExistsAsync('solar.collector_warning', {
114
145
  type: 'state',
115
146
  common: {
116
- name: 'Collector temperature warning active',
147
+ name: {
148
+ en: 'Collector temperature warning active',
149
+ de: 'Kollektortemperatur-Warnung aktiv',
150
+ },
151
+ desc: {
152
+ en: 'Shows whether a collector temperature warning is currently active',
153
+ de: 'Zeigt an, ob aktuell eine Kollektortemperatur-Warnung aktiv ist',
154
+ },
117
155
  type: 'boolean',
118
156
  role: 'indicator.error',
119
157
  read: true,
@@ -130,7 +168,14 @@ async function createSolarStates(adapter) {
130
168
  await adapter.setObjectNotExistsAsync('solar.warn_active', {
131
169
  type: 'state',
132
170
  common: {
133
- name: 'Enable collector temperature warning',
171
+ name: {
172
+ en: 'Enable collector temperature warning',
173
+ de: 'Kollektortemperatur-Warnung aktivieren',
174
+ },
175
+ desc: {
176
+ en: 'Enables or disables the collector temperature warning logic',
177
+ de: 'Aktiviert oder deaktiviert die Warnlogik fuer die Kollektortemperatur',
178
+ },
134
179
  type: 'boolean',
135
180
  role: 'switch',
136
181
  read: true,
@@ -151,7 +196,14 @@ async function createSolarStates(adapter) {
151
196
  await adapter.setObjectNotExistsAsync('solar.warn_temp', {
152
197
  type: 'state',
153
198
  common: {
154
- name: 'Collector temperature warning threshold (°C)',
199
+ name: {
200
+ en: 'Collector temperature warning threshold (°C)',
201
+ de: 'Kollektortemperatur-Warnschwelle (°C)',
202
+ },
203
+ desc: {
204
+ en: 'Temperature threshold at which a collector warning is triggered',
205
+ de: 'Temperaturschwelle, bei der eine Kollektorwarnung ausgeloest wird',
206
+ },
155
207
  type: 'number',
156
208
  role: 'level',
157
209
  unit: '°C',
@@ -170,7 +222,14 @@ async function createSolarStates(adapter) {
170
222
  await adapter.setObjectNotExistsAsync('solar.warn_speech', {
171
223
  type: 'state',
172
224
  common: {
173
- name: 'Enable speech output for warnings',
225
+ name: {
226
+ en: 'Enable speech output for warnings',
227
+ de: 'Sprachausgabe fuer Warnungen aktivieren',
228
+ },
229
+ desc: {
230
+ en: 'Enables or disables speech output for solar warnings',
231
+ de: 'Aktiviert oder deaktiviert die Sprachausgabe fuer Solarwarnungen',
232
+ },
174
233
  type: 'boolean',
175
234
  role: 'switch',
176
235
  read: true,
@@ -14,7 +14,12 @@ async function createSpeechStates(adapter) {
14
14
  // Root-Kanal
15
15
  await adapter.setObjectNotExistsAsync('speech', {
16
16
  type: 'channel',
17
- common: { name: 'Speech outputs' },
17
+ common: {
18
+ name: {
19
+ en: 'Speech outputs',
20
+ de: 'Sprachausgaben',
21
+ },
22
+ },
18
23
  native: {},
19
24
  });
20
25
 
@@ -22,7 +27,14 @@ async function createSpeechStates(adapter) {
22
27
  await adapter.setObjectNotExistsAsync('speech.active', {
23
28
  type: 'state',
24
29
  common: {
25
- name: 'Enable speech outputs',
30
+ name: {
31
+ en: 'Enable speech outputs',
32
+ de: 'Sprachausgaben aktivieren',
33
+ },
34
+ desc: {
35
+ en: 'Enables or disables all speech outputs globally',
36
+ de: 'Aktiviert oder deaktiviert alle Sprachausgaben global',
37
+ },
26
38
  type: 'boolean',
27
39
  role: 'switch',
28
40
  read: true,
@@ -45,7 +57,14 @@ async function createSpeechStates(adapter) {
45
57
  await adapter.setObjectNotExistsAsync('speech.last_text', {
46
58
  type: 'state',
47
59
  common: {
48
- name: 'Last spoken text',
60
+ name: {
61
+ en: 'Last spoken text',
62
+ de: 'Zuletzt gesprochener Text',
63
+ },
64
+ desc: {
65
+ en: 'Stores the last spoken output text',
66
+ de: 'Speichert den zuletzt gesprochenen Ausgabetext',
67
+ },
49
68
  type: 'string',
50
69
  role: 'text',
51
70
  read: true,
@@ -60,8 +79,14 @@ async function createSpeechStates(adapter) {
60
79
  await adapter.setObjectNotExistsAsync('speech.queue', {
61
80
  type: 'state',
62
81
  common: {
63
- name: 'Internal speech message queue',
64
- desc: 'Used as a handoff point for text messages from other modules (not writable by the user).',
82
+ name: {
83
+ en: 'Internal speech message queue',
84
+ de: 'Interne Sprachnachrichten-Warteschlange',
85
+ },
86
+ desc: {
87
+ en: 'Used as a handoff point for text messages from other modules (not writable by the user).',
88
+ de: 'Wird als Uebergabepunkt fuer Textnachrichten aus anderen Modulen verwendet (nicht durch den Benutzer beschreibbar).',
89
+ },
65
90
  type: 'string',
66
91
  role: 'text',
67
92
  read: true,
@@ -75,7 +100,14 @@ async function createSpeechStates(adapter) {
75
100
  await adapter.setObjectNotExistsAsync('speech.start_text', {
76
101
  type: 'state',
77
102
  common: {
78
- name: 'Start text',
103
+ name: {
104
+ en: 'Start text',
105
+ de: 'Starttext',
106
+ },
107
+ desc: {
108
+ en: 'Speech text used when the pool pump starts',
109
+ de: 'Sprachausgabetext, der beim Start der Poolpumpe verwendet wird',
110
+ },
79
111
  type: 'string',
80
112
  role: 'text',
81
113
  read: true,
@@ -91,7 +123,14 @@ async function createSpeechStates(adapter) {
91
123
  await adapter.setObjectNotExistsAsync('speech.end_text', {
92
124
  type: 'state',
93
125
  common: {
94
- name: 'End text',
126
+ name: {
127
+ en: 'End text',
128
+ de: 'Endtext',
129
+ },
130
+ desc: {
131
+ en: 'Speech text used when the pool pump stops',
132
+ de: 'Sprachausgabetext, der beim Stoppen der Poolpumpe verwendet wird',
133
+ },
95
134
  type: 'string',
96
135
  role: 'text',
97
136
  read: true,
@@ -110,56 +149,110 @@ async function createSpeechStates(adapter) {
110
149
 
111
150
  await adapter.setObjectNotExistsAsync('speech.amazon_alexa', {
112
151
  type: 'channel',
113
- common: { name: 'Amazon Alexa (speech output)' },
152
+ common: {
153
+ name: {
154
+ en: 'Amazon Alexa (speech output)',
155
+ de: 'Amazon Alexa (Sprachausgabe)',
156
+ },
157
+ },
114
158
  native: {},
115
159
  });
116
160
 
117
161
  const alexaStates = [
118
162
  {
119
163
  id: 'quiet_time_week_enabled',
120
- name: 'Quiet time (Mon–Fri) enabled',
164
+ name: {
165
+ en: 'Quiet time (Mon-Fri) enabled',
166
+ de: 'Ruhezeit (Mo-Fr) aktiviert',
167
+ },
168
+ desc: {
169
+ en: 'Enables quiet time for weekdays from Monday to Friday',
170
+ de: 'Aktiviert die Ruhezeit fuer Werktage von Montag bis Freitag',
171
+ },
121
172
  type: 'boolean',
122
173
  role: 'switch',
123
174
  def: false,
124
175
  },
125
176
  {
126
177
  id: 'quiet_time_week_start',
127
- name: 'Quiet time (Mon–Fri) start time (HH:MM)',
178
+ name: {
179
+ en: 'Quiet time (Mon-Fri) start time (HH:MM)',
180
+ de: 'Ruhezeit (Mo-Fr) Startzeit (HH:MM)',
181
+ },
182
+ desc: {
183
+ en: 'Start time of the weekday quiet time in HH:MM format',
184
+ de: 'Startzeit der Werktag-Ruhezeit im Format HH:MM',
185
+ },
128
186
  type: 'string',
129
187
  role: 'level',
130
188
  def: '22:00',
131
189
  },
132
190
  {
133
191
  id: 'quiet_time_week_end',
134
- name: 'Quiet time (Mon–Fri) end time (HH:MM)',
192
+ name: {
193
+ en: 'Quiet time (Mon-Fri) end time (HH:MM)',
194
+ de: 'Ruhezeit (Mo-Fr) Endzeit (HH:MM)',
195
+ },
196
+ desc: {
197
+ en: 'End time of the weekday quiet time in HH:MM format',
198
+ de: 'Endzeit der Werktag-Ruhezeit im Format HH:MM',
199
+ },
135
200
  type: 'string',
136
201
  role: 'level',
137
202
  def: '07:00',
138
203
  },
139
204
  {
140
205
  id: 'quiet_time_weekend_enabled',
141
- name: 'Quiet time (Sat–Sun) enabled',
206
+ name: {
207
+ en: 'Quiet time (Sat-Sun) enabled',
208
+ de: 'Ruhezeit (Sa-So) aktiviert',
209
+ },
210
+ desc: {
211
+ en: 'Enables quiet time for weekends from Saturday to Sunday',
212
+ de: 'Aktiviert die Ruhezeit fuer Wochenenden von Samstag bis Sonntag',
213
+ },
142
214
  type: 'boolean',
143
215
  role: 'switch',
144
216
  def: false,
145
217
  },
146
218
  {
147
219
  id: 'quiet_time_weekend_start',
148
- name: 'Quiet time (Sat–Sun) start time (HH:MM)',
220
+ name: {
221
+ en: 'Quiet time (Sat-Sun) start time (HH:MM)',
222
+ de: 'Ruhezeit (Sa-So) Startzeit (HH:MM)',
223
+ },
224
+ desc: {
225
+ en: 'Start time of the weekend quiet time in HH:MM format',
226
+ de: 'Startzeit der Wochenend-Ruhezeit im Format HH:MM',
227
+ },
149
228
  type: 'string',
150
229
  role: 'level',
151
230
  def: '22:00',
152
231
  },
153
232
  {
154
233
  id: 'quiet_time_weekend_end',
155
- name: 'Quiet time (Sat–Sun) end time (HH:MM)',
234
+ name: {
235
+ en: 'Quiet time (Sat-Sun) end time (HH:MM)',
236
+ de: 'Ruhezeit (Sa-So) Endzeit (HH:MM)',
237
+ },
238
+ desc: {
239
+ en: 'End time of the weekend quiet time in HH:MM format',
240
+ de: 'Endzeit der Wochenend-Ruhezeit im Format HH:MM',
241
+ },
156
242
  type: 'string',
157
243
  role: 'level',
158
244
  def: '08:00',
159
245
  },
160
246
  {
161
247
  id: 'quiet_time_active_now',
162
- name: 'Alexa muted now (quiet time active)',
248
+ name: {
249
+ en: 'Alexa muted now (quiet time active)',
250
+ de: 'Alexa aktuell stumm (Ruhezeit aktiv)',
251
+ },
252
+ desc: {
253
+ en: 'Shows whether Alexa output is currently muted because quiet time is active',
254
+ de: 'Zeigt an, ob die Alexa-Ausgabe aktuell stumm ist, weil die Ruhezeit aktiv ist',
255
+ },
163
256
  type: 'boolean',
164
257
  role: 'indicator',
165
258
  def: false,
@@ -173,6 +266,7 @@ async function createSpeechStates(adapter) {
173
266
  type: 'state',
174
267
  common: {
175
268
  name: s.name,
269
+ desc: s.desc,
176
270
  type: s.type,
177
271
  role: s.role,
178
272
  read: true,
@@ -196,7 +290,14 @@ async function createSpeechStates(adapter) {
196
290
  await adapter.setObjectNotExistsAsync('speech.solar_active', {
197
291
  type: 'state',
198
292
  common: {
199
- name: 'Solar control active',
293
+ name: {
294
+ en: 'Solar control active',
295
+ de: 'Solarsteuerung aktiv',
296
+ },
297
+ desc: {
298
+ en: 'Indicator for active solar control speech context',
299
+ de: 'Indikator fuer aktiven Solarsteuerungs-Sprachkontext',
300
+ },
200
301
  type: 'boolean',
201
302
  role: 'indicator',
202
303
  read: true,
@@ -210,7 +311,14 @@ async function createSpeechStates(adapter) {
210
311
  await adapter.setObjectNotExistsAsync('speech.time_active', {
211
312
  type: 'state',
212
313
  common: {
213
- name: 'Time control active',
314
+ name: {
315
+ en: 'Time control active',
316
+ de: 'Zeitsteuerung aktiv',
317
+ },
318
+ desc: {
319
+ en: 'Indicator for active time control speech context',
320
+ de: 'Indikator fuer aktiven Zeitsteuerungs-Sprachkontext',
321
+ },
214
322
  type: 'boolean',
215
323
  role: 'indicator',
216
324
  read: true,
@@ -224,7 +332,14 @@ async function createSpeechStates(adapter) {
224
332
  await adapter.setObjectNotExistsAsync('speech.frost_active', {
225
333
  type: 'state',
226
334
  common: {
227
- name: 'Frost protection active',
335
+ name: {
336
+ en: 'Frost protection active',
337
+ de: 'Frostschutz aktiv',
338
+ },
339
+ desc: {
340
+ en: 'Indicator for active frost protection speech context',
341
+ de: 'Indikator fuer aktiven Frostschutz-Sprachkontext',
342
+ },
228
343
  type: 'boolean',
229
344
  role: 'indicator',
230
345
  read: true,