iobroker-ucl 1.4.6 → 1.4.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,4 @@
1
- const {HomematicWindow, HomematicSteckdose, HomematicHeizkoerper, HomematicDimmer, HomematicWandthermostat, HomematicFussbodenheizung, HomematicWandschalter, HomematicDoor, HomematicWetterstation, HomematicAccessPoint, HomematicRollladen, HomematicWandtaster, HomematicTemperatursensor, HomematicRauchmelder, HomematicPraesenzmelder, AbstractHomematic, HomematicFunkschaltaktor, DimmerAlexaScheme, DimmerTasterScheme,
1
+ const { HomematicWindow, HomematicSteckdose, HomematicHeizkoerper, HomematicDimmer, HomematicWandthermostat, HomematicFussbodenheizung, HomematicWandschalter, HomematicDoor, HomematicWetterstation, HomematicAccessPoint, HomematicRollladen, HomematicWandtaster, HomematicTemperatursensor, HomematicRauchmelder, HomematicPraesenzmelder, AbstractHomematic, HomematicFunkschaltaktor, DimmerAlexaScheme, DimmerTasterScheme,
2
2
  deviceHomematicWandthermostat, deviceHomematicPraesenzmelder, deviceHomematicWetterstation, deviceHomematicDoor, deviceHomematicRollladen, deviceHomematicWandschalter, deviceHomematicFussbodenheizung, deviceHomematicWandtaster, deviceHomematicAccessPoint, deviceHomematicTemperatursensor, deviceHomematicRauchmelder, deviceHomematicFunkSchaltaktor, deviceHomematicWindow, deviceHomematicSteckdose, deviceHomematicHeizkoerper, deviceHomematicDimmer } = require('./homematicClasses.js');
3
3
 
4
4
  const attributeRawID = "rawId";
@@ -11,12 +11,12 @@ const attributeCategory = "category";
11
11
  // Datenpunkttyp:
12
12
  const attributeTypeNumber = "number";
13
13
  const attributeTypeString = "string";
14
- const attributeTypeBoolean = "boolean";
14
+ const attributeTypeBoolean = "boolean";
15
15
 
16
16
  // Alexa:
17
17
  const attribute_AlexaSmartNamesForOn = "alexaSmartNamesForOn";
18
18
  const attribute_AlexaActionNamesForOn = "alexaActionNamesForOn";
19
- const attribute_AlexaSmartNamesForOff = "alexaSmartNamesForOff";
19
+ const attribute_AlexaSmartNamesForOff = "alexaSmartNamesForOff";
20
20
  const attribute_AlexaActionNamesForOff = "alexaActionNamesForOff";
21
21
 
22
22
  // Lampen/Steckdosen allgemein:
@@ -78,475 +78,300 @@ function createHomematicDevice(adapter: any, rawId: number, baseState: string, e
78
78
 
79
79
  // Praesenzmelder
80
80
  export function createHomematicPraesenzmelder(adapter: any, rawId: number, baseState: string, etage: string, raum: string, device: string) {
81
-
82
- // Bei Update alte States löschen:
83
- let stateFolderDatenpunkt = "0_userdata.0.devices.homematic." + deviceHomematicPraesenzmelder + "." + rawId;
84
- if (adapter.existsState(stateFolderDatenpunkt)) {
85
- adapter.deleteState(stateFolderDatenpunkt);
86
- }
87
-
88
- // Neue States anlegen:
89
- setTimeout(function() {
90
- createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicPraesenzmelder);
91
- cachePraesenzmelderArray = null;
92
- }, 200);
81
+ createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicPraesenzmelder);
93
82
  }
94
83
 
95
84
  // Wetterstation
96
85
  export function createHomematicWetterstation(adapter: any, rawId: number, baseState: string, etage: string, raum: string, device: string) {
97
-
98
- // Bei Update alte States löschen:
99
- let stateFolderDatenpunkt = "0_userdata.0.devices.homematic." + deviceHomematicWetterstation + "." + rawId;
100
- if (adapter.existsState(stateFolderDatenpunkt)) {
101
- adapter.deleteState(stateFolderDatenpunkt);
102
- }
103
-
104
- // Neue States anlegen:
105
- setTimeout(function() {
106
- createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicWetterstation);
107
- cacheWetterstationenArray = null;
108
- }, 200);
86
+ createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicWetterstation);
109
87
  }
110
88
 
111
89
  // Door
112
90
  export function createHomematicDoor(adapter: any, rawId: number, baseState: string, etage: string, raum: string, device: string) {
113
-
114
- // Bei Update alte States löschen:
115
- let stateFolderDatenpunkt = "0_userdata.0.devices.homematic." + deviceHomematicDoor + "." + rawId;
116
- if (adapter.existsState(stateFolderDatenpunkt)) {
117
- adapter.deleteState(stateFolderDatenpunkt);
118
- }
119
-
120
- // Neue States anlegen:
121
- setTimeout(function() {
122
- createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicDoor);
123
- cacheDoorsArray = null;
124
- }, 200);
91
+ createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicDoor);
125
92
  }
126
93
 
127
94
  // Rollladen
128
95
  export function createHomematicRollladen(adapter: any, rawId: number, baseState: string, etage: string, raum: string, device: string) {
129
-
130
- // Bei Update alte States löschen:
131
- let stateFolderDatenpunkt = "0_userdata.0.devices.homematic." + deviceHomematicRollladen + "." + rawId;
132
- if (adapter.existsState(stateFolderDatenpunkt)) {
133
- adapter.deleteState(stateFolderDatenpunkt);
134
- }
135
-
136
- // Neue States anlegen:
137
- setTimeout(function() {
138
- createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicRollladen);
139
- cacheRollladenArray = null;
140
- }, 200);
96
+ createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicRollladen);
141
97
  }
142
98
 
143
99
  // Fussbodenheizung
144
100
  export function createHomematicFussbodenheizung(adapter: any, rawId: number, baseState: string, etage: string, raum: string, device: string) {
145
-
146
- // Bei Update alte States löschen:
147
- let stateFolderDatenpunkt = "0_userdata.0.devices.homematic." + deviceHomematicFussbodenheizung + "." + rawId;
148
- if (adapter.existsState(stateFolderDatenpunkt)) {
149
- adapter.deleteState(stateFolderDatenpunkt);
150
- }
151
-
152
- // Neue States anlegen:
153
- setTimeout(function() {
154
- createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicFussbodenheizung);
155
- cacheFussbodenheizungenArray = null;
156
- }, 200);
101
+ createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicFussbodenheizung);
157
102
  }
