iobroker-ucl 1.1.8 → 1.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,15 +1,60 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadHomematicDevicesAll = exports.loadHomematicDimmer = exports.loadHomematicHeizkoerper = exports.loadHomematicSteckdosen = exports.loadHomematicWindows = exports.loadHomematicFunktschaltaktoren = exports.loadHomematicRauchmelder = exports.loadHomematicTemperatursensoren = exports.loadHomematicAccessPoints = exports.loadHomematicWandtaster = exports.loadHomematicFussbodenheizungen = exports.loadHomematicWandschalter = exports.loadHomematicDoors = exports.loadHomematicWetterstationen = exports.loadHomematicPraesenzmelder = exports.loadHomematicWandthermostate = exports.loadHomematicRollladen = exports.createHomematicDevice = void 0;
4
- var _a = require('./homematicClasses.js'), HomematicWindow = _a.HomematicWindow, HomematicSteckdose = _a.HomematicSteckdose, HomematicHeizkoerper = _a.HomematicHeizkoerper, HomematicDimmer = _a.HomematicDimmer, HomematicWandthermostat = _a.HomematicWandthermostat, HomematicFussbodenheizung = _a.HomematicFussbodenheizung, HomematicWandschalter = _a.HomematicWandschalter, HomematicDoor = _a.HomematicDoor, HomematicWetterstation = _a.HomematicWetterstation, HomematicAccessPoint = _a.HomematicAccessPoint, HomematicRollladen = _a.HomematicRollladen, HomematicWandtaster = _a.HomematicWandtaster, HomematicTemperatursensor = _a.HomematicTemperatursensor, HomematicRauchmelder = _a.HomematicRauchmelder, HomematicPraesenzmelder = _a.HomematicPraesenzmelder, AbstractHomematic = _a.AbstractHomematic, HomematicFunkschaltaktor = _a.HomematicFunkschaltaktor, deviceHomematicWandthermostat = _a.deviceHomematicWandthermostat, deviceHomematicPraesenzmelder = _a.deviceHomematicPraesenzmelder, deviceHomematicWetterstation = _a.deviceHomematicWetterstation, deviceHomematicDoor = _a.deviceHomematicDoor, deviceHomematicRollladen = _a.deviceHomematicRollladen, deviceHomematicWandschalter = _a.deviceHomematicWandschalter, deviceHomematicFussbodenheizung = _a.deviceHomematicFussbodenheizung, deviceHomematicWandtaster = _a.deviceHomematicWandtaster, deviceHomematicAccessPoint = _a.deviceHomematicAccessPoint, deviceHomematicTemperatursensor = _a.deviceHomematicTemperatursensor, deviceHomematicRauchmelder = _a.deviceHomematicRauchmelder, deviceHomematicFunkSchaltaktor = _a.deviceHomematicFunkSchaltaktor, deviceHomematicWindow = _a.deviceHomematicWindow, deviceHomematicSteckdose = _a.deviceHomematicSteckdose, deviceHomematicHeizkoerper = _a.deviceHomematicHeizkoerper, deviceHomematicDimmer = _a.deviceHomematicDimmer;
3
+ exports.loadHomematicDevicesAll = exports.loadHomematicDimmer = exports.loadHomematicHeizkoerper = exports.loadHomematicSteckdosen = exports.loadHomematicWindows = exports.loadHomematicFunktschaltaktoren = exports.loadHomematicRauchmelder = exports.loadHomematicTemperatursensoren = exports.loadHomematicAccessPoints = exports.loadHomematicWandtaster = exports.loadHomematicFussbodenheizungen = exports.loadHomematicWandschalter = exports.loadHomematicDoors = exports.loadHomematicWetterstationen = exports.loadHomematicPraesenzmelder = exports.loadHomematicWandthermostate = exports.loadHomematicRollladen = exports.createHomeaticWandschalter = exports.createHomeaticDimmer = exports.createHomematicDevice = void 0;
4
+ var _a = require('./homematicClasses.js'), HomematicWindow = _a.HomematicWindow, HomematicSteckdose = _a.HomematicSteckdose, HomematicHeizkoerper = _a.HomematicHeizkoerper, HomematicDimmer = _a.HomematicDimmer, HomematicWandthermostat = _a.HomematicWandthermostat, HomematicFussbodenheizung = _a.HomematicFussbodenheizung, HomematicWandschalter = _a.HomematicWandschalter, HomematicDoor = _a.HomematicDoor, HomematicWetterstation = _a.HomematicWetterstation, HomematicAccessPoint = _a.HomematicAccessPoint, HomematicRollladen = _a.HomematicRollladen, HomematicWandtaster = _a.HomematicWandtaster, HomematicTemperatursensor = _a.HomematicTemperatursensor, HomematicRauchmelder = _a.HomematicRauchmelder, HomematicPraesenzmelder = _a.HomematicPraesenzmelder, AbstractHomematic = _a.AbstractHomematic, HomematicFunkschaltaktor = _a.HomematicFunkschaltaktor, DimmerAlexaScheme = _a.DimmerAlexaScheme, DimmerTasterScheme = _a.DimmerTasterScheme, deviceHomematicWandthermostat = _a.deviceHomematicWandthermostat, deviceHomematicPraesenzmelder = _a.deviceHomematicPraesenzmelder, deviceHomematicWetterstation = _a.deviceHomematicWetterstation, deviceHomematicDoor = _a.deviceHomematicDoor, deviceHomematicRollladen = _a.deviceHomematicRollladen, deviceHomematicWandschalter = _a.deviceHomematicWandschalter, deviceHomematicFussbodenheizung = _a.deviceHomematicFussbodenheizung, deviceHomematicWandtaster = _a.deviceHomematicWandtaster, deviceHomematicAccessPoint = _a.deviceHomematicAccessPoint, deviceHomematicTemperatursensor = _a.deviceHomematicTemperatursensor, deviceHomematicRauchmelder = _a.deviceHomematicRauchmelder, deviceHomematicFunkSchaltaktor = _a.deviceHomematicFunkSchaltaktor, deviceHomematicWindow = _a.deviceHomematicWindow, deviceHomematicSteckdose = _a.deviceHomematicSteckdose, deviceHomematicHeizkoerper = _a.deviceHomematicHeizkoerper, deviceHomematicDimmer = _a.deviceHomematicDimmer;
5
5
  var attributeRawID = "rawId";
