iobroker-ucl 1.1.9 → 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.
- package/!!!_INSTRUCTIONS_!!!.ts +6 -2
- package/homematicClasses.js +448 -72
- package/homematicClasses.ts +515 -74
- package/homematicFunctions.js +349 -4
- package/homematicFunctions.ts +410 -8
- package/main.js +36 -2
- package/main.ts +12 -3
- package/package.json +12 -12
- package/shellyClasses.js +756 -0
- package/shellyClasses.ts +873 -0
- package/shellyFunctions.js +694 -0
- package/shellyFunctions.ts +778 -0
- package/test.js +8 -9
- package/test.ts +8 -9
- package/zigbeeFunctions.js +0 -1
- package/zigbeeFunctions.ts +0 -2
@@ -0,0 +1,694 @@
|
|
1
|
+
"use strict";
|
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;
|
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
|
+
var attributeRawID = "rawId";
|
6
|
+
var attributeBaseState = "baseState";
|
7
|
+
var attributeEtage = "etage";
|
8
|
+
var attributeRaum = "raum";
|
9
|
+
var attributeDevice = "device";
|
10
|
+
var attributeCategory = "category";
|
11
|
+
// Datenpunkttyp:
|
12
|
+
var attributeTypeNumber = "number";
|
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 1:
|
33
|
+
var attributeDimmer_alexaScheme_aktiv1 = "alexaScheme1_aktiv";
|
34
|
+
var attributeDimmer_alexaScheme_name1 = "alexaScheme1_name";
|
35
|
+
var attributeDimmer_alexaScheme_level1 = "alexaScheme1_level";
|
36
|
+
// Scheme Dimmer 2:
|
37
|
+
var attributeDimmer_alexaScheme_aktiv2 = "alexaScheme2_aktiv";
|
38
|
+
var attributeDimmer_alexaScheme_name2 = "alexaScheme2_name";
|
39
|
+
var attributeDimmer_alexaScheme_level2 = "alexaScheme2_level";
|
40
|
+
// Scheme Dimmer 3:
|
41
|
+
var attributeDimmer_alexaScheme_aktiv3 = "alexaScheme3_aktiv";
|
42
|
+
var attributeDimmer_alexaScheme_name3 = "alexaScheme3_name";
|
43
|
+
var attributeDimmer_alexaScheme_level3 = "alexaScheme3_level";
|
44
|
+
// Scheme Dimmer 4:
|
45
|
+
var attributeDimmer_alexaScheme_aktiv4 = "alexaScheme4_aktiv";
|
46
|
+
var attributeDimmer_alexaScheme_name4 = "alexaScheme4_name";
|
47
|
+
var attributeDimmer_alexaScheme_level4 = "alexaScheme4_level";
|
48
|
+
// Taster Scheme Dimmer 1:
|
49
|
+
var attributeDimmer_tasterScheme_aktiv1 = "tasterScheme1_aktiv";
|
50
|
+
var attributeDimmer_tasterScheme_name1 = "tasterScheme1_name";
|
51
|
+
var attributeDimmer_tasterScheme_level1 = "tasterScheme1_level";
|
52
|
+
// Taster Scheme Dimmer 2:
|
53
|
+
var attributeDimmer_tasterScheme_aktiv2 = "tasterScheme2_aktiv";
|
54
|
+
var attributeDimmer_tasterScheme_name2 = "tasterScheme2_name";
|
55
|
+
var attributeDimmer_tasterScheme_level2 = "tasterScheme2_level";
|
56
|
+
// Taster Scheme Dimmer 3:
|
57
|
+
var attributeDimmer_tasterScheme_aktiv3 = "tasterScheme3_aktiv";
|
58
|
+
var attributeDimmer_tasterScheme_name3 = "tasterScheme3_name";
|
59
|
+
var attributeDimmer_tasterScheme_level3 = "tasterScheme3_level";
|
60
|
+
// Taster Scheme Dimmer 4:
|
61
|
+
var attributeDimmer_tasterScheme_aktiv4 = "tasterScheme4_aktiv";
|
62
|
+
var attributeDimmer_tasterScheme_name4 = "tasterScheme4_name";
|
63
|
+
var attributeDimmer_tasterScheme_level4 = "tasterScheme4_level";
|
64
|
+
function createShellyDevice(adapter, rawId, etage, raum, device, baseState, category) {
|
65
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeRawID, rawId, category);
|
66
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeCategory, category, category);
|
67
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeBaseState, baseState, category);
|
68
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeEtage, etage, category);
|
69
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeRaum, raum, category);
|
70
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDevice, device, category);
|
71
|
+
}
|
72
|
+
exports.createShellyDevice = createShellyDevice;
|
73
|
+
function createDatenpunktSingle(adapter, deviceRawId, attributeType, attributeName, attributeValue, category) {
|
74
|
+
var stateDatenpunkt = "0_userdata.0.devices.shelly." + category + "." + deviceRawId + "." + attributeName;
|
75
|
+
adapter.createState(stateDatenpunkt, attributeValue, {
|
76
|
+
name: "S" + deviceRawId.toString().padStart(2, '0'),
|
77
|
+
desc: "",
|
78
|
+
type: attributeType,
|
79
|
+
read: true,
|
80
|
+
write: true
|
81
|
+
});
|
82
|
+
}
|
83
|
+
// Sensor:
|
84
|
+
function createShellySensor(adapter, rawId, etage, raum, device, baseState) {
|
85
|
+
// Allgemein:
|
86
|
+
this.createShellyDevice(adapter, baseState, etage, raum, device, deviceShellySensor);
|
87
|
+
}
|
88
|
+
exports.createShellySensor = createShellySensor;
|
89
|
+
// Lampe RGB:
|
90
|
+
function createShellyLampeRGB(adapter, rawId, etage, raum, device, baseState) {
|
91
|
+
// Allgemein:
|
92
|
+
this.createShellyDevice(adapter, baseState, etage, raum, device, deviceShellyLampeRGB);
|
93
|
+
}
|
94
|
+
exports.createShellyLampeRGB = createShellyLampeRGB;
|
95
|
+
// Rollladen:
|
96
|
+
function createShellyRollladen(adapter, rawId, etage, raum, device, baseState) {
|
97
|
+
// Allgemein:
|
98
|
+
this.createShellyDevice(adapter, baseState, etage, raum, device, deviceShellyRollladen);
|
99
|
+
}
|
100
|
+
exports.createShellyRollladen = createShellyRollladen;
|
101
|
+
// Dimmer:
|
102
|
+
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) {
|
103
|
+
// Allgemein:
|
104
|
+
this.createShellyDevice(adapter, baseState, etage, raum, device, deviceShellyDimmer);
|
105
|
+
// alexaLevelSchemeForOn: InstanceType<typeof ShellyDimmerAlexaScheme>
|
106
|
+
if (alexaLevelSchemeForOn != null) {
|
107
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv, true, deviceShellyDimmer);
|
108
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme_name, alexaLevelSchemeForOn.getAlexaName(), deviceShellyDimmer);
|
109
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme_level, alexaLevelSchemeForOn.getLevel(), deviceShellyDimmer);
|
110
|
+
}
|
111
|
+
else {
|
112
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv, false, deviceShellyDimmer);
|
113
|
+
}
|
114
|
+
// levelScheme1: InstanceType<typeof ShellyDimmerAlexaScheme>
|
115
|
+
if (levelScheme1 != null) {
|
116
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv1, true, deviceShellyDimmer);
|
117
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme_name1, levelScheme1.getAlexaName(), deviceShellyDimmer);
|
118
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme_level1, levelScheme1.getLevel(), deviceShellyDimmer);
|
119
|
+
}
|
120
|
+
else {
|
121
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv1, false, deviceShellyDimmer);
|
122
|
+
}
|
123
|
+
// levelScheme2: InstanceType<typeof ShellyDimmerAlexaScheme>
|
124
|
+
if (levelScheme2 != null) {
|
125
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv2, true, deviceShellyDimmer);
|
126
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme_name2, levelScheme2.getAlexaName(), deviceShellyDimmer);
|
127
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme_level2, levelScheme2.getLevel(), deviceShellyDimmer);
|
128
|
+
}
|
129
|
+
else {
|
130
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv2, false, deviceShellyDimmer);
|
131
|
+
}
|
132
|
+
// levelScheme3: InstanceType<typeof ShellyDimmerAlexaScheme>
|
133
|
+
if (levelScheme3 != null) {
|
134
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv3, true, deviceShellyDimmer);
|
135
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme_name3, levelScheme3.getAlexaName(), deviceShellyDimmer);
|
136
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme_level3, levelScheme3.getLevel(), deviceShellyDimmer);
|
137
|
+
}
|
138
|
+
else {
|
139
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv3, false, deviceShellyDimmer);
|
140
|
+
}
|
141
|
+
// levelScheme4: InstanceType<typeof ShellyDimmerAlexaScheme>
|
142
|
+
if (levelScheme4 != null) {
|
143
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv4, true, deviceShellyDimmer);
|
144
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_alexaScheme_name4, levelScheme4.getAlexaName(), deviceShellyDimmer);
|
145
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_alexaScheme_level4, levelScheme4.getLevel(), deviceShellyDimmer);
|
146
|
+
}
|
147
|
+
else {
|
148
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_alexaScheme_aktiv4, false, deviceShellyDimmer);
|
149
|
+
}
|
150
|
+
// tasterBooleanOn1: InstanceType<typeof ShellyDimmerTasterScheme>
|
151
|
+
if (tasterBooleanOn1 != null) {
|
152
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv1, true, deviceShellyDimmer);
|
153
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme_name1, tasterBooleanOn1.getTasterBooleanOnName(), deviceShellyDimmer);
|
154
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme_level1, tasterBooleanOn1.getLevel(), deviceShellyDimmer);
|
155
|
+
}
|
156
|
+
else {
|
157
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv1, false, deviceShellyDimmer);
|
158
|
+
}
|
159
|
+
// tasterBooleanOn2: InstanceType<typeof ShellyDimmerTasterScheme>
|
160
|
+
if (tasterBooleanOn2 != null) {
|
161
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv2, true, deviceShellyDimmer);
|
162
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme_name2, tasterBooleanOn1.getTasterBooleanOnName(), deviceShellyDimmer);
|
163
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme_level2, tasterBooleanOn1.getLevel(), deviceShellyDimmer);
|
164
|
+
}
|
165
|
+
else {
|
166
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv2, false, deviceShellyDimmer);
|
167
|
+
}
|
168
|
+
// tasterBooleanOn3: InstanceType<typeof ShellyDimmerTasterScheme>
|
169
|
+
if (tasterBooleanOn3 != null) {
|
170
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv3, true, deviceShellyDimmer);
|
171
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme_name3, tasterBooleanOn1.getTasterBooleanOnName(), deviceShellyDimmer);
|
172
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme_level3, tasterBooleanOn1.getLevel(), deviceShellyDimmer);
|
173
|
+
}
|
174
|
+
else {
|
175
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv3, false, deviceShellyDimmer);
|
176
|
+
}
|
177
|
+
// tasterBooleanOn4: InstanceType<typeof ShellyDimmerTasterScheme>
|
178
|
+
if (tasterBooleanOn4 != null) {
|
179
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv4, true, deviceShellyDimmer);
|
180
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attributeDimmer_tasterScheme_name4, tasterBooleanOn1.getTasterBooleanOnName(), deviceShellyDimmer);
|
181
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeDimmer_tasterScheme_level4, tasterBooleanOn1.getLevel(), deviceShellyDimmer);
|
182
|
+
}
|
183
|
+
else {
|
184
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeDimmer_tasterScheme_aktiv4, false, deviceShellyDimmer);
|
185
|
+
}
|
186
|
+
// alexaSmartNamesForOn:string[]
|
187
|
+
var db_alexaSmartNamesForOn = null;
|
188
|
+
alexaSmartNamesForOn.forEach(function (value) {
|
189
|
+
if (db_alexaSmartNamesForOn == null) {
|
190
|
+
// @ts-ignore
|
191
|
+
db_alexaSmartNamesForOn = value;
|
192
|
+
}
|
193
|
+
else {
|
194
|
+
// @ts-ignore
|
195
|
+
db_alexaSmartNamesForOn += "|" + value;
|
196
|
+
}
|
197
|
+
});
|
198
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOn, db_alexaSmartNamesForOn, deviceShellyDimmer);
|
199
|
+
// alexaActionNamesForOn:string[]
|
200
|
+
var db_alexaActionNamesForOn = null;
|
201
|
+
alexaActionNamesForOn.forEach(function (value) {
|
202
|
+
if (db_alexaActionNamesForOn == null) {
|
203
|
+
// @ts-ignore
|
204
|
+
db_alexaActionNamesForOn = value;
|
205
|
+
}
|
206
|
+
else {
|
207
|
+
// @ts-ignore
|
208
|
+
db_alexaActionNamesForOn += "|" + value;
|
209
|
+
}
|
210
|
+
});
|
211
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOn, db_alexaActionNamesForOn, deviceShellyDimmer);
|
212
|
+
// alexaSmartNamesForOff:string[]
|
213
|
+
var db_alexaSmartNamesForOff = null;
|
214
|
+
alexaSmartNamesForOff.forEach(function (value) {
|
215
|
+
if (db_alexaSmartNamesForOff == null) {
|
216
|
+
// @ts-ignore
|
217
|
+
db_alexaSmartNamesForOff = value;
|
218
|
+
}
|
219
|
+
else {
|
220
|
+
// @ts-ignore
|
221
|
+
db_alexaSmartNamesForOff += "|" + value;
|
222
|
+
}
|
223
|
+
});
|
224
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOff, db_alexaSmartNamesForOff, deviceShellyDimmer);
|
225
|
+
// alexaActionNamesForOff:string[]
|
226
|
+
var db_alexaActionNamesForOff = null;
|
227
|
+
alexaActionNamesForOff.forEach(function (value) {
|
228
|
+
if (db_alexaActionNamesForOff == null) {
|
229
|
+
// @ts-ignore
|
230
|
+
db_alexaActionNamesForOff = value;
|
231
|
+
}
|
232
|
+
else {
|
233
|
+
// @ts-ignore
|
234
|
+
db_alexaActionNamesForOff += "|" + value;
|
235
|
+
}
|
236
|
+
});
|
237
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOff, db_alexaActionNamesForOff, deviceShellyDimmer);
|
238
|
+
// additionalStates4TurnOff: string[]
|
239
|
+
var db_additionalStates4TurnOff = null;
|
240
|
+
tasterBooleanOff.forEach(function (value) {
|
241
|
+
if (db_additionalStates4TurnOff == null) {
|
242
|
+
// @ts-ignore
|
243
|
+
db_additionalStates4TurnOff = value;
|
244
|
+
}
|
245
|
+
else {
|
246
|
+
// @ts-ignore
|
247
|
+
db_additionalStates4TurnOff += "|" + value;
|
248
|
+
}
|
249
|
+
});
|
250
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOff, db_additionalStates4TurnOff, deviceShellyDimmer);
|
251
|
+
// Weitere:
|
252
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_Nachtbeleuchtung, nachtbeleuchtung, deviceShellyDimmer);
|
253
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseSummer, turnOffExitHouseSummer, deviceShellyDimmer);
|
254
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseWinter, turnOffExitHouseWinter, deviceShellyDimmer);
|
255
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseSummer, turnOnEnterHouseSummer, deviceShellyDimmer);
|
256
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseWinter, turnOnEnterHouseWinter, deviceShellyDimmer);
|
257
|
+
}
|
258
|
+
exports.createShellyDimmer = createShellyDimmer;
|
259
|
+
// Lampe Weiss:
|
260
|
+
function createShellyLampe(adapter, rawId, etage, raum, device, baseState, alexaSmartNamesForOn, alexaActionNamesForOn, alexaSmartNamesForOff, alexaActionNamesForOff, additionalStates4TurnOn, additionalStates4TurnOff, nachtbeleuchtung, turnOffExitHouseSummer, turnOffExitHouseWinter, turnOnEnterHouseSummer, turnOnEnterHouseWinter) {
|
261
|
+
// Allgemein:
|
262
|
+
this.createShellyDevice(adapter, baseState, etage, raum, device, deviceShellyLampeWeiss);
|
263
|
+
// alexaSmartNamesForOn:string[]
|
264
|
+
var db_alexaSmartNamesForOn = null;
|
265
|
+
alexaSmartNamesForOn.forEach(function (value) {
|
266
|
+
if (db_alexaSmartNamesForOn == null) {
|
267
|
+
// @ts-ignore
|
268
|
+
db_alexaSmartNamesForOn = value;
|
269
|
+
}
|
270
|
+
else {
|
271
|
+
// @ts-ignore
|
272
|
+
db_alexaSmartNamesForOn += "|" + value;
|
273
|
+
}
|
274
|
+
});
|
275
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOn, db_alexaSmartNamesForOn, deviceShellyLampeWeiss);
|
276
|
+
// alexaActionNamesForOn:string[]
|
277
|
+
var db_alexaActionNamesForOn = null;
|
278
|
+
alexaActionNamesForOn.forEach(function (value) {
|
279
|
+
if (db_alexaActionNamesForOn == null) {
|
280
|
+
// @ts-ignore
|
281
|
+
db_alexaActionNamesForOn = value;
|
282
|
+
}
|
283
|
+
else {
|
284
|
+
// @ts-ignore
|
285
|
+
db_alexaActionNamesForOn += "|" + value;
|
286
|
+
}
|
287
|
+
});
|
288
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOn, db_alexaActionNamesForOn, deviceShellyLampeWeiss);
|
289
|
+
// alexaSmartNamesForOff:string[]
|
290
|
+
var db_alexaSmartNamesForOff = null;
|
291
|
+
alexaSmartNamesForOff.forEach(function (value) {
|
292
|
+
if (db_alexaSmartNamesForOff == null) {
|
293
|
+
// @ts-ignore
|
294
|
+
db_alexaSmartNamesForOff = value;
|
295
|
+
}
|
296
|
+
else {
|
297
|
+
// @ts-ignore
|
298
|
+
db_alexaSmartNamesForOff += "|" + value;
|
299
|
+
}
|
300
|
+
});
|
301
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOff, db_alexaSmartNamesForOff, deviceShellyLampeWeiss);
|
302
|
+
// alexaActionNamesForOff:string[]
|
303
|
+
var db_alexaActionNamesForOff = null;
|
304
|
+
alexaActionNamesForOff.forEach(function (value) {
|
305
|
+
if (db_alexaActionNamesForOff == null) {
|
306
|
+
// @ts-ignore
|
307
|
+
db_alexaActionNamesForOff = value;
|
308
|
+
}
|
309
|
+
else {
|
310
|
+
// @ts-ignore
|
311
|
+
db_alexaActionNamesForOff += "|" + value;
|
312
|
+
}
|
313
|
+
});
|
314
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOff, db_alexaActionNamesForOff, deviceShellyLampeWeiss);
|
315
|
+
// additionalStates4TurnOn: string[]
|
316
|
+
var db_additionalStates4TurnOn = null;
|
317
|
+
additionalStates4TurnOn.forEach(function (value) {
|
318
|
+
if (db_additionalStates4TurnOn == null) {
|
319
|
+
// @ts-ignore
|
320
|
+
db_additionalStates4TurnOn = value;
|
321
|
+
}
|
322
|
+
else {
|
323
|
+
// @ts-ignore
|
324
|
+
db_additionalStates4TurnOn += "|" + value;
|
325
|
+
}
|
326
|
+
});
|
327
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOn, db_additionalStates4TurnOn, deviceShellyLampeWeiss);
|
328
|
+
// additionalStates4TurnOff: string[]
|
329
|
+
var db_additionalStates4TurnOff = null;
|
330
|
+
additionalStates4TurnOff.forEach(function (value) {
|
331
|
+
if (db_additionalStates4TurnOff == null) {
|
332
|
+
// @ts-ignore
|
333
|
+
db_additionalStates4TurnOff = value;
|
334
|
+
}
|
335
|
+
else {
|
336
|
+
// @ts-ignore
|
337
|
+
db_additionalStates4TurnOff += "|" + value;
|
338
|
+
}
|
339
|
+
});
|
340
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOff, db_additionalStates4TurnOff, deviceShellyLampeWeiss);
|
341
|
+
// Weitere:
|
342
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_Nachtbeleuchtung, nachtbeleuchtung, deviceShellyLampeWeiss);
|
343
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseSummer, turnOffExitHouseSummer, deviceShellyLampeWeiss);
|
344
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseWinter, turnOffExitHouseWinter, deviceShellyLampeWeiss);
|
345
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseSummer, turnOnEnterHouseSummer, deviceShellyLampeWeiss);
|
346
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseWinter, turnOnEnterHouseWinter, deviceShellyLampeWeiss);
|
347
|
+
}
|
348
|
+
exports.createShellyLampe = createShellyLampe;
|
349
|
+
// Steckdose:
|
350
|
+
function createShellySteckdose(adapter, rawId, etage, raum, device, baseState, channel, alexaSmartNamesForOn, alexaActionNamesForOn, alexaSmartNamesForOff, alexaActionNamesForOff, additionalStates4TurnOn, additionalStates4TurnOff, nachtbeleuchtung, turnOffExitHouseSummer, turnOffExitHouseWinter, turnOnEnterHouseSummer, turnOnEnterHouseWinter) {
|
351
|
+
// Allgemein:
|
352
|
+
this.createShellyDevice(adapter, baseState, etage, raum, device, deviceShellySteckdose);
|
353
|
+
// alexaSmartNamesForOn:string[]
|
354
|
+
var db_alexaSmartNamesForOn = null;
|
355
|
+
alexaSmartNamesForOn.forEach(function (value) {
|
356
|
+
if (db_alexaSmartNamesForOn == null) {
|
357
|
+
// @ts-ignore
|
358
|
+
db_alexaSmartNamesForOn = value;
|
359
|
+
}
|
360
|
+
else {
|
361
|
+
// @ts-ignore
|
362
|
+
db_alexaSmartNamesForOn += "|" + value;
|
363
|
+
}
|
364
|
+
});
|
365
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOn, db_alexaSmartNamesForOn, deviceShellySteckdose);
|
366
|
+
// alexaActionNamesForOn:string[]
|
367
|
+
var db_alexaActionNamesForOn = null;
|
368
|
+
alexaActionNamesForOn.forEach(function (value) {
|
369
|
+
if (db_alexaActionNamesForOn == null) {
|
370
|
+
// @ts-ignore
|
371
|
+
db_alexaActionNamesForOn = value;
|
372
|
+
}
|
373
|
+
else {
|
374
|
+
// @ts-ignore
|
375
|
+
db_alexaActionNamesForOn += "|" + value;
|
376
|
+
}
|
377
|
+
});
|
378
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOn, db_alexaActionNamesForOn, deviceShellySteckdose);
|
379
|
+
// alexaSmartNamesForOff:string[]
|
380
|
+
var db_alexaSmartNamesForOff = null;
|
381
|
+
alexaSmartNamesForOff.forEach(function (value) {
|
382
|
+
if (db_alexaSmartNamesForOff == null) {
|
383
|
+
// @ts-ignore
|
384
|
+
db_alexaSmartNamesForOff = value;
|
385
|
+
}
|
386
|
+
else {
|
387
|
+
// @ts-ignore
|
388
|
+
db_alexaSmartNamesForOff += "|" + value;
|
389
|
+
}
|
390
|
+
});
|
391
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaSmartNamesForOff, db_alexaSmartNamesForOff, deviceShellySteckdose);
|
392
|
+
// alexaActionNamesForOff:string[]
|
393
|
+
var db_alexaActionNamesForOff = null;
|
394
|
+
alexaActionNamesForOff.forEach(function (value) {
|
395
|
+
if (db_alexaActionNamesForOff == null) {
|
396
|
+
// @ts-ignore
|
397
|
+
db_alexaActionNamesForOff = value;
|
398
|
+
}
|
399
|
+
else {
|
400
|
+
// @ts-ignore
|
401
|
+
db_alexaActionNamesForOff += "|" + value;
|
402
|
+
}
|
403
|
+
});
|
404
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_AlexaActionNamesForOff, db_alexaActionNamesForOff, deviceShellySteckdose);
|
405
|
+
// additionalStates4TurnOn: string[]
|
406
|
+
var db_additionalStates4TurnOn = null;
|
407
|
+
additionalStates4TurnOn.forEach(function (value) {
|
408
|
+
if (db_additionalStates4TurnOn == null) {
|
409
|
+
// @ts-ignore
|
410
|
+
db_additionalStates4TurnOn = value;
|
411
|
+
}
|
412
|
+
else {
|
413
|
+
// @ts-ignore
|
414
|
+
db_additionalStates4TurnOn += "|" + value;
|
415
|
+
}
|
416
|
+
});
|
417
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOn, db_additionalStates4TurnOn, deviceShellySteckdose);
|
418
|
+
// additionalStates4TurnOff: string[]
|
419
|
+
var db_additionalStates4TurnOff = null;
|
420
|
+
additionalStates4TurnOff.forEach(function (value) {
|
421
|
+
if (db_additionalStates4TurnOff == null) {
|
422
|
+
// @ts-ignore
|
423
|
+
db_additionalStates4TurnOff = value;
|
424
|
+
}
|
425
|
+
else {
|
426
|
+
// @ts-ignore
|
427
|
+
db_additionalStates4TurnOff += "|" + value;
|
428
|
+
}
|
429
|
+
});
|
430
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeString, attribute_TasterBooleanOff, db_additionalStates4TurnOff, deviceShellySteckdose);
|
431
|
+
// Weitere:
|
432
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_Nachtbeleuchtung, nachtbeleuchtung, deviceShellySteckdose);
|
433
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseSummer, turnOffExitHouseSummer, deviceShellySteckdose);
|
434
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOffExitHouseWinter, turnOffExitHouseWinter, deviceShellySteckdose);
|
435
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseSummer, turnOnEnterHouseSummer, deviceShellySteckdose);
|
436
|
+
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseWinter, turnOnEnterHouseWinter, deviceShellySteckdose);
|
437
|
+
}
|
438
|
+
exports.createShellySteckdose = createShellySteckdose;
|
439
|
+
var cacheRollladenArray = null;
|
440
|
+
function loadShellyRollladen(adapter) {
|
441
|
+
if (cacheRollladenArray != null) {
|
442
|
+
return cacheRollladenArray;
|
443
|
+
}
|
444
|
+
// @ts-ignore
|
445
|
+
cacheRollladenArray = [];
|
446
|
+
adapter.$('state[id=0_userdata.0.devices.shelly.*.*.category]').each(function (datenpunktKey) {
|
447
|
+
var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
|
448
|
+
if (adapter.getState(datenpunktKey).val == deviceShellyRollladen) {
|
449
|
+
// @ts-ignore
|
450
|
+
cacheRollladenArray.push(new ShellyRollladen(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
|
451
|
+
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [1] Etage/Bereich (z.B. EG)
|
452
|
+
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [2] Raum/Unterbereich (z.B. Wohnzimmer)
|
453
|
+
adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [3] Device (z.B. Stehlampe)
|
454
|
+
adapter.getState(datenpunktPraefix + "." + attributeBaseState).val // [4] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
|
455
|
+
));
|
456
|
+
}
|
457
|
+
});
|
458
|
+
return cacheRollladenArray;
|
459
|
+
}
|
460
|
+
exports.loadShellyRollladen = loadShellyRollladen;
|
461
|
+
var cacheSensorenArray = null;
|
462
|
+
function loadShellySensoren(adapter) {
|
463
|
+
if (cacheSensorenArray != null) {
|
464
|
+
return cacheSensorenArray;
|
465
|
+
}
|
466
|
+
// @ts-ignore
|
467
|
+
cacheSensorenArray = [];
|
468
|
+
adapter.$('state[id=0_userdata.0.devices.shelly.*.*.category]').each(function (datenpunktKey) {
|
469
|
+
var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
|
470
|
+
if (adapter.getState(datenpunktKey).val == deviceShellySensor) {
|
471
|
+
// @ts-ignore
|
472
|
+
cacheSensorenArray.push(new ShellySensor(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
|
473
|
+
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [1] Etage/Bereich (z.B. EG)
|
474
|
+
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [2] Raum/Unterbereich (z.B. Wohnzimmer)
|
475
|
+
adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [3] Device (z.B. Stehlampe)
|
476
|
+
adapter.getState(datenpunktPraefix + "." + attributeBaseState).val // [4] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
|
477
|
+
));
|
478
|
+
}
|
479
|
+
});
|
480
|
+
return cacheSensorenArray;
|
481
|
+
}
|
482
|
+
exports.loadShellySensoren = loadShellySensoren;
|
483
|
+
/*var cacheLampenRGBArray = null;
|
484
|
+
export function loadShellyLampenRGB(adapter: any) {
|
485
|
+
if (cacheLampenRGBArray != null) {
|
486
|
+
return cacheLampenRGBArray;
|
487
|
+
}
|
488
|
+
// @ts-ignore
|
489
|
+
cacheLampenRGBArray = [];
|
490
|
+
adapter.$('state[id=0_userdata.0.devices.shelly.*.*.category]').each(datenpunktKey => {
|
491
|
+
var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
|
492
|
+
if (adapter.getState(datenpunktKey).val == deviceShellyLampeRGB) {
|
493
|
+
// @ts-ignore
|
494
|
+
cacheLampenRGBArray.push(new ShellySensor(adapter,
|
495
|
+
adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
|
496
|
+
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [1] Etage/Bereich (z.B. EG)
|
497
|
+
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [2] Raum/Unterbereich (z.B. Wohnzimmer)
|
498
|
+
adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [3] Device (z.B. Stehlampe)
|
499
|
+
adapter.getState(datenpunktPraefix + "." + attributeBaseState).val // [4] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
|
500
|
+
));
|
501
|
+
}
|
502
|
+
});
|
503
|
+
return cacheLampenRGBArray;
|
504
|
+
}*/
|
505
|
+
var cacheDimmerArray = null;
|
506
|
+
function loadShellyDimmer(adapter) {
|
507
|
+
if (cacheDimmerArray != null) {
|
508
|
+
return cacheDimmerArray;
|
509
|
+
}
|
510
|
+
// @ts-ignore
|
511
|
+
cacheDimmerArray = [];
|
512
|
+
adapter.$('state[id=0_userdata.0.devices.shelly.*.*.category]').each(function (datenpunktKey) {
|
513
|
+
var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
|
514
|
+
if (adapter.getState(datenpunktKey).val == deviceShellyDimmer) {
|
515
|
+
// Einschalt-Scheme:
|
516
|
+
var alexaOnScheme = null;
|
517
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_aktiv).val == true) {
|
518
|
+
// @ts-ignore
|
519
|
+
alexaOnScheme = new ShellyDimmerAlexaScheme > (null,
|
520
|
+
adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_level).val);
|
521
|
+
}
|
522
|
+
// Weitere Schemes als Array:
|
523
|
+
var schemeArray = [];
|
524
|
+
// alexaScheme1: InstanceType<typeof ShellyDimmerAlexaScheme>
|
525
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_aktiv1).val == true) {
|
526
|
+
// @ts-ignore
|
527
|
+
schemeArray.push(new ShellyDimmerAlexaScheme(adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_name1).val, adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_level1).val));
|
528
|
+
}
|
529
|
+
// alexaScheme2: InstanceType<typeof ShellyDimmerAlexaScheme>
|
530
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_aktiv2).val == true) {
|
531
|
+
// @ts-ignore
|
532
|
+
schemeArray.push(new ShellyDimmerAlexaScheme(adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_name2).val, adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_level2).val));
|
533
|
+
}
|
534
|
+
// alexaScheme3: InstanceType<typeof ShellyDimmerAlexaScheme>
|
535
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_aktiv3).val == true) {
|
536
|
+
// @ts-ignore
|
537
|
+
schemeArray.push(new ShellyDimmerAlexaScheme(adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_name3).val, adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_level3).val));
|
538
|
+
}
|
539
|
+
// alexaScheme4: InstanceType<typeof ShellyDimmerAlexaScheme>
|
540
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_aktiv4).val == true) {
|
541
|
+
// @ts-ignore
|
542
|
+
schemeArray.push(new ShellyDimmerAlexaScheme(adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_name4).val, adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_level4).val));
|
543
|
+
}
|
544
|
+
// Weitere Schemes als Array:
|
545
|
+
var tasterSchemeArray = [];
|
546
|
+
// tasterScheme1: InstanceType<typeof ShellyDimmerTasterScheme>
|
547
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme_aktiv1).val == true) {
|
548
|
+
// @ts-ignore
|
549
|
+
tasterSchemeArray.push(new ShellyDimmerTasterScheme(adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme_name1).val, adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme_level1).val));
|
550
|
+
}
|
551
|
+
// tasterScheme2: InstanceType<typeof ShellyDimmerTasterScheme>
|
552
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme_aktiv2).val == true) {
|
553
|
+
// @ts-ignore
|
554
|
+
tasterSchemeArray.push(new ShellyDimmerTasterScheme(adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme_name2).val, adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme_level2).val));
|
555
|
+
}
|
556
|
+
// tasterScheme3: InstanceType<typeof ShellyDimmerTasterScheme>
|
557
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme_aktiv3).val == true) {
|
558
|
+
// @ts-ignore
|
559
|
+
tasterSchemeArray.push(new ShellyDimmerTasterScheme(adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme_name3).val, adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme_level3).val));
|
560
|
+
}
|
561
|
+
// tasterScheme4: InstanceType<typeof ShellyDimmerTasterScheme>
|
562
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme_aktiv4).val == true) {
|
563
|
+
// @ts-ignore
|
564
|
+
tasterSchemeArray.push(new ShellyDimmerTasterScheme(adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme_name4).val, adapter.getState(datenpunktPraefix + "." + attributeDimmer_tasterScheme_level4).val));
|
565
|
+
}
|
566
|
+
// @ts-ignore
|
567
|
+
cacheDimmerArray.push(new ShellyDimmer(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
|
568
|
+
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [1] Etage/Bereich (z.B. EG)
|
569
|
+
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [2] Raum/Unterbereich (z.B. Wohnzimmer)
|
570
|
+
adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [3] Device (z.B. Stehlampe)
|
571
|
+
adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [4] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
|
572
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOn).val), // 08 Alexa-Ein
|
573
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOn).val), // Alexa-Action-Ein, z.B. "Guten morgen" (Würde auch funktionieren, wenn dies bei [06] eingetragen ist)
|
574
|
+
alexaOnScheme, // 08] A.-Ein-Schem
|
575
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOff).val), // 09 Alexa-Aus
|
576
|
+
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.
|
577
|
+
schemeArray, // [11] Alexa-Schemes
|
578
|
+
tasterSchemeArray, // [12 Level-Schemes]
|
579
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_TasterBooleanOff).val), // 14 TasterBoolOff
|
580
|
+
adapter.getState(datenpunktPraefix + "." + attribute_Nachtbeleuchtung).val, // Gehört zur Nachtbeleuchtung ja/nein
|
581
|
+
adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseSummer).val, // turnOffExitHouseSummer (Ausschalten, wenn Haus verlassen - Sommer)
|
582
|
+
adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseWinter).val, // turnOffExitHouseWinter (Ausschalten, wenn Haus verlassen - Winter)
|
583
|
+
adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseSummer).val, // turnOnEnterHouseSummer (Einschalten, wenn Haus betreten - Sommer)
|
584
|
+
adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseWinter).val // turnOnEnterHouseWinter (Einschalten, wenn Haus betreten - Winter)
|
585
|
+
));
|
586
|
+
}
|
587
|
+
});
|
588
|
+
return cacheDimmerArray;
|
589
|
+
}
|
590
|
+
exports.loadShellyDimmer = loadShellyDimmer;
|
591
|
+
var cacheLampenWeissArray = null;
|
592
|
+
function loadShellyLampenWeiss(adapter) {
|
593
|
+
if (cacheLampenWeissArray != null) {
|
594
|
+
return cacheLampenWeissArray;
|
595
|
+
}
|
596
|
+
// @ts-ignore
|
597
|
+
cacheLampenWeissArray = [];
|
598
|
+
adapter.$('state[id=0_userdata.0.devices.shelly.*.*.category]').each(function (datenpunktKey) {
|
599
|
+
var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
|
600
|
+
if (adapter.getState(datenpunktKey).val == deviceShellyLampeWeiss) {
|
601
|
+
// @ts-ignore
|
602
|
+
cacheLampenWeissArray.push(new ShellyLampeWeiss(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
|
603
|
+
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [1] Etage/Bereich (z.B. EG)
|
604
|
+
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [2] Raum/Unterbereich (z.B. Wohnzimmer)
|
605
|
+
adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [3] Device (z.B. Stehlampe)
|
606
|
+
adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [4] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
|
607
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOn).val), // 08 Alexa-Ein
|
608
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOn).val), // Alexa-Action-Ein, z.B. "Guten morgen" (Würde auch funktionieren, wenn dies bei [06] eingetragen ist)
|
609
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOff).val), // 09 Alexa-Aus
|
610
|
+
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.
|
611
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_TasterBooleanOff).val), // 14 TasterBoolOff
|
612
|
+
adapter.getState(datenpunktPraefix + "." + attribute_Nachtbeleuchtung).val, // Gehört zur Nachtbeleuchtung ja/nein
|
613
|
+
adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseSummer).val, // turnOffExitHouseSummer (Ausschalten, wenn Haus verlassen - Sommer)
|
614
|
+
adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseWinter).val, // turnOffExitHouseWinter (Ausschalten, wenn Haus verlassen - Winter)
|
615
|
+
adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseSummer).val, // turnOnEnterHouseSummer (Einschalten, wenn Haus betreten - Sommer)
|
616
|
+
adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseWinter).val // turnOnEnterHouseWinter (Einschalten, wenn Haus betreten - Winter)
|
617
|
+
));
|
618
|
+
}
|
619
|
+
});
|
620
|
+
return cacheLampenWeissArray;
|
621
|
+
}
|
622
|
+
exports.loadShellyLampenWeiss = loadShellyLampenWeiss;
|
623
|
+
var cacheSteckdosenArray = null;
|
624
|
+
function loadShellySteckdosen(adapter) {
|
625
|
+
if (cacheSteckdosenArray != null) {
|
626
|
+
return cacheSteckdosenArray;
|
627
|
+
}
|
628
|
+
// @ts-ignore
|
629
|
+
cacheSteckdosenArray = [];
|
630
|
+
adapter.$('state[id=0_userdata.0.devices.shelly.*.*.category]').each(function (datenpunktKey) {
|
631
|
+
var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
|
632
|
+
if (adapter.getState(datenpunktKey).val == deviceShellySteckdose) {
|
633
|
+
// @ts-ignore
|
634
|
+
cacheLampenWeissArray.push(new ShellySteckdose(adapter, adapter.cacheSteckdosenArray(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
|
635
|
+
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [1] Etage/Bereich (z.B. EG)
|
636
|
+
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [2] Raum/Unterbereich (z.B. Wohnzimmer)
|
637
|
+
adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [3] Device (z.B. Stehlampe)
|
638
|
+
adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [4] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
|
639
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOn).val), // 08 Alexa-Ein
|
640
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOn).val), // Alexa-Action-Ein, z.B. "Guten morgen" (Würde auch funktionieren, wenn dies bei [06] eingetragen ist)
|
641
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOff).val), // 09 Alexa-Aus
|
642
|
+
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.
|
643
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_TasterBooleanOff).val), // 14 TasterBoolOff
|
644
|
+
adapter.getState(datenpunktPraefix + "." + attribute_Nachtbeleuchtung).val, // Gehört zur Nachtbeleuchtung ja/nein
|
645
|
+
adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseSummer).val, // turnOffExitHouseSummer (Ausschalten, wenn Haus verlassen - Sommer)
|
646
|
+
adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseWinter).val, // turnOffExitHouseWinter (Ausschalten, wenn Haus verlassen - Winter)
|
647
|
+
adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseSummer).val, // turnOnEnterHouseSummer (Einschalten, wenn Haus betreten - Sommer)
|
648
|
+
adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseWinter).val // turnOnEnterHouseWinter (Einschalten, wenn Haus betreten - Winter)
|
649
|
+
));
|
650
|
+
}
|
651
|
+
});
|
652
|
+
return cacheSteckdosenArray;
|
653
|
+
}
|
654
|
+
exports.loadShellySteckdosen = loadShellySteckdosen;
|
655
|
+
var shellyAllArray = null;
|
656
|
+
function loadShellyDevicesAll(adapter) {
|
657
|
+
if (shellyAllArray != null) {
|
658
|
+
return shellyAllArray;
|
659
|
+
}
|
660
|
+
// @ts-ignore
|
661
|
+
shellyAllArray = [];
|
662
|
+
adapter.loadShellyLampenWeiss(adapter).forEach(function (shelly) {
|
663
|
+
// @ts-ignore
|
664
|
+
shellyAllArray.push(shelly);
|
665
|
+
});
|
666
|
+
adapter.loadShellyDimmer(adapter).forEach(function (shelly) {
|
667
|
+
// @ts-ignore
|
668
|
+
shellyAllArray.push(shelly);
|
669
|
+
});
|
670
|
+
adapter.loadShellyRollladen(adapter).forEach(function (shelly) {
|
671
|
+
// @ts-ignore
|
672
|
+
shellyAllArray.push(shelly);
|
673
|
+
});
|
674
|
+
adapter.loadShellySensoren(adapter).forEach(function (shelly) {
|
675
|
+
// @ts-ignore
|
676
|
+
shellyAllArray.push(shelly);
|
677
|
+
});
|
678
|
+
adapter.loadShellySteckdosen(adapter).forEach(function (shelly) {
|
679
|
+
// @ts-ignore
|
680
|
+
shellyAllArray.push(shelly);
|
681
|
+
});
|
682
|
+
return shellyAllArray;
|
683
|
+
}
|
684
|
+
exports.loadShellyDevicesAll = loadShellyDevicesAll;
|
685
|
+
function toStringArray(databaseValue) {
|
686
|
+
var stringArray = [];
|
687
|
+
if (databaseValue == null) {
|
688
|
+
return stringArray;
|
689
|
+
}
|
690
|
+
else {
|
691
|
+
return databaseValue.split('|');
|
692
|
+
}
|
693
|
+
}
|
694
|
+
module.exports = { createShellySensor: createShellySensor, createShellyLampeRGB: createShellyLampeRGB, createShellyRollladen: createShellyRollladen, createShellyDimmer: createShellyDimmer, createShellyLampe: createShellyLampe, createShellySteckdose: createShellySteckdose, loadShellyRollladen: loadShellyRollladen, loadShellySensoren: loadShellySensoren, loadShellyDimmer: loadShellyDimmer, loadShellyLampenWeiss: loadShellyLampenWeiss, loadShellySteckdosen: loadShellySteckdosen, loadShellyDevicesAll: loadShellyDevicesAll };
|