iobroker-ucl 1.4.9 → 1.4.11

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