iobroker.poolcontrol 1.2.0 → 1.2.1
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 +285 -292
- package/admin/i18n/de/translations.json +158 -4
- package/admin/i18n/en/translations.json +161 -3
- package/admin/i18n/es/translations.json +158 -4
- package/admin/i18n/fr/translations.json +158 -4
- package/admin/i18n/it/translations.json +158 -4
- package/admin/i18n/nl/translations.json +158 -4
- package/admin/i18n/pl/translations.json +158 -4
- package/admin/i18n/pt/translations.json +158 -4
- package/admin/i18n/ru/translations.json +158 -4
- package/admin/i18n/uk/translations.json +158 -4
- package/admin/i18n/zh-cn/translations.json +158 -4
- package/admin/jsonConfig.json +180 -602
- package/io-package.json +107 -100
- package/lib/helpers/actuatorsHelper.js +6 -8
- package/lib/helpers/aiChemistryHelpHelper.js +7 -7
- package/lib/helpers/aiForecastHelper.js +21 -21
- package/lib/helpers/aiHelper.js +53 -63
- package/lib/helpers/consumptionHelper.js +23 -25
- package/lib/helpers/controlHelper.js +24 -24
- package/lib/helpers/controlHelper2.js +17 -17
- package/lib/helpers/debugLogHelper.js +12 -14
- package/lib/helpers/frostHelper.js +6 -6
- package/lib/helpers/heatHelper.js +14 -14
- package/lib/helpers/infoHelper.js +2 -2
- package/lib/helpers/migrationHelper.js +16 -16
- package/lib/helpers/photovoltaicHelper.js +28 -28
- package/lib/helpers/pumpHelper.js +16 -18
- package/lib/helpers/pumpHelper2.js +8 -10
- package/lib/helpers/pumpHelper3.js +9 -9
- package/lib/helpers/pumpHelper4.js +9 -9
- package/lib/helpers/pumpSpeedHelper.js +6 -6
- package/lib/helpers/runtimeHelper.js +14 -14
- package/lib/helpers/solarHelper.js +9 -9
- package/lib/helpers/speechHelper.js +13 -15
- package/lib/helpers/speechTextHelper.js +13 -13
- package/lib/helpers/statisticsHelper.js +9 -9
- package/lib/helpers/statisticsHelperMonth.js +15 -15
- package/lib/helpers/statisticsHelperWeek.js +11 -11
- package/lib/helpers/statusHelper.js +9 -9
- package/lib/helpers/temperatureHelper.js +9 -11
- package/lib/helpers/timeHelper.js +7 -9
- package/lib/stateDefinitions/actuatorsStates.js +19 -19
- package/lib/stateDefinitions/aiChemistryHelpStates.js +59 -28
- package/lib/stateDefinitions/aiStates.js +119 -31
- package/lib/stateDefinitions/consumptionStates.js +20 -14
- package/lib/stateDefinitions/controlStates.js +90 -37
- package/lib/stateDefinitions/debugLogStates.js +28 -13
- package/lib/stateDefinitions/generalStates.js +4 -4
- package/lib/stateDefinitions/heatStates.js +21 -21
- package/lib/stateDefinitions/infoStates.js +11 -5
- package/lib/stateDefinitions/photovoltaicStates.js +52 -24
- package/lib/stateDefinitions/pumpSpeedStates.js +11 -11
- package/lib/stateDefinitions/pumpStates.js +24 -15
- package/lib/stateDefinitions/pumpStates2.js +22 -10
- package/lib/stateDefinitions/pumpStates3.js +63 -24
- package/lib/stateDefinitions/pumpStates4.js +62 -32
- package/lib/stateDefinitions/runtimeStates.js +10 -10
- package/lib/stateDefinitions/solarStates.js +9 -9
- package/lib/stateDefinitions/speechStates.js +24 -21
- package/lib/stateDefinitions/statisticsStates.js +107 -29
- package/lib/stateDefinitions/statusStates.js +14 -12
- package/lib/stateDefinitions/temperatureStates.js +18 -12
- package/lib/stateDefinitions/timeStates.js +5 -5
- package/main.js +38 -0
- package/package.json +7 -8
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* @param {import('iobroker').Adapter} adapter – Aktive ioBroker Adapterinstanz
|
|
23
23
|
*/
|
|
24
24
|
async function createPumpStates4(adapter) {
|
|
25
|
-
adapter.log.debug('[pumpStates4]
|
|
25
|
+
adapter.log.debug('[pumpStates4] Pressure sensor state initialization started.');
|
|
26
26
|
|
|
27
27
|
// ------------------------------------------------------
|
|
28
28
|
// Root-Kanal: pump.pressure
|
|
@@ -30,7 +30,7 @@ async function createPumpStates4(adapter) {
|
|
|
30
30
|
await adapter.setObjectNotExistsAsync('pump.pressure', {
|
|
31
31
|
type: 'channel',
|
|
32
32
|
common: {
|
|
33
|
-
name: 'Pumpen-Drucksensor (Filterdruck)',
|
|
33
|
+
name: { de: 'Pumpen-Drucksensor (Filterdruck)', en: 'Pump pressure sensor (filter pressure)' },
|
|
34
34
|
},
|
|
35
35
|
native: {},
|
|
36
36
|
});
|
|
@@ -41,8 +41,8 @@ async function createPumpStates4(adapter) {
|
|
|
41
41
|
await adapter.setObjectNotExistsAsync('pump.pressure.current_bar', {
|
|
42
42
|
type: 'state',
|
|
43
43
|
common: {
|
|
44
|
-
name: 'Aktueller Druck (bar)',
|
|
45
|
-
desc: 'Gemessener aktueller Filterdruck in bar',
|
|
44
|
+
name: { de: 'Aktueller Druck (bar)', en: 'Current pressure (bar)' },
|
|
45
|
+
desc: { de: 'Gemessener aktueller Filterdruck in bar', en: 'Measured current filter pressure in bar' },
|
|
46
46
|
type: 'number',
|
|
47
47
|
role: 'value.pressure',
|
|
48
48
|
unit: 'bar',
|
|
@@ -65,8 +65,11 @@ async function createPumpStates4(adapter) {
|
|
|
65
65
|
await adapter.setObjectNotExistsAsync('pump.pressure.previous_bar', {
|
|
66
66
|
type: 'state',
|
|
67
67
|
common: {
|
|
68
|
-
name: 'Vorheriger Druck (bar)',
|
|
69
|
-
desc:
|
|
68
|
+
name: { de: 'Vorheriger Druck (bar)', en: 'Previous pressure (bar)' },
|
|
69
|
+
desc: {
|
|
70
|
+
de: 'Letzter bekannter Filterdruck vor der aktuellen Messung',
|
|
71
|
+
en: 'Last known filter pressure before the current measurement',
|
|
72
|
+
},
|
|
70
73
|
type: 'number',
|
|
71
74
|
role: 'value.pressure',
|
|
72
75
|
unit: 'bar',
|
|
@@ -91,8 +94,11 @@ async function createPumpStates4(adapter) {
|
|
|
91
94
|
await adapter.setObjectNotExistsAsync('pump.pressure.normal_min_bar', {
|
|
92
95
|
type: 'state',
|
|
93
96
|
common: {
|
|
94
|
-
name: 'Normaldruck MIN (bar)',
|
|
95
|
-
desc:
|
|
97
|
+
name: { de: 'Normaldruck MIN (bar)', en: 'Normal pressure MIN (bar)' },
|
|
98
|
+
desc: {
|
|
99
|
+
de: 'Unterer Grenzwert des Normaldruck-Bereichs. Werte unterhalb gelten als zu niedrig.',
|
|
100
|
+
en: 'Lower limit of the normal pressure range. Values below are considered too low.',
|
|
101
|
+
},
|
|
96
102
|
type: 'number',
|
|
97
103
|
role: 'level',
|
|
98
104
|
unit: 'bar',
|
|
@@ -115,8 +121,11 @@ async function createPumpStates4(adapter) {
|
|
|
115
121
|
await adapter.setObjectNotExistsAsync('pump.pressure.normal_max_bar', {
|
|
116
122
|
type: 'state',
|
|
117
123
|
common: {
|
|
118
|
-
name: 'Normaldruck MAX (bar)',
|
|
119
|
-
desc:
|
|
124
|
+
name: { de: 'Normaldruck MAX (bar)', en: 'Normal pressure MAX (bar)' },
|
|
125
|
+
desc: {
|
|
126
|
+
de: 'Oberer Grenzwert des Normaldruck-Bereichs. Werte oberhalb gelten als erhöht.',
|
|
127
|
+
en: 'Upper limit of the normal pressure range. Values above are considered elevated.',
|
|
128
|
+
},
|
|
120
129
|
type: 'number',
|
|
121
130
|
role: 'level',
|
|
122
131
|
unit: 'bar',
|
|
@@ -143,8 +152,11 @@ async function createPumpStates4(adapter) {
|
|
|
143
152
|
await adapter.setObjectNotExistsAsync('pump.pressure.status_text', {
|
|
144
153
|
type: 'state',
|
|
145
154
|
common: {
|
|
146
|
-
name: 'Statusmeldung',
|
|
147
|
-
desc:
|
|
155
|
+
name: { de: 'Statusmeldung', en: 'Status message' },
|
|
156
|
+
desc: {
|
|
157
|
+
de: 'Bewertung des Drucks (z. B. Normal / Hoch / Rückspülen nötig)',
|
|
158
|
+
en: 'Assessment of the pressure (e.g. normal / high / backwash required)',
|
|
159
|
+
},
|
|
148
160
|
type: 'string',
|
|
149
161
|
role: 'text',
|
|
150
162
|
read: true,
|
|
@@ -158,8 +170,11 @@ async function createPumpStates4(adapter) {
|
|
|
158
170
|
await adapter.setObjectNotExistsAsync('pump.pressure.status_text_diagnostic', {
|
|
159
171
|
type: 'state',
|
|
160
172
|
common: {
|
|
161
|
-
name: 'Diagnose',
|
|
162
|
-
desc:
|
|
173
|
+
name: { de: 'Diagnose', en: 'Diagnostics' },
|
|
174
|
+
desc: {
|
|
175
|
+
de: 'Ausführliche Diagnose basierend auf Trend- und Lernwerten',
|
|
176
|
+
en: 'Detailed diagnostics based on trend and learning values',
|
|
177
|
+
},
|
|
163
178
|
type: 'string',
|
|
164
179
|
role: 'text',
|
|
165
180
|
read: true,
|
|
@@ -173,8 +188,8 @@ async function createPumpStates4(adapter) {
|
|
|
173
188
|
await adapter.setObjectNotExistsAsync('pump.pressure.last_update', {
|
|
174
189
|
type: 'state',
|
|
175
190
|
common: {
|
|
176
|
-
name: 'Letzte Aktualisierung',
|
|
177
|
-
desc: 'Zeitstempel der letzten Druckaktualisierung',
|
|
191
|
+
name: { de: 'Letzte Aktualisierung', en: 'Last update' },
|
|
192
|
+
desc: { de: 'Zeitstempel der letzten Druckaktualisierung', en: 'Timestamp of the last pressure update' },
|
|
178
193
|
type: 'string',
|
|
179
194
|
role: 'date',
|
|
180
195
|
read: true,
|
|
@@ -190,7 +205,7 @@ async function createPumpStates4(adapter) {
|
|
|
190
205
|
await adapter.setObjectNotExistsAsync('pump.pressure.learning', {
|
|
191
206
|
type: 'channel',
|
|
192
207
|
common: {
|
|
193
|
-
name: 'Lernwerte (Druckverhalten der Pumpe)',
|
|
208
|
+
name: { de: 'Lernwerte (Druckverhalten der Pumpe)', en: 'Learning values (pump pressure behavior)' },
|
|
194
209
|
},
|
|
195
210
|
native: {},
|
|
196
211
|
});
|
|
@@ -199,8 +214,11 @@ async function createPumpStates4(adapter) {
|
|
|
199
214
|
await adapter.setObjectNotExistsAsync('pump.pressure.learning.learned_min_bar', {
|
|
200
215
|
type: 'state',
|
|
201
216
|
common: {
|
|
202
|
-
name: 'Gelerntes Minimum (bar)',
|
|
203
|
-
desc:
|
|
217
|
+
name: { de: 'Gelerntes Minimum (bar)', en: 'Learned minimum (bar)' },
|
|
218
|
+
desc: {
|
|
219
|
+
de: 'Niedrigster Druck, der im stabilen Betrieb häufig auftritt',
|
|
220
|
+
en: 'Lowest pressure frequently occurring during stable operation',
|
|
221
|
+
},
|
|
204
222
|
type: 'number',
|
|
205
223
|
unit: 'bar',
|
|
206
224
|
role: 'value',
|
|
@@ -215,8 +233,11 @@ async function createPumpStates4(adapter) {
|
|
|
215
233
|
await adapter.setObjectNotExistsAsync('pump.pressure.learning.learned_max_bar', {
|
|
216
234
|
type: 'state',
|
|
217
235
|
common: {
|
|
218
|
-
name: 'Gelerntes Maximum (bar)',
|
|
219
|
-
desc:
|
|
236
|
+
name: { de: 'Gelerntes Maximum (bar)', en: 'Learned maximum (bar)' },
|
|
237
|
+
desc: {
|
|
238
|
+
de: 'Höchster Druck, der im stabilen Betrieb häufig auftritt',
|
|
239
|
+
en: 'Highest pressure frequently occurring during stable operation',
|
|
240
|
+
},
|
|
220
241
|
type: 'number',
|
|
221
242
|
unit: 'bar',
|
|
222
243
|
role: 'value',
|
|
@@ -231,8 +252,11 @@ async function createPumpStates4(adapter) {
|
|
|
231
252
|
await adapter.setObjectNotExistsAsync('pump.pressure.learning.avg_bar', {
|
|
232
253
|
type: 'state',
|
|
233
254
|
common: {
|
|
234
|
-
name: 'Gleitender Durchschnittsdruck (bar)',
|
|
235
|
-
desc:
|
|
255
|
+
name: { de: 'Gleitender Durchschnittsdruck (bar)', en: 'Rolling average pressure (bar)' },
|
|
256
|
+
desc: {
|
|
257
|
+
de: 'Berechneter Mittelwert der letzten Messungen',
|
|
258
|
+
en: 'Calculated average of the latest measurements',
|
|
259
|
+
},
|
|
236
260
|
type: 'number',
|
|
237
261
|
unit: 'bar',
|
|
238
262
|
role: 'value',
|
|
@@ -247,8 +271,8 @@ async function createPumpStates4(adapter) {
|
|
|
247
271
|
await adapter.setObjectNotExistsAsync('pump.pressure.learning.trend_rising', {
|
|
248
272
|
type: 'state',
|
|
249
273
|
common: {
|
|
250
|
-
name: 'Trend Steigend (0–1)',
|
|
251
|
-
desc: 'Gibt an, wie stark der Druck steigt',
|
|
274
|
+
name: { de: 'Trend Steigend (0–1)', en: 'Trend rising (0–1)' },
|
|
275
|
+
desc: { de: 'Gibt an, wie stark der Druck steigt', en: 'Indicates how strongly the pressure is rising' },
|
|
252
276
|
type: 'number',
|
|
253
277
|
role: 'indicator',
|
|
254
278
|
read: true,
|
|
@@ -262,8 +286,8 @@ async function createPumpStates4(adapter) {
|
|
|
262
286
|
await adapter.setObjectNotExistsAsync('pump.pressure.learning.trend_falling', {
|
|
263
287
|
type: 'state',
|
|
264
288
|
common: {
|
|
265
|
-
name: 'Trend Fallend (0–1)',
|
|
266
|
-
desc: 'Gibt an, wie stark der Druck fällt',
|
|
289
|
+
name: { de: 'Trend Fallend (0–1)', en: 'Trend falling (0–1)' },
|
|
290
|
+
desc: { de: 'Gibt an, wie stark der Druck fällt', en: 'Indicates how strongly the pressure is falling' },
|
|
267
291
|
type: 'number',
|
|
268
292
|
role: 'indicator',
|
|
269
293
|
read: true,
|
|
@@ -277,8 +301,11 @@ async function createPumpStates4(adapter) {
|
|
|
277
301
|
await adapter.setObjectNotExistsAsync('pump.pressure.learning.trend_stability', {
|
|
278
302
|
type: 'state',
|
|
279
303
|
common: {
|
|
280
|
-
name: 'Trend Stabilität (0–1)',
|
|
281
|
-
desc:
|
|
304
|
+
name: { de: 'Trend Stabilität (0–1)', en: 'Trend stability (0–1)' },
|
|
305
|
+
desc: {
|
|
306
|
+
de: 'Gibt an, wie stabil der Druck insgesamt ist',
|
|
307
|
+
en: 'Indicates how stable the pressure is overall',
|
|
308
|
+
},
|
|
282
309
|
type: 'number',
|
|
283
310
|
role: 'indicator',
|
|
284
311
|
read: true,
|
|
@@ -292,8 +319,11 @@ async function createPumpStates4(adapter) {
|
|
|
292
319
|
await adapter.setObjectNotExistsAsync('pump.pressure.learning.reset', {
|
|
293
320
|
type: 'state',
|
|
294
321
|
common: {
|
|
295
|
-
name: 'Lernsystem zurücksetzen',
|
|
296
|
-
desc:
|
|
322
|
+
name: { de: 'Lernsystem zurücksetzen', en: 'Reset learning system' },
|
|
323
|
+
desc: {
|
|
324
|
+
de: 'Setzt alle Lernwerte (Min/Max/Avg/Trend) auf den aktuellen Druck zurück',
|
|
325
|
+
en: 'Resets all learning values (min/max/avg/trend) to the current pressure',
|
|
326
|
+
},
|
|
297
327
|
type: 'boolean',
|
|
298
328
|
role: 'button',
|
|
299
329
|
read: true,
|
|
@@ -304,7 +334,7 @@ async function createPumpStates4(adapter) {
|
|
|
304
334
|
native: {},
|
|
305
335
|
});
|
|
306
336
|
|
|
307
|
-
adapter.log.debug('[pumpStates4]
|
|
337
|
+
adapter.log.debug('[pumpStates4] Pressure sensor states created or verified successfully.');
|
|
308
338
|
}
|
|
309
339
|
|
|
310
340
|
module.exports = {
|
|
@@ -19,7 +19,7 @@ async function createRuntimeStates(adapter) {
|
|
|
19
19
|
// --- Kanal runtime ---
|
|
20
20
|
await adapter.setObjectNotExistsAsync('runtime', {
|
|
21
21
|
type: 'channel',
|
|
22
|
-
common: { name: 'Pumpenlaufzeit' },
|
|
22
|
+
common: { name: { de: 'Pumpenlaufzeit', en: 'Pump runtime' } },
|
|
23
23
|
native: {},
|
|
24
24
|
});
|
|
25
25
|
|
|
@@ -27,7 +27,7 @@ async function createRuntimeStates(adapter) {
|
|
|
27
27
|
await adapter.setObjectNotExistsAsync('runtime.total', {
|
|
28
28
|
type: 'state',
|
|
29
29
|
common: {
|
|
30
|
-
name: 'Gesamtlaufzeit (formatiert)',
|
|
30
|
+
name: { de: 'Gesamtlaufzeit (formatiert)', en: 'Total runtime (formatted)' },
|
|
31
31
|
type: 'string',
|
|
32
32
|
role: 'text',
|
|
33
33
|
read: true,
|
|
@@ -45,7 +45,7 @@ async function createRuntimeStates(adapter) {
|
|
|
45
45
|
await adapter.setObjectNotExistsAsync('runtime.today', {
|
|
46
46
|
type: 'state',
|
|
47
47
|
common: {
|
|
48
|
-
name: 'Tageslaufzeit (formatiert)',
|
|
48
|
+
name: { de: 'Tageslaufzeit (formatiert)', en: 'Today runtime (formatted)' },
|
|
49
49
|
type: 'string',
|
|
50
50
|
role: 'text',
|
|
51
51
|
read: true,
|
|
@@ -64,7 +64,7 @@ async function createRuntimeStates(adapter) {
|
|
|
64
64
|
await adapter.setObjectNotExistsAsync('runtime.start_count_today', {
|
|
65
65
|
type: 'state',
|
|
66
66
|
common: {
|
|
67
|
-
name: 'Pumpenstarts heute',
|
|
67
|
+
name: { de: 'Pumpenstarts heute', en: 'Pump starts today' },
|
|
68
68
|
type: 'number',
|
|
69
69
|
role: 'value',
|
|
70
70
|
read: true,
|
|
@@ -82,7 +82,7 @@ async function createRuntimeStates(adapter) {
|
|
|
82
82
|
await adapter.setObjectNotExistsAsync('runtime.current_session', {
|
|
83
83
|
type: 'state',
|
|
84
84
|
common: {
|
|
85
|
-
name: 'Aktuelle Laufzeit (seit Einschalten)',
|
|
85
|
+
name: { de: 'Aktuelle Laufzeit (seit Einschalten)', en: 'Current runtime (since switched on)' },
|
|
86
86
|
type: 'string',
|
|
87
87
|
role: 'text',
|
|
88
88
|
read: true,
|
|
@@ -100,7 +100,7 @@ async function createRuntimeStates(adapter) {
|
|
|
100
100
|
await adapter.setObjectNotExistsAsync('runtime.season_total', {
|
|
101
101
|
type: 'state',
|
|
102
102
|
common: {
|
|
103
|
-
name: 'Gesamtlaufzeit aktuelle Saison (formatiert)',
|
|
103
|
+
name: { de: 'Gesamtlaufzeit aktuelle Saison (formatiert)', en: 'Total runtime current season (formatted)' },
|
|
104
104
|
type: 'string',
|
|
105
105
|
role: 'text',
|
|
106
106
|
read: true,
|
|
@@ -118,14 +118,14 @@ async function createRuntimeStates(adapter) {
|
|
|
118
118
|
// --- Kanal circulation ---
|
|
119
119
|
await adapter.setObjectNotExistsAsync('circulation', {
|
|
120
120
|
type: 'channel',
|
|
121
|
-
common: { name: 'Umwälzung' },
|
|
121
|
+
common: { name: { de: 'Umwälzung', en: 'Circulation' } },
|
|
122
122
|
native: {},
|
|
123
123
|
});
|
|
124
124
|
|
|
125
125
|
await adapter.setObjectNotExistsAsync('circulation.daily_total', {
|
|
126
126
|
type: 'state',
|
|
127
127
|
common: {
|
|
128
|
-
name: 'Tägliche Umwälzmenge',
|
|
128
|
+
name: { de: 'Tägliche Umwälzmenge', en: 'Daily circulation volume' },
|
|
129
129
|
type: 'number',
|
|
130
130
|
role: 'value.volume',
|
|
131
131
|
unit: 'l',
|
|
@@ -139,7 +139,7 @@ async function createRuntimeStates(adapter) {
|
|
|
139
139
|
await adapter.setObjectNotExistsAsync('circulation.daily_required', {
|
|
140
140
|
type: 'state',
|
|
141
141
|
common: {
|
|
142
|
-
name: 'Erforderliche tägliche Umwälzmenge',
|
|
142
|
+
name: { de: 'Erforderliche tägliche Umwälzmenge', en: 'Required daily circulation volume' },
|
|
143
143
|
type: 'number',
|
|
144
144
|
role: 'value.volume',
|
|
145
145
|
unit: 'l',
|
|
@@ -157,7 +157,7 @@ async function createRuntimeStates(adapter) {
|
|
|
157
157
|
await adapter.setObjectNotExistsAsync('circulation.daily_remaining', {
|
|
158
158
|
type: 'state',
|
|
159
159
|
common: {
|
|
160
|
-
name: 'Verbleibende Umwälzmenge heute',
|
|
160
|
+
name: { de: 'Verbleibende Umwälzmenge heute', en: 'Remaining circulation volume today' },
|
|
161
161
|
type: 'number',
|
|
162
162
|
role: 'value.volume',
|
|
163
163
|
unit: 'l',
|
|
@@ -18,7 +18,7 @@ async function createSolarStates(adapter) {
|
|
|
18
18
|
await adapter.setObjectNotExistsAsync('solar', {
|
|
19
19
|
type: 'channel',
|
|
20
20
|
common: {
|
|
21
|
-
name: 'Solar',
|
|
21
|
+
name: { de: 'Solar', en: 'Solar' },
|
|
22
22
|
},
|
|
23
23
|
native: {},
|
|
24
24
|
});
|
|
@@ -27,7 +27,7 @@ async function createSolarStates(adapter) {
|
|
|
27
27
|
await adapter.setObjectNotExistsAsync('solar.solar_control_active', {
|
|
28
28
|
type: 'state',
|
|
29
29
|
common: {
|
|
30
|
-
name: 'Solarsteuerung aktivieren',
|
|
30
|
+
name: { de: 'Solarsteuerung aktivieren', en: 'Enable solar control' },
|
|
31
31
|
type: 'boolean',
|
|
32
32
|
role: 'switch',
|
|
33
33
|
read: true,
|
|
@@ -48,7 +48,7 @@ async function createSolarStates(adapter) {
|
|
|
48
48
|
await adapter.setObjectNotExistsAsync('solar.hysteresis_active', {
|
|
49
49
|
type: 'state',
|
|
50
50
|
common: {
|
|
51
|
-
name: 'Regelung mit Hysterese verwenden',
|
|
51
|
+
name: { de: 'Regelung mit Hysterese verwenden', en: 'Use hysteresis control' },
|
|
52
52
|
type: 'boolean',
|
|
53
53
|
role: 'switch',
|
|
54
54
|
read: true,
|
|
@@ -69,7 +69,7 @@ async function createSolarStates(adapter) {
|
|
|
69
69
|
await adapter.setObjectNotExistsAsync('solar.temp_on', {
|
|
70
70
|
type: 'state',
|
|
71
71
|
common: {
|
|
72
|
-
name: 'Kollektortemperatur Einschaltgrenze (°C)',
|
|
72
|
+
name: { de: 'Kollektortemperatur Einschaltgrenze (°C)', en: 'Collector temperature ON threshold (°C)' },
|
|
73
73
|
type: 'number',
|
|
74
74
|
role: 'value.temperature',
|
|
75
75
|
unit: '°C',
|
|
@@ -91,7 +91,7 @@ async function createSolarStates(adapter) {
|
|
|
91
91
|
await adapter.setObjectNotExistsAsync('solar.temp_off', {
|
|
92
92
|
type: 'state',
|
|
93
93
|
common: {
|
|
94
|
-
name: 'Kollektortemperatur Ausschaltgrenze (°C)',
|
|
94
|
+
name: { de: 'Kollektortemperatur Ausschaltgrenze (°C)', en: 'Collector temperature OFF threshold (°C)' },
|
|
95
95
|
type: 'number',
|
|
96
96
|
role: 'value.temperature',
|
|
97
97
|
unit: '°C',
|
|
@@ -113,7 +113,7 @@ async function createSolarStates(adapter) {
|
|
|
113
113
|
await adapter.setObjectNotExistsAsync('solar.collector_warning', {
|
|
114
114
|
type: 'state',
|
|
115
115
|
common: {
|
|
116
|
-
name: 'Kollektortemperatur-Warnung aktiv',
|
|
116
|
+
name: { de: 'Kollektortemperatur-Warnung aktiv', en: 'Collector temperature warning active' },
|
|
117
117
|
type: 'boolean',
|
|
118
118
|
role: 'indicator.error',
|
|
119
119
|
read: true,
|
|
@@ -130,7 +130,7 @@ async function createSolarStates(adapter) {
|
|
|
130
130
|
await adapter.setObjectNotExistsAsync('solar.warn_active', {
|
|
131
131
|
type: 'state',
|
|
132
132
|
common: {
|
|
133
|
-
name: 'Warnung Kollektortemperatur aktivieren',
|
|
133
|
+
name: { de: 'Warnung Kollektortemperatur aktivieren', en: 'Enable collector temperature warning' },
|
|
134
134
|
type: 'boolean',
|
|
135
135
|
role: 'switch',
|
|
136
136
|
read: true,
|
|
@@ -151,7 +151,7 @@ async function createSolarStates(adapter) {
|
|
|
151
151
|
await adapter.setObjectNotExistsAsync('solar.warn_temp', {
|
|
152
152
|
type: 'state',
|
|
153
153
|
common: {
|
|
154
|
-
name: 'Warnschwelle Kollektortemperatur (°C)',
|
|
154
|
+
name: { de: 'Warnschwelle Kollektortemperatur (°C)', en: 'Collector temperature warning threshold (°C)' },
|
|
155
155
|
type: 'number',
|
|
156
156
|
role: 'value.temperature',
|
|
157
157
|
unit: '°C',
|
|
@@ -170,7 +170,7 @@ async function createSolarStates(adapter) {
|
|
|
170
170
|
await adapter.setObjectNotExistsAsync('solar.warn_speech', {
|
|
171
171
|
type: 'state',
|
|
172
172
|
common: {
|
|
173
|
-
name: 'Sprachausgabe bei Warnung aktivieren',
|
|
173
|
+
name: { de: 'Sprachausgabe bei Warnung aktivieren', en: 'Enable speech output for warnings' },
|
|
174
174
|
type: 'boolean',
|
|
175
175
|
role: 'switch',
|
|
176
176
|
read: true,
|
|
@@ -14,7 +14,7 @@ async function createSpeechStates(adapter) {
|
|
|
14
14
|
// Root-Kanal
|
|
15
15
|
await adapter.setObjectNotExistsAsync('speech', {
|
|
16
16
|
type: 'channel',
|
|
17
|
-
common: { name: 'Sprachausgaben' },
|
|
17
|
+
common: { name: { de: 'Sprachausgaben', en: 'Speech outputs' } },
|
|
18
18
|
native: {},
|
|
19
19
|
});
|
|
20
20
|
|
|
@@ -22,7 +22,7 @@ async function createSpeechStates(adapter) {
|
|
|
22
22
|
await adapter.setObjectNotExistsAsync('speech.active', {
|
|
23
23
|
type: 'state',
|
|
24
24
|
common: {
|
|
25
|
-
name: 'Sprachausgaben aktiv',
|
|
25
|
+
name: { de: 'Sprachausgaben aktiv', en: 'Enable speech outputs' },
|
|
26
26
|
type: 'boolean',
|
|
27
27
|
role: 'switch',
|
|
28
28
|
read: true,
|
|
@@ -45,7 +45,7 @@ async function createSpeechStates(adapter) {
|
|
|
45
45
|
await adapter.setObjectNotExistsAsync('speech.last_text', {
|
|
46
46
|
type: 'state',
|
|
47
47
|
common: {
|
|
48
|
-
name: 'Zuletzt gesprochener Text',
|
|
48
|
+
name: { de: 'Zuletzt gesprochener Text', en: 'Last spoken text' },
|
|
49
49
|
type: 'string',
|
|
50
50
|
role: 'text',
|
|
51
51
|
read: true,
|
|
@@ -60,8 +60,11 @@ async function createSpeechStates(adapter) {
|
|
|
60
60
|
await adapter.setObjectNotExistsAsync('speech.queue', {
|
|
61
61
|
type: 'state',
|
|
62
62
|
common: {
|
|
63
|
-
name: 'Interne Sprach-Nachrichtenwarteschlange',
|
|
64
|
-
desc:
|
|
63
|
+
name: { de: 'Interne Sprach-Nachrichtenwarteschlange', en: 'Internal speech message queue' },
|
|
64
|
+
desc: {
|
|
65
|
+
de: 'Dient als Übergabepunkt für Textmeldungen aus anderen Modulen (nicht vom Benutzer beschreibbar)',
|
|
66
|
+
en: 'Used as a handoff point for text messages from other modules (not writable by the user).',
|
|
67
|
+
},
|
|
65
68
|
type: 'string',
|
|
66
69
|
role: 'text',
|
|
67
70
|
read: true,
|
|
@@ -75,7 +78,7 @@ async function createSpeechStates(adapter) {
|
|
|
75
78
|
await adapter.setObjectNotExistsAsync('speech.start_text', {
|
|
76
79
|
type: 'state',
|
|
77
80
|
common: {
|
|
78
|
-
name: 'Starttext',
|
|
81
|
+
name: { de: 'Starttext', en: 'Start text' },
|
|
79
82
|
type: 'string',
|
|
80
83
|
role: 'text',
|
|
81
84
|
read: true,
|
|
@@ -91,7 +94,7 @@ async function createSpeechStates(adapter) {
|
|
|
91
94
|
await adapter.setObjectNotExistsAsync('speech.end_text', {
|
|
92
95
|
type: 'state',
|
|
93
96
|
common: {
|
|
94
|
-
name: 'Endtext',
|
|
97
|
+
name: { de: 'Endtext', en: 'End text' },
|
|
95
98
|
type: 'string',
|
|
96
99
|
role: 'text',
|
|
97
100
|
read: true,
|
|
@@ -110,56 +113,56 @@ async function createSpeechStates(adapter) {
|
|
|
110
113
|
|
|
111
114
|
await adapter.setObjectNotExistsAsync('speech.amazon_alexa', {
|
|
112
115
|
type: 'channel',
|
|
113
|
-
common: { name: 'Amazon Alexa (Sprachausgabe)' },
|
|
116
|
+
common: { name: { de: 'Amazon Alexa (Sprachausgabe)', en: 'Amazon Alexa (speech output)' } },
|
|
114
117
|
native: {},
|
|
115
118
|
});
|
|
116
119
|
|
|
117
120
|
const alexaStates = [
|
|
118
121
|
{
|
|
119
122
|
id: 'quiet_time_week_enabled',
|
|
120
|
-
name: 'Ruhezeit (Mo–Fr) aktiv',
|
|
123
|
+
name: { de: 'Ruhezeit (Mo–Fr) aktiv', en: 'Quiet time (Mon–Fri) enabled' },
|
|
121
124
|
type: 'boolean',
|
|
122
125
|
role: 'switch',
|
|
123
126
|
def: false,
|
|
124
127
|
},
|
|
125
128
|
{
|
|
126
129
|
id: 'quiet_time_week_start',
|
|
127
|
-
name: 'Ruhezeit (Mo–Fr) Startzeit (HH:MM)',
|
|
130
|
+
name: { de: 'Ruhezeit (Mo–Fr) Startzeit (HH:MM)', en: 'Quiet time (Mon–Fri) start time (HH:MM)' },
|
|
128
131
|
type: 'string',
|
|
129
132
|
role: 'value.time',
|
|
130
133
|
def: '22:00',
|
|
131
134
|
},
|
|
132
135
|
{
|
|
133
136
|
id: 'quiet_time_week_end',
|
|
134
|
-
name: 'Ruhezeit (Mo–Fr) Endzeit (HH:MM)',
|
|
137
|
+
name: { de: 'Ruhezeit (Mo–Fr) Endzeit (HH:MM)', en: 'Quiet time (Mon–Fri) end time (HH:MM)' },
|
|
135
138
|
type: 'string',
|
|
136
139
|
role: 'value.time',
|
|
137
140
|
def: '07:00',
|
|
138
141
|
},
|
|
139
142
|
{
|
|
140
143
|
id: 'quiet_time_weekend_enabled',
|
|
141
|
-
name: 'Ruhezeit (Sa–So) aktiv',
|
|
144
|
+
name: { de: 'Ruhezeit (Sa–So) aktiv', en: 'Quiet time (Sat–Sun) enabled' },
|
|
142
145
|
type: 'boolean',
|
|
143
146
|
role: 'switch',
|
|
144
147
|
def: false,
|
|
145
148
|
},
|
|
146
149
|
{
|
|
147
150
|
id: 'quiet_time_weekend_start',
|
|
148
|
-
name: 'Ruhezeit (Sa–So) Startzeit (HH:MM)',
|
|
151
|
+
name: { de: 'Ruhezeit (Sa–So) Startzeit (HH:MM)', en: 'Quiet time (Sat–Sun) start time (HH:MM)' },
|
|
149
152
|
type: 'string',
|
|
150
153
|
role: 'value.time',
|
|
151
154
|
def: '22:00',
|
|
152
155
|
},
|
|
153
156
|
{
|
|
154
157
|
id: 'quiet_time_weekend_end',
|
|
155
|
-
name: 'Ruhezeit (Sa–So) Endzeit (HH:MM)',
|
|
158
|
+
name: { de: 'Ruhezeit (Sa–So) Endzeit (HH:MM)', en: 'Quiet time (Sat–Sun) end time (HH:MM)' },
|
|
156
159
|
type: 'string',
|
|
157
160
|
role: 'value.time',
|
|
158
161
|
def: '08:00',
|
|
159
162
|
},
|
|
160
163
|
{
|
|
161
164
|
id: 'quiet_time_active_now',
|
|
162
|
-
name: 'Alexa derzeit stumm (Ruhezeit aktiv)',
|
|
165
|
+
name: { de: 'Alexa derzeit stumm (Ruhezeit aktiv)', en: 'Alexa muted now (quiet time active)' },
|
|
163
166
|
type: 'boolean',
|
|
164
167
|
role: 'indicator',
|
|
165
168
|
def: false,
|
|
@@ -189,14 +192,14 @@ async function createSpeechStates(adapter) {
|
|
|
189
192
|
}
|
|
190
193
|
}
|
|
191
194
|
|
|
192
|
-
adapter.log.debug('[speechStates] Amazon Alexa
|
|
195
|
+
adapter.log.debug('[speechStates] Amazon Alexa quiet-time states checked and created.');
|
|
193
196
|
|
|
194
197
|
// versteckte Dateien
|
|
195
198
|
|
|
196
199
|
await adapter.setObjectNotExistsAsync('speech.solar_active', {
|
|
197
200
|
type: 'state',
|
|
198
201
|
common: {
|
|
199
|
-
name: 'Solarsteuerung aktiv',
|
|
202
|
+
name: { de: 'Solarsteuerung aktiv', en: 'Solar control active' },
|
|
200
203
|
type: 'boolean',
|
|
201
204
|
role: 'indicator',
|
|
202
205
|
read: true,
|
|
@@ -210,7 +213,7 @@ async function createSpeechStates(adapter) {
|
|
|
210
213
|
await adapter.setObjectNotExistsAsync('speech.time_active', {
|
|
211
214
|
type: 'state',
|
|
212
215
|
common: {
|
|
213
|
-
name: 'Zeitsteuerung aktiv',
|
|
216
|
+
name: { de: 'Zeitsteuerung aktiv', en: 'Time control active' },
|
|
214
217
|
type: 'boolean',
|
|
215
218
|
role: 'indicator',
|
|
216
219
|
read: true,
|
|
@@ -224,7 +227,7 @@ async function createSpeechStates(adapter) {
|
|
|
224
227
|
await adapter.setObjectNotExistsAsync('speech.frost_active', {
|
|
225
228
|
type: 'state',
|
|
226
229
|
common: {
|
|
227
|
-
name: 'Frostschutz aktiv',
|
|
230
|
+
name: { de: 'Frostschutz aktiv', en: 'Frost protection active' },
|
|
228
231
|
type: 'boolean',
|
|
229
232
|
role: 'indicator',
|
|
230
233
|
read: true,
|
|
@@ -247,10 +250,10 @@ async function createSpeechStates(adapter) {
|
|
|
247
250
|
},
|
|
248
251
|
});
|
|
249
252
|
} catch (err) {
|
|
250
|
-
adapter.log.warn(`[speechStates]
|
|
253
|
+
adapter.log.warn(`[speechStates] Could not set hidden flags for ${id}: ${err.message}`);
|
|
251
254
|
}
|
|
252
255
|
}
|
|
253
|
-
adapter.log.debug('[speechStates] Hidden
|
|
256
|
+
adapter.log.debug('[speechStates] Hidden flags for Solar/Time/Frost checked and updated');
|
|
254
257
|
}
|
|
255
258
|
|
|
256
259
|
module.exports = {
|