6
6
  var attributeBaseState = "baseState";
7
7
  var attributeEtage = "etage";
8
8
  var attributeRaum = "raum";
9
9
  var attributeDevice = "device";
10
10
  var attributeCategory = "category";
11
+ // Datenpunkttyp:
11
12
  var attributeTypeNumber = "number";
12
13
  var attributeTypeString = "string";
14
+ var attributeTypeBoolean = "boolean";
15
+ // Alexa:
16
+ var attribute_AlexaSmartNamesForOn = "alexaSmartNamesForOn";
17
+ var attribute_AlexaActionNamesForOn = "alexaActionNamesForOn";
18
+ var attribute_AlexaSmartNamesForOff = "alexaSmartNamesForOff";
19
+ var attribute_AlexaActionNamesForOff = "alexaActionNamesForOff";
20
+ // Lampen/Steckdosen allgemein:
21
+ var attribute_TasterBooleanOn = "tasterBooleanOn";
22
+ var attribute_TasterBooleanOff = "tasterBooleanOff";
23
+ var attribute_Nachtbeleuchtung = "nachtbeleuchtung";
24
+ var attribute_TurnOffExitHouseSummer = "turnOffExitHouseSummer";
25
+ var attribute_TurnOffExitHouseWinter = "turnOffExitHouseWinter";
26
+ var attribute_TurnOnEnterHouseSummer = "turnOnEnterHouseSummer";
27
+ var attribute_TurnOnEnterHouseWinter = "turnOnEnterHouseWinter";
28
+ // Scheme Dimmer:
29
+ var attributeDimmer_alexaScheme_aktiv = "alexaScheme_aktiv";
30
+ var attributeDimmer_alexaScheme_name = "alexaScheme_name";
31
+ var attributeDimmer_alexaScheme_level = "alexaScheme_level";
32
+ // Scheme Dimmer:
33
+ var attributeDimmer_alexaScheme1_aktiv = "alexaScheme1_aktiv";
34
+ var attributeDimmer_alexaScheme1_name = "alexaScheme1_name";
35
+ var attributeDimmer_alexaScheme1_level = "alexaScheme1_level";
36
+ var attributeDimmer_alexaScheme2_aktiv = "alexaScheme2_aktiv";
37
+ var attributeDimmer_alexaScheme2_name = "alexaScheme2_name";
38
+ var attributeDimmer_alexaScheme2_level = "alexaScheme2_level";
39
+ var attributeDimmer_alexaScheme3_aktiv = "alexaScheme3_aktiv";
40
+ var attributeDimmer_alexaScheme3_name = "alexaScheme3_name";
41
+ var attributeDimmer_alexaScheme3_level = "alexaScheme3_level";
42
+ var attributeDimmer_alexaScheme4_aktiv = "alexaScheme4_aktiv";
43
+ var attributeDimmer_alexaScheme4_name = "alexaScheme4_name";
44
+ var attributeDimmer_alexaScheme4_level = "alexaScheme4_level";
45
+ // Scheme Dimmer:
46
+ var attributeDimmer_tasterScheme1_aktiv = "tasterScheme1_aktiv";
47
+ var attributeDimmer_tasterScheme1_name = "tasterScheme1_name";
48
+ var attributeDimmer_tasterScheme1_level = "tasterScheme1_level";
49
+ var attributeDimmer_tasterScheme2_aktiv = "tasterScheme2_aktiv";
50
+ var attributeDimmer_tasterScheme2_name = "tasterScheme2_name";
51
+ var attributeDimmer_tasterScheme2_level = "tasterScheme2_level";
52
+ var attributeDimmer_tasterScheme3_aktiv = "tasterScheme3_aktiv";
53
+ var attributeDimmer_tasterScheme3_name = "tasterScheme3_name";
54
+ var attributeDimmer_tasterScheme3_level = "tasterScheme3_level";
55
+ var attributeDimmer_tasterScheme4_aktiv = "tasterScheme4_aktiv";
56
+ var attributeDimmer_tasterScheme4_name = "tasterScheme4_name";
57
+ var attributeDimmer_tasterScheme4_level = "tasterScheme4_level";
13
58
  function createHomematicDevice(adapter, rawId, baseState, etage, raum, device, category) {
14
59
  createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRawID, rawId, category);