158
103
 
159
104
  // Wandtaster
160
105
  export function createHomematicWandtaster(adapter: any, rawId: number, baseState: string, etage: string, raum: string, device: string) {
161
-
162
- // Bei Update alte States löschen:
163
- let stateFolderDatenpunkt = "0_userdata.0.devices.homematic." + deviceHomematicWandtaster + "." + rawId;
164
- if (adapter.existsState(stateFolderDatenpunkt)) {
165
- adapter.deleteState(stateFolderDatenpunkt);
166
- }
167
-
168
- // Neue States anlegen:
169
- setTimeout(function() {
170
- createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicWandtaster);
171
- cacheWandtasterArray = null;
172
- }, 200);
106
+ createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicWandtaster);
173
107
  }
174
108
 
175
109
  // AccessPoint
176
110
  export function createHomematicAccessPoint(adapter: any, rawId: number, baseState: string, etage: string, raum: string, device: string) {
177
-
178
- // Bei Update alte States löschen:
179
- let stateFolderDatenpunkt = "0_userdata.0.devices.homematic." + deviceHomematicAccessPoint + "." + rawId;
180
- if (adapter.existsState(stateFolderDatenpunkt)) {
181
- adapter.deleteState(stateFolderDatenpunkt);
182
- }
183
-
184
- // Neue States anlegen:
185
- setTimeout(function() {
186
- createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicAccessPoint);
187
- cacheAccessPointsArray = null;
188
- }, 200);
111
+ createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicAccessPoint);
189
112
  }
190
113
 
191
114
  // Temperatursensor
192
115
  export function createHomematicTemperatursensor(adapter: any, rawId: number, baseState: string, etage: string, raum: string, device: string) {
193
-
194
- // Bei Update alte States löschen:
195
- let stateFolderDatenpunkt = "0_userdata.0.devices.homematic." + deviceHomematicTemperatursensor + "." + rawId;
196
- if (adapter.existsState(stateFolderDatenpunkt)) {
197
- adapter.deleteState(stateFolderDatenpunkt);
198
- }
199
-
200
- // Neue States anlegen:
201
- setTimeout(function() {
202
- createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicTemperatursensor);
203
- cacheTemperatursensorenArray = null;
204
- }, 200);
116
+ createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicTemperatursensor);
205
117
  }
206
118
 
207
119
  // Rauchmelder
208
120
  export function createHomematicRauchmelder(adapter: any, rawId: number, baseState: string, etage: string, raum: string, device: string) {
209
-
210
- // Bei Update alte States löschen:
211
- let stateFolderDatenpunkt = "0_userdata.0.devices.homematic." + deviceHomematicRauchmelder + "." + rawId;
212
- if (adapter.existsState(stateFolderDatenpunkt)) {
213
- adapter.deleteState(stateFolderDatenpunkt);
214
- }
215
-
216
- // Neue States anlegen:
217
- setTimeout(function() {
218
- createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicRauchmelder);
219
- cacheRauchmelderArray = null;
220
- }, 200);
121
+ createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicRauchmelder);
221
122
  }
222
123
 
223
124
  // FunkSchaltaktor
224
125
  export function createHomematicFunkSchaltaktor(adapter: any, rawId: number, baseState: string, etage: string, raum: string, device: string) {
225
-
226
- // Bei Update alte States löschen:
227
- let stateFolderDatenpunkt = "0_userdata.0.devices.homematic." + deviceHomematicFunkSchaltaktor + "." + rawId;
228
- if (adapter.existsState(stateFolderDatenpunkt)) {
229
- adapter.deleteState(stateFolderDatenpunkt);
230
- }
231
-
232
- // Neue States anlegen:
233
- setTimeout(function() {
234
- createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicFunkSchaltaktor);
235
- cacheFunkschaltaktorenArray = null;
236
- }, 200);
126
+ createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicFunkSchaltaktor);
237
127
  }
238
128
 
239
129
  // Window
240
130
  export function createHomematicWindow(adapter: any, rawId: number, baseState: string, etage: string, raum: string, device: string) {
241
-
242
- // Bei Update alte States löschen:
243
- let stateFolderDatenpunkt = "0_userdata.0.devices.homematic." + deviceHomematicWindow + "." + rawId;
244
- if (adapter.existsState(stateFolderDatenpunkt)) {
245
- adapter.deleteState(stateFolderDatenpunkt);
246
- }
247
-
248
- // Neue States anlegen:
249
- setTimeout(function() {
250
- createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicWindow);
251
- cacheWindowsArray = null;
252
- }, 200);
131
+ createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicWindow);
253
132
  }
254
133
 
255
134
  // Steckdose
256
135
  export function createHomematicSteckdose(adapter: any, rawId: number, baseState: string, etage: string, raum: string, device: string) {
257
-
258
- // Bei Update alte States löschen:
259
- let stateFolderDatenpunkt = "0_userdata.0.devices.homematic." + deviceHomematicSteckdose + "." + rawId;
260
- if (adapter.existsState(stateFolderDatenpunkt)) {
261
- adapter.deleteState(stateFolderDatenpunkt);
262
- }
263
-
264
- // Neue States anlegen:
265
- setTimeout(function() {
266
- createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicSteckdose);
267
- cacheSteckdosenArray = null;
268
- }, 200);
136
+ createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicSteckdose);
269
137
  }
270
138
 
271
139
  // Heizkoerper
272
140
  export function createHomematicHeizkoerper(adapter: any, rawId: number, baseState: string, etage: string, raum: string, device: string) {
273
-
274
- // Bei Update alte States löschen:
275
- let stateFolderDatenpunkt = "0_userdata.0.devices.homematic." + deviceHomematicHeizkoerper + "." + rawId;
276
- if (adapter.existsState(stateFolderDatenpunkt)) {
277
- adapter.deleteState(stateFolderDatenpunkt);
278
- }
279
-
280
- // Neue States anlegen:
281
- setTimeout(function() {
282
- createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicHeizkoerper);
283
- cacheHeizkoerperArray = null;
284
- }, 200);
141
+ createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicHeizkoerper);
285
142
  }
286
143
 
287
144
  // Wandthermostat
288
145
  export function createHomematicWandthermostat(adapter: any, rawId: number, baseState: string, etage: string, raum: string, device: string) {
146
+ createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicWandthermostat);
147
+ }
289
148
 
