iobroker-ucl 1.0.84 → 1.0.86
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/homematicClasses.js +0 -1
- package/homematicClasses.ts +0 -1
- package/homematicFunctions.js +372 -174
- package/homematicFunctions.ts +384 -173
- package/main.js +28 -4
- package/main.ts +4 -4
- package/package.json +1 -1
- package/zigbeeFunctions.js +372 -249
- package/zigbeeFunctions.ts +481 -352
package/zigbeeFunctions.js
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
"use strict";
|
2
|
+
//import { AbstractZigbee } from "./zigbeeClasses";
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.getZigbeeDevicesAll = exports.
|
4
|
+
exports.getZigbeeDevicesAll = exports.loadZigbeeFenstersensor = exports.loadZigbeeRepeater = exports.loadZigbeeSchalter = exports.loadZigbeeDosenrelais = exports.loadZigbeeWandtaster = exports.loadZigbeeRauchmeler = exports.loadZigbeeLampenWeiss = exports.loadZigbeeLampenRGB = exports.loadZigbeeBewegungsmelder = exports.loadZigbeeSteckdosen = exports.createLampeRGB = exports.createLampeWeiss = exports.createSteckdose = exports.createDosenrelaisDevice = exports.createZigbeeDevice = void 0;
|
4
5
|
var _a = require('./zigbeeClasses.js'), AbstractZigbee = _a.AbstractZigbee, ColorScheme = _a.ColorScheme, RGBColorScheme = _a.RGBColorScheme, WhiteColorScheme = _a.WhiteColorScheme, ZigbeeLampeRGB = _a.ZigbeeLampeRGB, LampeWeissTasterScheme = _a.LampeWeissTasterScheme, LampeWeissAlexaScheme = _a.LampeWeissAlexaScheme, ZigbeeLampeWeiss = _a.ZigbeeLampeWeiss, ZigbeeSteckdose = _a.ZigbeeSteckdose, ZigbeeSchalter = _a.ZigbeeSchalter, ZigbeeRepeater = _a.ZigbeeRepeater, ZigbeeFenstersensor = _a.ZigbeeFenstersensor, ZigbeeRauchmelder = _a.ZigbeeRauchmelder, ZigbeeBewegungsmelder = _a.ZigbeeBewegungsmelder, ZigbeeWandtaster = _a.ZigbeeWandtaster, ZigbeeDosenrelais = _a.ZigbeeDosenrelais, AlexaInputConverter = _a.AlexaInputConverter, deviceZigbeeSteckdose = _a.deviceZigbeeSteckdose, deviceZigbeeBewegungsmelder = _a.deviceZigbeeBewegungsmelder, deviceZigbeeLampeRGB = _a.deviceZigbeeLampeRGB, deviceZigbeeLampeWeiss = _a.deviceZigbeeLampeWeiss, deviceZigbeeRauchmelder = _a.deviceZigbeeRauchmelder, deviceZigbeeWandtaster = _a.deviceZigbeeWandtaster, deviceZigbeeDosenrelais = _a.deviceZigbeeDosenrelais, deviceZigbeeSchalter = _a.deviceZigbeeSchalter, deviceZigbeeRepeater = _a.deviceZigbeeRepeater, deviceZigbeeFenstersensor = _a.deviceZigbeeFenstersensor;
|
5
6
|
// Alexa:
|
6
7
|
var attribute_AlexaSmartNamesForOn = "alexaSmartNamesForOn";
|
@@ -682,289 +683,411 @@ function toStringArray(databaseValue) {
|
|
682
683
|
return databaseValue.split('|');
|
683
684
|
}
|
684
685
|
}
|
685
|
-
|
686
|
-
|
686
|
+
var cacheSteckdosenArray = null;
|
687
|
+
function loadZigbeeSteckdosen(adapter) {
|
688
|
+
if (cacheSteckdosenArray != null) {
|
689
|
+
return cacheSteckdosenArray;
|
690
|
+
}
|
691
|
+
// @ts-ignore
|
692
|
+
cacheSteckdosenArray = [];
|
693
|
+
adapter.$('state[id=0_userdata.0.devices.zigbee.*.*.category]').each(function (datenpunktKey) {
|
694
|
+
var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
|
695
|
+
if (adapter.getState(datenpunktKey).val == deviceZigbeeSteckdose) {
|
696
|
+
// @ts-ignore
|
697
|
+
cacheSteckdosenArray.push(new ZigbeeSteckdose(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
|
698
|
+
adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
|
699
|
+
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
|
700
|
+
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
|
701
|
+
adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [4] Device (z.B. Stehlampe)
|
702
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOn).val), // 08 Alexa-Ein
|
703
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOn).val), // Alexa-Action-Ein, z.B. "Guten morgen" (Würde auch funktionieren, wenn dies bei [06] eingetragen ist)
|
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
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_TasterBooleanOn).val), // 07 TunrnOn-DP
|
707
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_TasterBooleanOff).val) // 08 TasterBoolOff-DP
|
708
|
+
));
|
709
|
+
}
|
710
|
+
});
|
711
|
+
return cacheSteckdosenArray;
|
712
|
+
}
|
713
|
+
exports.loadZigbeeSteckdosen = loadZigbeeSteckdosen;
|
714
|
+
var cacheBewegungsmelderArray = null;
|
715
|
+
function loadZigbeeBewegungsmelder(adapter) {
|
716
|
+
if (cacheBewegungsmelderArray != null) {
|
717
|
+
return cacheBewegungsmelderArray;
|
718
|
+
}
|
719
|
+
// @ts-ignore
|
720
|
+
cacheBewegungsmelderArray = [];
|
687
721
|
adapter.$('state[id=0_userdata.0.devices.zigbee.*.*.category]').each(function (datenpunktKey) {
|
688
722
|
var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
|
689
|
-
if (adapter.getState(datenpunktKey).val ==
|
690
|
-
//
|
691
|
-
|
692
|
-
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
697
|
-
|
698
|
-
|
699
|
-
|
700
|
-
|
701
|
-
|
702
|
-
|
703
|
-
|
704
|
-
|
705
|
-
|
706
|
-
|
723
|
+
if (adapter.getState(datenpunktKey).val == deviceZigbeeBewegungsmelder) {
|
724
|
+
// @ts-ignore
|
725
|
+
cacheBewegungsmelderArray.push(new ZigbeeBewegungsmelder(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
|
726
|
+
adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
|
727
|
+
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
|
728
|
+
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
|
729
|
+
adapter.getState(datenpunktPraefix + "." + attributeDevice).val // [4] Device (z.B. Stehlampe)
|
730
|
+
));
|
731
|
+
}
|
732
|
+
});
|
733
|
+
return cacheBewegungsmelderArray;
|
734
|
+
}
|
735
|
+
exports.loadZigbeeBewegungsmelder = loadZigbeeBewegungsmelder;
|
736
|
+
var cacheLampenRGBArray = null;
|
737
|
+
function loadZigbeeLampenRGB(adapter) {
|
738
|
+
if (cacheLampenRGBArray != null) {
|
739
|
+
return cacheLampenRGBArray;
|
740
|
+
}
|
741
|
+
// @ts-ignore
|
742
|
+
cacheLampenRGBArray = [];
|
743
|
+
adapter.$('state[id=0_userdata.0.devices.zigbee.*.*.category]').each(function (datenpunktKey) {
|
744
|
+
var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
|
745
|
+
if (adapter.getState(datenpunktKey).val == deviceZigbeeLampeRGB) {
|
746
|
+
// Einschalt-Scheme:
|
747
|
+
var alexaOnScheme = null;
|
748
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_AlexaColorSchemeForOn_Farbe_aktiv).val == true) {
|
749
|
+
alexaOnScheme = new RGBColorScheme(null, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_AlexaColorSchemeForOn_Farbe_level).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_AlexaColorSchemeForOn_Farbe_hue).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_AlexaColorSchemeForOn_Farbe_sat).val);
|
707
750
|
}
|
708
|
-
else if (
|
709
|
-
|
710
|
-
zigbeeArray.push(new ZigbeeBewegungsmelder(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
|
711
|
-
adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
|
712
|
-
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
|
713
|
-
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
|
714
|
-
adapter.getState(datenpunktPraefix + "." + attributeDevice).val // [4] Device (z.B. Stehlampe)
|
715
|
-
));
|
751
|
+
else if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_AlexaColorSchemeForOn_Weiss_aktiv).val == true) {
|
752
|
+
alexaOnScheme = new WhiteColorScheme(null, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_AlexaColorSchemeForOn_Weiss_level).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_AlexaColorSchemeForOn_Weiss_ct).val);
|
716
753
|
}
|
717
|
-
|
718
|
-
|
719
|
-
|
720
|
-
|
721
|
-
|
722
|
-
|
723
|
-
else if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_AlexaColorSchemeForOn_Weiss_aktiv).val == true) {
|
724
|
-
alexaOnScheme = new WhiteColorScheme(null, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_AlexaColorSchemeForOn_Weiss_level).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_AlexaColorSchemeForOn_Weiss_ct).val);
|
725
|
-
}
|
726
|
-
// Weitere Schemes als Array:
|
727
|
-
var schemeArray = [];
|
728
|
-
// RGBColorScheme1:
|
729
|
-
if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe1_aktiv).val == true) {
|
730
|
-
// @ts-ignore
|
731
|
-
schemeArray.push(new RGBColorScheme(adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe1_name).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe1_level).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe1_hue).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe1_sat).val));
|
732
|
-
}
|
733
|
-
// RGBColorScheme2:
|
734
|
-
if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe2_aktiv).val == true) {
|
735
|
-
// @ts-ignore
|
736
|
-
schemeArray.push(new RGBColorScheme(adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe2_name).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe2_level).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe2_hue).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe2_sat).val));
|
737
|
-
}
|
738
|
-
// RGBColorScheme3:
|
739
|
-
if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe3_aktiv).val == true) {
|
740
|
-
// @ts-ignore
|
741
|
-
schemeArray.push(new RGBColorScheme(adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe3_name).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe3_level).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe3_hue).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe3_sat).val));
|
742
|
-
}
|
743
|
-
// RGBColorScheme4:
|
744
|
-
if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe4_aktiv).val == true) {
|
745
|
-
// @ts-ignore
|
746
|
-
schemeArray.push(new RGBColorScheme(adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe4_name).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe4_level).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe4_hue).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe4_sat).val));
|
747
|
-
}
|
748
|
-
// WhiteColorScheme1:
|
749
|
-
if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss1_aktiv).val == true) {
|
750
|
-
// @ts-ignore
|
751
|
-
schemeArray.push(new WhiteColorScheme(adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss1_name).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss1_level).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss1_ct).val));
|
752
|
-
}
|
753
|
-
// WhiteColorScheme2:
|
754
|
-
if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss2_aktiv).val == true) {
|
755
|
-
// @ts-ignore
|
756
|
-
schemeArray.push(new WhiteColorScheme(adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss2_name).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss2_level).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss2_ct).val));
|
757
|
-
}
|
758
|
-
// WhiteColorScheme3:
|
759
|
-
if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss3_aktiv).val == true) {
|
760
|
-
// @ts-ignore
|
761
|
-
schemeArray.push(new WhiteColorScheme(adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss3_name).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss3_level).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss3_ct).val));
|
762
|
-
}
|
763
|
-
// WhiteColorScheme4:
|
764
|
-
if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss4_aktiv).val == true) {
|
765
|
-
// @ts-ignore
|
766
|
-
schemeArray.push(new WhiteColorScheme(adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss4_name).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss4_level).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss4_ct).val));
|
767
|
-
}
|
768
|
-
// @ts-ignore
|
769
|
-
zigbeeArray.push(new ZigbeeLampeRGB(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
|
770
|
-
adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
|
771
|
-
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
|
772
|
-
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
|
773
|
-
adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [4] Device (z.B. Stehlampe)
|
774
|
-
adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_Group).val, // [5] Gruppe
|
775
|
-
toStringArray(adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_Groupmembers).val), // [6] Gruppenmitglieder
|
776
|
-
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOn).val), // 08 Alexa-Ein
|
777
|
-
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOn).val), // Alexa-Action-Ein, z.B. "Guten morgen" (Würde auch funktionieren, wenn dies bei [06] eingetragen ist)
|
778
|
-
alexaOnScheme, // [09 A.-Ein-Scheme]
|
779
|
-
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOff).val), // 10 Alexa-Aus
|
780
|
-
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.
|
781
|
-
schemeArray, // [12 Alexa-Schemes]
|
782
|
-
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_TasterBooleanOn).val), // 13 TasterBoolOn
|
783
|
-
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_TasterBooleanOff).val), // 14 TasterBoolOff
|
784
|
-
adapter.getState(datenpunktPraefix + "." + attribute_Nachtbeleuchtung).val, // Gehört zur Nachtbeleuchtung ja/nein
|
785
|
-
adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseSummer).val, // turnOffExitHouseSummer (Ausschalten, wenn Haus verlassen - Sommer)
|
786
|
-
adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseWinter).val, // turnOffExitHouseWinter (Ausschalten, wenn Haus verlassen - Winter)
|
787
|
-
adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseSummer).val, // turnOnEnterHouseSummer (Einschalten, wenn Haus betreten - Sommer)
|
788
|
-
adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseWinter).val // turnOnEnterHouseWinter (Einschalten, wenn Haus betreten - Winter)
|
789
|
-
));
|
754
|
+
// Weitere Schemes als Array:
|
755
|
+
var schemeArray = [];
|
756
|
+
// RGBColorScheme1:
|
757
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe1_aktiv).val == true) {
|
758
|
+
// @ts-ignore
|
759
|
+
schemeArray.push(new RGBColorScheme(adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe1_name).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe1_level).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe1_hue).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe1_sat).val));
|
790
760
|
}
|
791
|
-
|
792
|
-
|
793
|
-
|
794
|
-
|
795
|
-
// @ts-ignore
|
796
|
-
alexaOnScheme = new LampeWeissColorScheme(null, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_AlexaColorSchemeForOn_Weiss_level).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_AlexaColorSchemeForOn_Weiss_ct).val);
|
797
|
-
}
|
798
|
-
// Weitere Schemes als Array:
|
799
|
-
var schemeArray = [];
|
800
|
-
// WhiteColorScheme1:
|
801
|
-
if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss1_aktiv).val == true) {
|
802
|
-
// @ts-ignore
|
803
|
-
schemeArray.push(new LampeWeissAlexaScheme(adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss1_name).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss1_level).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss1_ct).val));
|
804
|
-
}
|
805
|
-
// WhiteColorScheme2:
|
806
|
-
if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss2_aktiv).val == true) {
|
807
|
-
// @ts-ignore
|
808
|
-
schemeArray.push(new LampeWeissAlexaScheme(adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss2_name).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss2_level).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss2_ct).val));
|
809
|
-
}
|
810
|
-
// WhiteColorScheme3:
|
811
|
-
if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss3_aktiv).val == true) {
|
812
|
-
// @ts-ignore
|
813
|
-
schemeArray.push(new LampeWeissAlexaScheme(adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss3_name).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss3_level).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss3_ct).val));
|
814
|
-
}
|
815
|
-
// WhiteColorScheme4:
|
816
|
-
if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss4_aktiv).val == true) {
|
817
|
-
// @ts-ignore
|
818
|
-
schemeArray.push(new LampeWeissAlexaScheme(adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss4_name).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss4_level).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss4_ct).val));
|
819
|
-
}
|
820
|
-
// Taster Boolean On Schemes:
|
821
|
-
var tasterOnBoolschemeArray = [];
|
822
|
-
// LampeWeissTasterScheme1:
|
823
|
-
//constructor(tasterBooleanOn: string, level: number, ct: number) {
|
824
|
-
if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn1_aktiv).val == true) {
|
825
|
-
// @ts-ignore
|
826
|
-
tasterOnBoolschemeArray.push(new LampeWeissTasterScheme(adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn1_name).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn1_level).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn1_ct).val));
|
827
|
-
}
|
828
|
-
// LampeWeissTasterScheme2:
|
829
|
-
if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn2_aktiv).val == true) {
|
830
|
-
// @ts-ignore
|
831
|
-
tasterOnBoolschemeArray.push(new LampeWeissTasterScheme(adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn2_name).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn2_level).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn2_ct).val));
|
832
|
-
}
|
833
|
-
// LampeWeissTasterScheme3:
|
834
|
-
if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn3_aktiv).val == true) {
|
835
|
-
// @ts-ignore
|
836
|
-
tasterOnBoolschemeArray.push(new LampeWeissTasterScheme(adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn3_name).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn3_level).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn3_ct).val));
|
837
|
-
}
|
838
|
-
// LampeWeissTasterScheme4:
|
839
|
-
if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn4_aktiv).val == true) {
|
840
|
-
// @ts-ignore
|
841
|
-
tasterOnBoolschemeArray.push(new LampeWeissTasterScheme(adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn4_name).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn4_level).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn4_ct).val));
|
842
|
-
}
|
843
|
-
// @ts-ignore
|
844
|
-
zigbeeArray.push(new ZigbeeLampeWeiss(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
|
845
|
-
adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
|
846
|
-
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
|
847
|
-
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
|
848
|
-
adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [4] Device (z.B. Stehlampe)
|
849
|
-
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOn).val), // 08 Alexa-Ein
|
850
|
-
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOn).val), // Alexa-Action-Ein, z.B. "Guten morgen" (Würde auch funktionieren, wenn dies bei [06] eingetragen ist)
|
851
|
-
alexaOnScheme, // [06 A.-Ein-Scheme] */ new LampeWeissAlexaScheme(null, 100, -1), // Letzter Paramter = -1 heußt, dass diese Lampe keine Farbtemperatur unterstützt. Ansonsten hier die Temperatur angeben
|
852
|
-
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOff).val), // 09 Alexa-Aus
|
853
|
-
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.
|
854
|
-
schemeArray, // [08 Alexa-Schemes]
|
855
|
-
adapter.getState(datenpunktPraefix + "." + attributeLampeWeissGroup).val, // [6] Gruppe
|
856
|
-
tasterOnBoolschemeArray, // [07 TasterBoolOn ]
|
857
|
-
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_TasterBooleanOff).val), // 14 TasterBoolOff
|
858
|
-
adapter.getState(datenpunktPraefix + "." + attribute_Nachtbeleuchtung).val, // Gehört zur Nachtbeleuchtung ja/nein
|
859
|
-
adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseSummer).val, // turnOffExitHouseSummer (Ausschalten, wenn Haus verlassen - Sommer)
|
860
|
-
adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseWinter).val, // turnOffExitHouseWinter (Ausschalten, wenn Haus verlassen - Winter)
|
861
|
-
adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseSummer).val, // turnOnEnterHouseSummer (Einschalten, wenn Haus betreten - Sommer)
|
862
|
-
adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseWinter).val // turnOnEnterHouseWinter (Einschalten, wenn Haus betreten - Winter)
|
863
|
-
));
|
761
|
+
// RGBColorScheme2:
|
762
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe2_aktiv).val == true) {
|
763
|
+
// @ts-ignore
|
764
|
+
schemeArray.push(new RGBColorScheme(adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe2_name).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe2_level).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe2_hue).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe2_sat).val));
|
864
765
|
}
|
865
|
-
|
866
|
-
|
867
|
-
|
868
|
-
adapter.getState(datenpunktPraefix + "." +
|
869
|
-
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
|
870
|
-
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
|
871
|
-
adapter.getState(datenpunktPraefix + "." + attributeDevice).val // [4] Device (z.B. Stehlampe)
|
872
|
-
));
|
766
|
+
// RGBColorScheme3:
|
767
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe3_aktiv).val == true) {
|
768
|
+
// @ts-ignore
|
769
|
+
schemeArray.push(new RGBColorScheme(adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe3_name).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe3_level).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe3_hue).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe3_sat).val));
|
873
770
|
}
|
874
|
-
|
875
|
-
|
876
|
-
|
877
|
-
adapter.getState(datenpunktPraefix + "." +
|
878
|
-
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
|
879
|
-
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
|
880
|
-
adapter.getState(datenpunktPraefix + "." + attributeDevice).val // [4] Device (z.B. Stehlampe)
|
881
|
-
));
|
771
|
+
// RGBColorScheme4:
|
772
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe4_aktiv).val == true) {
|
773
|
+
// @ts-ignore
|
774
|
+
schemeArray.push(new RGBColorScheme(adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe4_name).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe4_level).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe4_hue).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Farbe4_sat).val));
|
882
775
|
}
|
883
|
-
|
884
|
-
|
885
|
-
|
886
|
-
adapter.getState(datenpunktPraefix + "." +
|
887
|
-
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
|
888
|
-
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
|
889
|
-
adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [4] Device (z.B. Stehlampe)
|
890
|
-
toStringArray(adapter.getState(datenpunktPraefix + "." + attributeDosenrelais_smartNames).val) // 14 TasterBoolOff
|
891
|
-
));
|
776
|
+
// WhiteColorScheme1:
|
777
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss1_aktiv).val == true) {
|
778
|
+
// @ts-ignore
|
779
|
+
schemeArray.push(new WhiteColorScheme(adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss1_name).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss1_level).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss1_ct).val));
|
892
780
|
}
|
893
|
-
|
894
|
-
|
895
|
-
|
896
|
-
adapter.getState(datenpunktPraefix + "." +
|
897
|
-
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
|
898
|
-
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
|
899
|
-
adapter.getState(datenpunktPraefix + "." + attributeDevice).val // [4] Device (z.B. Stehlampe)
|
900
|
-
));
|
781
|
+
// WhiteColorScheme2:
|
782
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss2_aktiv).val == true) {
|
783
|
+
// @ts-ignore
|
784
|
+
schemeArray.push(new WhiteColorScheme(adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss2_name).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss2_level).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss2_ct).val));
|
901
785
|
}
|
902
|
-
|
903
|
-
|
904
|
-
|
905
|
-
adapter.getState(datenpunktPraefix + "." +
|
906
|
-
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
|
907
|
-
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
|
908
|
-
adapter.getState(datenpunktPraefix + "." + attributeDevice).val // [4] Device (z.B. Stehlampe)
|
909
|
-
));
|
786
|
+
// WhiteColorScheme3:
|
787
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss3_aktiv).val == true) {
|
788
|
+
// @ts-ignore
|
789
|
+
schemeArray.push(new WhiteColorScheme(adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss3_name).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss3_level).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss3_ct).val));
|
910
790
|
}
|
911
|
-
|
912
|
-
|
913
|
-
|
914
|
-
adapter.getState(datenpunktPraefix + "." +
|
915
|
-
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
|
916
|
-
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
|
917
|
-
adapter.getState(datenpunktPraefix + "." + attributeDevice).val // [4] Device (z.B. Stehlampe)
|
918
|
-
));
|
791
|
+
// WhiteColorScheme4:
|
792
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss4_aktiv).val == true) {
|
793
|
+
// @ts-ignore
|
794
|
+
schemeArray.push(new WhiteColorScheme(adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss4_name).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss4_level).val, adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_ColorSchemes_Weiss4_ct).val));
|
919
795
|
}
|
796
|
+
// @ts-ignore
|
797
|
+
cacheLampenRGBArray.push(new ZigbeeLampeRGB(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
|
798
|
+
adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
|
799
|
+
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
|
800
|
+
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
|
801
|
+
adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [4] Device (z.B. Stehlampe)
|
802
|
+
adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_Group).val, // [5] Gruppe
|
803
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_Groupmembers).val), // [6] Gruppenmitglieder
|
804
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOn).val), // 08 Alexa-Ein
|
805
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOn).val), // Alexa-Action-Ein, z.B. "Guten morgen" (Würde auch funktionieren, wenn dies bei [06] eingetragen ist)
|
806
|
+
alexaOnScheme, // [09 A.-Ein-Scheme]
|
807
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOff).val), // 10 Alexa-Aus
|
808
|
+
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.
|
809
|
+
schemeArray, // [12 Alexa-Schemes]
|
810
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_TasterBooleanOn).val), // 13 TasterBoolOn
|
811
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_TasterBooleanOff).val), // 14 TasterBoolOff
|
812
|
+
adapter.getState(datenpunktPraefix + "." + attribute_Nachtbeleuchtung).val, // Gehört zur Nachtbeleuchtung ja/nein
|
813
|
+
adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseSummer).val, // turnOffExitHouseSummer (Ausschalten, wenn Haus verlassen - Sommer)
|
814
|
+
adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseWinter).val, // turnOffExitHouseWinter (Ausschalten, wenn Haus verlassen - Winter)
|
815
|
+
adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseSummer).val, // turnOnEnterHouseSummer (Einschalten, wenn Haus betreten - Sommer)
|
816
|
+
adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseWinter).val // turnOnEnterHouseWinter (Einschalten, wenn Haus betreten - Winter)
|
817
|
+
));
|
818
|
+
}
|
819
|
+
});
|
820
|
+
return cacheLampenRGBArray;
|
821
|
+
}
|
822
|
+
exports.loadZigbeeLampenRGB = loadZigbeeLampenRGB;
|
823
|
+
var cacheLampenWeissArray = null;
|
824
|
+
function loadZigbeeLampenWeiss(adapter) {
|
825
|
+
if (cacheLampenWeissArray != null) {
|
826
|
+
return cacheLampenWeissArray;
|
827
|
+
}
|
828
|
+
// @ts-ignore
|
829
|
+
cacheLampenWeissArray = [];
|
830
|
+
adapter.$('state[id=0_userdata.0.devices.zigbee.*.*.category]').each(function (datenpunktKey) {
|
831
|
+
var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
|
832
|
+
if (adapter.getState(datenpunktKey).val == deviceZigbeeLampeWeiss) {
|
833
|
+
// Einschalt-Scheme:
|
834
|
+
var alexaOnScheme = null;
|
835
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_AlexaColorSchemeForOn_Weiss_aktiv).val == true) {
|
836
|
+
// @ts-ignore
|
837
|
+
alexaOnScheme = new LampeWeissColorScheme(null, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_AlexaColorSchemeForOn_Weiss_level).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_AlexaColorSchemeForOn_Weiss_ct).val);
|
838
|
+
}
|
839
|
+
// Weitere Schemes als Array:
|
840
|
+
var schemeArray = [];
|
841
|
+
// WhiteColorScheme1:
|
842
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss1_aktiv).val == true) {
|
843
|
+
// @ts-ignore
|
844
|
+
schemeArray.push(new LampeWeissAlexaScheme(adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss1_name).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss1_level).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss1_ct).val));
|
845
|
+
}
|
846
|
+
// WhiteColorScheme2:
|
847
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss2_aktiv).val == true) {
|
848
|
+
// @ts-ignore
|
849
|
+
schemeArray.push(new LampeWeissAlexaScheme(adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss2_name).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss2_level).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss2_ct).val));
|
850
|
+
}
|
851
|
+
// WhiteColorScheme3:
|
852
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss3_aktiv).val == true) {
|
853
|
+
// @ts-ignore
|
854
|
+
schemeArray.push(new LampeWeissAlexaScheme(adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss3_name).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss3_level).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss3_ct).val));
|
855
|
+
}
|
856
|
+
// WhiteColorScheme4:
|
857
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss4_aktiv).val == true) {
|
858
|
+
// @ts-ignore
|
859
|
+
schemeArray.push(new LampeWeissAlexaScheme(adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss4_name).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss4_level).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_ColorSchemes_Weiss4_ct).val));
|
860
|
+
}
|
861
|
+
// Taster Boolean On Schemes:
|
862
|
+
var tasterOnBoolschemeArray = [];
|
863
|
+
// LampeWeissTasterScheme1:
|
864
|
+
//constructor(tasterBooleanOn: string, level: number, ct: number) {
|
865
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn1_aktiv).val == true) {
|
866
|
+
// @ts-ignore
|
867
|
+
tasterOnBoolschemeArray.push(new LampeWeissTasterScheme(adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn1_name).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn1_level).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn1_ct).val));
|
868
|
+
}
|
869
|
+
// LampeWeissTasterScheme2:
|
870
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn2_aktiv).val == true) {
|
871
|
+
// @ts-ignore
|
872
|
+
tasterOnBoolschemeArray.push(new LampeWeissTasterScheme(adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn2_name).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn2_level).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn2_ct).val));
|
873
|
+
}
|
874
|
+
// LampeWeissTasterScheme3:
|
875
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn3_aktiv).val == true) {
|
876
|
+
// @ts-ignore
|
877
|
+
tasterOnBoolschemeArray.push(new LampeWeissTasterScheme(adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn3_name).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn3_level).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn3_ct).val));
|
878
|
+
}
|
879
|
+
// LampeWeissTasterScheme4:
|
880
|
+
if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn4_aktiv).val == true) {
|
881
|
+
// @ts-ignore
|
882
|
+
tasterOnBoolschemeArray.push(new LampeWeissTasterScheme(adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn4_name).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn4_level).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_tasterBoolOn4_ct).val));
|
883
|
+
}
|
884
|
+
// @ts-ignore
|
885
|
+
cacheLampenWeissArray.push(new ZigbeeLampeWeiss(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
|
886
|
+
adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
|
887
|
+
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
|
888
|
+
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
|
889
|
+
adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [4] Device (z.B. Stehlampe)
|
890
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOn).val), // 08 Alexa-Ein
|
891
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOn).val), // Alexa-Action-Ein, z.B. "Guten morgen" (Würde auch funktionieren, wenn dies bei [06] eingetragen ist)
|
892
|
+
alexaOnScheme, // [06 A.-Ein-Scheme] */ new LampeWeissAlexaScheme(null, 100, -1), // Letzter Paramter = -1 heußt, dass diese Lampe keine Farbtemperatur unterstützt. Ansonsten hier die Temperatur angeben
|
893
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOff).val), // 09 Alexa-Aus
|
894
|
+
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.
|
895
|
+
schemeArray, // [08 Alexa-Schemes]
|
896
|
+
adapter.getState(datenpunktPraefix + "." + attributeLampeWeissGroup).val, // [6] Gruppe
|
897
|
+
tasterOnBoolschemeArray, // [07 TasterBoolOn ]
|
898
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_TasterBooleanOff).val), // 14 TasterBoolOff
|
899
|
+
adapter.getState(datenpunktPraefix + "." + attribute_Nachtbeleuchtung).val, // Gehört zur Nachtbeleuchtung ja/nein
|
900
|
+
adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseSummer).val, // turnOffExitHouseSummer (Ausschalten, wenn Haus verlassen - Sommer)
|
901
|
+
adapter.getState(datenpunktPraefix + "." + attribute_TurnOffExitHouseWinter).val, // turnOffExitHouseWinter (Ausschalten, wenn Haus verlassen - Winter)
|
902
|
+
adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseSummer).val, // turnOnEnterHouseSummer (Einschalten, wenn Haus betreten - Sommer)
|
903
|
+
adapter.getState(datenpunktPraefix + "." + attribute_TurnOnEnterHouseWinter).val // turnOnEnterHouseWinter (Einschalten, wenn Haus betreten - Winter)
|
904
|
+
));
|
905
|
+
}
|
906
|
+
});
|
907
|
+
return cacheLampenWeissArray;
|
908
|
+
}
|
909
|
+
exports.loadZigbeeLampenWeiss = loadZigbeeLampenWeiss;
|
910
|
+
var cacheRauchmelderArray = null;
|
911
|
+
function loadZigbeeRauchmeler(adapter) {
|
912
|
+
if (cacheRauchmelderArray != null) {
|
913
|
+
return cacheRauchmelderArray;
|
914
|
+
}
|
915
|
+
// @ts-ignore
|
916
|
+
cacheRauchmelderArray = [];
|
917
|
+
adapter.$('state[id=0_userdata.0.devices.zigbee.*.*.category]').each(function (datenpunktKey) {
|
918
|
+
var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
|
919
|
+
if (adapter.getState(datenpunktKey).val == deviceZigbeeRauchmelder) {
|
920
|
+
// @ts-ignore
|
921
|
+
cacheRauchmelderArray.push(new ZigbeeRauchmelder(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
|
922
|
+
adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
|
923
|
+
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
|
924
|
+
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
|
925
|
+
adapter.getState(datenpunktPraefix + "." + attributeDevice).val // [4] Device (z.B. Stehlampe)
|
926
|
+
));
|
927
|
+
}
|
928
|
+
});
|
929
|
+
return cacheRauchmelderArray;
|
930
|
+
}
|
931
|
+
exports.loadZigbeeRauchmeler = loadZigbeeRauchmeler;
|
932
|
+
var cacheWandtasterArray = null;
|
933
|
+
function loadZigbeeWandtaster(adapter) {
|
934
|
+
if (cacheWandtasterArray != null) {
|
935
|
+
return cacheWandtasterArray;
|
936
|
+
}
|
937
|
+
// @ts-ignore
|
938
|
+
cacheWandtasterArray = [];
|
939
|
+
adapter.$('state[id=0_userdata.0.devices.zigbee.*.*.category]').each(function (datenpunktKey) {
|
940
|
+
var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
|
941
|
+
if (adapter.getState(datenpunktKey).val == deviceZigbeeWandtaster) {
|
942
|
+
// @ts-ignore
|
943
|
+
cacheWandtasterArray.push(new ZigbeeWandtaster(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
|
944
|
+
adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
|
945
|
+
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
|
946
|
+
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
|
947
|
+
adapter.getState(datenpunktPraefix + "." + attributeDevice).val // [4] Device (z.B. Stehlampe)
|
948
|
+
));
|
920
949
|
}
|
921
950
|
});
|
922
|
-
return
|
951
|
+
return cacheWandtasterArray;
|
923
952
|
}
|
924
|
-
exports.
|
953
|
+
exports.loadZigbeeWandtaster = loadZigbeeWandtaster;
|
954
|
+
var cacheDosenrelaisArray = null;
|
955
|
+
function loadZigbeeDosenrelais(adapter) {
|
956
|
+
if (cacheDosenrelaisArray != null) {
|
957
|
+
return cacheDosenrelaisArray;
|
958
|
+
}
|
959
|
+
// @ts-ignore
|
960
|
+
cacheDosenrelaisArray = [];
|
961
|
+
adapter.$('state[id=0_userdata.0.devices.zigbee.*.*.category]').each(function (datenpunktKey) {
|
962
|
+
var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
|
963
|
+
if (adapter.getState(datenpunktKey).val == deviceZigbeeDosenrelais) {
|
964
|
+
// @ts-ignore
|
965
|
+
cacheDosenrelaisArray.push(new ZigbeeDosenrelais(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
|
966
|
+
adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
|
967
|
+
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
|
968
|
+
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
|
969
|
+
adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [4] Device (z.B. Stehlampe)
|
970
|
+
toStringArray(adapter.getState(datenpunktPraefix + "." + attributeDosenrelais_smartNames).val) // 14 TasterBoolOff
|
971
|
+
));
|
972
|
+
}
|
973
|
+
});
|
974
|
+
return cacheDosenrelaisArray;
|
975
|
+
}
|
976
|
+
exports.loadZigbeeDosenrelais = loadZigbeeDosenrelais;
|
977
|
+
var cacheSchalterArray = null;
|
978
|
+
function loadZigbeeSchalter(adapter) {
|
979
|
+
if (cacheSchalterArray != null) {
|
980
|
+
return cacheSchalterArray;
|
981
|
+
}
|
982
|
+
// @ts-ignore
|
983
|
+
cacheSchalterArray = [];
|
984
|
+
adapter.$('state[id=0_userdata.0.devices.zigbee.*.*.category]').each(function (datenpunktKey) {
|
985
|
+
var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
|
986
|
+
if (adapter.getState(datenpunktKey).val == deviceZigbeeSchalter) {
|
987
|
+
// @ts-ignore
|
988
|
+
cacheSchalterArray.push(new ZigbeeSchalter(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
|
989
|
+
adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
|
990
|
+
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
|
991
|
+
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
|
992
|
+
adapter.getState(datenpunktPraefix + "." + attributeDevice).val // [4] Device (z.B. Stehlampe)
|
993
|
+
));
|
994
|
+
}
|
995
|
+
});
|
996
|
+
return cacheSchalterArray;
|
997
|
+
}
|
998
|
+
exports.loadZigbeeSchalter = loadZigbeeSchalter;
|
999
|
+
var cacheRepeaterArray = null;
|
1000
|
+
function loadZigbeeRepeater(adapter) {
|
1001
|
+
if (cacheRepeaterArray != null) {
|
1002
|
+
return cacheRepeaterArray;
|
1003
|
+
}
|
1004
|
+
// @ts-ignore
|
1005
|
+
cacheRepeaterArray = [];
|
1006
|
+
adapter.$('state[id=0_userdata.0.devices.zigbee.*.*.category]').each(function (datenpunktKey) {
|
1007
|
+
var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
|
1008
|
+
if (adapter.getState(datenpunktKey).val == deviceZigbeeRepeater) {
|
1009
|
+
// @ts-ignore
|
1010
|
+
cacheRepeaterArray.push(new ZigbeeRepeater(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
|
1011
|
+
adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
|
1012
|
+
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
|
1013
|
+
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
|
1014
|
+
adapter.getState(datenpunktPraefix + "." + attributeDevice).val // [4] Device (z.B. Stehlampe)
|
1015
|
+
));
|
1016
|
+
}
|
1017
|
+
});
|
1018
|
+
return cacheRepeaterArray;
|
1019
|
+
}
|
1020
|
+
exports.loadZigbeeRepeater = loadZigbeeRepeater;
|
1021
|
+
var cacheFenstersensorenArray = null;
|
1022
|
+
function loadZigbeeFenstersensor(adapter) {
|
1023
|
+
if (cacheFenstersensorenArray != null) {
|
1024
|
+
return cacheFenstersensorenArray;
|
1025
|
+
}
|
1026
|
+
// @ts-ignore
|
1027
|
+
cacheFenstersensorenArray = [];
|
1028
|
+
adapter.$('state[id=0_userdata.0.devices.zigbee.*.*.category]').each(function (datenpunktKey) {
|
1029
|
+
var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
|
1030
|
+
if (adapter.getState(datenpunktKey).val == deviceZigbeeFenstersensor) {
|
1031
|
+
// @ts-ignore
|
1032
|
+
cacheFenstersensorenArray.push(new Zigbee(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
|
1033
|
+
adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
|
1034
|
+
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
|
1035
|
+
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
|
1036
|
+
adapter.getState(datenpunktPraefix + "." + attributeDevice).val // [4] Device (z.B. Stehlampe)
|
1037
|
+
));
|
1038
|
+
}
|
1039
|
+
});
|
1040
|
+
return cacheFenstersensorenArray;
|
1041
|
+
}
|
1042
|
+
exports.loadZigbeeFenstersensor = loadZigbeeFenstersensor;
|
1043
|
+
var zigbeeAllArray = null;
|
925
1044
|
function getZigbeeDevicesAll(adapter) {
|
926
|
-
|
927
|
-
|
1045
|
+
if (zigbeeAllArray != null) {
|
1046
|
+
return zigbeeAllArray;
|
1047
|
+
}
|
1048
|
+
// @ts-ignore
|
1049
|
+
zigbeeAllArray = [];
|
1050
|
+
adapter.loadZigbeeSteckdosen(adapter).forEach(function (zigbee) {
|
928
1051
|
// @ts-ignore
|
929
|
-
|
1052
|
+
zigbeeAllArray.push(zigbee);
|
930
1053
|
});
|
931
|
-
adapter.
|
1054
|
+
adapter.loadZigbeeBewegungsmelder(adapter).forEach(function (zigbee) {
|
932
1055
|
// @ts-ignore
|
933
|
-
|
1056
|
+
zigbeeAllArray.push(zigbee);
|
934
1057
|
});
|
935
|
-
adapter.
|
1058
|
+
adapter.loadZigbeeLampenRGB(adapter).forEach(function (zigbee) {
|
936
1059
|
// @ts-ignore
|
937
|
-
|
1060
|
+
zigbeeAllArray.push(zigbee);
|
938
1061
|
});
|
939
|
-
adapter.
|
1062
|
+
adapter.loadZigbeeLampenWeiss(adapter).forEach(function (zigbee) {
|
940
1063
|
// @ts-ignore
|
941
|
-
|
1064
|
+
zigbeeAllArray.push(zigbee);
|
942
1065
|
});
|
943
|
-
adapter.
|
1066
|
+
adapter.loadZigbeeRauchmeler(adapter).forEach(function (zigbee) {
|
944
1067
|
// @ts-ignore
|
945
|
-
|
1068
|
+
zigbeeAllArray.push(zigbee);
|
946
1069
|
});
|
947
|
-
adapter.
|
1070
|
+
adapter.loadZigbeeWandtaster(adapter).forEach(function (zigbee) {
|
948
1071
|
// @ts-ignore
|
949
|
-
|
1072
|
+
zigbeeAllArray.push(zigbee);
|
950
1073
|
});
|
951
|
-
adapter.
|
1074
|
+
adapter.loadZigbeeDosenrelais(adapter).forEach(function (zigbee) {
|
952
1075
|
// @ts-ignore
|
953
|
-
|
1076
|
+
zigbeeAllArray.push(zigbee);
|
954
1077
|
});
|
955
|
-
adapter.
|
1078
|
+
adapter.loadZigbeeSchalter(adapter).forEach(function (zigbee) {
|
956
1079
|
// @ts-ignore
|
957
|
-
|
1080
|
+
zigbeeAllArray.push(zigbee);
|
958
1081
|
});
|
959
|
-
adapter.
|
1082
|
+
adapter.loadZigbeeRepeater(adapter).forEach(function (zigbee) {
|
960
1083
|
// @ts-ignore
|
961
|
-
|
1084
|
+
zigbeeAllArray.push(zigbee);
|
962
1085
|
});
|
963
|
-
adapter.
|
1086
|
+
adapter.loadZigbeeFenstersensor(adapter).forEach(function (zigbee) {
|
964
1087
|
// @ts-ignore
|
965
|
-
|
1088
|
+
zigbeeAllArray.push(zigbee);
|
966
1089
|
});
|
967
|
-
return
|
1090
|
+
return zigbeeAllArray;
|
968
1091
|
}
|
969
1092
|
exports.getZigbeeDevicesAll = getZigbeeDevicesAll;
|
970
|
-
module.exports = { createZigbeeDevice: createZigbeeDevice, createDosenrelaisDevice: createDosenrelaisDevice, createLampeRGB: createLampeRGB, createLampeWeiss: createLampeWeiss, createSteckdose: createSteckdose,
|
1093
|
+
module.exports = { createZigbeeDevice: createZigbeeDevice, createDosenrelaisDevice: createDosenrelaisDevice, createLampeRGB: createLampeRGB, createLampeWeiss: createLampeWeiss, createSteckdose: createSteckdose, loadZigbeeSteckdosen: loadZigbeeSteckdosen, loadZigbeeBewegungsmelder: loadZigbeeBewegungsmelder, loadZigbeeLampenRGB: loadZigbeeLampenRGB, loadZigbeeLampenWeiss: loadZigbeeLampenWeiss, loadZigbeeRauchmeler: loadZigbeeRauchmeler, loadZigbeeWandtaster: loadZigbeeWandtaster, loadZigbeeDosenrelais: loadZigbeeDosenrelais, loadZigbeeSchalter: loadZigbeeSchalter, loadZigbeeRepeater: loadZigbeeRepeater, loadZigbeeFenstersensor: loadZigbeeFenstersensor, getZigbeeDevicesAll: getZigbeeDevicesAll };
|