iobroker-ucl 1.3.4 → 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadShellyDevicesAll = exports.loadShellySteckdosen = exports.loadShellyLampenWeiss = exports.loadShellyDimmer = exports.loadShellySensoren = exports.loadShellyRollladen = exports.createShellySteckdose = exports.createShellyLampe = exports.createShellyDimmer = exports.createShellyRollladen = exports.createShellyLampeRGB = exports.createShellySensor = exports.createShellyDevice = void 0;
3
+ exports.loadShellyDevicesAll = exports.loadShellySteckdosen = exports.loadShellyLampenWeiss = exports.loadShellyDimmer = exports.loadShellySensoren = exports.loadShellyRollladen = exports.createShellySteckdose = exports.createShellyLampe = exports.createShellyDimmer = exports.createShellyRollladen = exports.createShellySensor = void 0;
4
4
  var _a = require('./shellyClasses.js'), ShellyLampeWeiss = _a.ShellyLampeWeiss, ShellyDimmerAlexaScheme = _a.ShellyDimmerAlexaScheme, ShellyDimmerTasterScheme = _a.ShellyDimmerTasterScheme, ShellyDimmer = _a.ShellyDimmer, ShellyRGBAlexaScheme = _a.ShellyRGBAlexaScheme, ShellyRGBTasterScheme = _a.ShellyRGBTasterScheme, ShellyLampeRGB = _a.ShellyLampeRGB, ShellySteckdose = _a.ShellySteckdose, ShellyRollladen = _a.ShellyRollladen, ShellySensor = _a.ShellySensor, deviceShellyLampeWeiss = _a.deviceShellyLampeWeiss, deviceShellyDimmer = _a.deviceShellyDimmer, deviceShellyLampeRGB = _a.deviceShellyLampeRGB, deviceShellySteckdose = _a.deviceShellySteckdose, deviceShellyRollladen = _a.deviceShellyRollladen, deviceShellySensor = _a.deviceShellySensor;
5
5
  var attributeRawID = "rawId";
6
6
  var attributeBaseState = "baseState";
@@ -71,7 +71,6 @@ function createShellyDevice(adapter, rawId, etage, raum, device, baseState, cate
71
71
  createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDevice, device, category);
72
72
  clearShellyCaches(adapter);
73
73
  }