290
- // Bei Update alte States löschen:
291
- let stateFolderDatenpunkt = "0_userdata.0.devices.homematic." + deviceHomematicWandthermostat + "." + rawId;
292
- if (adapter.existsState(stateFolderDatenpunkt)) {
293
- adapter.deleteState(stateFolderDatenpunkt);
149
+ // Dimmer:
150
+ export function createHomeaticDimmer(adapter: any, rawId: number, baseState: string, etage: string, raum: string, device: string,
151
+ alexaSmartNamesForOn: string[], alexaActionNamesForOn: string[], alexaLevelSchemeForOn: InstanceType<typeof DimmerAlexaScheme>, alexaSmartNamesForOff: string[], alexaActionNamesForOff: string[],
152
+ alexaScheme1: InstanceType<typeof DimmerAlexaScheme>, alexaScheme2: InstanceType<typeof DimmerAlexaScheme>, alexaScheme3: InstanceType<typeof DimmerAlexaScheme>, alexaScheme4: InstanceType<typeof DimmerAlexaScheme>,
153
+ tasterBooleanOnScheme1: InstanceType<typeof DimmerTasterScheme>, tasterBooleanOnScheme2: InstanceType<typeof DimmerTasterScheme>, tasterBooleanOnScheme3: InstanceType<typeof DimmerTasterScheme>, tasterBooleanOnScheme4: InstanceType<typeof DimmerTasterScheme>,
154
+ tasterBooleanOff: string[], nachtbeleuchtung: boolean, turnOffExitHouseSummer: boolean, turnOffExitHouseWinter: boolean, turnOnEnterHouseSummer: boolean, turnOnEnterHouseWinter: boolean) {
155
+
156
+ // Allgemein:
157
+ createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicDimmer);
158
+
159
+ // alexaScheme1: InstanceType<typeof DimmerAlexaScheme>
160
+ if (alexaScheme1 != null) {
161
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme1_aktiv, true, deviceHomematicDimmer);
162
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme1_name, alexaScheme1.getAlexaName(), deviceHomematicDimmer);
163
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme1_level, alexaScheme1.getLevel(), deviceHomematicDimmer);
164
+ } else {
165
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme1_aktiv, false, deviceHomematicDimmer);
294
166
  }
295
167
 
296
- // Neue States anlegen:
297
- setTimeout(function() {
298
- createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicWandthermostat);
299
- cacheWandthermostateArray = null;
300
- }, 200);
301
- }
168
+ // alexaScheme2: InstanceType<typeof DimmerAlexaScheme>
169
+ if (alexaScheme2 != null) {
170
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme2_aktiv, true, deviceHomematicDimmer);
171
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme2_name, alexaScheme1.getAlexaName(), deviceHomematicDimmer);
172
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme2_level, alexaScheme1.getLevel(), deviceHomematicDimmer);
173
+ } else {
174
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme2_aktiv, false, deviceHomematicDimmer);
175
+ }
302
176
 
303
- // Dimmer:
304
- export function createHomeaticDimmer(adapter: any, rawId: number, baseState: string, etage: string, raum: string, device: string,
305
- alexaSmartNamesForOn:string[], alexaActionNamesForOn:string[], alexaLevelSchemeForOn: InstanceType<typeof DimmerAlexaScheme>, alexaSmartNamesForOff: string[],alexaActionNamesForOff: string[],
306
- alexaScheme1: InstanceType<typeof DimmerAlexaScheme>, alexaScheme2: InstanceType<typeof DimmerAlexaScheme>, alexaScheme3: InstanceType<typeof DimmerAlexaScheme>, alexaScheme4: InstanceType<typeof DimmerAlexaScheme>,
307
- tasterBooleanOnScheme1: InstanceType<typeof DimmerTasterScheme>, tasterBooleanOnScheme2: InstanceType<typeof DimmerTasterScheme>, tasterBooleanOnScheme3: InstanceType<typeof DimmerTasterScheme>, tasterBooleanOnScheme4: InstanceType<typeof DimmerTasterScheme>,
308
- tasterBooleanOff: string[], nachtbeleuchtung:boolean, turnOffExitHouseSummer:boolean, turnOffExitHouseWinter:boolean, turnOnEnterHouseSummer:boolean, turnOnEnterHouseWinter:boolean) {
309
-
310
- // Bei Update alte States löschen:
311
- let stateFolderDatenpunkt = "0_userdata.0.devices.homematic." + deviceHomematicDimmer + "." + rawId;
312
- if (adapter.existsState(stateFolderDatenpunkt)) {
313
- adapter.deleteState(stateFolderDatenpunkt);
177
+ // alexaScheme3: InstanceType<typeof DimmerAlexaScheme>
178
+ if (alexaScheme3 != null) {
179
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme3_aktiv, true, deviceHomematicDimmer);
180
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme3_name, alexaScheme1.getAlexaName(), deviceHomematicDimmer);
181
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme3_level, alexaScheme1.getLevel(), deviceHomematicDimmer);
182
+ } else {
183
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme3_aktiv, false, deviceHomematicDimmer);
314
184
  }
315
185
 
316
- // Neue States anlegen:
317
- setTimeout(function() {
318
- // Allgemein:
319
- createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicDimmer);
320
-
321
- // alexaScheme1: InstanceType<typeof DimmerAlexaScheme>
322
- if (alexaScheme1 != null) {
323
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme1_aktiv, true, deviceHomematicDimmer);
324
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme1_name, alexaScheme1.getAlexaName(), deviceHomematicDimmer);
325
- createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme1_level, alexaScheme1.getLevel(), deviceHomematicDimmer);
326
- } else {
327
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme1_aktiv, false, deviceHomematicDimmer);
328
- }
329
-
330
- // alexaScheme2: InstanceType<typeof DimmerAlexaScheme>
331
- if (alexaScheme2 != null) {
332
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme2_aktiv, true, deviceHomematicDimmer);
333
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme2_name, alexaScheme1.getAlexaName(), deviceHomematicDimmer);
334
- createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme2_level, alexaScheme1.getLevel(), deviceHomematicDimmer);
335
- } else {
336
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme2_aktiv, false, deviceHomematicDimmer);
337
- }
338
-
339
- // alexaScheme3: InstanceType<typeof DimmerAlexaScheme>
340
- if (alexaScheme3 != null) {
341
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme3_aktiv, true, deviceHomematicDimmer);
342
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme3_name, alexaScheme1.getAlexaName(), deviceHomematicDimmer);
343
- createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme3_level, alexaScheme1.getLevel(), deviceHomematicDimmer);
344
- } else {
345
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme3_aktiv, false, deviceHomematicDimmer);
346
- }
347
-
348
- // alexaScheme4: InstanceType<typeof DimmerAlexaScheme>
349
- if (alexaScheme4 != null) {
350
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme4_aktiv, true, deviceHomematicDimmer);
351
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme4_name, alexaScheme1.getAlexaName(), deviceHomematicDimmer);
352
- createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme4_level, alexaScheme1.getLevel(), deviceHomematicDimmer);
353
- } else {
354
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme4_aktiv, false, deviceHomematicDimmer);
355
- }
186
+ // alexaScheme4: InstanceType<typeof DimmerAlexaScheme>
187
+ if (alexaScheme4 != null) {
188
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme4_aktiv, true, deviceHomematicDimmer);
189
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme4_name, alexaScheme1.getAlexaName(), deviceHomematicDimmer);
190
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme4_level, alexaScheme1.getLevel(), deviceHomematicDimmer);
191
+ } else {
192
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme4_aktiv, false, deviceHomematicDimmer);
193
+ }
356
194
 
