iobroker-ucl 1.1.8 → 1.1.10

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.
@@ -0,0 +1,694 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadShellyDevicesAll = exports.loadShellySteckdosen = exports.loadShellyLampenWeiss = exports.loadShellyDimmer = exports.loadShellySensoren = exports.loadShellyRollladen = exports.createShellySteckdose = exports.createShellyLampe = exports.createShellyDimmer = exports.createShellyRollladen = exports.createShellyLampeRGB = exports.createShellySensor = exports.createShellyDevice = void 0;
4
+ var _a = require('./shellyClasses.js'), ShellyLampeWeiss = _a.ShellyLampeWeiss, ShellyDimmerAlexaScheme = _a.ShellyDimmerAlexaScheme, ShellyDimmerTasterScheme = _a.ShellyDimmerTasterScheme, ShellyDimmer = _a.ShellyDimmer, ShellyRGBAlexaScheme = _a.ShellyRGBAlexaScheme, ShellyRGBTasterScheme = _a.ShellyRGBTasterScheme, ShellyLampeRGB = _a.ShellyLampeRGB, ShellySteckdose = _a.ShellySteckdose, ShellyRollladen = _a.ShellyRollladen, ShellySensor = _a.ShellySensor, deviceShellyLampeWeiss = _a.deviceShellyLampeWeiss, deviceShellyDimmer = _a.deviceShellyDimmer, deviceShellyLampeRGB = _a.deviceShellyLampeRGB, deviceShellySteckdose = _a.deviceShellySteckdose, deviceShellyRollladen = _a.deviceShellyRollladen, deviceShellySensor = _a.deviceShellySensor;
5
+ var attributeRawID = "rawId";
6
+ var attributeBaseState = "baseState";
7
+ var attributeEtage = "etage";
8
+ var attributeRaum = "raum";
9
+ var attributeDevice = "device";
10
+ var attributeCategory = "category";
11
+ // Datenpunkttyp:
12
+ var attributeTypeNumber = "number";
13
+ var attributeTypeString = "string";
14
+ var attributeTypeBoolean = "boolean";
15
+ // Alexa:
16
+ var attribute_AlexaSmartNamesForOn = "alexaSmartNamesForOn";
17
+ var attribute_AlexaActionNamesForOn = "alexaActionNamesForOn";
18
+ var attribute_AlexaSmartNamesForOff = "alexaSmartNamesForOff";
19
+ var attribute_AlexaActionNamesForOff = "alexaActionNamesForOff";
20
+ // Lampen/Steckdosen allgemein:
21
+ var attribute_TasterBooleanOn = "tasterBooleanOn";
22
+ var attribute_TasterBooleanOff = "tasterBooleanOff";
23
+ var attribute_Nachtbeleuchtung = "nachtbeleuchtung";
24
+ var attribute_TurnOffExitHouseSummer = "turnOffExitHouseSummer";
25
+ var attribute_TurnOffExitHouseWinter = "turnOffExitHouseWinter";
26
+ var attribute_TurnOnEnterHouseSummer = "turnOnEnterHouseSummer";
27
+ var attribute_TurnOnEnterHouseWinter = "turnOnEnterHouseWinter";
28
+ // Scheme Dimmer:
29
+ var attributeDimmer_alexaScheme_aktiv = "alexaScheme_aktiv";
30
+ var attributeDimmer_alexaScheme_name = "alexaScheme_name";
31
+ var attributeDimmer_alexaScheme_level = "alexaScheme_level";
32
+ // Scheme Dimmer 1:
33
+ var attributeDimmer_alexaScheme_aktiv1 = "alexaScheme1_aktiv";
34
+ var attributeDimmer_alexaScheme_name1 = "alexaScheme1_name";
35
+ var attributeDimmer_alexaScheme_level1 = "alexaScheme1_level";
36
+ // Scheme Dimmer 2:
37
+ var attributeDimmer_alexaScheme_aktiv2 = "alexaScheme2_aktiv";
38
+ var attributeDimmer_alexaScheme_name2 = "alexaScheme2_name";
39
+ var attributeDimmer_alexaScheme_level2 = "alexaScheme2_level";
40
+ // Scheme Dimmer 3:
41
+ var attributeDimmer_alexaScheme_aktiv3 = "alexaScheme3_aktiv";
42
+ var attributeDimmer_alexaScheme_name3 = "alexaScheme3_name";
43
+ var attributeDimmer_alexaScheme_level3 = "alexaScheme3_level";
44
+ // Scheme Dimmer 4:
45
+ var attributeDimmer_alexaScheme_aktiv4 = "alexaScheme4_aktiv";
46
+ var attributeDimmer_alexaScheme_name4 = "alexaScheme4_name";
47
+ var attributeDimmer_alexaScheme_level4 = "alexaScheme4_level";
48
+ // Taster Scheme Dimmer 1:
49
+ var attributeDimmer_tasterScheme_aktiv1 = "tasterScheme1_aktiv";
50
+ var attributeDimmer_tasterScheme_name1 = "tasterScheme1_name";
51
+ var attributeDimmer_tasterScheme_level1 = "tasterScheme1_level";
52
+ // Taster Scheme Dimmer 2:
53
+ var attributeDimmer_tasterScheme_aktiv2 = "tasterScheme2_aktiv";
54
+ var attributeDimmer_tasterScheme_name2 = "tasterScheme2_name";
55
+ var attributeDimmer_tasterScheme_level2 = "tasterScheme2_level";
56
+ // Taster Scheme Dimmer 3:
57
+ var attributeDimmer_tasterScheme_aktiv3 = "tasterScheme3_aktiv";
58
+ var attributeDimmer_tasterScheme_name3 = "tasterScheme3_name";
59
+ var attributeDimmer_tasterScheme_level3 = "tasterScheme3_level";
60
+ // Taster Scheme Dimmer 4:
61
+ var attributeDimmer_tasterScheme_aktiv4 = "tasterScheme4_aktiv";
62
+ var attributeDimmer_tasterScheme_name4 = "tasterScheme4_name";
63
+ var attributeDimmer_tasterScheme_level4 = "tasterScheme4_level";
64
+ function createShellyDevice(adapter, rawId, etage, raum, device, baseState, category) {
65
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRawID, rawId, category);
66
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeCategory, category, category);
67
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeBaseState, baseState, category);
68
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeEtage, etage, category);
69
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeRaum, raum, category);
70
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDevice, device, category);
71
+ }
72
+ exports.createShellyDevice = createShellyDevice;
73
+ function createDatenpunktSingle(adapter, deviceRawId, attributeType, attributeName, attributeValue, category) {
74
+ var stateDatenpunkt = "0_userdata.0.devices.shelly." + category + "." + deviceRawId + "." + attributeName;
75
+ adapter.createState(stateDatenpunkt, attributeValue, {
76
+ name: "S" + deviceRawId.toString().padStart(2, '0'),
77
+ desc: "",
78
+ type: attributeType,
79
+ read: true,
80
+ write: true
81
+ });
82
+ }
83
+ // Sensor:
84
+ function createShellySensor(adapter, rawId, etage, raum, device, baseState) {
85
+ // Allgemein:
86
+ this.createShellyDevice(adapter, baseState, etage, raum, device, deviceShellySensor);
87
+ }
88
+ exports.createShellySensor = createShellySensor;
89
+ // Lampe RGB:
90
+ function createShellyLampeRGB(adapter, rawId, etage, raum, device, baseState) {
91
+ // Allgemein:
92
+ this.createShellyDevice(adapter, baseState, etage, raum, device, deviceShellyLampeRGB);
93
+ }
94
+ exports.createShellyLampeRGB = createShellyLampeRGB;
95
+ // Rollladen:
96
+ function createShellyRollladen(adapter, rawId, etage, raum, device, baseState) {
97
+ // Allgemein:
98
+ this.createShellyDevice(adapter, baseState, etage, raum, device, deviceShellyRollladen);
99
+ }
100
+ exports.createShellyRollladen = createShellyRollladen;
101
+ // Dimmer:
102
+ function createShellyDimmer(adapter, rawId, etage, raum, device, baseState, alexaSmartNamesForOn, alexaActionNamesForOn, alexaLevelSchemeForOn, alexaSmartNamesForOff, alexaActionNamesForOff, levelScheme1, levelScheme2, levelScheme3, levelScheme4, tasterBooleanOn1, tasterBooleanOn2, tasterBooleanOn3, tasterBooleanOn4, tasterBooleanOff, nachtbeleuchtung, turnOffExitHouseSummer, turnOffExitHouseWinter, turnOnEnterHouseSummer, turnOnEnterHouseWinter) {
103
+ // Allgemein:
104
+ this.createShellyDevice(adapter, baseState, etage, raum, device, deviceShellyDimmer);
105
+ // alexaLevelSchemeForOn: InstanceType<typeof ShellyDimmerAlexaScheme>
106
+ if (alexaLevelSchemeForOn != null) {
107
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv, true, deviceShellyDimmer);
108
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme_name, alexaLevelSchemeForOn.getAlexaName(), deviceShellyDimmer);
109
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme_level, alexaLevelSchemeForOn.getLevel(), deviceShellyDimmer);
110
+ }
111
+ else {
112
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv, false, deviceShellyDimmer);
113
+ }
114
+ // levelScheme1: InstanceType<typeof ShellyDimmerAlexaScheme>
115
+ if (levelScheme1 != null) {
116
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv1, true, deviceShellyDimmer);
117
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme_name1, levelScheme1.getAlexaName(), deviceShellyDimmer);
118
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme_level1, levelScheme1.getLevel(), deviceShellyDimmer);
119
+ }
120
+ else {
121
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv1, false, deviceShellyDimmer);
122
+ }
123
+ // levelScheme2: InstanceType<typeof ShellyDimmerAlexaScheme>
124
+ if (levelScheme2 != null) {
125
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv2, true, deviceShellyDimmer);
126
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme_name2, levelScheme2.getAlexaName(), deviceShellyDimmer);
127
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme_level2, levelScheme2.getLevel(), deviceShellyDimmer);
128
+ }
129
+ else {
130
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv2, false, deviceShellyDimmer);
131
+ }
132
+ // levelScheme3: InstanceType<typeof ShellyDimmerAlexaScheme>
133
+ if (levelScheme3 != null) {
134
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv3, true, deviceShellyDimmer);
135
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme_name3, levelScheme3.getAlexaName(), deviceShellyDimmer);
136
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme_level3, levelScheme3.getLevel(), deviceShellyDimmer);
137
+ }
138
+ else {
139
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv3, false, deviceShellyDimmer);
140
+ }
141
+ // levelScheme4: InstanceType<typeof ShellyDimmerAlexaScheme>
142
+ if (levelScheme4 != null) {
143
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv4, true, deviceShellyDimmer);
144
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme_name4, levelScheme4.getAlexaName(), deviceShellyDimmer);
145
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme_level4, levelScheme4.getLevel(), deviceShellyDimmer);
146
+ }
147
+ else {
148
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv4, false, deviceShellyDimmer);
149
+ }
150
+ // tasterBooleanOn1: InstanceType<typeof ShellyDimmerTasterScheme>
151
+ if (tasterBooleanOn1 != null) {
152
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv1, true, deviceShellyDimmer);
153
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme_name1, tasterBooleanOn1.getTasterBooleanOnName(), deviceShellyDimmer);
154
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme_level1, tasterBooleanOn1.getLevel(), deviceShellyDimmer);
155
+ }
156
+ else {
157
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv1, false, deviceShellyDimmer);
158
+ }
159
+ // tasterBooleanOn2: InstanceType<typeof ShellyDimmerTasterScheme>
160
+ if (tasterBooleanOn2 != null) {
161
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv2, true, deviceShellyDimmer);
162
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme_name2, tasterBooleanOn1.getTasterBooleanOnName(), deviceShellyDimmer);
163
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme_level2, tasterBooleanOn1.getLevel(), deviceShellyDimmer);
164
+ }
165
+ else {
166
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv2, false, deviceShellyDimmer);
167
+ }
168
+ // tasterBooleanOn3: InstanceType<typeof ShellyDimmerTasterScheme>
169
+ if (tasterBooleanOn3 != null) {
170
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv3, true, deviceShellyDimmer);
171
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme_name3, tasterBooleanOn1.getTasterBooleanOnName(), deviceShellyDimmer);
172
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme_level3, tasterBooleanOn1.getLevel(), deviceShellyDimmer);
173
+ }
174
+ else {
175
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv3, false, deviceShellyDimmer);
176
+ }
177
+ // tasterBooleanOn4: InstanceType<typeof ShellyDimmerTasterScheme>
178
+ if (tasterBooleanOn4 != null) {
179
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv4, true, deviceShellyDimmer);
180
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme_name4, tasterBooleanOn1.getTasterBooleanOnName(), deviceShellyDimmer);
181
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme_level4, tasterBooleanOn1.getLevel(), deviceShellyDimmer);
182
+ }
183
+ else {
184
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv4, false, deviceShellyDimmer);
185
+ }
186
+ // alexaSmartNamesForOn:string[]
187
+ var db_alexaSmartNamesForOn = null;
188
+ alexaSmartNamesForOn.forEach(function (value) {
189
+ if (db_alexaSmartNamesForOn == null) {
190
+ // @ts-ignore
191
+ db_alexaSmartNamesForOn = value;
192
+ }
193
+ else {
194
+ // @ts-ignore
195
+ db_alexaSmartNamesForOn += "|" + value;
196
+ }
197
+ });
198
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOn, db_alexaSmartNamesForOn, deviceShellyDimmer);
199
+ // alexaActionNamesForOn:string[]
200
+ var db_alexaActionNamesForOn = null;
201
+ alexaActionNamesForOn.forEach(function (value) {
202
+ if (db_alexaActionNamesForOn == null) {
203
+ // @ts-ignore
204
+ db_alexaActionNamesForOn = value;
205
+ }
206
+ else {
207
+ // @ts-ignore
208
+ db_alexaActionNamesForOn += "|" + value;
209
+ }
210
+ });
211
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOn, db_alexaActionNamesForOn, deviceShellyDimmer);
212
+ // alexaSmartNamesForOff:string[]
213
+ var db_alexaSmartNamesForOff = null;
214
+ alexaSmartNamesForOff.forEach(function (value) {
215
+ if (db_alexaSmartNamesForOff == null) {
216
+ // @ts-ignore
217
+ db_alexaSmartNamesForOff = value;
218
+ }
219
+ else {
220
+ // @ts-ignore
221
+ db_alexaSmartNamesForOff += "|" + value;
222
+ }
223
+ });
224
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOff, db_alexaSmartNamesForOff, deviceShellyDimmer);
225
+ // alexaActionNamesForOff:string[]
226
+ var db_alexaActionNamesForOff = null;
227
+ alexaActionNamesForOff.forEach(function (value) {
228
+ if (db_alexaActionNamesForOff == null) {
229
+ // @ts-ignore
230
+ db_alexaActionNamesForOff = value;
231
+ }
232
+ else {
233
+ // @ts-ignore
234
+ db_alexaActionNamesForOff += "|" + value;
235
+ }
236
+ });
237
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOff, db_alexaActionNamesForOff, deviceShellyDimmer);
238
+ // additionalStates4TurnOff: string[]
239
+ var db_additionalStates4TurnOff = null;
240
+ tasterBooleanOff.forEach(function (value) {
241
+ if (db_additionalStates4TurnOff == null) {
242
+ // @ts-ignore
243
+ db_additionalStates4TurnOff = value;
244
+ }
245
+ else {
246
+ // @ts-ignore
247
+ db_additionalStates4TurnOff += "|" + value;
248
+ }
249
+ });
250
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOff, db_additionalStates4TurnOff, deviceShellyDimmer);
251
+ // Weitere:
252
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_Nachtbeleuchtung, nachtbeleuchtung, deviceShellyDimmer);
253
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseSummer, turnOffExitHouseSummer, deviceShellyDimmer);
254
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseWinter, turnOffExitHouseWinter, deviceShellyDimmer);
255
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseSummer, turnOnEnterHouseSummer, deviceShellyDimmer);
256
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseWinter, turnOnEnterHouseWinter, deviceShellyDimmer);
257
+ }
258
+ exports.createShellyDimmer = createShellyDimmer;
259
+ // Lampe Weiss:
260
+ function createShellyLampe(adapter, rawId, etage, raum, device, baseState, alexaSmartNamesForOn, alexaActionNamesForOn, alexaSmartNamesForOff, alexaActionNamesForOff, additionalStates4TurnOn, additionalStates4TurnOff, nachtbeleuchtung, turnOffExitHouseSummer, turnOffExitHouseWinter, turnOnEnterHouseSummer, turnOnEnterHouseWinter) {
261
+ // Allgemein:
262
+ this.createShellyDevice(adapter, baseState, etage, raum, device, deviceShellyLampeWeiss);
263
+ // alexaSmartNamesForOn:string[]
264
+ var db_alexaSmartNamesForOn = null;
265
+ alexaSmartNamesForOn.forEach(function (value) {
266
+ if (db_alexaSmartNamesForOn == null) {
267
+ // @ts-ignore
268
+ db_alexaSmartNamesForOn = value;
269
+ }
270
+ else {
271
+ // @ts-ignore
272
+ db_alexaSmartNamesForOn += "|" + value;
273
+ }
274
+ });
275
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOn, db_alexaSmartNamesForOn, deviceShellyLampeWeiss);
276
+ // alexaActionNamesForOn:string[]
277
+ var db_alexaActionNamesForOn = null;
278
+ alexaActionNamesForOn.forEach(function (value) {
279
+ if (db_alexaActionNamesForOn == null) {
280
+ // @ts-ignore
281
+ db_alexaActionNamesForOn = value;
282
+ }
283
+ else {
284
+ // @ts-ignore
285
+ db_alexaActionNamesForOn += "|" + value;
286
+ }
287
+ });
288
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOn, db_alexaActionNamesForOn, deviceShellyLampeWeiss);
289
+ // alexaSmartNamesForOff:string[]
290
+ var db_alexaSmartNamesForOff = null;
291
+ alexaSmartNamesForOff.forEach(function (value) {
292
+ if (db_alexaSmartNamesForOff == null) {
293
+ // @ts-ignore
294
+ db_alexaSmartNamesForOff = value;
295
+ }
296
+ else {
297
+ // @ts-ignore
298
+ db_alexaSmartNamesForOff += "|" + value;
299
+ }
300
+ });
301
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOff, db_alexaSmartNamesForOff, deviceShellyLampeWeiss);
302
+ // alexaActionNamesForOff:string[]
303
+ var db_alexaActionNamesForOff = null;
304
+ alexaActionNamesForOff.forEach(function (value) {
305
+ if (db_alexaActionNamesForOff == null) {
306
+ // @ts-ignore
307
+ db_alexaActionNamesForOff = value;
308
+ }
309
+ else {
310
+ // @ts-ignore
311
+ db_alexaActionNamesForOff += "|" + value;
312
+ }
313
+ });
314
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOff, db_alexaActionNamesForOff, deviceShellyLampeWeiss);
315
+ // additionalStates4TurnOn: string[]
316
+ var db_additionalStates4TurnOn = null;
317
+ additionalStates4TurnOn.forEach(function (value) {
318
+ if (db_additionalStates4TurnOn == null) {
319
+ // @ts-ignore
320
+ db_additionalStates4TurnOn = value;
321
+ }
322
+ else {
323
+ // @ts-ignore
324
+ db_additionalStates4TurnOn += "|" + value;
325
+ }
326
+ });
327
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOn, db_additionalStates4TurnOn, deviceShellyLampeWeiss);
328
+ // additionalStates4TurnOff: string[]
329
+ var db_additionalStates4TurnOff = null;
330
+ additionalStates4TurnOff.forEach(function (value) {
331
+ if (db_additionalStates4TurnOff == null) {
332
+ // @ts-ignore
333
+ db_additionalStates4TurnOff = value;
334
+ }
335
+ else {
336
+ // @ts-ignore
337
+ db_additionalStates4TurnOff += "|" + value;
338
+ }
339
+ });
340
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOff, db_additionalStates4TurnOff, deviceShellyLampeWeiss);
341
+ // Weitere:
342
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_Nachtbeleuchtung, nachtbeleuchtung, deviceShellyLampeWeiss);
343
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseSummer, turnOffExitHouseSummer, deviceShellyLampeWeiss);
344
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseWinter, turnOffExitHouseWinter, deviceShellyLampeWeiss);
345
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseSummer, turnOnEnterHouseSummer, deviceShellyLampeWeiss);
346
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseWinter, turnOnEnterHouseWinter, deviceShellyLampeWeiss);
347
+ }
348
+ exports.createShellyLampe = createShellyLampe;
349
+ // Steckdose:
350
+ function createShellySteckdose(adapter, rawId, etage, raum, device, baseState, channel, alexaSmartNamesForOn, alexaActionNamesForOn, alexaSmartNamesForOff, alexaActionNamesForOff, additionalStates4TurnOn, additionalStates4TurnOff, nachtbeleuchtung, turnOffExitHouseSummer, turnOffExitHouseWinter, turnOnEnterHouseSummer, turnOnEnterHouseWinter) {
351
+ // Allgemein:
352
+ this.createShellyDevice(adapter, baseState, etage, raum, device, deviceShellySteckdose);
353
+ // alexaSmartNamesForOn:string[]
354
+ var db_alexaSmartNamesForOn = null;
355
+ alexaSmartNamesForOn.forEach(function (value) {
356
+ if (db_alexaSmartNamesForOn == null) {
357
+ // @ts-ignore
358
+ db_alexaSmartNamesForOn = value;
359
+ }
360
+ else {
361
+ // @ts-ignore
362
+ db_alexaSmartNamesForOn += "|" + value;
363
+ }
364
+ });
365
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOn, db_alexaSmartNamesForOn, deviceShellySteckdose);
366
+ // alexaActionNamesForOn:string[]
367
+ var db_alexaActionNamesForOn = null;
368
+ alexaActionNamesForOn.forEach(function (value) {
369
+ if (db_alexaActionNamesForOn == null) {
370
+ // @ts-ignore
371
+ db_alexaActionNamesForOn = value;
372
+ }
373
+ else {
374
+ // @ts-ignore
375
+ db_alexaActionNamesForOn += "|" + value;
376
+ }
377
+ });
378
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOn, db_alexaActionNamesForOn, deviceShellySteckdose);
379
+ // alexaSmartNamesForOff:string[]
380
+ var db_alexaSmartNamesForOff = null;
381
+ alexaSmartNamesForOff.forEach(function (value) {
382
+ if (db_alexaSmartNamesForOff == null) {
383
+ // @ts-ignore
384
+ db_alexaSmartNamesForOff = value;
385
+ }
386
+ else {
387
+ // @ts-ignore
388
+ db_alexaSmartNamesForOff += "|" + value;
389
+ }
390
+ });
391
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOff, db_alexaSmartNamesForOff, deviceShellySteckdose);
392
+ // alexaActionNamesForOff:string[]
393
+ var db_alexaActionNamesForOff = null;
394
+ alexaActionNamesForOff.forEach(function (value) {
395
+ if (db_alexaActionNamesForOff == null) {
396
+ // @ts-ignore
397
+ db_alexaActionNamesForOff = value;
398
+ }
399
+ else {
400
+ // @ts-ignore
401
+ db_alexaActionNamesForOff += "|" + value;
402
+ }
403
+ });
404
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOff, db_alexaActionNamesForOff, deviceShellySteckdose);
405
+ // additionalStates4TurnOn: string[]
406
+ var db_additionalStates4TurnOn = null;
407
+ additionalStates4TurnOn.forEach(function (value) {
408
+ if (db_additionalStates4TurnOn == null) {
409
+ // @ts-ignore
410
+ db_additionalStates4TurnOn = value;
411
+ }
412
+ else {
413
+ // @ts-ignore
414
+ db_additionalStates4TurnOn += "|" + value;
415
+ }
416
+ });
417
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOn, db_additionalStates4TurnOn, deviceShellySteckdose);
418
+ // additionalStates4TurnOff: string[]
419
+ var db_additionalStates4TurnOff = null;
420
+ additionalStates4TurnOff.forEach(function (value) {
421
+ if (db_additionalStates4TurnOff == null) {
422
+ // @ts-ignore
423
+ db_additionalStates4TurnOff = value;
424
+ }
425
+ else {
426
+ // @ts-ignore
427
+ db_additionalStates4TurnOff += "|" + value;
428
+ }
429
+ });
430
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOff, db_additionalStates4TurnOff, deviceShellySteckdose);
431
+ // Weitere:
432
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_Nachtbeleuchtung, nachtbeleuchtung, deviceShellySteckdose);
433
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseSummer, turnOffExitHouseSummer, deviceShellySteckdose);
434
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseWinter, turnOffExitHouseWinter, deviceShellySteckdose);
435
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseSummer, turnOnEnterHouseSummer, deviceShellySteckdose);
436
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseWinter, turnOnEnterHouseWinter, deviceShellySteckdose);
437
+ }
438
+ exports.createShellySteckdose = createShellySteckdose;
439
+ var cacheRollladenArray = null;
440
+ function loadShellyRollladen(adapter) {
441
+ if (cacheRollladenArray != null) {
442
+ return cacheRollladenArray;
443
+ }
444
+ // @ts-ignore
445
+ cacheRollladenArray = [];
446
+ adapter.$('state[id=0_userdata.0.devices.shelly.*.*.category]').each(function (datenpunktKey) {
447
+ var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
448
+ if (adapter.getState(datenpunktKey).val == deviceShellyRollladen) {
449
+ // @ts-ignore
450
+ cacheRollladenArray.push(new ShellyRollladen(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
451
+ adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [1] Etage/Bereich (z.B. EG)
452
+ adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [2] Raum/Unterbereich (z.B. Wohnzimmer)
453
+ adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [3] Device (z.B. Stehlampe)
454
+ adapter.getState(datenpunktPraefix + "." + attributeBaseState).val // [4] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
455
+ ));
456
+ }
457
+ });
458
+ return cacheRollladenArray;
459
+ }
460
+ exports.loadShellyRollladen = loadShellyRollladen;
461
+ var cacheSensorenArray = null;
462
+ function loadShellySensoren(adapter) {
463
+ if (cacheSensorenArray != null) {
464
+ return cacheSensorenArray;
465
+ }
466
+ // @ts-ignore
467
+ cacheSensorenArray = [];
468
+ adapter.$('state[id=0_userdata.0.devices.shelly.*.*.category]').each(function (datenpunktKey) {
469
+ var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
470
+ if (adapter.getState(datenpunktKey).val == deviceShellySensor) {
471
+ // @ts-ignore
472
+ cacheSensorenArray.push(new ShellySensor(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
473
+ adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [1] Etage/Bereich (z.B. EG)
474
+ adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [2] Raum/Unterbereich (z.B. Wohnzimmer)
475
+ adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [3] Device (z.B. Stehlampe)
476
+ adapter.getState(datenpunktPraefix + "." + attributeBaseState).val // [4] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
477
+ ));
478
+ }
479
+ });
480
+ return cacheSensorenArray;
481
+ }
482
+ exports.loadShellySensoren = loadShellySensoren;
483
+ /*var cacheLampenRGBArray = null;
484
+ export function loadShellyLampenRGB(adapter: any) {
485
+ if (cacheLampenRGBArray != null) {
486
+ return cacheLampenRGBArray;
487
+ }
488
+ // @ts-ignore
489
+ cacheLampenRGBArray = [];
490
+ adapter.$('state[id=0_userdata.0.devices.shelly.*.*.category]').each(datenpunktKey => {
491
+ var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
492
+ if (adapter.getState(datenpunktKey).val == deviceShellyLampeRGB) {
493
+ // @ts-ignore
494
+ cacheLampenRGBArray.push(new ShellySensor(adapter,
495
+ adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
496
+ adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [1] Etage/Bereich (z.B. EG)
497
+ adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [2] Raum/Unterbereich (z.B. Wohnzimmer)
498
+ adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [3] Device (z.B. Stehlampe)
499
+ adapter.getState(datenpunktPraefix + "." + attributeBaseState).val // [4] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
500
+ ));
501
+ }
502
+ });
503
+ return cacheLampenRGBArray;
504
+ }*/
505
+ var cacheDimmerArray = null;
506
+ function loadShellyDimmer(adapter) {
507
+ if (cacheDimmerArray != null) {
508
+ return cacheDimmerArray;
509
+ }
510
+ // @ts-ignore
511
+ cacheDimmerArray = [];
512
+ adapter.$('state[id=0_userdata.0.devices.shelly.*.*.category]').each(function (datenpunktKey) {
513
+ var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
514
+ if (adapter.getState(datenpunktKey).val == deviceShellyDimmer) {
515
+ // Einschalt-Scheme:
516
+ var alexaOnScheme = null;
517
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_aktiv).val == true) {
518
+ // @ts-ignore
519
+ alexaOnScheme = new ShellyDimmerAlexaScheme > (null,
520
+ adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_level).val);
521
+ }
522
+ // Weitere Schemes als Array:
523
+ var schemeArray = [];
524
+ // alexaScheme1: InstanceType<typeof ShellyDimmerAlexaScheme>
525
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_aktiv1).val == true) {
526
+ // @ts-ignore
527
+ schemeArray.push(new ShellyDimmerAlexaScheme(adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_name1).val, adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_level1).val));
528
+ }
529
+ // alexaScheme2: InstanceType<typeof ShellyDimmerAlexaScheme>
530
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_aktiv2).val == true) {
531
+ // @ts-ignore
532
+ schemeArray.push(new ShellyDimmerAlexaScheme(adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_name2).val, adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_level2).val));
533
+ }
534
+ // alexaScheme3: InstanceType<typeof ShellyDimmerAlexaScheme>
535
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_aktiv3).val == true) {
536
+ // @ts-ignore
537
+ schemeArray.push(new ShellyDimmerAlexaScheme(adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_name3).val, adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_level3).val));
538
+ }
539
+ // alexaScheme4: InstanceType<typeof ShellyDimmerAlexaScheme>
540
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_aktiv4).val == true) {
541
+ // @ts-ignore
542
+ schemeArray.push(new ShellyDimmerAlexaScheme(adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_name4).val, adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_level4).val));
543
+ }
544
+ // Weitere Schemes als Array:
545
+ var tasterSchemeArray = [];
546
+ // tasterScheme1: InstanceType<typeof ShellyDimmerTasterScheme>
547
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme_aktiv1).val == true) {
548
+ // @ts-ignore
549
+ tasterSchemeArray.push(new ShellyDimmerTasterScheme(adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme_name1).val, adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme_level1).val));
550
+ }
551
+ // tasterScheme2: InstanceType<typeof ShellyDimmerTasterScheme>
552
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme_aktiv2).val == true) {
553
+ // @ts-ignore
554
+ tasterSchemeArray.push(new ShellyDimmerTasterScheme(adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme_name2).val, adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme_level2).val));
555
+ }
556
+ // tasterScheme3: InstanceType<typeof ShellyDimmerTasterScheme>
557
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme_aktiv3).val == true) {
558
+ // @ts-ignore
559
+ tasterSchemeArray.push(new ShellyDimmerTasterScheme(adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme_name3).val, adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme_level3).val));
560
+ }
561
+ // tasterScheme4: InstanceType<typeof ShellyDimmerTasterScheme>
562
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme_aktiv4).val == true) {
563
+ // @ts-ignore
564
+ tasterSchemeArray.push(new ShellyDimmerTasterScheme(adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme_name4).val, adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme_level4).val));
565
+ }
566
+ // @ts-ignore
567
+ cacheDimmerArray.push(new ShellyDimmer(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
568
+ adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [1] Etage/Bereich (z.B. EG)
569
+ adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [2] Raum/Unterbereich (z.B. Wohnzimmer)
570
+ adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [3] Device (z.B. Stehlampe)
571
+ adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [4] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
572
+ toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOn).val), // 08 Alexa-Ein
573
+ toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOn).val), // Alexa-Action-Ein, z.B. "Guten morgen" (Würde auch funktionieren, wenn dies bei [06] eingetragen ist)
574
+ alexaOnScheme, // 08] A.-Ein-Schem
575
+ toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOff).val), // 09 Alexa-Aus
576
+ toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOff).val), // [10] Alexa-Action Aus, z.B. "Gute Nacht". Wir müssen hier zu [09] unterscheiden, da wir über "Gute Nacht" und isActionTurnedOn=true informiert werden.
577
+ schemeArray, // [11] Alexa-Schemes
578
+ tasterSchemeArray, // [12 Level-Schemes]
579
+ toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_TasterBooleanOff).val), // 14 TasterBoolOff
580
+ adapter.getState(datenpunktPraefix + "." + attribute_Nachtbeleuchtung).val, // Gehört zur Nachtbeleuchtung ja/nein
581
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseSummer).val, // turnOffExitHouseSummer (Ausschalten, wenn Haus verlassen - Sommer)
582
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseWinter).val, // turnOffExitHouseWinter (Ausschalten, wenn Haus verlassen - Winter)
583
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseSummer).val, // turnOnEnterHouseSummer (Einschalten, wenn Haus betreten - Sommer)
584
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseWinter).val // turnOnEnterHouseWinter (Einschalten, wenn Haus betreten - Winter)
585
+ ));
586
+ }
587
+ });
588
+ return cacheDimmerArray;
589
+ }
590
+ exports.loadShellyDimmer = loadShellyDimmer;
591
+ var cacheLampenWeissArray = null;
592
+ function loadShellyLampenWeiss(adapter) {
593
+ if (cacheLampenWeissArray != null) {
594
+ return cacheLampenWeissArray;
595
+ }
596
+ // @ts-ignore
597
+ cacheLampenWeissArray = [];
598
+ adapter.$('state[id=0_userdata.0.devices.shelly.*.*.category]').each(function (datenpunktKey) {
599
+ var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
600
+ if (adapter.getState(datenpunktKey).val == deviceShellyLampeWeiss) {
601
+ // @ts-ignore
602
+ cacheLampenWeissArray.push(new ShellyLampeWeiss(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
603
+ adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [1] Etage/Bereich (z.B. EG)
604
+ adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [2] Raum/Unterbereich (z.B. Wohnzimmer)
605
+ adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [3] Device (z.B. Stehlampe)
606
+ adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [4] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
607
+ toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOn).val), // 08 Alexa-Ein
608
+ toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOn).val), // Alexa-Action-Ein, z.B. "Guten morgen" (Würde auch funktionieren, wenn dies bei [06] eingetragen ist)
609
+ toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOff).val), // 09 Alexa-Aus
610
+ toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOff).val), // [10] Alexa-Action Aus, z.B. "Gute Nacht". Wir müssen hier zu [09] unterscheiden, da wir über "Gute Nacht" und isActionTurnedOn=true informiert werden.
611
+ toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_TasterBooleanOff).val), // 14 TasterBoolOff
612
+ adapter.getState(datenpunktPraefix + "." + attribute_Nachtbeleuchtung).val, // Gehört zur Nachtbeleuchtung ja/nein
613
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseSummer).val, // turnOffExitHouseSummer (Ausschalten, wenn Haus verlassen - Sommer)
614
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseWinter).val, // turnOffExitHouseWinter (Ausschalten, wenn Haus verlassen - Winter)
615
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseSummer).val, // turnOnEnterHouseSummer (Einschalten, wenn Haus betreten - Sommer)
616
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseWinter).val // turnOnEnterHouseWinter (Einschalten, wenn Haus betreten - Winter)
617
+ ));
618
+ }
619
+ });
620
+ return cacheLampenWeissArray;
621
+ }
622
+ exports.loadShellyLampenWeiss = loadShellyLampenWeiss;
623
+ var cacheSteckdosenArray = null;
624
+ function loadShellySteckdosen(adapter) {
625
+ if (cacheSteckdosenArray != null) {
626
+ return cacheSteckdosenArray;
627
+ }
628
+ // @ts-ignore
629
+ cacheSteckdosenArray = [];
630
+ adapter.$('state[id=0_userdata.0.devices.shelly.*.*.category]').each(function (datenpunktKey) {
631
+ var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
632
+ if (adapter.getState(datenpunktKey).val == deviceShellySteckdose) {
633
+ // @ts-ignore
634
+ cacheLampenWeissArray.push(new ShellySteckdose(adapter, adapter.cacheSteckdosenArray(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
635
+ adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [1] Etage/Bereich (z.B. EG)
636
+ adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [2] Raum/Unterbereich (z.B. Wohnzimmer)
637
+ adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [3] Device (z.B. Stehlampe)
638
+ adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [4] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
639
+ toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOn).val), // 08 Alexa-Ein
640
+ toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOn).val), // Alexa-Action-Ein, z.B. "Guten morgen" (Würde auch funktionieren, wenn dies bei [06] eingetragen ist)
641
+ toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOff).val), // 09 Alexa-Aus
642
+ toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOff).val), // [10] Alexa-Action Aus, z.B. "Gute Nacht". Wir müssen hier zu [09] unterscheiden, da wir über "Gute Nacht" und isActionTurnedOn=true informiert werden.
643
+ toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_TasterBooleanOff).val), // 14 TasterBoolOff
644
+ adapter.getState(datenpunktPraefix + "." + attribute_Nachtbeleuchtung).val, // Gehört zur Nachtbeleuchtung ja/nein
645
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseSummer).val, // turnOffExitHouseSummer (Ausschalten, wenn Haus verlassen - Sommer)
646
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseWinter).val, // turnOffExitHouseWinter (Ausschalten, wenn Haus verlassen - Winter)
647
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseSummer).val, // turnOnEnterHouseSummer (Einschalten, wenn Haus betreten - Sommer)
648
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseWinter).val // turnOnEnterHouseWinter (Einschalten, wenn Haus betreten - Winter)
649
+ ));
650
+ }
651
+ });
652
+ return cacheSteckdosenArray;
653
+ }
654
+ exports.loadShellySteckdosen = loadShellySteckdosen;
655
+ var shellyAllArray = null;
656
+ function loadShellyDevicesAll(adapter) {
657
+ if (shellyAllArray != null) {
658
+ return shellyAllArray;
659
+ }
660
+ // @ts-ignore
661
+ shellyAllArray = [];
662
+ adapter.loadShellyLampenWeiss(adapter).forEach(function (shelly) {
663
+ // @ts-ignore
664
+ shellyAllArray.push(shelly);
665
+ });
666
+ adapter.loadShellyDimmer(adapter).forEach(function (shelly) {
667
+ // @ts-ignore
668
+ shellyAllArray.push(shelly);
669
+ });
670
+ adapter.loadShellyRollladen(adapter).forEach(function (shelly) {
671
+ // @ts-ignore
672
+ shellyAllArray.push(shelly);
673
+ });
674
+ adapter.loadShellySensoren(adapter).forEach(function (shelly) {
675
+ // @ts-ignore
676
+ shellyAllArray.push(shelly);
677
+ });
678
+ adapter.loadShellySteckdosen(adapter).forEach(function (shelly) {
679
+ // @ts-ignore
680
+ shellyAllArray.push(shelly);
681
+ });
682
+ return shellyAllArray;
683
+ }
684
+ exports.loadShellyDevicesAll = loadShellyDevicesAll;
685
+ function toStringArray(databaseValue) {
686
+ var stringArray = [];
687
+ if (databaseValue == null) {
688
+ return stringArray;
689
+ }
690
+ else {
691
+ return databaseValue.split('|');
692
+ }
693
+ }
694
+ module.exports = { createShellySensor: createShellySensor, createShellyLampeRGB: createShellyLampeRGB, createShellyRollladen: createShellyRollladen, createShellyDimmer: createShellyDimmer, createShellyLampe: createShellyLampe, createShellySteckdose: createShellySteckdose, loadShellyRollladen: loadShellyRollladen, loadShellySensoren: loadShellySensoren, loadShellyDimmer: loadShellyDimmer, loadShellyLampenWeiss: loadShellyLampenWeiss, loadShellySteckdosen: loadShellySteckdosen, loadShellyDevicesAll: loadShellyDevicesAll };