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