357
- if (tasterBooleanOnScheme1 != null) {
358
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme1_aktiv, true, deviceHomematicDimmer);
359
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme1_name, tasterBooleanOnScheme1.getTasterBooleanOnName(), deviceHomematicDimmer);
360
- createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme1_level, tasterBooleanOnScheme1.getLevel(), deviceHomematicDimmer);
195
+ if (tasterBooleanOnScheme1 != null) {
196
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme1_aktiv, true, deviceHomematicDimmer);
197
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme1_name, tasterBooleanOnScheme1.getTasterBooleanOnName(), deviceHomematicDimmer);
198
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme1_level, tasterBooleanOnScheme1.getLevel(), deviceHomematicDimmer);
199
+ } else {
200
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme1_aktiv, false, deviceHomematicDimmer);
201
+ }
202
+
203
+ if (tasterBooleanOnScheme2 != null) {
204
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme2_aktiv, true, deviceHomematicDimmer);
205
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme2_name, tasterBooleanOnScheme1.getTasterBooleanOnName(), deviceHomematicDimmer);
206
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme2_level, tasterBooleanOnScheme1.getLevel(), deviceHomematicDimmer);
207
+ } else {
208
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme2_aktiv, false, deviceHomematicDimmer);
209
+ }
210
+
211
+ if (tasterBooleanOnScheme3 != null) {
212
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme3_aktiv, true, deviceHomematicDimmer);
213
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme3_name, tasterBooleanOnScheme1.getTasterBooleanOnName(), deviceHomematicDimmer);
214
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme3_level, tasterBooleanOnScheme1.getLevel(), deviceHomematicDimmer);
215
+ } else {
216
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme3_aktiv, false, deviceHomematicDimmer);
217
+ }
218
+
219
+ if (tasterBooleanOnScheme4 != null) {
220
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme4_aktiv, true, deviceHomematicDimmer);
221
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme4_name, tasterBooleanOnScheme1.getTasterBooleanOnName(), deviceHomematicDimmer);
222
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme4_level, tasterBooleanOnScheme1.getLevel(), deviceHomematicDimmer);
223
+ } else {
224
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme4_aktiv, false, deviceHomematicDimmer);
225
+ }
226
+
227
+ // alexaLevelSchemeForOn: InstanceType<typeof DimmerAlexaScheme>
228
+ if (alexaLevelSchemeForOn != null) {
229
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv, true, deviceHomematicDimmer);
230
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme_name, alexaLevelSchemeForOn.getAlexaName(), deviceHomematicDimmer);
231
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme_level, alexaLevelSchemeForOn.getLevel(), deviceHomematicDimmer);
232
+ } else {
233
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv, false, deviceHomematicDimmer);
234
+ }
235
+
236
+ // additionalStates4TurnOff: string[]
237
+ let db_additionalStates4TurnOff = null;
238
+ tasterBooleanOff.forEach(value => {
239
+ if (db_additionalStates4TurnOff == null) {
240
+ // @ts-ignore
241
+ db_additionalStates4TurnOff = value;
361
242
  } else {
362
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme1_aktiv, false, deviceHomematicDimmer);
363
- }
243
+ // @ts-ignore
244
+ db_additionalStates4TurnOff += "|" + value;
245
+ }
246
+ });
247
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOff, db_additionalStates4TurnOff, deviceHomematicDimmer);
364
248
 
365
- if (tasterBooleanOnScheme2 != null) {
366
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme2_aktiv, true, deviceHomematicDimmer);
367
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme2_name, tasterBooleanOnScheme1.getTasterBooleanOnName(), deviceHomematicDimmer);
368
- createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme2_level, tasterBooleanOnScheme1.getLevel(), deviceHomematicDimmer);
249
+ // alexaSmartNamesForOn:string[]
250
+ let db_alexaSmartNamesForOn = null;
251
+ alexaSmartNamesForOn.forEach(value => {
252
+ if (db_alexaSmartNamesForOn == null) {
253
+ // @ts-ignore
254
+ db_alexaSmartNamesForOn = value;
369
255
  } else {
370
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme2_aktiv, false, deviceHomematicDimmer);
371
- }
256
+ // @ts-ignore
257
+ db_alexaSmartNamesForOn += "|" + value;
258
+ }
259
+ });
260
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOn, db_alexaSmartNamesForOn, deviceHomematicDimmer);
372
261
 
373
- if (tasterBooleanOnScheme3 != null) {
374
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme3_aktiv, true, deviceHomematicDimmer);
375
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme3_name, tasterBooleanOnScheme1.getTasterBooleanOnName(), deviceHomematicDimmer);
376
- createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme3_level, tasterBooleanOnScheme1.getLevel(), deviceHomematicDimmer);
262
+ // alexaActionNamesForOn:string[]
263
+ let db_alexaActionNamesForOn = null;
264
+ alexaActionNamesForOn.forEach(value => {
265
+ if (db_alexaActionNamesForOn == null) {
266
+ // @ts-ignore
267
+ db_alexaActionNamesForOn = value;
377
268
  } else {
378
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme3_aktiv, false, deviceHomematicDimmer);
379
- }
269
+ // @ts-ignore
270
+ db_alexaActionNamesForOn += "|" + value;
271
+ }
272
+ });
273
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOn, db_alexaActionNamesForOn, deviceHomematicDimmer);
380
274
 