74
- exports.createShellyDevice = createShellyDevice;
75
74
  function createDatenpunktSingle(adapter, deviceRawId, attributeType, attributeName, attributeValue, category) {
76
75
  var stateDatenpunkt = "0_userdata.0.devices.shelly." + category + "." + deviceRawId + "." + attributeName;
77
76
  adapter.createState(stateDatenpunkt, attributeValue, {
@@ -85,368 +84,401 @@ function createDatenpunktSingle(adapter, deviceRawId, attributeType, attributeNa
85
84
  console.log("test");
86
85
  // Sensor:
87
86
  function createShellySensor(adapter, rawId, etage, raum, device, baseState) {
88
- // Allgemein:
89
- createShellyDevice(adapter, rawId, etage, raum, device, baseState, deviceShellySensor);
90
- clearShellyCaches(adapter);
87
+ // Bei Update alte States löschen:
88
+ var stateFolderDatenpunkt = "0_userdata.0.devices.shelly." + deviceShellySensor + "." + rawId;
89
+ if (adapter.existsState(stateFolderDatenpunkt)) {
90
+ adapter.deleteState(stateFolderDatenpunkt);
91
+ }
92
+ // Neue States anlegen:
93
+ setTimeout(function () {
94
+ // Allgemein:
95
+ createShellyDevice(adapter, rawId, etage, raum, device, baseState, deviceShellySensor);
96
+ cacheSensorenArray = null;
97
+ }, 200);
91
98
  }
92
99
  exports.createShellySensor = createShellySensor;
93
- // Lampe RGB:
94
- function createShellyLampeRGB(adapter, rawId, etage, raum, device, baseState) {
95
- // Allgemein:
96
- createShellyDevice(adapter, rawId, etage, raum, device, baseState, deviceShellyLampeRGB);
97
- clearShellyCaches(adapter);
98
- }
99
- exports.createShellyLampeRGB = createShellyLampeRGB;
100
100
  // Rollladen:
101
101
  function createShellyRollladen(adapter, rawId, etage, raum, device, baseState) {
102
- // Allgemein:
103
- createShellyDevice(adapter, rawId, etage, raum, device, baseState, deviceShellyRollladen);
104
- clearShellyCaches(adapter);
102
+ // Bei Update alte States löschen:
103
+ var stateFolderDatenpunkt = "0_userdata.0.devices.shelly." + deviceShellyRollladen + "." + rawId;
104
+ if (adapter.existsState(stateFolderDatenpunkt)) {
105
+ adapter.deleteState(stateFolderDatenpunkt);
106
+ }
107
+ // Neue States anlegen:
108
+ setTimeout(function () {
109
+ // Allgemein:
110
+ createShellyDevice(adapter, rawId, etage, raum, device, baseState, deviceShellyRollladen);
111
+ cacheRollladenArray = null;
112
+ }, 200);
105
113
  }
106
114
  exports.createShellyRollladen = createShellyRollladen;
107
115
  // Dimmer:
108
116
  function createShellyDimmer(adapter, rawId, etage, raum, device, baseState, alexaSmartNamesForOn, alexaActionNamesForOn, alexaLevelSchemeForOn, alexaSmartNamesForOff, alexaActionNamesForOff, levelScheme1, levelScheme2, levelScheme3, levelScheme4, tasterBooleanOn1, tasterBooleanOn2, tasterBooleanOn3, tasterBooleanOn4, tasterBooleanOff, nachtbeleuchtung, turnOffExitHouseSummer, turnOffExitHouseWinter, turnOnEnterHouseSummer, turnOnEnterHouseWinter) {
109
- // Allgemein:
110
- createShellyDevice(adapter, rawId, etage, raum, device, baseState, deviceShellyDimmer);
111
- // alexaLevelSchemeForOn: InstanceType<typeof ShellyDimmerAlexaScheme>
112
- if (alexaLevelSchemeForOn != null) {
113
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv, true, deviceShellyDimmer);
114
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme_name, alexaLevelSchemeForOn.getAlexaName(), deviceShellyDimmer);
115
- createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme_level, alexaLevelSchemeForOn.getLevel(), deviceShellyDimmer);
116
- }
117
- else {
118
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv, false, deviceShellyDimmer);
119
- }
120
- // levelScheme1: InstanceType<typeof ShellyDimmerAlexaScheme>
121
- if (levelScheme1 != null) {
122
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv1, true, deviceShellyDimmer);
123
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme_name1, levelScheme1.getAlexaName(), deviceShellyDimmer);
124
- createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme_level1, levelScheme1.getLevel(), deviceShellyDimmer);
125
- }
126
- else {
127
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv1, false, deviceShellyDimmer);
128
- }
129
- // levelScheme2: InstanceType<typeof ShellyDimmerAlexaScheme>
130
- if (levelScheme2 != null) {
131
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv2, true, deviceShellyDimmer);
132
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme_name2, levelScheme2.getAlexaName(), deviceShellyDimmer);
133
- createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme_level2, levelScheme2.getLevel(), deviceShellyDimmer);
134
- }
135
- else {
136
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv2, false, deviceShellyDimmer);
137
- }
138
- // levelScheme3: InstanceType<typeof ShellyDimmerAlexaScheme>
139
- if (levelScheme3 != null) {
140
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv3, true, deviceShellyDimmer);
141
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme_name3, levelScheme3.getAlexaName(), deviceShellyDimmer);
142
- createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme_level3, levelScheme3.getLevel(), deviceShellyDimmer);
143
- }
144
- else {
145
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv3, false, deviceShellyDimmer);
146
- }
147
- // levelScheme4: InstanceType<typeof ShellyDimmerAlexaScheme>
148
- if (levelScheme4 != null) {
149
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv4, true, deviceShellyDimmer);
150
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme_name4, levelScheme4.getAlexaName(), deviceShellyDimmer);
151
- createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme_level4, levelScheme4.getLevel(), deviceShellyDimmer);
117
+ // Bei Update alte States löschen:
118
+ var stateFolderDatenpunkt = "0_userdata.0.devices.shelly." + deviceShellyDimmer + "." + rawId;
119
+ if (adapter.existsState(stateFolderDatenpunkt)) {
120
+ adapter.deleteState(stateFolderDatenpunkt);
152
121
  }
