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