381
- if (tasterBooleanOnScheme4 != null) {
382
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme4_aktiv, true, deviceHomematicDimmer);
383
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme4_name, tasterBooleanOnScheme1.getTasterBooleanOnName(), deviceHomematicDimmer);
384
- createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme4_level, tasterBooleanOnScheme1.getLevel(), deviceHomematicDimmer);
275
+ // alexaSmartNamesForOff:string[]
276
+ let db_alexaSmartNamesForOff = null;
277
+ alexaSmartNamesForOff.forEach(value => {
278
+ if (db_alexaSmartNamesForOff == null) {
279
+ // @ts-ignore
280
+ db_alexaSmartNamesForOff = value;
385
281
  } else {
386
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme4_aktiv, false, deviceHomematicDimmer);
387
- }
388
-
389
- // alexaLevelSchemeForOn: InstanceType<typeof DimmerAlexaScheme>
390
- if (alexaLevelSchemeForOn != null) {
391
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv, true, deviceHomematicDimmer);
392
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme_name, alexaLevelSchemeForOn.getAlexaName(), deviceHomematicDimmer);
393
- createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme_level, alexaLevelSchemeForOn.getLevel(), deviceHomematicDimmer);
282
+ // @ts-ignore
283
+ db_alexaSmartNamesForOff += "|" + value;
284
+ }
285
+ });
286
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOff, db_alexaSmartNamesForOff, deviceHomematicDimmer);
287
+
288
+ // alexaActionNamesForOff:string[]
289
+ let db_alexaActionNamesForOff = null;
290
+ alexaActionNamesForOff.forEach(value => {
291
+ if (db_alexaActionNamesForOff == null) {
292
+ // @ts-ignore
293
+ db_alexaActionNamesForOff = value;
394
294
  } else {
395
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv, false, deviceHomematicDimmer);
295
+ // @ts-ignore
296
+ db_alexaActionNamesForOff += "|" + value;
396
297
  }
397
-
398
- // additionalStates4TurnOff: string[]
399
- let db_additionalStates4TurnOff = null;
400
- tasterBooleanOff.forEach(value => {
401
- if (db_additionalStates4TurnOff == null) {
402
- // @ts-ignore
403
- db_additionalStates4TurnOff = value;
404
- } else {
405
- // @ts-ignore
406
- db_additionalStates4TurnOff += "|" + value;
407
- }
408
- });
409
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOff, db_additionalStates4TurnOff, deviceHomematicDimmer);
410
-
411
- // alexaSmartNamesForOn:string[]
412
- let db_alexaSmartNamesForOn = null;
413
- alexaSmartNamesForOn.forEach(value => {
414
- if (db_alexaSmartNamesForOn == null) {
415
- // @ts-ignore
416
- db_alexaSmartNamesForOn = value;
417
- } else {
418
- // @ts-ignore
419
- db_alexaSmartNamesForOn += "|" + value;
420
- }
421
- });
422
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOn, db_alexaSmartNamesForOn, deviceHomematicDimmer);
423
-
424
- // alexaActionNamesForOn:string[]
425
- let db_alexaActionNamesForOn = null;
426
- alexaActionNamesForOn.forEach(value => {
427
- if (db_alexaActionNamesForOn == null) {
428
- // @ts-ignore
429
- db_alexaActionNamesForOn = value;
430
- } else {
431
- // @ts-ignore
432
- db_alexaActionNamesForOn += "|" + value;
433
- }
434
- });
435
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOn, db_alexaActionNamesForOn, deviceHomematicDimmer);
436
-
437
- // alexaSmartNamesForOff:string[]
438
- let db_alexaSmartNamesForOff = null;
439
- alexaSmartNamesForOff.forEach(value => {
440
- if (db_alexaSmartNamesForOff == null) {
441
- // @ts-ignore
442
- db_alexaSmartNamesForOff = value;
443
- } else {
444
- // @ts-ignore
445
- db_alexaSmartNamesForOff += "|" + value;
446
- }
447
- });
448
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOff, db_alexaSmartNamesForOff, deviceHomematicDimmer);
449
-
450
- // alexaActionNamesForOff:string[]
451
- let db_alexaActionNamesForOff = null;
452
- alexaActionNamesForOff.forEach(value => {
453
- if (db_alexaActionNamesForOff == null) {
454
- // @ts-ignore
455
- db_alexaActionNamesForOff = value;
456
- } else {
457
- // @ts-ignore
458
- db_alexaActionNamesForOff += "|" + value;
459
- }
460
- });
461
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOff, db_alexaActionNamesForOff, deviceHomematicDimmer);
462
-
463
- // Weitere:
464
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_Nachtbeleuchtung, nachtbeleuchtung, deviceHomematicDimmer);
465
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseSummer, turnOffExitHouseSummer, deviceHomematicDimmer);
466
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseWinter, turnOffExitHouseWinter, deviceHomematicDimmer);
467
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseSummer, turnOnEnterHouseSummer, deviceHomematicDimmer);
468
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseWinter, turnOnEnterHouseWinter, deviceHomematicDimmer);
469
- cacheDimmerArray = null;
470
- }, 200);
471
-
298
+ });
299
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOff, db_alexaActionNamesForOff, deviceHomematicDimmer);
300
+
301
+ // Weitere:
302
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_Nachtbeleuchtung, nachtbeleuchtung, deviceHomematicDimmer);
303
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseSummer, turnOffExitHouseSummer, deviceHomematicDimmer);
304
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseWinter, turnOffExitHouseWinter, deviceHomematicDimmer);
305
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseSummer, turnOnEnterHouseSummer, deviceHomematicDimmer);
306
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseWinter, turnOnEnterHouseWinter, deviceHomematicDimmer);
472
307
  }
473
308
 
474
309
  // Wandschalter:
475
- export function createHomeaticWandschalter(adapter:any, rawId: number, baseState: string, etage: string, raum: string, device: string,
476
- alexaSmartNamesForOn:string[], alexaActionNamesForOn:string[], alexaSmartNamesForOff: string[],alexaActionNamesForOff: string[],
477
- nachtbeleuchtung:boolean, turnOffExitHouseSummer:boolean, turnOffExitHouseWinter:boolean, turnOnEnterHouseSummer:boolean, turnOnEnterHouseWinter:boolean) {
478
-
479
- // Bei Update alte States löschen:
480
- let stateFolderDatenpunkt = "0_userdata.0.devices.homematic." + deviceHomematicWandschalter + "." + rawId;
481
- if (adapter.existsState(stateFolderDatenpunkt)) {
482
- adapter.deleteState(stateFolderDatenpunkt);
483
- }
310
+ export function createHomeaticWandschalter(adapter: any, rawId: number, baseState: string, etage: string, raum: string, device: string,
311
+ alexaSmartNamesForOn: string[], alexaActionNamesForOn: string[], alexaSmartNamesForOff: string[], alexaActionNamesForOff: string[],
312
+ nachtbeleuchtung: boolean, turnOffExitHouseSummer: boolean, turnOffExitHouseWinter: boolean, turnOnEnterHouseSummer: boolean, turnOnEnterHouseWinter: boolean) {
484
313
 
485
- // Neue States anlegen:
486
- setTimeout(function() {
487
- // Allgemein:
488
- createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicWandschalter);
489
-
490
- // alexaSmartNamesForOn:string[]
491
- let db_alexaSmartNamesForOn = null;
492
- alexaSmartNamesForOn.forEach(value => {
493
- if (db_alexaSmartNamesForOn == null) {
494
- // @ts-ignore
495
- db_alexaSmartNamesForOn = value;
496
- } else {
497
- // @ts-ignore
498
- db_alexaSmartNamesForOn += "|" + value;
499
- }
500
- });
501
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOn, db_alexaSmartNamesForOn, deviceHomematicWandschalter);
502
-
503
- // alexaActionNamesForOn:string[]
504
- let db_alexaActionNamesForOn = null;
505
- alexaActionNamesForOn.forEach(value => {
506
- if (db_alexaActionNamesForOn == null) {
507
- // @ts-ignore
508
- db_alexaActionNamesForOn = value;
509
- } else {
510
- // @ts-ignore
511
- db_alexaActionNamesForOn += "|" + value;
512
- }
513
- });
514
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOn, db_alexaActionNamesForOn, deviceHomematicWandschalter);
515
-
516
- // alexaSmartNamesForOff:string[]
517
- let db_alexaSmartNamesForOff = null;
518
- alexaSmartNamesForOff.forEach(value => {
519
- if (db_alexaSmartNamesForOff == null) {
520
- // @ts-ignore
521
- db_alexaSmartNamesForOff = value;
522
- } else {
523
- // @ts-ignore
524
- db_alexaSmartNamesForOff += "|" + value;
525
- }
526
- });
527
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOff, db_alexaSmartNamesForOff, deviceHomematicWandschalter);
528
-
529
- // alexaActionNamesForOff:string[]
530
- let db_alexaActionNamesForOff = null;
531
- alexaActionNamesForOff.forEach(value => {
532
- if (db_alexaActionNamesForOff == null) {
533
- // @ts-ignore
534
- db_alexaActionNamesForOff = value;
535
- } else {
536
- // @ts-ignore
537
- db_alexaActionNamesForOff += "|" + value;
538
- }
539
- });
540
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOff, db_alexaActionNamesForOff, deviceHomematicWandschalter);
541
-
542
- // Weitere:
543
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_Nachtbeleuchtung, nachtbeleuchtung, deviceHomematicWandschalter);
544
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseSummer, turnOffExitHouseSummer, deviceHomematicWandschalter);
545
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseWinter, turnOffExitHouseWinter, deviceHomematicWandschalter);
546
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseSummer, turnOnEnterHouseSummer, deviceHomematicWandschalter);
547
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseWinter, turnOnEnterHouseWinter, deviceHomematicWandschalter);
548
- cacheWandschalterArray = null;
549
- }, 200);
314
+ // Allgemein:
315
+ createHomematicDevice(adapter, rawId, baseState, etage, raum, device, deviceHomematicWandschalter);
316
+
317
+ // alexaSmartNamesForOn:string[]
318
+ let db_alexaSmartNamesForOn = null;
319
+ alexaSmartNamesForOn.forEach(value => {
320
+ if (db_alexaSmartNamesForOn == null) {
321
+ // @ts-ignore
322
+ db_alexaSmartNamesForOn = value;
323
+ } else {
324
+ // @ts-ignore
325
+ db_alexaSmartNamesForOn += "|" + value;
326
+ }
327
+ });
328
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOn, db_alexaSmartNamesForOn, deviceHomematicWandschalter);
329
+
330
+ // alexaActionNamesForOn:string[]
331
+ let db_alexaActionNamesForOn = null;
332
+ alexaActionNamesForOn.forEach(value => {
333
+ if (db_alexaActionNamesForOn == null) {
334
+ // @ts-ignore
335
+ db_alexaActionNamesForOn = value;
336
+ } else {
337
+ // @ts-ignore
338
+ db_alexaActionNamesForOn += "|" + value;
339
+ }
340
+ });
341
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOn, db_alexaActionNamesForOn, deviceHomematicWandschalter);
342
+
343
+ // alexaSmartNamesForOff:string[]
344
+ let db_alexaSmartNamesForOff = null;
345
+ alexaSmartNamesForOff.forEach(value => {
346
+ if (db_alexaSmartNamesForOff == null) {
347
+ // @ts-ignore
348
+ db_alexaSmartNamesForOff = value;
349
+ } else {
350
+ // @ts-ignore
351
+ db_alexaSmartNamesForOff += "|" + value;
352
+ }
353
+ });
354
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOff, db_alexaSmartNamesForOff, deviceHomematicWandschalter);
355
+
356
+ // alexaActionNamesForOff:string[]
357
+ let db_alexaActionNamesForOff = null;
358
+ alexaActionNamesForOff.forEach(value => {
359
+ if (db_alexaActionNamesForOff == null) {
360
+ // @ts-ignore
361
+ db_alexaActionNamesForOff = value;
362
+ } else {
363
+ // @ts-ignore
364
+ db_alexaActionNamesForOff += "|" + value;
365
+ }
366
+ });
367
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOff, db_alexaActionNamesForOff, deviceHomematicWandschalter);
368
+
369
+ // Weitere:
370
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_Nachtbeleuchtung, nachtbeleuchtung, deviceHomematicWandschalter);
371
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseSummer, turnOffExitHouseSummer, deviceHomematicWandschalter);
372
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseWinter, turnOffExitHouseWinter, deviceHomematicWandschalter);
373
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseSummer, turnOnEnterHouseSummer, deviceHomematicWandschalter);
374
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseWinter, turnOnEnterHouseWinter, deviceHomematicWandschalter);
550
375
  }