153
- else {
154
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv4, false, deviceShellyDimmer);
155
- }
156
- // tasterBooleanOn1: InstanceType<typeof ShellyDimmerTasterScheme>
157
- if (tasterBooleanOn1 != null) {
158
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv1, true, deviceShellyDimmer);
159
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme_name1, tasterBooleanOn1.getTasterBooleanOnName(), deviceShellyDimmer);
160
- createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme_level1, tasterBooleanOn1.getLevel(), deviceShellyDimmer);
161
- }
162
- else {
163
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv1, false, deviceShellyDimmer);
164
- }
165
- // tasterBooleanOn2: InstanceType<typeof ShellyDimmerTasterScheme>
166
- if (tasterBooleanOn2 != null) {
167
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv2, true, deviceShellyDimmer);
168
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme_name2, tasterBooleanOn1.getTasterBooleanOnName(), deviceShellyDimmer);
169
- createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme_level2, tasterBooleanOn1.getLevel(), deviceShellyDimmer);
170
- }
171
- else {
172
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv2, false, deviceShellyDimmer);
173
- }
174
- // tasterBooleanOn3: InstanceType<typeof ShellyDimmerTasterScheme>
175
- if (tasterBooleanOn3 != null) {
176
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv3, true, deviceShellyDimmer);
177
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme_name3, tasterBooleanOn1.getTasterBooleanOnName(), deviceShellyDimmer);
178
- createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme_level3, tasterBooleanOn1.getLevel(), deviceShellyDimmer);
179
- }
180
- else {
181
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv3, false, deviceShellyDimmer);
182
- }
183
- // tasterBooleanOn4: InstanceType<typeof ShellyDimmerTasterScheme>
184
- if (tasterBooleanOn4 != null) {
185
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv4, true, deviceShellyDimmer);
186
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme_name4, tasterBooleanOn1.getTasterBooleanOnName(), deviceShellyDimmer);
187
- createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme_level4, tasterBooleanOn1.getLevel(), deviceShellyDimmer);
188
- }
189
- else {
190
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv4, false, deviceShellyDimmer);
191
- }
192
- // alexaSmartNamesForOn:string[]
193
- var db_alexaSmartNamesForOn = null;
194
- alexaSmartNamesForOn.forEach(function (value) {
195
- if (db_alexaSmartNamesForOn == null) {
196
- // @ts-ignore
197
- db_alexaSmartNamesForOn = value;
122
+ // Neue States anlegen:
123
+ setTimeout(function () {
124
+ // Allgemein:
125
+ createShellyDevice(adapter, rawId, etage, raum, device, baseState, deviceShellyDimmer);
126
+ // alexaLevelSchemeForOn: InstanceType<typeof ShellyDimmerAlexaScheme>
127
+ if (alexaLevelSchemeForOn != null) {
128
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv, true, deviceShellyDimmer);
129
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme_name, alexaLevelSchemeForOn.getAlexaName(), deviceShellyDimmer);
130
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme_level, alexaLevelSchemeForOn.getLevel(), deviceShellyDimmer);
198
131
  }
199
132
  else {
200
- // @ts-ignore
201
- db_alexaSmartNamesForOn += "|" + value;
133
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv, false, deviceShellyDimmer);
202
134
  }
203
- });
204
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOn, db_alexaSmartNamesForOn, deviceShellyDimmer);
205
- // alexaActionNamesForOn:string[]
206
- var db_alexaActionNamesForOn = null;
207
- alexaActionNamesForOn.forEach(function (value) {
208
- if (db_alexaActionNamesForOn == null) {
209
- // @ts-ignore
210
- db_alexaActionNamesForOn = value;
135
+ // levelScheme1: InstanceType<typeof ShellyDimmerAlexaScheme>
136
+ if (levelScheme1 != null) {
137
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv1, true, deviceShellyDimmer);
138
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme_name1, levelScheme1.getAlexaName(), deviceShellyDimmer);
139
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme_level1, levelScheme1.getLevel(), deviceShellyDimmer);
211
140
  }
212
141
  else {
213
- // @ts-ignore
214
- db_alexaActionNamesForOn += "|" + value;
142
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv1, false, deviceShellyDimmer);
215
143
  }
216
- });
217
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOn, db_alexaActionNamesForOn, deviceShellyDimmer);
218
- // alexaSmartNamesForOff:string[]
219
- var db_alexaSmartNamesForOff = null;
220
- alexaSmartNamesForOff.forEach(function (value) {
221
- if (db_alexaSmartNamesForOff == null) {
222
- // @ts-ignore
223
- db_alexaSmartNamesForOff = value;
144
+ // levelScheme2: InstanceType<typeof ShellyDimmerAlexaScheme>
145
+ if (levelScheme2 != null) {
146
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv2, true, deviceShellyDimmer);
147
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme_name2, levelScheme2.getAlexaName(), deviceShellyDimmer);
148
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme_level2, levelScheme2.getLevel(), deviceShellyDimmer);
224
149
  }
225
150
  else {
226
- // @ts-ignore
227
- db_alexaSmartNamesForOff += "|" + value;
228
- }
229
- });
230
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOff, db_alexaSmartNamesForOff, deviceShellyDimmer);
231
- // alexaActionNamesForOff:string[]
232
- var db_alexaActionNamesForOff = null;
233
- alexaActionNamesForOff.forEach(function (value) {
234
- if (db_alexaActionNamesForOff == null) {
235
- // @ts-ignore
236
- db_alexaActionNamesForOff = value;
237
- }
238
- else {
239
- // @ts-ignore
240
- db_alexaActionNamesForOff += "|" + value;
241
- }
242
- });
243
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOff, db_alexaActionNamesForOff, deviceShellyDimmer);
244
- // additionalStates4TurnOff: string[]
245
- var db_additionalStates4TurnOff = null;
246
- tasterBooleanOff.forEach(function (value) {
247
- if (db_additionalStates4TurnOff == null) {
248
- // @ts-ignore
249
- db_additionalStates4TurnOff = value;
151
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv2, false, deviceShellyDimmer);
250
152
  }
251
- else {
252
- // @ts-ignore
253
- db_additionalStates4TurnOff += "|" + value;
254
- }
255
- });
256
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOff, db_additionalStates4TurnOff, deviceShellyDimmer);
257
- // Weitere:
258
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_Nachtbeleuchtung, nachtbeleuchtung, deviceShellyDimmer);
259
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseSummer, turnOffExitHouseSummer, deviceShellyDimmer);
260
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseWinter, turnOffExitHouseWinter, deviceShellyDimmer);
261
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseSummer, turnOnEnterHouseSummer, deviceShellyDimmer);
262
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseWinter, turnOnEnterHouseWinter, deviceShellyDimmer);
263
- clearShellyCaches(adapter);
264
- }
265
- exports.createShellyDimmer = createShellyDimmer;
266
- // Lampe Weiss:
267
- function createShellyLampe(adapter, rawId, etage, raum, device, baseState, channel, alexaSmartNamesForOn, alexaActionNamesForOn, alexaSmartNamesForOff, alexaActionNamesForOff, additionalStates4TurnOn, additionalStates4TurnOff, nachtbeleuchtung, turnOffExitHouseSummer, turnOffExitHouseWinter, turnOnEnterHouseSummer, turnOnEnterHouseWinter) {
268
- // Allgemein:
269
- createShellyDevice(adapter, rawId, etage, raum, device, baseState, deviceShellyLampeWeiss);
270
- // attributeChannel
271
- createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeChannel, channel, deviceShellyLampeWeiss);
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;
153
+ // levelScheme3: InstanceType<typeof ShellyDimmerAlexaScheme>
154
+ if (levelScheme3 != null) {
155
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv3, true, deviceShellyDimmer);
156
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme_name3, levelScheme3.getAlexaName(), deviceShellyDimmer);
157
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme_level3, levelScheme3.getLevel(), deviceShellyDimmer);
278
158
  }
