iobroker-ucl 1.1.9 → 1.1.11
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 +7 -3
- package/homematicClasses.js +448 -72
- package/homematicClasses.ts +515 -74
- package/homematicFunctions.js +349 -4
- package/homematicFunctions.ts +410 -8
- package/main.js +37 -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
package/homematicFunctions.js
CHANGED
@@ -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 };
|