551
376
 
552
377
  function createDatenpunktSingle(adapter: any, deviceRawId, attributeType, attributeName, attributeValue, category) {
@@ -580,7 +405,7 @@ export function loadHomematicRollladen(adapter: any) {
580
405
  ));
581
406
  }
582
407
  });
583
- cacheRollladenArray = sortArray(cacheRollladenArray);
408
+ cacheRollladenArray = sortArray(cacheRollladenArray);
584
409
  return cacheRollladenArray;
585
410
  }
586
411
 
@@ -604,7 +429,7 @@ export function loadHomematicWandthermostate(adapter: any) {
604
429
  ));
605
430
  }
606
431
  });
607
- cacheWandthermostateArray = sortArray(cacheWandthermostateArray);
432
+ cacheWandthermostateArray = sortArray(cacheWandthermostateArray);
608
433
  return cacheWandthermostateArray;
609
434
  }
610
435
 
@@ -628,7 +453,7 @@ export function loadHomematicPraesenzmelder(adapter: any) {
628
453
  ));
629
454
  }
630
455
  });
631
- cachePraesenzmelderArray = sortArray(cachePraesenzmelderArray);
456
+ cachePraesenzmelderArray = sortArray(cachePraesenzmelderArray);
632
457
  return cachePraesenzmelderArray;
633
458
  }
634
459
 
@@ -652,7 +477,7 @@ export function loadHomematicWetterstationen(adapter: any) {
652
477
  ));
653
478
  }
654
479
  });
655
- cacheWetterstationenArray = sortArray(cacheWetterstationenArray);
480
+ cacheWetterstationenArray = sortArray(cacheWetterstationenArray);
656
481
  return cacheWetterstationenArray;
657
482
  }
658
483
 
@@ -676,7 +501,7 @@ export function loadHomematicDoors(adapter: any) {
676
501
  ));
677
502
  }
678
503
  });
679
- cacheDoorsArray = sortArray(cacheDoorsArray);
504
+ cacheDoorsArray = sortArray(cacheDoorsArray);
680
505
  return cacheDoorsArray;
681
506
  }
682
507
 
@@ -710,7 +535,7 @@ export function loadHomematicWandschalter(adapter: any) {
710
535
  ));
711
536
  }
712
537
  });
713
- cacheWandschalterArray = sortArray(cacheWandschalterArray);
538
+ cacheWandschalterArray = sortArray(cacheWandschalterArray);
714
539
  return cacheWandschalterArray;
715
540
  }
716
541
 
@@ -734,7 +559,7 @@ export function loadHomematicFussbodenheizungen(adapter: any) {
734
559
  ));
735
560
  }
736
561
  });
737
- cacheFussbodenheizungenArray = sortArray(cacheFussbodenheizungenArray);
562
+ cacheFussbodenheizungenArray = sortArray(cacheFussbodenheizungenArray);
738
563
  return cacheFussbodenheizungenArray;
739
564
  }
740
565
 
@@ -758,7 +583,7 @@ export function loadHomematicWandtaster(adapter: any) {
758
583
  ));
759
584
  }
760
585
  });
761
- cacheWandtasterArray = sortArray(cacheWandtasterArray);
586
+ cacheWandtasterArray = sortArray(cacheWandtasterArray);
762
587
  return cacheWandtasterArray;
763
588
  }
764
589
 
@@ -782,7 +607,7 @@ export function loadHomematicAccessPoints(adapter: any) {
782
607
  ));
783
608
  }
784
609
  });
785
- cacheAccessPointsArray = sortArray(cacheAccessPointsArray);
610
+ cacheAccessPointsArray = sortArray(cacheAccessPointsArray);
786
611
  return cacheAccessPointsArray;
787
612
  }
788
613
 
@@ -806,7 +631,7 @@ export function loadHomematicTemperatursensoren(adapter: any) {
806
631
  ));
807
632
  }
808
633
  });
809
- cacheTemperatursensorenArray = sortArray(cacheTemperatursensorenArray);
634
+ cacheTemperatursensorenArray = sortArray(cacheTemperatursensorenArray);
810
635
  return cacheTemperatursensorenArray;
811
636
  }
812
637
 
@@ -830,7 +655,7 @@ export function loadHomematicRauchmelder(adapter: any) {
830
655
  ));
831
656
  }
832
657
  });
833
- cacheRauchmelderArray = sortArray(cacheRauchmelderArray);
658
+ cacheRauchmelderArray = sortArray(cacheRauchmelderArray);
834
659
  return cacheRauchmelderArray;
835
660
  }
836
661
 
@@ -854,7 +679,7 @@ export function loadHomematicFunktschaltaktoren(adapter: any) {
854
679
  ));
855
680
  }
856
681
  });
857
- cacheFunkschaltaktorenArray = sortArray(cacheFunkschaltaktorenArray);
682
+ cacheFunkschaltaktorenArray = sortArray(cacheFunkschaltaktorenArray);
858
683
  return cacheFunkschaltaktorenArray;
859
684
  }
860
685
 
@@ -878,7 +703,7 @@ export function loadHomematicWindows(adapter: any) {
878
703
  ));
879
704
  }
880
705
  });
881
- cacheWindowsArray = sortArray(cacheWindowsArray);
706
+ cacheWindowsArray = sortArray(cacheWindowsArray);
882
707
  return cacheWindowsArray;
883
708
  }
884
709
 
@@ -902,7 +727,7 @@ export function loadHomematicSteckdosen(adapter: any) {
902
727
  ));
903
728
  }
904
729
  });
905
- cacheSteckdosenArray = sortArray(cacheSteckdosenArray);
730
+ cacheSteckdosenArray = sortArray(cacheSteckdosenArray);
906
731
  return cacheSteckdosenArray;
907
732
  }
908
733
 
@@ -926,7 +751,7 @@ export function loadHomematicHeizkoerper(adapter: any) {
926
751
  ));
927
752
  }
928
753
  });
929
- cacheHeizkoerperArray = sortArray(cacheHeizkoerperArray);
754
+ cacheHeizkoerperArray = sortArray(cacheHeizkoerperArray);
930
755
  return cacheHeizkoerperArray;
931
756
  }
932
757
 