279
159
  else {
280
- // @ts-ignore
281
- db_alexaSmartNamesForOn += "|" + value;
160
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv3, false, deviceShellyDimmer);
282
161
  }
283
- });
284
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOn, db_alexaSmartNamesForOn, deviceShellyLampeWeiss);
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;
162
+ // levelScheme4: InstanceType<typeof ShellyDimmerAlexaScheme>
163
+ if (levelScheme4 != null) {
164
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv4, true, deviceShellyDimmer);
165
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme_name4, levelScheme4.getAlexaName(), deviceShellyDimmer);
166
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme_level4, levelScheme4.getLevel(), deviceShellyDimmer);
291
167
  }
292
168
  else {
293
- // @ts-ignore
294
- db_alexaActionNamesForOn += "|" + value;
169
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv4, false, deviceShellyDimmer);
295
170
  }
296
- });
297
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOn, db_alexaActionNamesForOn, deviceShellyLampeWeiss);
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;
171
+ // tasterBooleanOn1: InstanceType<typeof ShellyDimmerTasterScheme>
172
+ if (tasterBooleanOn1 != null) {
173
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv1, true, deviceShellyDimmer);
174
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme_name1, tasterBooleanOn1.getTasterBooleanOnName(), deviceShellyDimmer);
175
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme_level1, tasterBooleanOn1.getLevel(), deviceShellyDimmer);
304
176
  }
305
177
  else {
306
- // @ts-ignore
307
- db_alexaSmartNamesForOff += "|" + value;
178
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv1, false, deviceShellyDimmer);
308
179
  }
309
- });
310
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOff, db_alexaSmartNamesForOff, deviceShellyLampeWeiss);
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;
180
+ // tasterBooleanOn2: InstanceType<typeof ShellyDimmerTasterScheme>
181
+ if (tasterBooleanOn2 != null) {
182
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv2, true, deviceShellyDimmer);
183
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme_name2, tasterBooleanOn1.getTasterBooleanOnName(), deviceShellyDimmer);
184
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme_level2, tasterBooleanOn1.getLevel(), deviceShellyDimmer);
317
185
  }
318
186
  else {
319
- // @ts-ignore
320
- db_alexaActionNamesForOff += "|" + value;
187
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv2, false, deviceShellyDimmer);
321
188
  }
322
- });
323
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOff, db_alexaActionNamesForOff, deviceShellyLampeWeiss);
324
- // additionalStates4TurnOn: string[]
325
- var db_additionalStates4TurnOn = null;
326
- additionalStates4TurnOn.forEach(function (value) {
327
- if (db_additionalStates4TurnOn == null) {
328
- // @ts-ignore
329
- db_additionalStates4TurnOn = value;
189
+ // tasterBooleanOn3: InstanceType<typeof ShellyDimmerTasterScheme>
190
+ if (tasterBooleanOn3 != null) {
191
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv3, true, deviceShellyDimmer);
192
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme_name3, tasterBooleanOn1.getTasterBooleanOnName(), deviceShellyDimmer);
193
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme_level3, tasterBooleanOn1.getLevel(), deviceShellyDimmer);
330
194
  }
331
195
  else {
332
- // @ts-ignore
333
- db_additionalStates4TurnOn += "|" + value;
196
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv3, false, deviceShellyDimmer);
334
197
  }
335
- });
336
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOn, db_additionalStates4TurnOn, deviceShellyLampeWeiss);
337
- // additionalStates4TurnOff: string[]
338
- var db_additionalStates4TurnOff = null;
339
- additionalStates4TurnOff.forEach(function (value) {
340
- if (db_additionalStates4TurnOff == null) {
341
- // @ts-ignore
342
- db_additionalStates4TurnOff = value;
198
+ // tasterBooleanOn4: InstanceType<typeof ShellyDimmerTasterScheme>
199
+ if (tasterBooleanOn4 != null) {
200
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv4, true, deviceShellyDimmer);
201
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme_name4, tasterBooleanOn1.getTasterBooleanOnName(), deviceShellyDimmer);
202
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme_level4, tasterBooleanOn1.getLevel(), deviceShellyDimmer);
343
203
  }