15
60
  createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeCategory, category, category);
@@ -19,6 +64,224 @@ function createHomematicDevice(adapter, rawId, baseState, etage, raum, device, c
19
64
  createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDevice, device, category);
20
65
  }
21
66
  exports.createHomematicDevice = createHomematicDevice;
67
+ // Dimmer:
68
+ function createHomeaticDimmer(adapter, rawId, baseState, etage, raum, device, alexaSmartNamesForOn, alexaActionNamesForOn, alexaLevelSchemeForOn, alexaSmartNamesForOff, alexaActionNamesForOff, alexaScheme1, alexaScheme2, alexaScheme3, alexaScheme4, tasterBooleanOnScheme1, tasterBooleanOnScheme2, tasterBooleanOnScheme3, tasterBooleanOnScheme4, tasterBooleanOff, nachtbeleuchtung, turnOffExitHouseSummer, turnOffExitHouseWinter, turnOnEnterHouseSummer, turnOnEnterHouseWinter) {
69
+ // Allgemein:
70
+ this.createHomematicDevice(adapter, baseState, etage, raum, device, deviceHomematicDimmer);
71
+ // alexaScheme1: InstanceType<typeof DimmerAlexaScheme>
72
+ if (alexaScheme1 != null) {
73
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme1_aktiv, true, deviceHomematicDimmer);
74
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme1_name, alexaScheme1.getAlexaName(), deviceHomematicDimmer);
75
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme1_level, alexaScheme1.getLevel(), deviceHomematicDimmer);
76
+ }
77
+ else {
78
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme1_aktiv, false, deviceHomematicDimmer);
79
+ }
80
+ // alexaScheme2: InstanceType<typeof DimmerAlexaScheme>
81
+ if (alexaScheme2 != null) {
82
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme2_aktiv, true, deviceHomematicDimmer);
83
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme2_name, alexaScheme1.getAlexaName(), deviceHomematicDimmer);
84
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme2_level, alexaScheme1.getLevel(), deviceHomematicDimmer);
85
+ }
86
+ else {
87
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme2_aktiv, false, deviceHomematicDimmer);
88
+ }
89
+ // alexaScheme3: InstanceType<typeof DimmerAlexaScheme>
90
+ if (alexaScheme3 != null) {
91
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme3_aktiv, true, deviceHomematicDimmer);
92
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme3_name, alexaScheme1.getAlexaName(), deviceHomematicDimmer);
93
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme3_level, alexaScheme1.getLevel(), deviceHomematicDimmer);
94
+ }
95
+ else {
96
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme3_aktiv, false, deviceHomematicDimmer);
97
+ }
98
+ // alexaScheme4: InstanceType<typeof DimmerAlexaScheme>
99
+ if (alexaScheme4 != null) {
100
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme4_aktiv, true, deviceHomematicDimmer);
101
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme4_name, alexaScheme1.getAlexaName(), deviceHomematicDimmer);
102
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme4_level, alexaScheme1.getLevel(), deviceHomematicDimmer);
103
+ }
104
+ else {
105
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme4_aktiv, false, deviceHomematicDimmer);
106
+ }
107
+ if (tasterBooleanOnScheme1 != null) {
108
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme1_aktiv, true, deviceHomematicDimmer);
109
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme1_name, tasterBooleanOnScheme1.getTasterBooleanOnName(), deviceHomematicDimmer);
110
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme1_level, tasterBooleanOnScheme1.getLevel(), deviceHomematicDimmer);
111
+ }
112
+ else {
113
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme1_aktiv, false, deviceHomematicDimmer);
114
+ }
115
+ if (tasterBooleanOnScheme2 != null) {
116
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme2_aktiv, true, deviceHomematicDimmer);
117
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme2_name, tasterBooleanOnScheme1.getTasterBooleanOnName(), deviceHomematicDimmer);
118
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme2_level, tasterBooleanOnScheme1.getLevel(), deviceHomematicDimmer);
119
+ }
120
+ else {
121
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme2_aktiv, false, deviceHomematicDimmer);
122
+ }
123
+ if (tasterBooleanOnScheme3 != null) {
124
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme3_aktiv, true, deviceHomematicDimmer);
125
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme3_name, tasterBooleanOnScheme1.getTasterBooleanOnName(), deviceHomematicDimmer);
126
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme3_level, tasterBooleanOnScheme1.getLevel(), deviceHomematicDimmer);
127
+ }
128
+ else {
129
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme3_aktiv, false, deviceHomematicDimmer);
130
+ }
131
+ if (tasterBooleanOnScheme4 != null) {
132
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme4_aktiv, true, deviceHomematicDimmer);
133
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme4_name, tasterBooleanOnScheme1.getTasterBooleanOnName(), deviceHomematicDimmer);
134
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme4_level, tasterBooleanOnScheme1.getLevel(), deviceHomematicDimmer);
135
+ }
136
+ else {
137
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme4_aktiv, false, deviceHomematicDimmer);
138
+ }
139
+ // alexaLevelSchemeForOn: InstanceType<typeof DimmerAlexaScheme>
140
+ if (alexaLevelSchemeForOn != null) {
141
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv, true, deviceHomematicDimmer);
142
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme_name, alexaLevelSchemeForOn.getAlexaName(), deviceHomematicDimmer);
143
+ createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme_level, alexaLevelSchemeForOn.getLevel(), deviceHomematicDimmer);
144
+ }
145
+ else {
146
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv, false, deviceHomematicDimmer);
147
+ }
148
+ // additionalStates4TurnOff: string[]
149
+ var db_additionalStates4TurnOff = null;
150
+ tasterBooleanOff.forEach(function (value) {
151
+ if (db_additionalStates4TurnOff == null) {
152
+ // @ts-ignore
153
+ db_additionalStates4TurnOff = value;
154
+ }
155
+ else {
156
+ // @ts-ignore
157
+ db_additionalStates4TurnOff += "|" + value;
158
+ }
159
+ });
160
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOff, db_additionalStates4TurnOff, deviceHomematicDimmer);
161
+ // alexaSmartNamesForOn:string[]
162
+ var db_alexaSmartNamesForOn = null;
163
+ alexaSmartNamesForOn.forEach(function (value) {
164
+ if (db_alexaSmartNamesForOn == null) {
165
+ // @ts-ignore
166
+ db_alexaSmartNamesForOn = value;
167
+ }
168
+ else {
169
+ // @ts-ignore
170
+ db_alexaSmartNamesForOn += "|" + value;
171
+ }
172
+ });
173
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOn, db_alexaSmartNamesForOn, deviceHomematicDimmer);
174
+ // alexaActionNamesForOn:string[]
175
+ var db_alexaActionNamesForOn = null;
176
+ alexaActionNamesForOn.forEach(function (value) {
177
+ if (db_alexaActionNamesForOn == null) {
178
+ // @ts-ignore
179
+ db_alexaActionNamesForOn = value;
180
+ }
181
+ else {
182
+ // @ts-ignore
183
+ db_alexaActionNamesForOn += "|" + value;
184
+ }
185
+ });
186
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOn, db_alexaActionNamesForOn, deviceHomematicDimmer);
187
+ // alexaSmartNamesForOff:string[]
188
+ var db_alexaSmartNamesForOff = null;
189
+ alexaSmartNamesForOff.forEach(function (value) {
190
+ if (db_alexaSmartNamesForOff == null) {
191
+ // @ts-ignore
192
+ db_alexaSmartNamesForOff = value;
193
+ }
194
+ else {
195
+ // @ts-ignore
196
+ db_alexaSmartNamesForOff += "|" + value;
197
+ }
198
+ });
199
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOff, db_alexaSmartNamesForOff, deviceHomematicDimmer);
200
+ // alexaActionNamesForOff:string[]
201
+ var db_alexaActionNamesForOff = null;
202
+ alexaActionNamesForOff.forEach(function (value) {
203
+ if (db_alexaActionNamesForOff == null) {
204
+ // @ts-ignore
205
+ db_alexaActionNamesForOff = value;
206
+ }
207
+ else {
208
+ // @ts-ignore
209
+ db_alexaActionNamesForOff += "|" + value;
210
+ }
211
+ });
212
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOff, db_alexaActionNamesForOff, deviceHomematicDimmer);
213
+ // Weitere:
214
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_Nachtbeleuchtung, nachtbeleuchtung, deviceHomematicDimmer);
215
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseSummer, turnOffExitHouseSummer, deviceHomematicDimmer);
216
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseWinter, turnOffExitHouseWinter, deviceHomematicDimmer);
217
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseSummer, turnOnEnterHouseSummer, deviceHomematicDimmer);
218
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseWinter, turnOnEnterHouseWinter, deviceHomematicDimmer);
219
+ }
220
+ exports.createHomeaticDimmer = createHomeaticDimmer;
221
+ // Wandschalter:
222
+ function createHomeaticWandschalter(adapter, rawId, baseState, etage, raum, device, alexaSmartNamesForOn, alexaActionNamesForOn, alexaSmartNamesForOff, alexaActionNamesForOff, nachtbeleuchtung, turnOffExitHouseSummer, turnOffExitHouseWinter, turnOnEnterHouseSummer, turnOnEnterHouseWinter) {
223
+ // Allgemein:
224
+ this.createHomematicDevice(adapter, baseState, etage, raum, device, deviceHomematicWandschalter);
225
+ // alexaSmartNamesForOn:string[]
226
+ var db_alexaSmartNamesForOn = null;
227
+ alexaSmartNamesForOn.forEach(function (value) {
228
+ if (db_alexaSmartNamesForOn == null) {
229
+ // @ts-ignore
230
+ db_alexaSmartNamesForOn = value;
231
+ }
232
+ else {
233
+ // @ts-ignore
234
+ db_alexaSmartNamesForOn += "|" + value;
235
+ }
236
+ });
237
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOn, db_alexaSmartNamesForOn, deviceHomematicWandschalter);
238
+ // alexaActionNamesForOn:string[]
239
+ var db_alexaActionNamesForOn = null;
240
+ alexaActionNamesForOn.forEach(function (value) {
241
+ if (db_alexaActionNamesForOn == null) {
242
+ // @ts-ignore
243
+ db_alexaActionNamesForOn = value;
244
+ }
245
+ else {
246
+ // @ts-ignore
247
+ db_alexaActionNamesForOn += "|" + value;
248
+ }
249
+ });
250
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOn, db_alexaActionNamesForOn, deviceHomematicWandschalter);
251
+ // alexaSmartNamesForOff:string[]
252
+ var db_alexaSmartNamesForOff = null;
253
+ alexaSmartNamesForOff.forEach(function (value) {
254
+ if (db_alexaSmartNamesForOff == null) {
255
+ // @ts-ignore
256
+ db_alexaSmartNamesForOff = value;
257
+ }
258
+ else {
259
+ // @ts-ignore
260
+ db_alexaSmartNamesForOff += "|" + value;
261
+ }
262
+ });
263
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOff, db_alexaSmartNamesForOff, deviceHomematicWandschalter);
264
+ // alexaActionNamesForOff:string[]
265
+ var db_alexaActionNamesForOff = null;
266
+ alexaActionNamesForOff.forEach(function (value) {
267
+ if (db_alexaActionNamesForOff == null) {
268
+ // @ts-ignore
269
+ db_alexaActionNamesForOff = value;
270
+ }
271
+ else {
272
+ // @ts-ignore
273
+ db_alexaActionNamesForOff += "|" + value;
274
+ }
275
+ });
276
+ createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOff, db_alexaActionNamesForOff, deviceHomematicWandschalter);
277
+ // Weitere:
278
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_Nachtbeleuchtung, nachtbeleuchtung, deviceHomematicWandschalter);
279
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseSummer, turnOffExitHouseSummer, deviceHomematicWandschalter);
280
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseWinter, turnOffExitHouseWinter, deviceHomematicWandschalter);
281
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseSummer, turnOnEnterHouseSummer, deviceHomematicWandschalter);
282
+ createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseWinter, turnOnEnterHouseWinter, deviceHomematicWandschalter);
283
+ }
284
+ exports.createHomeaticWandschalter = createHomeaticWandschalter;
22
285
  function createDatenpunktSingle(adapter, deviceRawId, attributeType, attributeName, attributeValue, category) {
23
286
  var stateDatenpunkt = "0_userdata.0.devices.homematic." + category + "." + deviceRawId + "." + attributeName;
24
287
  adapter.createState(stateDatenpunkt, attributeValue, {
@@ -154,7 +417,16 @@ function loadHomematicWandschalter(adapter) {
154
417
  adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
155
418
  adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
156
419
  adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
157
- adapter.getState(datenpunktPraefix + "." + attributeDevice).val // [4] Device (z.B. Stehlampe)
420
+ adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [4] Device (z.B. Stehlampe)
421
+ toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOn).val), // 08 Alexa-Ein
422
+ toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOn).val), // Alexa-Action-Ein, z.B. "Guten morgen" (Würde auch funktionieren, wenn dies bei [06] eingetragen ist)
423
+ toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOff).val), // 09 Alexa-Aus
424
+ toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOff).val), // [10] Alexa-Action Aus, z.B. "Gute Nacht". Wir müssen hier zu [09] unterscheiden, da wir über "Gute Nacht" und isActionTurnedOn=true informiert werden.
425
+ adapter.getState(datenpunktPraefix + "." + attribute_Nachtbeleuchtung).val, // Gehört zur Nachtbeleuchtung ja/nein
426
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseSummer).val, // turnOffExitHouseSummer (Ausschalten, wenn Haus verlassen - Sommer)
427
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseWinter).val, // turnOffExitHouseWinter (Ausschalten, wenn Haus verlassen - Winter)
428
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseSummer).val, // turnOnEnterHouseSummer (Einschalten, wenn Haus betreten - Sommer)
429
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseWinter).val // turnOnEnterHouseWinter (Einschalten, wenn Haus betreten - Winter)
158
430
  ));