@@ -943,10 +768,10 @@ export function loadHomematicDimmer(adapter: any) {
943
768
 
944
769
  // Einschalt-Scheme:
945
770
  let alexaOnScheme = null;
946
- if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_aktiv, ).val == true) {
771
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_aktiv,).val == true) {
947
772
  // @ts-ignore
948
773
  alexaOnScheme = new DimmerAlexaScheme(null,
949
- adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_level ).val
774
+ adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_level).val
950
775
  );
951
776
  }
952
777
 
@@ -954,7 +779,7 @@ export function loadHomematicDimmer(adapter: any) {
954
779
  let schemeArray = [];
955
780
 
956
781
  // alexaScheme1: InstanceType<typeof DimmerAlexaScheme>
957
- if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme1_aktiv ).val == true) {
782
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme1_aktiv).val == true) {
958
783
  // @ts-ignore
959
784
  schemeArray.push(new DimmerAlexaScheme(
960
785
  adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme1_name).val,
@@ -962,7 +787,7 @@ export function loadHomematicDimmer(adapter: any) {
962
787
  ));
963
788
  }
964
789
  // alexaScheme2: InstanceType<typeof DimmerAlexaScheme>
965
- if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme2_aktiv ).val == true) {
790
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme2_aktiv).val == true) {
966
791
  // @ts-ignore
967
792
  schemeArray.push(new DimmerAlexaScheme(
968
793
  adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme2_name).val,
@@ -970,7 +795,7 @@ export function loadHomematicDimmer(adapter: any) {
970
795
  ));
971
796
  }
972
797
  // alexaScheme3: InstanceType<typeof DimmerAlexaScheme>
973
- if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme3_aktiv ).val == true) {
798
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme3_aktiv).val == true) {
974
799
  // @ts-ignore
975
800
  schemeArray.push(new DimmerAlexaScheme(
976
801
  adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme3_name).val,
@@ -978,7 +803,7 @@ export function loadHomematicDimmer(adapter: any) {
978
803
  ));
979
804
  }
980
805
  // alexaScheme4: InstanceType<typeof DimmerAlexaScheme>
981
- if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme4_aktiv ).val == true) {
806
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme4_aktiv).val == true) {
982
807
  // @ts-ignore
983
808
  schemeArray.push(new DimmerAlexaScheme(
984
809
  adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme4_name).val,
@@ -990,7 +815,7 @@ export function loadHomematicDimmer(adapter: any) {
990
815
  let tasterSchemeArray = [];
991
816
 
992
817
  // tasterScheme1: InstanceType<typeof DimmerTasterScheme>
993
- if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme1_aktiv ).val == true) {
818
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme1_aktiv).val == true) {
994
819
  // @ts-ignore
995
820
  tasterSchemeArray.push(new DimmerTasterScheme(
996
821
  adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme1_name).val,
@@ -998,7 +823,7 @@ export function loadHomematicDimmer(adapter: any) {
998
823
  ));
999
824
  }
1000
825
  // tasterScheme2: InstanceType<typeof DimmerTasterScheme>
1001
- if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme2_aktiv ).val == true) {
826
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme2_aktiv).val == true) {
1002
827
  // @ts-ignore
1003
828
  tasterSchemeArray.push(new DimmerTasterScheme(
1004
829
  adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme2_name).val,
@@ -1006,7 +831,7 @@ export function loadHomematicDimmer(adapter: any) {
1006
831
  ));
1007
832
  }
1008
833
  // tasterScheme3: InstanceType<typeof DimmerTasterScheme>
1009
- if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme3_aktiv ).val == true) {
834
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme3_aktiv).val == true) {
1010
835
  // @ts-ignore
1011
836
  tasterSchemeArray.push(new DimmerTasterScheme(
1012
837
  adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme3_name).val,
@@ -1014,14 +839,14 @@ export function loadHomematicDimmer(adapter: any) {
1014
839
  ));
1015
840
  }
1016
841
  // tasterScheme4: InstanceType<typeof DimmerTasterScheme>
1017
- if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme4_aktiv ).val == true) {
842
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme4_aktiv).val == true) {
1018
843
  // @ts-ignore
1019
844
  tasterSchemeArray.push(new DimmerTasterScheme(
1020
845
  adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme4_name).val,
1021
846
  adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme4_level).val
1022
847
  ));
1023
848
  }
1024
-
849
+
1025
850
  // @ts-ignore
1026
851
  cacheDimmerArray.push(new HomematicDimmer(
1027
852
  adapter,
@@ -1046,7 +871,7 @@ export function loadHomematicDimmer(adapter: any) {
1046
871
  ));
1047
872
  }
1048
873
  });
1049
- cacheDimmerArray = sortArray(cacheDimmerArray);
874
+ cacheDimmerArray = sortArray(cacheDimmerArray);
1050
875
  return cacheDimmerArray;
1051
876
  }
1052
877
 
@@ -1055,7 +880,7 @@ export function loadHomematicDevicesAll(adapter: any) {
1055
880
  /*if (homematicAllArray != null) {
1056
881
  return homematicAllArray;
1057
882
  }*/
1058
-
883
+
1059
884
  // @ts-ignore
1060
885
  let homematicAllArray = [];
1061
886
 
@@ -1123,7 +948,7 @@ export function loadHomematicDevicesAll(adapter: any) {
1123
948
  // @ts-ignore
1124
949
  homematicAllArray.push(homematic);
1125
950
  });
1126
- homematicAllArray = sortArray(homematicAllArray);
951
+ homematicAllArray = sortArray(homematicAllArray);
1127
952
  return homematicAllArray;
1128
953
  }
1129
954
 
@@ -1153,11 +978,11 @@ function clearHomematicCaches(adapter: any) {
1153
978
  cacheWetterstationenArray = null;
1154
979
  cachePraesenzmelderArray = null;
1155
980
  cacheWandthermostateArray = null;
1156
- cacheRollladenArray = null; adapter.log(">>> Homematic cache cleared!! <<<");
981
+ cacheRollladenArray = null; adapter.log(">>> Homematic cache cleared!! <<<");
1157
982
  }
1158
983
 
1159
984
  function sortArray(inputArray) {
1160
- inputArray.sort((a,b) => {
985
+ inputArray.sort((a, b) => {
1161
986
  let elementA = a;
1162
987
  let elementB = b;
1163
988
 
@@ -1191,7 +1016,7 @@ function sortArray(inputArray) {
1191
1016
  }
1192
1017
 
1193
1018
  return 0;
1194
- });
1019
+ });
1195
1020
  return inputArray;
1196
1021
  }
1197
1022