344
204
  else {
345
- // @ts-ignore
346
- db_additionalStates4TurnOff += "|" + value;
347
- }
348
- });
349
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOff, db_additionalStates4TurnOff, deviceShellyLampeWeiss);
350
- // Weitere:
351
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_Nachtbeleuchtung, nachtbeleuchtung, deviceShellyLampeWeiss);
352
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseSummer, turnOffExitHouseSummer, deviceShellyLampeWeiss);
353
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseWinter, turnOffExitHouseWinter, deviceShellyLampeWeiss);
354
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseSummer, turnOnEnterHouseSummer, deviceShellyLampeWeiss);
355
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseWinter, turnOnEnterHouseWinter, deviceShellyLampeWeiss);
356
- clearShellyCaches(adapter);
205
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv4, false, deviceShellyDimmer);
206
+ }
207
+ // alexaSmartNamesForOn:string[]
208
+ var db_alexaSmartNamesForOn = null;
209
+ alexaSmartNamesForOn.forEach(function (value) {
210
+ if (db_alexaSmartNamesForOn == null) {
211
+ // @ts-ignore
212
+ db_alexaSmartNamesForOn = value;
213
+ }
214
+ else {
215
+ // @ts-ignore
216
+ db_alexaSmartNamesForOn += "|" + value;
217
+ }
218
+ });
219
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOn, db_alexaSmartNamesForOn, deviceShellyDimmer);
220
+ // alexaActionNamesForOn:string[]
221
+ var db_alexaActionNamesForOn = null;
222
+ alexaActionNamesForOn.forEach(function (value) {
223
+ if (db_alexaActionNamesForOn == null) {
224
+ // @ts-ignore
225
+ db_alexaActionNamesForOn = value;
226
+ }
227
+ else {
228
+ // @ts-ignore
229
+ db_alexaActionNamesForOn += "|" + value;
230
+ }
231
+ });
232
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOn, db_alexaActionNamesForOn, deviceShellyDimmer);
233
+ // alexaSmartNamesForOff:string[]
234
+ var db_alexaSmartNamesForOff = null;
235
+ alexaSmartNamesForOff.forEach(function (value) {
236
+ if (db_alexaSmartNamesForOff == null) {
237
+ // @ts-ignore
238
+ db_alexaSmartNamesForOff = value;
239
+ }
240
+ else {
241
+ // @ts-ignore
242
+ db_alexaSmartNamesForOff += "|" + value;
243
+ }
244
+ });
245
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOff, db_alexaSmartNamesForOff, deviceShellyDimmer);
246
+ // alexaActionNamesForOff:string[]
247
+ var db_alexaActionNamesForOff = null;
248
+ alexaActionNamesForOff.forEach(function (value) {
249
+ if (db_alexaActionNamesForOff == null) {
250
+ // @ts-ignore
251
+ db_alexaActionNamesForOff = value;
252
+ }
253
+ else {
254
+ // @ts-ignore
255
+ db_alexaActionNamesForOff += "|" + value;
256
+ }
257
+ });
258
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOff, db_alexaActionNamesForOff, deviceShellyDimmer);
259
+ // additionalStates4TurnOff: string[]
260
+ var db_additionalStates4TurnOff = null;
261
+ tasterBooleanOff.forEach(function (value) {
262
+ if (db_additionalStates4TurnOff == null) {
263
+ // @ts-ignore
264
+ db_additionalStates4TurnOff = value;
265
+ }
266
+ else {
267
+ // @ts-ignore
268
+ db_additionalStates4TurnOff += "|" + value;
269
+ }
270
+ });
271
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOff, db_additionalStates4TurnOff, deviceShellyDimmer);
272
+ // Weitere:
273
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_Nachtbeleuchtung, nachtbeleuchtung, deviceShellyDimmer);
274
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseSummer, turnOffExitHouseSummer, deviceShellyDimmer);
275
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseWinter, turnOffExitHouseWinter, deviceShellyDimmer);
276
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseSummer, turnOnEnterHouseSummer, deviceShellyDimmer);
277
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseWinter, turnOnEnterHouseWinter, deviceShellyDimmer);
278
+ cacheDimmerArray = null;
279
+ }, 200);
280
+ }
281
+ exports.createShellyDimmer = createShellyDimmer;
282
+ // Lampe Weiss:
283
+ function createShellyLampe(adapter, rawId, etage, raum, device, baseState, channel, alexaSmartNamesForOn, alexaActionNamesForOn, alexaSmartNamesForOff, alexaActionNamesForOff, additionalStates4TurnOn, additionalStates4TurnOff, nachtbeleuchtung, turnOffExitHouseSummer, turnOffExitHouseWinter, turnOnEnterHouseSummer, turnOnEnterHouseWinter) {
284
+ // Bei Update alte States löschen:
285
+ var stateFolderDatenpunkt = "0_userdata.0.devices.shelly." + deviceShellyLampeWeiss + "." + rawId;
286
+ if (adapter.existsState(stateFolderDatenpunkt)) {
287
+ adapter.deleteState(stateFolderDatenpunkt);
288
+ }
289
+ // Neue States anlegen:
290
+ setTimeout(function () {
291
+ // Allgemein:
292
+ createShellyDevice(adapter, rawId, etage, raum, device, baseState, deviceShellyLampeWeiss);
293
+ // attributeChannel
294
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeChannel, channel, deviceShellyLampeWeiss);
295
+ // alexaSmartNamesForOn:string[]
296
+ var db_alexaSmartNamesForOn = null;
297
+ alexaSmartNamesForOn.forEach(function (value) {
298
+ if (db_alexaSmartNamesForOn == null) {
299
+ // @ts-ignore
300
+ db_alexaSmartNamesForOn = value;
301
+ }
302
+ else {
303
+ // @ts-ignore
304
+ db_alexaSmartNamesForOn += "|" + value;
305
+ }
306
+ });
307
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOn, db_alexaSmartNamesForOn, deviceShellyLampeWeiss);
308
+ // alexaActionNamesForOn:string[]
309
+ var db_alexaActionNamesForOn = null;
310
+ alexaActionNamesForOn.forEach(function (value) {
311
+ if (db_alexaActionNamesForOn == null) {
312
+ // @ts-ignore
313
+ db_alexaActionNamesForOn = value;
314
+ }
315
+ else {
316
+ // @ts-ignore
317
+ db_alexaActionNamesForOn += "|" + value;
318
+ }
319
+ });
320
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOn, db_alexaActionNamesForOn, deviceShellyLampeWeiss);
321
+ // alexaSmartNamesForOff:string[]
322
+ var db_alexaSmartNamesForOff = null;
323
+ alexaSmartNamesForOff.forEach(function (value) {
324
+ if (db_alexaSmartNamesForOff == null) {
325
+ // @ts-ignore
326
+ db_alexaSmartNamesForOff = value;
327
+ }
328
+ else {
329
+ // @ts-ignore
330
+ db_alexaSmartNamesForOff += "|" + value;
331
+ }
332
+ });
333
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOff, db_alexaSmartNamesForOff, deviceShellyLampeWeiss);
334
+ // alexaActionNamesForOff:string[]
335
+ var db_alexaActionNamesForOff = null;
336
+ alexaActionNamesForOff.forEach(function (value) {
337
+ if (db_alexaActionNamesForOff == null) {
338
+ // @ts-ignore
339
+ db_alexaActionNamesForOff = value;
340
+ }
341
+ else {
342
+ // @ts-ignore
343
+ db_alexaActionNamesForOff += "|" + value;
344
+ }
345
+ });
346
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOff, db_alexaActionNamesForOff, deviceShellyLampeWeiss);
347
+ // additionalStates4TurnOn: string[]
348
+ var db_additionalStates4TurnOn = null;
349
+ additionalStates4TurnOn.forEach(function (value) {
350
+ if (db_additionalStates4TurnOn == null) {
351
+ // @ts-ignore
352
+ db_additionalStates4TurnOn = value;
353
+ }
354
+ else {
355
+ // @ts-ignore
356
+ db_additionalStates4TurnOn += "|" + value;
357
+ }
358
+ });
359
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOn, db_additionalStates4TurnOn, deviceShellyLampeWeiss);
360
+ // additionalStates4TurnOff: string[]
361
+ var db_additionalStates4TurnOff = null;
362
+ additionalStates4TurnOff.forEach(function (value) {
363
+ if (db_additionalStates4TurnOff == null) {
364
+ // @ts-ignore
365
+ db_additionalStates4TurnOff = value;
366
+ }
367
+ else {
368
+ // @ts-ignore
369
+ db_additionalStates4TurnOff += "|" + value;
370
+ }
371
+ });
372
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOff, db_additionalStates4TurnOff, deviceShellyLampeWeiss);
373
+ // Weitere:
374
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_Nachtbeleuchtung, nachtbeleuchtung, deviceShellyLampeWeiss);
375
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseSummer, turnOffExitHouseSummer, deviceShellyLampeWeiss);
376
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseWinter, turnOffExitHouseWinter, deviceShellyLampeWeiss);
377
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseSummer, turnOnEnterHouseSummer, deviceShellyLampeWeiss);
378
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseWinter, turnOnEnterHouseWinter, deviceShellyLampeWeiss);
379
+ cacheLampenWeissArray = null;
380
+ }, 200);
357
381
  }
