iobroker-ucl 1.0.48 → 1.0.50

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,1085 @@
1
+ const { AbstractZigbee, ColorScheme, RGBColorScheme, WhiteColorScheme, ZigbeeLampeRGB, LampeWeissTasterScheme, LampeWeissAlexaScheme, ZigbeeLampeWeiss, ZigbeeSteckdose, ZigbeeSchalter, ZigbeeRepeater, ZigbeeFenstersensor, ZigbeeRauchmelder, ZigbeeBewegungsmelder, ZigbeeWandtaster, ZigbeeDosenrelais,AlexaInputConverter, deviceZigbeeSteckdose, deviceZigbeeBewegungsmelder, deviceZigbeeLampeRGB, deviceZigbeeLampeWeiss, deviceZigbeeRauchmelder, deviceZigbeeWandtaster, deviceZigbeeDosenrelais, deviceZigbeeSchalter, deviceZigbeeRepeater, deviceZigbeeFenstersensor } = require('./zigbeeClasses.js');
2
+
3
+ // Alexa:
4
+ const attribute_AlexaSmartNamesForOn = "alexaSmartNamesForOn";
5
+ const attribute_AlexaActionNamesForOn = "alexaActionNamesForOn";
6
+ const attribute_AlexaSmartNamesForOff = "alexaSmartNamesForOff";
7
+ const attribute_AlexaActionNamesForOff = "alexaActionNamesForOff";
8
+
9
+ // Lampe Weiss spezifisch:
10
+ const attributeLampeWeissGroup = "group";
11
+
12
+ const attributeLampWeiss_AlexaColorSchemeForOn_Weiss_aktiv = "alexaColorSchemeForOn_Weiss_aktiv";
13
+ const attributeLampWeiss_AlexaColorSchemeForOn_Weiss_level = "alexaColorSchemeForOn_Weiss_level";
14
+ const attributeLampWeiss_AlexaColorSchemeForOn_Weiss_ct = "alexaColorSchemeForOn_Weiss_ct";
15
+
16
+ const attributeLampWeiss_ColorSchemes_Weiss1_aktiv = "alexaColorSchemeForOn_Weiss1_aktiv";
17
+ const attributeLampWeiss_ColorSchemes_Weiss1_name = "alexaColorSchemeForOn_Weiss1_name";
18
+ const attributeLampWeiss_ColorSchemes_Weiss1_level = "alexaColorSchemeForOn_Weiss1_level";
19
+ const attributeLampWeiss_ColorSchemes_Weiss1_ct = "alexaColorSchemeForOn_Weiss1_ct";
20
+
21
+ const attributeLampWeiss_ColorSchemes_Weiss2_aktiv = "alexaColorSchemeForOn_Weiss2_aktiv";
22
+ const attributeLampWeiss_ColorSchemes_Weiss2_name = "alexaColorSchemeForOn_Weiss2_name";
23
+ const attributeLampWeiss_ColorSchemes_Weiss2_level = "alexaColorSchemeForOn_Weiss2_level";
24
+ const attributeLampWeiss_ColorSchemes_Weiss2_ct = "alexaColorSchemeForOn_Weiss2_ct";
25
+
26
+ const attributeLampWeiss_ColorSchemes_Weiss3_aktiv = "alexaColorSchemeForOn_Weiss3_aktiv";
27
+ const attributeLampWeiss_ColorSchemes_Weiss3_name = "alexaColorSchemeForOn_Weiss3_name";
28
+ const attributeLampWeiss_ColorSchemes_Weiss3_level = "alexaColorSchemeForOn_Weiss3_level";
29
+ const attributeLampWeiss_ColorSchemes_Weiss3_ct = "alexaColorSchemeForOn_Weiss3_ct";
30
+
31
+ const attributeLampWeiss_ColorSchemes_Weiss4_aktiv = "alexaColorSchemeForOn_Weiss4_aktiv";
32
+ const attributeLampWeiss_ColorSchemes_Weiss4_name = "alexaColorSchemeForOn_Weiss4_name";
33
+ const attributeLampWeiss_ColorSchemes_Weiss4_level = "alexaColorSchemeForOn_Weiss4_level";
34
+ const attributeLampWeiss_ColorSchemes_Weiss4_ct = "alexaColorSchemeForOn_Weiss4_ct";
35
+
36
+ const attributeLampWeiss_tasterBoolOn1_aktiv = "tasterBoolOn1_aktiv";
37
+ const attributeLampWeiss_tasterBoolOn1_name = "tasterBoolOn1_name";
38
+ const attributeLampWeiss_tasterBoolOn1_level = "tasterBoolOn1_level";
39
+ const attributeLampWeiss_tasterBoolOn1_ct = "tasterBoolOn1_ct";
40
+
41
+ const attributeLampWeiss_tasterBoolOn2_aktiv = "tasterBoolOn2_aktiv";
42
+ const attributeLampWeiss_tasterBoolOn2_name = "tasterBoolOn2_name";
43
+ const attributeLampWeiss_tasterBoolOn2_level = "tasterBoolOn2_level";
44
+ const attributeLampWeiss_tasterBoolOn2_ct = "tasterBoolOn2_ct";
45
+
46
+ const attributeLampWeiss_tasterBoolOn3_aktiv = "tasterBoolOn3_aktiv";
47
+ const attributeLampWeiss_tasterBoolOn3_name = "tasterBoolOn3_name";
48
+ const attributeLampWeiss_tasterBoolOn3_level = "tasterBoolOn3_level";
49
+ const attributeLampWeiss_tasterBoolOn3_ct = "tasterBoolOn3_ct";
50
+
51
+ const attributeLampWeiss_tasterBoolOn4_aktiv = "tasterBoolOn4_aktiv";
52
+ const attributeLampWeiss_tasterBoolOn4_name = "tasterBoolOn4_name";
53
+ const attributeLampWeiss_tasterBoolOn4_level = "tasterBoolOn4_level";
54
+ const attributeLampWeiss_tasterBoolOn4_ct = "tasterBoolOn4_ct";
55
+
56
+ // LampeRGB spezifisch:
57
+ const attributeRGBLamp_Group = "group";
58
+ const attributeRGBLamp_Groupmembers = "groupMembers";
59
+
60
+ const attributeRGBLamp_AlexaColorSchemeForOn_Farbe_aktiv = "alexaColorSchemeForOn_Farbe_aktiv";
61
+ const attributeRGBLamp_AlexaColorSchemeForOn_Farbe_level = "alexaColorSchemeForOn_Farbe_level";
62
+ const attributeRGBLamp_AlexaColorSchemeForOn_Farbe_hue = "alexaColorSchemeForOn_Farbe_hue";
63
+ const attributeRGBLamp_AlexaColorSchemeForOn_Farbe_sat = "alexaColorSchemeForOn_Farbe_sat";
64
+ const attributeRGBLamp_AlexaColorSchemeForOn_Weiss_aktiv = "alexaColorSchemeForOn_Weiss_aktiv";
65
+ const attributeRGBLamp_AlexaColorSchemeForOn_Weiss_level = "alexaColorSchemeForOn_Weiss_level";
66
+ const attributeRGBLamp_AlexaColorSchemeForOn_Weiss_ct = "alexaColorSchemeForOn_Weiss_ct";
67
+
68
+ const attributeRGBLamp_ColorSchemes_Farbe1_aktiv = "alexaColorSchemeForOn_Farbe1_aktiv";
69
+ const attributeRGBLamp_ColorSchemes_Farbe1_name = "alexaColorSchemeForOn_Farbe1_name";
70
+ const attributeRGBLamp_ColorSchemes_Farbe1_level = "alexaColorSchemeForOn_Farbe1_level";
71
+ const attributeRGBLamp_ColorSchemes_Farbe1_hue = "alexaColorSchemeForOn_Farbe1_hue";
72
+ const attributeRGBLamp_ColorSchemes_Farbe1_sat = "alexaColorSchemeForOn_Farbe1_sat";
73
+
74
+ const attributeRGBLamp_ColorSchemes_Farbe2_aktiv = "alexaColorSchemeForOn_Farbe2_aktiv";
75
+ const attributeRGBLamp_ColorSchemes_Farbe2_name = "alexaColorSchemeForOn_Farbe2_name";
76
+ const attributeRGBLamp_ColorSchemes_Farbe2_level = "alexaColorSchemeForOn_Farbe2_level";
77
+ const attributeRGBLamp_ColorSchemes_Farbe2_hue = "alexaColorSchemeForOn_Farbe2_hue";
78
+ const attributeRGBLamp_ColorSchemes_Farbe2_sat = "alexaColorSchemeForOn_Farbe2_sat";
79
+
80
+ const attributeRGBLamp_ColorSchemes_Farbe3_aktiv = "alexaColorSchemeForOn_Farbe3_aktiv";
81
+ const attributeRGBLamp_ColorSchemes_Farbe3_name = "alexaColorSchemeForOn_Farbe3_name";
82
+ const attributeRGBLamp_ColorSchemes_Farbe3_level = "alexaColorSchemeForOn_Farbe3_level";
83
+ const attributeRGBLamp_ColorSchemes_Farbe3_hue = "alexaColorSchemeForOn_Farbe3_hue";
84
+ const attributeRGBLamp_ColorSchemes_Farbe3_sat = "alexaColorSchemeForOn_Farbe3_sat";
85
+
86
+ const attributeRGBLamp_ColorSchemes_Farbe4_aktiv = "alexaColorSchemeForOn_Farbe4_aktiv";
87
+ const attributeRGBLamp_ColorSchemes_Farbe4_name = "alexaColorSchemeForOn_Farbe4_name";
88
+ const attributeRGBLamp_ColorSchemes_Farbe4_level = "alexaColorSchemeForOn_Farbe4_level";
89
+ const attributeRGBLamp_ColorSchemes_Farbe4_hue = "alexaColorSchemeForOn_Farbe4_hue";
90
+ const attributeRGBLamp_ColorSchemes_Farbe4_sat = "alexaColorSchemeForOn_Farbe4_sat";
91
+
92
+ const attributeRGBLamp_ColorSchemes_Weiss1_aktiv = "alexaColorSchemeForOn_Weiss1_aktiv";
93
+ const attributeRGBLamp_ColorSchemes_Weiss1_name = "alexaColorSchemeForOn_Weiss1_name";
94
+ const attributeRGBLamp_ColorSchemes_Weiss1_level = "alexaColorSchemeForOn_Weiss1_level";
95
+ const attributeRGBLamp_ColorSchemes_Weiss1_ct = "alexaColorSchemeForOn_Weiss1_ct";
96
+
97
+ const attributeRGBLamp_ColorSchemes_Weiss2_aktiv = "alexaColorSchemeForOn_Weiss2_aktiv";
98
+ const attributeRGBLamp_ColorSchemes_Weiss2_name = "alexaColorSchemeForOn_Weiss2_name";
99
+ const attributeRGBLamp_ColorSchemes_Weiss2_level = "alexaColorSchemeForOn_Weiss2_level";
100
+ const attributeRGBLamp_ColorSchemes_Weiss2_ct = "alexaColorSchemeForOn_Weiss2_ct";
101
+
102
+ const attributeRGBLamp_ColorSchemes_Weiss3_aktiv = "alexaColorSchemeForOn_Weiss3_aktiv";
103
+ const attributeRGBLamp_ColorSchemes_Weiss3_name = "alexaColorSchemeForOn_Weiss3_name";
104
+ const attributeRGBLamp_ColorSchemes_Weiss3_level = "alexaColorSchemeForOn_Weiss3_level";
105
+ const attributeRGBLamp_ColorSchemes_Weiss3_ct = "alexaColorSchemeForOn_Weiss3_ct";
106
+
107
+ const attributeRGBLamp_ColorSchemes_Weiss4_aktiv = "alexaColorSchemeForOn_Weiss4_aktiv";
108
+ const attributeRGBLamp_ColorSchemes_Weiss4_name = "alexaColorSchemeForOn_Weiss4_name";
109
+ const attributeRGBLamp_ColorSchemes_Weiss4_level = "alexaColorSchemeForOn_Weiss4_level";
110
+ const attributeRGBLamp_ColorSchemes_Weiss4_ct = "alexaColorSchemeForOn_Weiss4_ct";
111
+
112
+ // Lampen/Steckdosen allgemein:
113
+ const attribute_TasterBooleanOn = "tasterBooleanOn";
114
+ const attribute_TasterBooleanOff = "tasterBooleanOff";
115
+ const attribute_Nachtbeleuchtung = "nachtbeleuchtung";
116
+ const attribute_TurnOffExitHouseSummer = "turnOffExitHouseSummer";
117
+ const attribute_TurnOffExitHouseWinter = "turnOffExitHouseWinter";
118
+ const attribute_TurnOnEnterHouseSummer = "turnOnEnterHouseSummer";
119
+ const attribute_TurnOnEnterHouseWinter = "turnOnEnterHouseWinter";
120
+
121
+ // Datenpunkttyp:
122
+ const attributeTypeNumber = "number";
123
+ const attributeTypeString = "string";
124
+ const attributeTypeBoolean = "boolean";
125
+
126
+ // Allgemein:
127
+ const attributeRawID = "rawId";
128
+ const attributeBaseState = "baseState";
129
+ const attributeEtage = "etage";
130
+ const attributeRaum = "raum";
131
+ const attributeDevice = "device";
132
+ const attributeCategory = "category";
133
+
134
+ // Standarddevices, ohne zusätzliche Attribute:
135
+ export function createZigbeeDevice(adapter:any, rawId: number, baseState: string, etage:string, raum:string, device:string, category:string) {
136
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRawID, rawId);
137
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeCategory, category);
138
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeBaseState, baseState);
139
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeEtage, etage);
140
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeRaum, raum);
141
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDevice, device);
142
+ }
143
+
144
+ // Steckdose:
145
+ export function createSteckdose(adapter:any, rawId: number, baseState: string, etage: string, raum: string, device: string, alexaSmartNamesForOn:string[],
146
+ alexaActionNamesForOn:string[], alexaSmartNamesForOff: string[],alexaActionNamesForOff: string[], additionalStates4TurnOn:string[], additionalStates4TurnOff:string[]) {
147
+
148
+ // Allgemein:
149
+ createZigbeeDevice(adapter, rawId, baseState, etage, raum, device, deviceZigbeeSteckdose);
150
+
151
+ // alexaSmartNamesForOn:string[]
152
+ var db_alexaSmartNamesForOn = null;
153
+ alexaSmartNamesForOn.forEach(value => {
154
+ if (db_alexaSmartNamesForOn == null) {
155
+ // @ts-ignore
156
+ db_alexaSmartNamesForOn = value;
157
+ } else {
158
+ // @ts-ignore
159
+ db_alexaSmartNamesForOn += "|" + value;
160
+ }
161
+ });
162
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOn, db_alexaSmartNamesForOn);
163
+
164
+ // alexaActionNamesForOn:string[]
165
+ var db_alexaActionNamesForOn = null;
166
+ alexaActionNamesForOn.forEach(value => {
167
+ if (db_alexaActionNamesForOn == null) {
168
+ // @ts-ignore
169
+ db_alexaActionNamesForOn = value;
170
+ } else {
171
+ // @ts-ignore
172
+ db_alexaActionNamesForOn += "|" + value;
173
+ }
174
+ });
175
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOn, db_alexaActionNamesForOn);
176
+
177
+ // alexaSmartNamesForOff:string[]
178
+ var db_alexaSmartNamesForOff = null;
179
+ alexaSmartNamesForOff.forEach(value => {
180
+ if (db_alexaSmartNamesForOff == null) {
181
+ // @ts-ignore
182
+ db_alexaSmartNamesForOff = value;
183
+ } else {
184
+ // @ts-ignore
185
+ db_alexaSmartNamesForOff += "|" + value;
186
+ }
187
+ });
188
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOff, db_alexaSmartNamesForOff);
189
+
190
+ // alexaActionNamesForOff:string[]
191
+ var db_alexaActionNamesForOff = null;
192
+ alexaActionNamesForOff.forEach(value => {
193
+ if (db_alexaActionNamesForOff == null) {
194
+ // @ts-ignore
195
+ db_alexaActionNamesForOff = value;
196
+ } else {
197
+ // @ts-ignore
198
+ db_alexaActionNamesForOff += "|" + value;
199
+ }
200
+ });
201
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOff, db_alexaActionNamesForOff);
202
+
203
+ // additionalStates4TurnOn: string[]
204
+ var db_additionalStates4TurnOn = null;
205
+ additionalStates4TurnOn.forEach(value => {
206
+ if (db_additionalStates4TurnOn == null) {
207
+ // @ts-ignore
208
+ db_additionalStates4TurnOn = value;
209
+ } else {
210
+ // @ts-ignore
211
+ db_additionalStates4TurnOn += "|" + value;
212
+ }
213
+ });
214
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOn, db_additionalStates4TurnOn);
215
+
216
+ // additionalStates4TurnOff: string[]
217
+ var db_additionalStates4TurnOff = null;
218
+ additionalStates4TurnOff.forEach(value => {
219
+ if (db_additionalStates4TurnOff == null) {
220
+ // @ts-ignore
221
+ db_additionalStates4TurnOff = value;
222
+ } else {
223
+ // @ts-ignore
224
+ db_additionalStates4TurnOff += "|" + value;
225
+ }
226
+ });
227
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOff, db_additionalStates4TurnOff);
228
+ }
229
+
230
+ // LampeWeiss:
231
+ export function createLampeWeiss(adapter:any, rawId: number, baseState: string, etage: string, raum: string, device: string, alexaSmartNamesForOn:string[],
232
+ alexaActionNamesForOn:string[], alexaLevelSchemeForOn: InstanceType<typeof LampeWeissAlexaScheme>, alexaSmartNamesForOff: string[], alexaActionNamesForOff: string[],
233
+ colorSchemesWeiss1: InstanceType<typeof LampeWeissAlexaScheme>, colorSchemesWeiss2: InstanceType<typeof LampeWeissAlexaScheme>, colorSchemesWeiss3: InstanceType<typeof LampeWeissAlexaScheme>, colorSchemesWeiss4: InstanceType<typeof LampeWeissAlexaScheme>,
234
+ isGroup: boolean,
235
+ tasterBooleanOn1: InstanceType<typeof LampeWeissTasterScheme>, tasterBooleanOn2: InstanceType<typeof LampeWeissTasterScheme>, tasterBooleanOn3: InstanceType<typeof LampeWeissTasterScheme>, tasterBooleanOn4: InstanceType<typeof LampeWeissTasterScheme>,
236
+ tasterBooleanOff: string[], nachtbeleuchtung:boolean,
237
+ turnOffExitHouseSummer:boolean, turnOffExitHouseWinter:boolean, turnOnEnterHouseSummer:boolean, turnOnEnterHouseWinter:boolean) {
238
+
239
+ // Allgemein:
240
+ createZigbeeDevice(adapter, rawId, baseState, etage, raum, device, deviceZigbeeLampeWeiss);
241
+
242
+ // alexaSmartNamesForOn:string[]
243
+ var db_alexaSmartNamesForOn = null;
244
+ alexaSmartNamesForOn.forEach(value => {
245
+ if (db_alexaSmartNamesForOn == null) {
246
+ // @ts-ignore
247
+ db_alexaSmartNamesForOn = value;
248
+ } else {
249
+ // @ts-ignore
250
+ db_alexaSmartNamesForOn += "|" + value;
251
+ }
252
+ });
253
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOn, db_alexaSmartNamesForOn);
254
+
255
+ // alexaActionNamesForOn:string[]
256
+ var db_alexaActionNamesForOn = null;
257
+ alexaActionNamesForOn.forEach(value => {
258
+ if (db_alexaActionNamesForOn == null) {
259
+ // @ts-ignore
260
+ db_alexaActionNamesForOn = value;
261
+ } else {
262
+ // @ts-ignore
263
+ db_alexaActionNamesForOn += "|" + value;
264
+ }
265
+ });
266
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOn, db_alexaActionNamesForOn);
267
+
268
+ // alexaSmartNamesForOff:string[]
269
+ var db_alexaSmartNamesForOff = null;
270
+ alexaSmartNamesForOff.forEach(value => {
271
+ if (db_alexaSmartNamesForOff == null) {
272
+ // @ts-ignore
273
+ db_alexaSmartNamesForOff = value;
274
+ } else {
275
+ // @ts-ignore
276
+ db_alexaSmartNamesForOff += "|" + value;
277
+ }
278
+ });
279
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOff, db_alexaSmartNamesForOff);
280
+
281
+ // alexaActionNamesForOff:string[]
282
+ var db_alexaActionNamesForOff = null;
283
+ alexaActionNamesForOff.forEach(value => {
284
+ if (db_alexaActionNamesForOff == null) {
285
+ // @ts-ignore
286
+ db_alexaActionNamesForOff = value;
287
+ } else {
288
+ // @ts-ignore
289
+ db_alexaActionNamesForOff += "|" + value;
290
+ }
291
+ });
292
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOff, db_alexaActionNamesForOff);
293
+
294
+ // tasterBooleanOn1 : LampeWeissTasterScheme
295
+ if (tasterBooleanOn1 != null) {
296
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeLampWeiss_tasterBoolOn1_aktiv, true);
297
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeLampWeiss_tasterBoolOn1_name, tasterBooleanOn1.getTasterBooleanOnName());
298
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_tasterBoolOn1_level, tasterBooleanOn1.getLevel());
299
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_tasterBoolOn1_ct, tasterBooleanOn1.getCt());
300
+ } else {
301
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeLampWeiss_tasterBoolOn1_aktiv, false);
302
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeLampWeiss_tasterBoolOn1_name, null);
303
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_tasterBoolOn1_level, null);
304
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_tasterBoolOn1_ct, null);
305
+ }
306
+
307
+ // tasterBooleanOn2 : LampeWeissTasterScheme
308
+ if (tasterBooleanOn2 != null) {
309
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeLampWeiss_tasterBoolOn2_aktiv, true);
310
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeLampWeiss_tasterBoolOn2_name, tasterBooleanOn2.getTasterBooleanOnName());
311
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_tasterBoolOn2_level, tasterBooleanOn2.getLevel());
312
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_tasterBoolOn2_ct, tasterBooleanOn2.getCt());
313
+ } else {
314
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeLampWeiss_tasterBoolOn2_aktiv, false);
315
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeLampWeiss_tasterBoolOn2_name, null);
316
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_tasterBoolOn2_level, null);
317
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_tasterBoolOn2_ct, null);
318
+ }
319
+
320
+ // tasterBooleanOn3 : LampeWeissTasterScheme
321
+ if (tasterBooleanOn3 != null) {
322
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeLampWeiss_tasterBoolOn3_aktiv, true);
323
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeLampWeiss_tasterBoolOn3_name, tasterBooleanOn3.getTasterBooleanOnName());
324
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_tasterBoolOn3_level, tasterBooleanOn3.getLevel());
325
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_tasterBoolOn3_ct, tasterBooleanOn3.getCt());
326
+ } else {
327
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeLampWeiss_tasterBoolOn3_aktiv, false);
328
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeLampWeiss_tasterBoolOn3_name, null);
329
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_tasterBoolOn3_level, null);
330
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_tasterBoolOn3_ct, null);
331
+ }
332
+
333
+ // tasterBooleanOn4 : LampeWeissTasterScheme
334
+ if (tasterBooleanOn4 != null) {
335
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeLampWeiss_tasterBoolOn4_aktiv, true);
336
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeLampWeiss_tasterBoolOn4_name, tasterBooleanOn4.getTasterBooleanOnName());
337
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_tasterBoolOn4_level, tasterBooleanOn4.getLevel());
338
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_tasterBoolOn4_ct, tasterBooleanOn4.getCt());
339
+ } else {
340
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeLampWeiss_tasterBoolOn4_aktiv, false);
341
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeLampWeiss_tasterBoolOn4_name, null);
342
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_tasterBoolOn4_level, null);
343
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_tasterBoolOn4_ct, null);
344
+ }
345
+
346
+ // tasterBooleanOff: string[]
347
+ var db_tasterBooleanOff = null;
348
+ tasterBooleanOff.forEach(value => {
349
+ if (db_tasterBooleanOff == null) {
350
+ // @ts-ignore
351
+ db_tasterBooleanOff = value;
352
+ } else {
353
+ // @ts-ignore
354
+ db_tasterBooleanOff += "|" + value;
355
+ }
356
+ });
357
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOff, db_tasterBooleanOff);
358
+
359
+ // Weitere:
360
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_Nachtbeleuchtung, nachtbeleuchtung);
361
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseSummer, turnOffExitHouseSummer);
362
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseWinter, turnOffExitHouseWinter);
363
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseSummer, turnOnEnterHouseSummer);
364
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseWinter, turnOnEnterHouseWinter);
365
+
366
+ // Gruppe:
367
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeLampeWeissGroup, isGroup);
368
+
369
+ // alexaLevelSchemeForOn: LampeWeissColorScheme
370
+ if (alexaLevelSchemeForOn != null) {
371
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeLampWeiss_AlexaColorSchemeForOn_Weiss_aktiv, true);
372
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_AlexaColorSchemeForOn_Weiss_level, alexaLevelSchemeForOn.getLevel());
373
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_AlexaColorSchemeForOn_Weiss_ct, alexaLevelSchemeForOn.getCt());
374
+ } else {
375
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeLampWeiss_AlexaColorSchemeForOn_Weiss_aktiv, false);
376
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_AlexaColorSchemeForOn_Weiss_level, null);
377
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_AlexaColorSchemeForOn_Weiss_ct, null);
378
+ }
379
+
380
+ // colorSchemesWeiss1: LampeWeissAlexaScheme
381
+ if (colorSchemesWeiss1 != null) {
382
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeLampWeiss_ColorSchemes_Weiss1_aktiv, true);
383
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeLampWeiss_ColorSchemes_Weiss1_name, colorSchemesWeiss1.getAlexaName());
384
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_ColorSchemes_Weiss1_level, colorSchemesWeiss1.getLevel());
385
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_ColorSchemes_Weiss1_ct, colorSchemesWeiss1.getCt());
386
+ } else {
387
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeLampWeiss_ColorSchemes_Weiss1_aktiv, false);
388
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeLampWeiss_ColorSchemes_Weiss1_name, null);
389
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_ColorSchemes_Weiss1_level, null);
390
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_ColorSchemes_Weiss1_ct, null);
391
+ }
392
+
393
+ // colorSchemesWeiss2: LampeWeissAlexaScheme
394
+ if (colorSchemesWeiss2 != null) {
395
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeLampWeiss_ColorSchemes_Weiss2_aktiv, true);
396
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeLampWeiss_ColorSchemes_Weiss2_name, colorSchemesWeiss2.getAlexaName());
397
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_ColorSchemes_Weiss2_level, colorSchemesWeiss2.getLevel());
398
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_ColorSchemes_Weiss2_ct, colorSchemesWeiss2.getCt());
399
+ } else {
400
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeLampWeiss_ColorSchemes_Weiss2_aktiv, false);
401
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeLampWeiss_ColorSchemes_Weiss2_name, null);
402
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_ColorSchemes_Weiss2_level, null);
403
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_ColorSchemes_Weiss2_ct, null);
404
+ }
405
+
406
+ // colorSchemesWeiss3: LampeWeissAlexaScheme
407
+ if (colorSchemesWeiss3 != null) {
408
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeLampWeiss_ColorSchemes_Weiss3_aktiv, true);
409
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeLampWeiss_ColorSchemes_Weiss3_name, colorSchemesWeiss3.getAlexaName());
410
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_ColorSchemes_Weiss3_level, colorSchemesWeiss3.getLevel());
411
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_ColorSchemes_Weiss3_ct, colorSchemesWeiss3.getCt());
412
+ } else {
413
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeLampWeiss_ColorSchemes_Weiss3_aktiv, false);
414
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeLampWeiss_ColorSchemes_Weiss3_name, null);
415
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_ColorSchemes_Weiss3_level, null);
416
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_ColorSchemes_Weiss3_ct, null);
417
+ }
418
+
419
+ // colorSchemesWeiss4: LampeWeissAlexaScheme
420
+ if (colorSchemesWeiss4 != null) {
421
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeLampWeiss_ColorSchemes_Weiss4_aktiv, true);
422
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeLampWeiss_ColorSchemes_Weiss4_name, colorSchemesWeiss4.getAlexaName());
423
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_ColorSchemes_Weiss4_level, colorSchemesWeiss4.getLevel());
424
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_ColorSchemes_Weiss4_ct, colorSchemesWeiss4.getCt());
425
+ } else {
426
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeLampWeiss_ColorSchemes_Weiss4_aktiv, false);
427
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeLampWeiss_ColorSchemes_Weiss4_name, null);
428
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_ColorSchemes_Weiss4_level, null);
429
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_ColorSchemes_Weiss4_ct, null);
430
+ }
431
+ }
432
+
433
+ // LampeRGB:
434
+ export function createLampeRGB(adapter:any, rawId: number, baseState: string, etage:string, raum:string, device:string, isGroup:boolean, groupMembers:string[],
435
+ alexaSmartNamesForOn:string[], alexaActionNamesForOn:string[], alexaColorSchemeForOnFarbe: InstanceType<typeof RGBColorScheme>, alexaColorSchemeForOnWeiss: InstanceType<typeof WhiteColorScheme>, alexaSmartNamesForOff: string[],alexaActionNamesForOff: string[],
436
+ colorSchemesFarbe1: InstanceType<typeof RGBColorScheme>, colorSchemesFarbe2: InstanceType<typeof RGBColorScheme>, colorSchemesFarbe3: InstanceType<typeof RGBColorScheme>, colorSchemesFarbe4: InstanceType<typeof RGBColorScheme>,
437
+ colorSchemesWeiss1: InstanceType<typeof WhiteColorScheme>, colorSchemesWeiss2: InstanceType<typeof WhiteColorScheme>, colorSchemesWeiss3: InstanceType<typeof WhiteColorScheme>, colorSchemesWeiss4: InstanceType<typeof WhiteColorScheme>,
438
+ tasterBooleanOn: string[], tasterBooleanOff: string[],nachtbeleuchtung:boolean, turnOffExitHouseSummer:boolean, turnOffExitHouseWinter:boolean,
439
+ turnOnEnterHouseSummer:boolean, turnOnEnterHouseWinter:boolean) {
440
+
441
+ // Allgemein:
442
+ createZigbeeDevice(adapter, rawId, baseState, etage, raum, device, deviceZigbeeLampeRGB);
443
+
444
+ // Lampe-RGB spezifisch:
445
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeRGBLamp_Group, isGroup);
446
+
447
+ // groupMembers:string[]
448
+ var db_groupMembers = null;
449
+ groupMembers.forEach(value => {
450
+ if (db_groupMembers == null) {
451
+ // @ts-ignore
452
+ db_groupMembers = value;
453
+ } else {
454
+ // @ts-ignore
455
+ db_groupMembers += "|" + value;
456
+ }
457
+ });
458
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeRGBLamp_Groupmembers, db_groupMembers);
459
+
460
+ // alexaSmartNamesForOn:string[]
461
+ var db_alexaSmartNamesForOn = null;
462
+ alexaSmartNamesForOn.forEach(value => {
463
+ if (db_alexaSmartNamesForOn == null) {
464
+ // @ts-ignore
465
+ db_alexaSmartNamesForOn = value;
466
+ } else {
467
+ // @ts-ignore
468
+ db_alexaSmartNamesForOn += "|" + value;
469
+ }
470
+ });
471
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOn, db_alexaSmartNamesForOn);
472
+
473
+ // alexaActionNamesForOn:string[]
474
+ var db_alexaActionNamesForOn = null;
475
+ alexaActionNamesForOn.forEach(value => {
476
+ if (db_alexaActionNamesForOn == null) {
477
+ // @ts-ignore
478
+ db_alexaActionNamesForOn = value;
479
+ } else {
480
+ // @ts-ignore
481
+ db_alexaActionNamesForOn += "|" + value;
482
+ }
483
+ });
484
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOn, db_alexaActionNamesForOn);
485
+
486
+ // alexaSmartNamesForOff:string[]
487
+ var db_alexaSmartNamesForOff = null;
488
+ alexaSmartNamesForOff.forEach(value => {
489
+ if (db_alexaSmartNamesForOff == null) {
490
+ // @ts-ignore
491
+ db_alexaSmartNamesForOff = value;
492
+ } else {
493
+ // @ts-ignore
494
+ db_alexaSmartNamesForOff += "|" + value;
495
+ }
496
+ });
497
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOff, db_alexaSmartNamesForOff);
498
+
499
+ // alexaActionNamesForOff:string[]
500
+ var db_alexaActionNamesForOff = null;
501
+ alexaActionNamesForOff.forEach(value => {
502
+ if (db_alexaActionNamesForOff == null) {
503
+ // @ts-ignore
504
+ db_alexaActionNamesForOff = value;
505
+ } else {
506
+ // @ts-ignore
507
+ db_alexaActionNamesForOff += "|" + value;
508
+ }
509
+ });
510
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOff, db_alexaActionNamesForOff);
511
+
512
+ // tasterBooleanOn: string[]
513
+ var db_tasterBooleanOn = null;
514
+ tasterBooleanOn.forEach(value => {
515
+ if (db_tasterBooleanOn == null) {
516
+ // @ts-ignore
517
+ db_tasterBooleanOn = value;
518
+ } else {
519
+ // @ts-ignore
520
+ db_tasterBooleanOn += "|" + value;
521
+ }
522
+ });
523
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOn, db_tasterBooleanOn);
524
+
525
+ // tasterBooleanOff: string[]
526
+ var db_tasterBooleanOff = null;
527
+ tasterBooleanOff.forEach(value => {
528
+ if (db_tasterBooleanOff == null) {
529
+ // @ts-ignore
530
+ db_tasterBooleanOff = value;
531
+ } else {
532
+ // @ts-ignore
533
+ db_tasterBooleanOff += "|" + value;
534
+ }
535
+ });
536
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOff, db_tasterBooleanOff);
537
+
538
+ // Weitere:
539
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_Nachtbeleuchtung, nachtbeleuchtung);
540
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseSummer, turnOffExitHouseSummer);
541
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseWinter, turnOffExitHouseWinter);
542
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseSummer, turnOnEnterHouseSummer);
543
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseWinter, turnOnEnterHouseWinter);
544
+
545
+ // alexaColorSchemeForOnFarbe: RGBColorScheme
546
+ if (alexaColorSchemeForOnFarbe != null) {
547
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeRGBLamp_AlexaColorSchemeForOn_Farbe_aktiv, true);
548
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_AlexaColorSchemeForOn_Farbe_level, alexaColorSchemeForOnFarbe.getLevel());
549
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_AlexaColorSchemeForOn_Farbe_hue, alexaColorSchemeForOnFarbe.getHue());
550
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_AlexaColorSchemeForOn_Farbe_sat, alexaColorSchemeForOnFarbe.getSat());
551
+ } else {
552
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeRGBLamp_AlexaColorSchemeForOn_Farbe_aktiv, false);
553
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_AlexaColorSchemeForOn_Farbe_level, null);
554
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_AlexaColorSchemeForOn_Farbe_hue, null);
555
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_AlexaColorSchemeForOn_Farbe_sat, null);
556
+ }
557
+
558
+ // alexaColorSchemeForOnWeiss: WhiteColorScheme
559
+ if (alexaColorSchemeForOnWeiss != null) {
560
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeRGBLamp_AlexaColorSchemeForOn_Weiss_aktiv, true);
561
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_AlexaColorSchemeForOn_Weiss_level, alexaColorSchemeForOnWeiss.getLevel());
562
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_AlexaColorSchemeForOn_Weiss_ct, alexaColorSchemeForOnWeiss.getCt());
563
+ } else {
564
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeRGBLamp_AlexaColorSchemeForOn_Weiss_aktiv, false);
565
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_AlexaColorSchemeForOn_Weiss_level, null);
566
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_AlexaColorSchemeForOn_Weiss_ct, null);
567
+ }
568
+
569
+ // colorSchemesFarbe1: RGBColorScheme
570
+ if (colorSchemesFarbe1 != null) {
571
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeRGBLamp_ColorSchemes_Farbe1_aktiv, true);
572
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeRGBLamp_ColorSchemes_Farbe1_name, colorSchemesFarbe1.getAlexaName());
573
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Farbe1_level, colorSchemesFarbe1.getLevel());
574
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Farbe1_hue, colorSchemesFarbe1.getHue());
575
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Farbe1_sat, colorSchemesFarbe1.getSat());
576
+ } else {
577
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeRGBLamp_ColorSchemes_Farbe1_aktiv, false);
578
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeRGBLamp_ColorSchemes_Farbe1_name, null);
579
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Farbe1_level, null);
580
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Farbe1_hue, null);
581
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Farbe1_sat, null);
582
+ }
583
+
584
+ // colorSchemesFarbe2: RGBColorScheme
585
+ if (colorSchemesFarbe2 != null) {
586
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeRGBLamp_ColorSchemes_Farbe2_aktiv, true);
587
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeRGBLamp_ColorSchemes_Farbe2_name, colorSchemesFarbe2.getAlexaName());
588
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Farbe2_level, colorSchemesFarbe2.getLevel());
589
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Farbe2_hue, colorSchemesFarbe2.getHue());
590
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Farbe2_sat, colorSchemesFarbe2.getSat());
591
+ } else {
592
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeRGBLamp_ColorSchemes_Farbe2_aktiv, false);
593
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeRGBLamp_ColorSchemes_Farbe2_name, null);
594
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Farbe2_level, null);
595
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Farbe2_hue, null);
596
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Farbe2_sat, null);
597
+ }
598
+
599
+ // colorSchemesFarbe3: RGBColorScheme
600
+ if (colorSchemesFarbe3 != null) {
601
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeRGBLamp_ColorSchemes_Farbe3_aktiv, true);
602
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeRGBLamp_ColorSchemes_Farbe3_name, colorSchemesFarbe3.getAlexaName());
603
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Farbe3_level, colorSchemesFarbe3.getLevel());
604
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Farbe3_hue, colorSchemesFarbe3.getHue());
605
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Farbe3_sat, colorSchemesFarbe3.getSat());
606
+ } else {
607
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeRGBLamp_ColorSchemes_Farbe3_aktiv, false);
608
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeRGBLamp_ColorSchemes_Farbe3_name, null);
609
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Farbe3_level, null);
610
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Farbe3_hue, null);
611
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Farbe3_sat, null);
612
+ }
613
+
614
+ // colorSchemesFarbe4: RGBColorScheme
615
+ if (colorSchemesFarbe4 != null) {
616
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeRGBLamp_ColorSchemes_Farbe4_aktiv, true);
617
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeRGBLamp_ColorSchemes_Farbe4_name, colorSchemesFarbe4.getAlexaName());
618
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Farbe4_level, colorSchemesFarbe4.getLevel());
619
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Farbe4_hue, colorSchemesFarbe4.getHue());
620
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Farbe4_sat, colorSchemesFarbe4.getSat());
621
+ } else {
622
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeRGBLamp_ColorSchemes_Farbe4_aktiv, false);
623
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeRGBLamp_ColorSchemes_Farbe4_name, null);
624
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Farbe4_level, null);
625
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Farbe4_hue, null);
626
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Farbe4_sat, null);
627
+ }
628
+
629
+ // colorSchemesWeiss1: WhiteColorScheme
630
+ if (colorSchemesWeiss1 != null) {
631
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeRGBLamp_ColorSchemes_Weiss1_aktiv, true);
632
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeRGBLamp_ColorSchemes_Weiss1_name, colorSchemesWeiss1.getAlexaName());
633
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Weiss1_level, colorSchemesWeiss1.getLevel());
634
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Weiss1_ct, colorSchemesWeiss1.getCt());
635
+ } else {
636
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeRGBLamp_ColorSchemes_Weiss1_aktiv, false);
637
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeRGBLamp_ColorSchemes_Weiss1_name, null);
638
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Weiss1_level, null);
639
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Weiss1_ct, null);
640
+ }
641
+
642
+ // colorSchemesWeiss2: WhiteColorScheme
643
+ if (colorSchemesWeiss2 != null) {
644
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeRGBLamp_ColorSchemes_Weiss2_aktiv, true);
645
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeRGBLamp_ColorSchemes_Weiss2_name, colorSchemesWeiss2.getAlexaName());
646
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Weiss2_level, colorSchemesWeiss2.getLevel());
647
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Weiss2_ct, colorSchemesWeiss2.getCt());
648
+ } else {
649
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeRGBLamp_ColorSchemes_Weiss2_aktiv, false);
650
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeRGBLamp_ColorSchemes_Weiss2_name, null);
651
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Weiss2_level, null);
652
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Weiss2_ct, null);
653
+ }
654
+
655
+ // colorSchemesWeiss3: WhiteColorScheme
656
+ if (colorSchemesWeiss3 != null) {
657
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeRGBLamp_ColorSchemes_Weiss3_aktiv, true);
658
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeRGBLamp_ColorSchemes_Weiss3_name, colorSchemesWeiss3.getAlexaName());
659
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Weiss3_level, colorSchemesWeiss3.getLevel());
660
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Weiss3_ct, colorSchemesWeiss3.getCt());
661
+ } else {
662
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeRGBLamp_ColorSchemes_Weiss3_aktiv, false);
663
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeRGBLamp_ColorSchemes_Weiss3_name, null);
664
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Weiss3_level, null);
665
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Weiss3_ct, null);
666
+ }
667
+
668
+ // colorSchemesWeiss4: WhiteColorScheme
669
+ if (colorSchemesWeiss4 != null) {
670
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeRGBLamp_ColorSchemes_Weiss4_aktiv, true);
671
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeRGBLamp_ColorSchemes_Weiss4_name, colorSchemesWeiss4.getAlexaName());
672
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Weiss4_level, colorSchemesWeiss4.getLevel());
673
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Weiss4_ct, colorSchemesWeiss4.getCt());
674
+ } else {
675
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeRGBLamp_ColorSchemes_Weiss4_aktiv, false);
676
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeRGBLamp_ColorSchemes_Weiss4_name, null);
677
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Weiss4_level, null);
678
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRGBLamp_ColorSchemes_Weiss4_ct, null);
679
+ }
680
+ }
681
+
682
+ function createDatenpunktSingle(adapter:any, deviceRawId, attributeType, attributeName, attributeValue) {
683
+ var stateDatenpunkt = "0_userdata.0.devices.zigbee." + deviceRawId + "." + attributeName;
684
+ adapter.createState(stateDatenpunkt, null, {
685
+ name: stateDatenpunkt,
686
+ desc: stateDatenpunkt,
687
+ type: attributeType,
688
+ read: true,
689
+ write: true
690
+ });
691
+ adapter.setState(stateDatenpunkt, attributeValue);
692
+ }
693
+
694
+ export function getZigbeeDevices(adapter: any, filterCategory: string) {
695
+ var zigbeeArray = [];
696
+
697
+ adapter.$('state[id=0_userdata.0.devices.zigbee.*.type]').each(datenpunktKey => { // 0_userdata.0.devices.zigbee.30.type
698
+ var datenpunktPraefix = datenpunktKey.replaceAll(".type", "");
699
+ if (adapter.getState(datenpunktKey).val == filterCategory) {
700
+ //constructor(adapter:any, id: number, baseState: string, etage: string, raum: string,
701
+ // device: string,
702
+ // alexaSmartNamesForOn:string[],alexaActionNamesForOn:string[], alexaSmartNamesForOff: string[],alexaActionNamesForOff: string[], additionalStates4TurnOn:string[], additionalStates4TurnOff:string[]) {
703
+
704
+ if (filterCategory == deviceZigbeeSteckdose) {
705
+ // @ts-ignore
706
+ zigbeeArray.push(new ZigbeeSteckdose(adapter,
707
+ adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
708
+ adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
709
+ adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
710
+ adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
711
+ adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [4] Device (z.B. Stehlampe)
712
+ adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOn).val.split('|'), // 08 Alexa-Ein
713
+ adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOn).val.split('|'), // Alexa-Action-Ein, z.B. "Guten morgen" (Würde auch funktionieren, wenn dies bei [06] eingetragen ist)
714
+ adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOff).val.split('|'), // 09 Alexa-Aus
715
+ adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOff).val.split('|'), // [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.
716
+ adapter.getState(datenpunktPraefix + "." + attribute_TasterBooleanOn).val.split('|'), // 07 TunrnOn-DP
717
+ adapter.getState(datenpunktPraefix + "." + attribute_TasterBooleanOff).val.split('|') // 08 TasterBoolOff-DP
718
+ ));
719
+
720
+ } else if (filterCategory == deviceZigbeeBewegungsmelder) {
721
+ // @ts-ignore
722
+ homematicArray.push(new ZigbeeBewegungsmelder(adapter,
723
+ adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
724
+ adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
725
+ adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
726
+ adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
727
+ adapter.getState(datenpunktPraefix + "." + attributeDevice).val // [4] Device (z.B. Stehlampe)
728
+ ));
729
+ } else if (filterCategory == deviceZigbeeLampeRGB) {
730
+
731
+ // Einschalt-Scheme:
732
+ var alexaOnScheme = null;
733
+ if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_AlexaColorSchemeForOn_Farbe_aktiv).val == true) {
734
+ alexaOnScheme = new RGBColorScheme(null,
735
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_AlexaColorSchemeForOn_Farbe_level).val,
736
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_AlexaColorSchemeForOn_Farbe_hue).val,
737
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_AlexaColorSchemeForOn_Farbe_sat).val
738
+ );
739
+ } else if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_AlexaColorSchemeForOn_Weiss_aktiv).val == true) {
740
+ alexaOnScheme = new WhiteColorScheme(null,
741
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_AlexaColorSchemeForOn_Weiss_level).val,
742
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_AlexaColorSchemeForOn_Weiss_ct).val
743
+ );
744
+ }
745
+
746
+ // Weitere Schemes als Array:
747
+ var schemeArray = [];
748
+
749
+ // RGBColorScheme1:
750
+ if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe1_aktiv).val == true) {
751
+ // @ts-ignore
752
+ schemeArray.push(new RGBColorScheme(
753
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe1_name).val,
754
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe1_level).val,
755
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe1_hue).val,
756
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe1_sat).val
757
+ ));
758
+ }
759
+
760
+ // RGBColorScheme2:
761
+ if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe2_aktiv).val == true) {
762
+ // @ts-ignore
763
+ schemeArray.push(new RGBColorScheme(
764
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe2_name).val,
765
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe2_level).val,
766
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe2_hue).val,
767
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe2_sat).val
768
+ ));
769
+ }
770
+
771
+ // RGBColorScheme3:
772
+ if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe3_aktiv).val == true) {
773
+ // @ts-ignore
774
+ schemeArray.push(new RGBColorScheme(
775
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe3_name).val,
776
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe3_level).val,
777
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe3_hue).val,
778
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe3_sat).val
779
+ ));
780
+ }
781
+
782
+ // RGBColorScheme4:
783
+ if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe4_aktiv).val == true) {
784
+ // @ts-ignore
785
+ schemeArray.push(new RGBColorScheme(
786
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe4_name).val,
787
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe4_level).val,
788
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe4_hue).val,
789
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe4_sat).val
790
+ ));
791
+ }
792
+
793
+ // WhiteColorScheme1:
794
+ if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss1_aktiv).val == true) {
795
+ // @ts-ignore
796
+ schemeArray.push(new WhiteColorScheme(
797
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss1_name).val,
798
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss1_level).val,
799
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss1_ct).val
800
+ ));
801
+ }
802
+
803
+ // WhiteColorScheme2:
804
+ if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss2_aktiv).val == true) {
805
+ // @ts-ignore
806
+ schemeArray.push(new WhiteColorScheme(
807
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss2_name).val,
808
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss2_level).val,
809
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss2_ct).val
810
+ ));
811
+ }
812
+
813
+ // WhiteColorScheme3:
814
+ if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss3_aktiv).val == true) {
815
+ // @ts-ignore
816
+ schemeArray.push(new WhiteColorScheme(
817
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss3_name).val,
818
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss3_level).val,
819
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss3_ct).val
820
+ ));
821
+ }
822
+
823
+ // WhiteColorScheme4:
824
+ if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss4_aktiv).val == true) {
825
+ // @ts-ignore
826
+ schemeArray.push(new WhiteColorScheme(
827
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss4_name).val,
828
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss4_level).val,
829
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss4_ct).val
830
+ ));
831
+ }
832
+
833
+ // @ts-ignore
834
+ zigbeeArray.push(new ZigbeeLampeRGB(adapter,
835
+ adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
836
+ adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
837
+ adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
838
+ adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
839
+ adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [4] Device (z.B. Stehlampe)
840
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_Group).val, // [5] Gruppe
841
+ adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_Groupmembers).val.split('|'), // [6] Gruppenmitglieder
842
+ adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOn).val.split('|'), // 08 Alexa-Ein
843
+ adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOn).val.split('|'), // Alexa-Action-Ein, z.B. "Guten morgen" (Würde auch funktionieren, wenn dies bei [06] eingetragen ist)
844
+ alexaOnScheme, // [09 A.-Ein-Scheme]
845
+ adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOff).val.split('|'), // 10 Alexa-Aus
846
+ adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOff).val.split('|'), // [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.
847
+ schemeArray, // [12 Alexa-Schemes]
848
+ adapter.getState(datenpunktPraefix + "." + attribute_TasterBooleanOn).val.split('|'), // 13 TasterBoolOn
849
+ adapter.getState(datenpunktPraefix + "." + attribute_TasterBooleanOff).val.split('|'), // 14 TasterBoolOff
850
+ adapter.getState(datenpunktPraefix + "." + attribute_Nachtbeleuchtung).val, // Gehört zur Nachtbeleuchtung ja/nein
851
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseSummer).val, // turnOffExitHouseSummer (Ausschalten, wenn Haus verlassen - Sommer)
852
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseWinter).val, // turnOffExitHouseWinter (Ausschalten, wenn Haus verlassen - Winter)
853
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseSummer).val, // turnOnEnterHouseSummer (Einschalten, wenn Haus betreten - Sommer)
854
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseWinter).val // turnOnEnterHouseWinter (Einschalten, wenn Haus betreten - Winter)
855
+ ));
856
+ } else if (filterCategory == deviceZigbeeLampeWeiss) {
857
+
858
+ // Einschalt-Scheme:
859
+ var alexaOnScheme = null;
860
+ if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_AlexaColorSchemeForOn_Weiss_aktiv).val == true) {
861
+ // @ts-ignore
862
+ alexaOnScheme = new LampeWeissColorScheme(null,
863
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_AlexaColorSchemeForOn_Weiss_level).val,
864
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_AlexaColorSchemeForOn_Weiss_ct).val
865
+ );
866
+ }
867
+
868
+ // Weitere Schemes als Array:
869
+ var schemeArray = [];
870
+
871
+ // WhiteColorScheme1:
872
+ if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss1_aktiv).val == true) {
873
+ // @ts-ignore
874
+ schemeArray.push(new LampeWeissAlexaScheme(
875
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss1_name).val,
876
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss1_level).val,
877
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss1_ct).val
878
+ ));
879
+ }
880
+
881
+ // WhiteColorScheme2:
882
+ if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss2_aktiv).val == true) {
883
+ // @ts-ignore
884
+ schemeArray.push(new LampeWeissAlexaScheme(
885
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss2_name).val,
886
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss2_level).val,
887
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss2_ct).val
888
+ ));
889
+ }
890
+
891
+ // WhiteColorScheme3:
892
+ if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss3_aktiv).val == true) {
893
+ // @ts-ignore
894
+ schemeArray.push(new LampeWeissAlexaScheme(
895
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss3_name).val,
896
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss3_level).val,
897
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss3_ct).val
898
+ ));
899
+ }
900
+
901
+ // WhiteColorScheme4:
902
+ if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss4_aktiv).val == true) {
903
+ // @ts-ignore
904
+ schemeArray.push(new LampeWeissAlexaScheme(
905
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss4_name).val,
906
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss4_level).val,
907
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss4_ct).val
908
+ ));
909
+ }
910
+
911
+ // Taster Boolean On Schemes:
912
+ var tasterOnBoolschemeArray = [];
913
+
914
+ // LampeWeissTasterScheme1:
915
+ //constructor(tasterBooleanOn: string, level: number, ct: number) {
916
+ if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn1_aktiv).val == true) {
917
+ // @ts-ignore
918
+ tasterOnBoolschemeArray.push(new LampeWeissTasterScheme(
919
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn1_name).val,
920
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn1_level).val,
921
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn1_ct).val
922
+ ));
923
+ }
924
+
925
+ // LampeWeissTasterScheme2:
926
+ if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn2_aktiv).val == true) {
927
+ // @ts-ignore
928
+ tasterOnBoolschemeArray.push(new LampeWeissTasterScheme (
929
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn2_name).val,
930
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn2_level).val,
931
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn2_ct).val
932
+ ));
933
+ }
934
+
935
+ // LampeWeissTasterScheme3:
936
+ if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn3_aktiv).val == true) {
937
+ // @ts-ignore
938
+ tasterOnBoolschemeArray.push(new LampeWeissTasterScheme (
939
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn3_name).val,
940
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn3_level).val,
941
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn3_ct).val
942
+ ));
943
+ }
944
+
945
+ // LampeWeissTasterScheme4:
946
+ if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn4_aktiv).val == true) {
947
+ // @ts-ignore
948
+ tasterOnBoolschemeArray.push(new LampeWeissTasterScheme (
949
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn4_name).val,
950
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn4_level).val,
951
+ adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn4_ct).val
952
+ ));
953
+ }
954
+
955
+ // @ts-ignore
956
+ zigbeeArray.push(new ZigbeeLampeWeiss(adapter,
957
+ adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
958
+ adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
959
+ adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
960
+ adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
961
+ adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [4] Device (z.B. Stehlampe)
962
+ adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOn).val.split('|'), // 08 Alexa-Ein
963
+ adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOn).val.split('|'), // Alexa-Action-Ein, z.B. "Guten morgen" (Würde auch funktionieren, wenn dies bei [06] eingetragen ist)
964
+ alexaOnScheme, // [06 A.-Ein-Scheme] */ new LampeWeissAlexaScheme(null, 100, -1), // Letzter Paramter = -1 heußt, dass diese Lampe keine Farbtemperatur unterstützt. Ansonsten hier die Temperatur angeben
965
+ adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOff).val.split('|'), // 09 Alexa-Aus
966
+ adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOff).val.split('|'), // [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.
967
+ schemeArray, // [08 Alexa-Schemes]
968
+ adapter.getState(datenpunktPraefix + "." + attributeLampeWeissGroup).val, // [6] Gruppe
969
+ tasterOnBoolschemeArray, // [07 TasterBoolOn ]
970
+ adapter.getState(datenpunktPraefix + "." + attribute_TasterBooleanOff).val.split('|'), // 14 TasterBoolOff
971
+ adapter.getState(datenpunktPraefix + "." + attribute_Nachtbeleuchtung).val, // Gehört zur Nachtbeleuchtung ja/nein
972
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseSummer).val, // turnOffExitHouseSummer (Ausschalten, wenn Haus verlassen - Sommer)
973
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseWinter).val, // turnOffExitHouseWinter (Ausschalten, wenn Haus verlassen - Winter)
974
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseSummer).val, // turnOnEnterHouseSummer (Einschalten, wenn Haus betreten - Sommer)
975
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseWinter).val // turnOnEnterHouseWinter (Einschalten, wenn Haus betreten - Winter)
976
+ ));
977
+ } else if (filterCategory == deviceZigbeeRauchmelder) {
978
+ // @ts-ignore
979
+ zigbeeArray.push(new ZigbeeRauchmelder(adapter,
980
+ adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
981
+ adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
982
+ adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
983
+ adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
984
+ adapter.getState(datenpunktPraefix + "." + attributeDevice).val // [4] Device (z.B. Stehlampe)
985
+ ));
986
+ } else if (filterCategory == deviceZigbeeWandtaster) {
987
+ // @ts-ignore
988
+ zigbeeArray.push(new ZigbeeWandtaster(adapter,
989
+ adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
990
+ adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
991
+ adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
992
+ adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
993
+ adapter.getState(datenpunktPraefix + "." + attributeDevice).val // [4] Device (z.B. Stehlampe)
994
+ ));
995
+ } else if (filterCategory == deviceZigbeeDosenrelais) {
996
+ // @ts-ignore
997
+ zigbeeArray.push(new ZigbeeDosenrelais(adapter,
998
+ adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
999
+ adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
1000
+ adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
1001
+ adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
1002
+ adapter.getState(datenpunktPraefix + "." + attributeDevice).val // [4] Device (z.B. Stehlampe)
1003
+ ));
1004
+ } else if (filterCategory == deviceZigbeeSchalter) {
1005
+ // @ts-ignore
1006
+ zigbeeArray.push(new ZigbeeSchalter(adapter,
1007
+ adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
1008
+ adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
1009
+ adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
1010
+ adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
1011
+ adapter.getState(datenpunktPraefix + "." + attributeDevice).val // [4] Device (z.B. Stehlampe)
1012
+ ));
1013
+ } else if (filterCategory == deviceZigbeeRepeater) {
1014
+ // @ts-ignore
1015
+ zigbeeArray.push(new ZigbeeRepeater(adapter,
1016
+ adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
1017
+ adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
1018
+ adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
1019
+ adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
1020
+ adapter.getState(datenpunktPraefix + "." + attributeDevice).val // [4] Device (z.B. Stehlampe)
1021
+ ));
1022
+ } else if (filterCategory == deviceZigbeeFenstersensor) { // TODO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1023
+ // @ts-ignore
1024
+ zigbeeArray.push(new Zigbee(adapter,
1025
+ adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
1026
+ adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
1027
+ adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
1028
+ adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
1029
+ adapter.getState(datenpunktPraefix + "." + attributeDevice).val // [4] Device (z.B. Stehlampe)
1030
+ ));
1031
+ }
1032
+ }
1033
+
1034
+ });
1035
+ return zigbeeArray;
1036
+ }
1037
+
1038
+ export function getZigbeeDevicesAll(adapter: any) {
1039
+ var zigbeeArray = [];
1040
+
1041
+ this.getZigbeeDevices(adapter, deviceZigbeeSteckdose).forEach(homematic => {
1042
+ // @ts-ignore
1043
+ zigbeeArray.push(homematic);
1044
+ });
1045
+ this.getZigbeeDevices(adapter, deviceZigbeeBewegungsmelder).forEach(homematic => {
1046
+ // @ts-ignore
1047
+ zigbeeArray.push(homematic);
1048
+ });
1049
+ this.getZigbeeDevices(adapter, deviceZigbeeLampeRGB).forEach(homematic => {
1050
+ // @ts-ignore
1051
+ zigbeeArray.push(homematic);
1052
+ });
1053
+ this.getZigbeeDevices(adapter, deviceZigbeeLampeWeiss).forEach(homematic => {
1054
+ // @ts-ignore
1055
+ zigbeeArray.push(homematic);
1056
+ });
1057
+ this.getZigbeeDevices(adapter, deviceZigbeeRauchmelder).forEach(homematic => {
1058
+ // @ts-ignore
1059
+ zigbeeArray.push(homematic);
1060
+ });
1061
+ this.getZigbeeDevices(adapter, deviceZigbeeWandtaster).forEach(homematic => {
1062
+ // @ts-ignore
1063
+ zigbeeArray.push(homematic);
1064
+ });
1065
+ this.getZigbeeDevices(adapter, deviceZigbeeDosenrelais).forEach(homematic => {
1066
+ // @ts-ignore
1067
+ zigbeeArray.push(homematic);
1068
+ });
1069
+ this.getZigbeeDevices(adapter, deviceZigbeeSchalter).forEach(homematic => {
1070
+ // @ts-ignore
1071
+ zigbeeArray.push(homematic);
1072
+ });
1073
+ this.getZigbeeDevices(adapter, deviceZigbeeRepeater).forEach(homematic => {
1074
+ // @ts-ignore
1075
+ zigbeeArray.push(homematic);
1076
+ });
1077
+ this.getZigbeeDevices(adapter, deviceZigbeeFenstersensor).forEach(homematic => {
1078
+ // @ts-ignore
1079
+ zigbeeArray.push(homematic);
1080
+ });
1081
+
1082
+ return zigbeeArray;
1083
+ }
1084
+
1085
+ module.exports = { createZigbeeDevice, createLampeWeiss, createSteckdose, getZigbeeDevices, getZigbeeDevicesAll };