159
431
  }
160
432
  });
@@ -369,12 +641,76 @@ function loadHomematicDimmer(adapter) {
369
641
  adapter.$('state[id=0_userdata.0.devices.homematic.*.*.category]').each(function (datenpunktKey) {
370
642
  var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
371
643
  if (adapter.getState(datenpunktKey).val == deviceHomematicDimmer) {
644
+ // Einschalt-Scheme:
645
+ var alexaOnScheme = null;
646
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_aktiv).val == true) {
647
+ // @ts-ignore
648
+ alexaOnScheme = new DimmerAlexaScheme > (null,
649
+ adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_level).val);
650
+ }
651
+ // Weitere Schemes als Array:
652
+ var schemeArray = [];
653
+ // alexaScheme1: InstanceType<typeof DimmerAlexaScheme>
654
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme1_aktiv).val == true) {
655
+ // @ts-ignore
656
+ schemeArray.push(new DimmerAlexaScheme(adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme1_name).val, adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme1_level).val));
657
+ }
658
+ // alexaScheme2: InstanceType<typeof DimmerAlexaScheme>
659
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme2_aktiv).val == true) {
660
+ // @ts-ignore
661
+ schemeArray.push(new DimmerAlexaScheme(adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme2_name).val, adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme2_level).val));
662
+ }
663
+ // alexaScheme3: InstanceType<typeof DimmerAlexaScheme>
664
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme3_aktiv).val == true) {
665
+ // @ts-ignore
666
+ schemeArray.push(new DimmerAlexaScheme(adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme3_name).val, adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme3_level).val));
667
+ }
668
+ // alexaScheme4: InstanceType<typeof DimmerAlexaScheme>
669
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme4_aktiv).val == true) {
670
+ // @ts-ignore
671
+ schemeArray.push(new DimmerAlexaScheme(adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme4_name).val, adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme4_level).val));
672
+ }
673
+ // Weitere Schemes als Array:
674
+ var tasterSchemeArray = [];
675
+ // tasterScheme1: InstanceType<typeof DimmerTasterScheme>
676
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme1_aktiv).val == true) {
677
+ // @ts-ignore
678
+ tasterSchemeArray.push(new DimmerTasterScheme(adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme1_name).val, adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme1_level).val));
679
+ }
680
+ // tasterScheme2: InstanceType<typeof DimmerTasterScheme>
681
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme2_aktiv).val == true) {
682
+ // @ts-ignore
683
+ tasterSchemeArray.push(new DimmerTasterScheme(adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme2_name).val, adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme2_level).val));
684
+ }
685
+ // tasterScheme3: InstanceType<typeof DimmerTasterScheme>
686
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme3_aktiv).val == true) {
687
+ // @ts-ignore
688
+ tasterSchemeArray.push(new DimmerTasterScheme(adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme3_name).val, adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme3_level).val));
689
+ }
690
+ // tasterScheme4: InstanceType<typeof DimmerTasterScheme>
691
+ if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme4_aktiv).val == true) {
692
+ // @ts-ignore
693
+ tasterSchemeArray.push(new DimmerTasterScheme(adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme4_name).val, adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme4_level).val));
694
+ }
372
695
  // @ts-ignore