358
382
  exports.createShellyLampe = createShellyLampe;
359
383
  // Steckdose:
360
384
  function createShellySteckdose(adapter, rawId, etage, raum, device, baseState, channel, alexaSmartNamesForOn, alexaActionNamesForOn, alexaSmartNamesForOff, alexaActionNamesForOff, additionalStates4TurnOn, additionalStates4TurnOff, nachtbeleuchtung, turnOffExitHouseSummer, turnOffExitHouseWinter, turnOnEnterHouseSummer, turnOnEnterHouseWinter) {
361
- // Allgemein:
362
- createShellyDevice(adapter, rawId, etage, raum, device, baseState, deviceShellySteckdose);
363
- // attributeChannel
364
- createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeChannel, channel, deviceShellySteckdose);
365
- // alexaSmartNamesForOn:string[]
366
- var db_alexaSmartNamesForOn = null;
367
- alexaSmartNamesForOn.forEach(function (value) {
368
- if (db_alexaSmartNamesForOn == null) {
369
- // @ts-ignore
370
- db_alexaSmartNamesForOn = value;
371
- }
372
- else {
373
- // @ts-ignore
374
- db_alexaSmartNamesForOn += "|" + value;
375
- }
376
- });
377
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOn, db_alexaSmartNamesForOn, deviceShellySteckdose);
378
- // alexaActionNamesForOn:string[]
379
- var db_alexaActionNamesForOn = null;
380
- alexaActionNamesForOn.forEach(function (value) {
381
- if (db_alexaActionNamesForOn == null) {
382
- // @ts-ignore
383
- db_alexaActionNamesForOn = value;
384
- }
385
- else {
386
- // @ts-ignore
387
- db_alexaActionNamesForOn += "|" + value;
388
- }
389
- });
390
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOn, db_alexaActionNamesForOn, deviceShellySteckdose);
391
- // alexaSmartNamesForOff:string[]
392
- var db_alexaSmartNamesForOff = null;
393
- alexaSmartNamesForOff.forEach(function (value) {
394
- if (db_alexaSmartNamesForOff == null) {
395
- // @ts-ignore
396
- db_alexaSmartNamesForOff = value;
397
- }
398
- else {
399
- // @ts-ignore
400
- db_alexaSmartNamesForOff += "|" + value;
401
- }
402
- });
403
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOff, db_alexaSmartNamesForOff, deviceShellySteckdose);
404
- // alexaActionNamesForOff:string[]
405
- var db_alexaActionNamesForOff = null;
406
- alexaActionNamesForOff.forEach(function (value) {
407
- if (db_alexaActionNamesForOff == null) {
408
- // @ts-ignore
409
- db_alexaActionNamesForOff = value;
410
- }
411
- else {
412
- // @ts-ignore
413
- db_alexaActionNamesForOff += "|" + value;
414
- }
415
- });
416
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOff, db_alexaActionNamesForOff, deviceShellySteckdose);
417
- // additionalStates4TurnOn: string[]
418
- var db_additionalStates4TurnOn = null;
419
- additionalStates4TurnOn.forEach(function (value) {
420
- if (db_additionalStates4TurnOn == null) {
421
- // @ts-ignore
422
- db_additionalStates4TurnOn = value;
423
- }
424
- else {
425
- // @ts-ignore
426
- db_additionalStates4TurnOn += "|" + value;
427
- }
428
- });
429
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOn, db_additionalStates4TurnOn, deviceShellySteckdose);
430
- // additionalStates4TurnOff: string[]
431
- var db_additionalStates4TurnOff = null;
432
- additionalStates4TurnOff.forEach(function (value) {
433
- if (db_additionalStates4TurnOff == null) {
434
- // @ts-ignore
435
- db_additionalStates4TurnOff = value;
436
- }
437
- else {
438
- // @ts-ignore
439
- db_additionalStates4TurnOff += "|" + value;
440
- }
441
- });
442
- createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOff, db_additionalStates4TurnOff, deviceShellySteckdose);
443
- // Weitere:
444
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_Nachtbeleuchtung, nachtbeleuchtung, deviceShellySteckdose);
445
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseSummer, turnOffExitHouseSummer, deviceShellySteckdose);
446
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseWinter, turnOffExitHouseWinter, deviceShellySteckdose);
447
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseSummer, turnOnEnterHouseSummer, deviceShellySteckdose);
448
- createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseWinter, turnOnEnterHouseWinter, deviceShellySteckdose);
449
- clearShellyCaches(adapter);
385
+ // Bei Update alte States löschen:
386
+ var stateFolderDatenpunkt = "0_userdata.0.devices.shelly." + deviceShellySteckdose + "." + rawId;
387
+ if (adapter.existsState(stateFolderDatenpunkt)) {
388
+ adapter.deleteState(stateFolderDatenpunkt);
389
+ }
390
+ // Neue States anlegen:
391
+ setTimeout(function () {
392
+ // Allgemein:
393
+ createShellyDevice(adapter, rawId, etage, raum, device, baseState, deviceShellySteckdose);
394
+ // attributeChannel
395
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeChannel, channel, deviceShellySteckdose);
396
+ // alexaSmartNamesForOn:string[]
397
+ var db_alexaSmartNamesForOn = null;
398
+ alexaSmartNamesForOn.forEach(function (value) {
399
+ if (db_alexaSmartNamesForOn == null) {
400
+ // @ts-ignore
401
+ db_alexaSmartNamesForOn = value;
402
+ }
403
+ else {
404
+ // @ts-ignore
405
+ db_alexaSmartNamesForOn += "|" + value;
406
+ }
407
+ });
408
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOn, db_alexaSmartNamesForOn, deviceShellySteckdose);
409
+ // alexaActionNamesForOn:string[]
410
+ var db_alexaActionNamesForOn = null;
411
+ alexaActionNamesForOn.forEach(function (value) {
412
+ if (db_alexaActionNamesForOn == null) {
413
+ // @ts-ignore
414
+ db_alexaActionNamesForOn = value;
415
+ }
416
+ else {
417
+ // @ts-ignore
418
+ db_alexaActionNamesForOn += "|" + value;
419
+ }
420
+ });
421
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOn, db_alexaActionNamesForOn, deviceShellySteckdose);
422
+ // alexaSmartNamesForOff:string[]
423
+ var db_alexaSmartNamesForOff = null;
424
+ alexaSmartNamesForOff.forEach(function (value) {
425
+ if (db_alexaSmartNamesForOff == null) {
426
+ // @ts-ignore
427
+ db_alexaSmartNamesForOff = value;
428
+ }
429
+ else {
430
+ // @ts-ignore
431
+ db_alexaSmartNamesForOff += "|" + value;
432
+ }
433
+ });
434
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOff, db_alexaSmartNamesForOff, deviceShellySteckdose);
435
+ // alexaActionNamesForOff:string[]
436
+ var db_alexaActionNamesForOff = null;
437
+ alexaActionNamesForOff.forEach(function (value) {
438
+ if (db_alexaActionNamesForOff == null) {
439
+ // @ts-ignore
440
+ db_alexaActionNamesForOff = value;
441
+ }
442
+ else {
443
+ // @ts-ignore
444
+ db_alexaActionNamesForOff += "|" + value;
445
+ }
446
+ });
447
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOff, db_alexaActionNamesForOff, deviceShellySteckdose);
448
+ // additionalStates4TurnOn: string[]
449
+ var db_additionalStates4TurnOn = null;
450
+ additionalStates4TurnOn.forEach(function (value) {
451
+ if (db_additionalStates4TurnOn == null) {
452
+ // @ts-ignore
453
+ db_additionalStates4TurnOn = value;
454
+ }
455
+ else {
456
+ // @ts-ignore
457
+ db_additionalStates4TurnOn += "|" + value;
458
+ }
459
+ });
460
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOn, db_additionalStates4TurnOn, deviceShellySteckdose);
461
+ // additionalStates4TurnOff: string[]
462
+ var db_additionalStates4TurnOff = null;
463
+ additionalStates4TurnOff.forEach(function (value) {
464
+ if (db_additionalStates4TurnOff == null) {
465
+ // @ts-ignore
466
+ db_additionalStates4TurnOff = value;
467
+ }
468
+ else {
469
+ // @ts-ignore
470
+ db_additionalStates4TurnOff += "|" + value;
471
+ }
472
+ });
473
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOff, db_additionalStates4TurnOff, deviceShellySteckdose);
474
+ // Weitere:
475
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_Nachtbeleuchtung, nachtbeleuchtung, deviceShellySteckdose);
476
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseSummer, turnOffExitHouseSummer, deviceShellySteckdose);
477
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseWinter, turnOffExitHouseWinter, deviceShellySteckdose);
478
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseSummer, turnOnEnterHouseSummer, deviceShellySteckdose);
479
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseWinter, turnOnEnterHouseWinter, deviceShellySteckdose);
480
+ clearShellyCaches(adapter);
481
+ }, 200);
450
482
  }
451
483
  exports.createShellySteckdose = createShellySteckdose;
452
484
  var cacheRollladenArray = null;
@@ -495,28 +527,6 @@ function loadShellySensoren(adapter) {
495
527
  return cacheSensorenArray;
496
528
  }
497
529
  exports.loadShellySensoren = loadShellySensoren;
498
- /*var cacheLampenRGBArray = null;
499
- export function loadShellyLampenRGB(adapter: any) {
500
- if (cacheLampenRGBArray != null) {
501
- return cacheLampenRGBArray;
502
- }
503
- // @ts-ignore
504
- cacheLampenRGBArray = [];
505
- adapter.$('state[id=0_userdata.0.devices.shelly.*.*.category]').each(datenpunktKey => {
506
- var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
507
- if (adapter.getState(datenpunktKey).val == deviceShellyLampeRGB) {
508
- // @ts-ignore
509
- cacheLampenRGBArray.push(new ShellySensor(adapter,
510
- adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
511
- adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [1] Etage/Bereich (z.B. EG)
512
- adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [2] Raum/Unterbereich (z.B. Wohnzimmer)
513
- adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [3] Device (z.B. Stehlampe)
514
- adapter.getState(datenpunktPraefix + "." + attributeBaseState).val // [4] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
515
- ));
516
- }
517
- });
518
- return cacheLampenRGBArray;
519
- }*/
520
530
  var cacheDimmerArray = null;