373
696
  cacheDimmerArray.push(new HomematicDimmer(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
374
697
  adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
375
698
  adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
376
699
  adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
377
- adapter.getState(datenpunktPraefix + "." + attributeDevice).val // [4] Device (z.B. Stehlampe)
700
+ adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [4] Device (z.B. Stehlampe)
701
+ toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOn).val), // 08 Alexa-Ein
702
+ toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOn).val), // Alexa-Action-Ein, z.B. "Guten morgen" (Würde auch funktionieren, wenn dies bei [06] eingetragen ist)
703
+ alexaOnScheme, // [06 A.-Ein-Scheme]
704
+ toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOff).val), // 09 Alexa-Aus
705
+ toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOff).val), // [10] Alexa-Action Aus, z.B. "Gute Nacht". Wir müssen hier zu [09] unterscheiden, da wir über "Gute Nacht" und isActionTurnedOn=true informiert werden.
706
+ schemeArray, // [08 Alexa-Schemes]
707
+ tasterSchemeArray, // /* [09 TasterBoolOn ]
708
+ toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_TasterBooleanOff).val), // 14 TasterBoolOff
709
+ adapter.getState(datenpunktPraefix + "." + attribute_Nachtbeleuchtung).val, // Gehört zur Nachtbeleuchtung ja/nein
710
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseSummer).val, // turnOffExitHouseSummer (Ausschalten, wenn Haus verlassen - Sommer)
711
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseWinter).val, // turnOffExitHouseWinter (Ausschalten, wenn Haus verlassen - Winter)
712
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseSummer).val, // turnOnEnterHouseSummer (Einschalten, wenn Haus betreten - Sommer)
713
+ adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseWinter).val // turnOnEnterHouseWinter (Einschalten, wenn Haus betreten - Winter)
378
714
  ));