521
531
  function loadShellyDimmer(adapter) {
522
532
  if (cacheDimmerArray != null) {
@@ -768,4 +778,4 @@ function getEtageSortIndex(etage) {
768
778
  return "d";
769
779
  }
770
780
  }
771
- module.exports = { createShellyDevice: createShellyDevice, createShellySensor: createShellySensor, createShellyLampeRGB: createShellyLampeRGB, createShellyRollladen: createShellyRollladen, createShellyDimmer: createShellyDimmer, createShellyLampe: createShellyLampe, createShellySteckdose: createShellySteckdose, loadShellyRollladen: loadShellyRollladen, loadShellySensoren: loadShellySensoren, loadShellyDimmer: loadShellyDimmer, loadShellyLampenWeiss: loadShellyLampenWeiss, loadShellySteckdosen: loadShellySteckdosen, loadShellyDevicesAll: loadShellyDevicesAll, clearShellyCaches: clearShellyCaches };
781
+ module.exports = { createShellyDevice: createShellyDevice, createShellySensor: createShellySensor, createShellyRollladen: createShellyRollladen, createShellyDimmer: createShellyDimmer, createShellyLampe: createShellyLampe, createShellySteckdose: createShellySteckdose, loadShellyRollladen: loadShellyRollladen, loadShellySensoren: loadShellySensoren, loadShellyDimmer: loadShellyDimmer, loadShellyLampenWeiss: loadShellyLampenWeiss, loadShellySteckdosen: loadShellySteckdosen, loadShellyDevicesAll: loadShellyDevicesAll, clearShellyCaches: clearShellyCaches };