379
715
  }
380
716
  });
@@ -456,4 +792,13 @@ function loadHomematicDevicesAll(adapter) {
456
792
  return homematicAllArray;
457
793
  }
458
794
  exports.loadHomematicDevicesAll = loadHomematicDevicesAll;
795
+ function toStringArray(databaseValue) {
796
+ var stringArray = [];
797
+ if (databaseValue == null) {
798
+ return stringArray;
799
+ }
800
+ else {
801
+ return databaseValue.split('|');
802
+ }
803
+ }
459
804
  module.exports = { createHomematicDevice: createHomematicDevice, loadHomematicWandthermostate: loadHomematicWandthermostate, loadHomematicPraesenzmelder: loadHomematicPraesenzmelder, loadHomematicWetterstationen: loadHomematicWetterstationen, loadHomematicDoors: loadHomematicDoors, loadHomematicRollladen: loadHomematicRollladen, loadHomematicWandschalter: loadHomematicWandschalter, loadHomematicFussbodenheizungen: loadHomematicFussbodenheizungen, loadHomematicWandtaster: loadHomematicWandtaster, loadHomematicAccessPoints: loadHomematicAccessPoints, loadHomematicTemperatursensoren: loadHomematicTemperatursensoren, loadHomematicRauchmelder: loadHomematicRauchmelder, loadHomematicFunktschaltaktoren: loadHomematicFunktschaltaktoren, loadHomematicWindows: loadHomematicWindows, loadHomematicSteckdosen: loadHomematicSteckdosen, loadHomematicHeizkoerper: loadHomematicHeizkoerper, loadHomematicDimmer: loadHomematicDimmer, loadHomematicDevicesAll: loadHomematicDevicesAll };