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.
@@ -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.getZigbeeDevices = exports.createLampeRGB = exports.createLampeWeiss = exports.createSteckdose = exports.createDosenrelaisDevice = exports.createZigbeeDevice = void 0;
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
- function getZigbeeDevices(adapter, filterCategory) {
686
- var zigbeeArray = [];
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 == filterCategory) {
690
- //constructor(adapter:any, id: number, baseState: string, etage: string, raum: string,
691
- // device: string,
692
- // alexaSmartNamesForOn:string[],alexaActionNamesForOn:string[], alexaSmartNamesForOff: string[],alexaActionNamesForOff: string[], additionalStates4TurnOn:string[], additionalStates4TurnOff:string[]) {
693
- if (filterCategory == deviceZigbeeSteckdose) {
694
- // @ts-ignore
695
- zigbeeArray.push(new ZigbeeSteckdose(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
696
- adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
697
- adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
698
- adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
699
- adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [4] Device (z.B. Stehlampe)
700
- toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOn).val), // 08 Alexa-Ein
701
- toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOn).val), // Alexa-Action-Ein, z.B. "Guten morgen" (Würde auch funktionieren, wenn dies bei [06] eingetragen ist)
702
- toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOff).val), // 09 Alexa-Aus
703
- 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.
704
- toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_TasterBooleanOn).val), // 07 TunrnOn-DP
705
- toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_TasterBooleanOff).val) // 08 TasterBoolOff-DP
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 (filterCategory == deviceZigbeeBewegungsmelder) {
709
- // @ts-ignore
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
- else if (filterCategory == deviceZigbeeLampeRGB) {
718
- // Einschalt-Scheme:
719
- var alexaOnScheme = null;
720
- if (adapter.getState(datenpunktPraefix + "." + attributeRGBLamp_AlexaColorSchemeForOn_Farbe_aktiv).val == true) {
721
- 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);
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
- else if (filterCategory == deviceZigbeeLampeWeiss) {
792
- // Einschalt-Scheme:
793
- var alexaOnScheme = null;
794
- if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_AlexaColorSchemeForOn_Weiss_aktiv).val == true) {
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
- else if (filterCategory == deviceZigbeeRauchmelder) {
866
- // @ts-ignore
867
- zigbeeArray.push(new ZigbeeRauchmelder(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
868
- adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
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
- else if (filterCategory == deviceZigbeeWandtaster) {
875
- // @ts-ignore
876
- zigbeeArray.push(new ZigbeeWandtaster(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
877
- adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
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
- else if (filterCategory == deviceZigbeeDosenrelais) {
884
- // @ts-ignore
885
- zigbeeArray.push(new ZigbeeDosenrelais(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 + "." + 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
- else if (filterCategory == deviceZigbeeSchalter) {
894
- // @ts-ignore
895
- zigbeeArray.push(new ZigbeeSchalter(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
896
- adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
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
- else if (filterCategory == deviceZigbeeRepeater) {
903
- // @ts-ignore
904
- zigbeeArray.push(new ZigbeeRepeater(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
905
- adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
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
- else if (filterCategory == deviceZigbeeFenstersensor) { // TODO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
912
- // @ts-ignore
913
- zigbeeArray.push(new Zigbee(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
914
- adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
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 zigbeeArray;
951
+ return cacheWandtasterArray;
923
952
  }
924
- exports.getZigbeeDevices = getZigbeeDevices;
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
- var zigbeeArray = [];
927
- adapter.getZigbeeDevices(adapter, deviceZigbeeSteckdose).forEach(function (zigbee) {
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
- zigbeeArray.push(zigbee);
1052
+ zigbeeAllArray.push(zigbee);
930
1053
  });
931
- adapter.getZigbeeDevices(adapter, deviceZigbeeBewegungsmelder).forEach(function (zigbee) {
1054
+ adapter.loadZigbeeBewegungsmelder(adapter).forEach(function (zigbee) {
932
1055
  // @ts-ignore
933
- zigbeeArray.push(zigbee);
1056
+ zigbeeAllArray.push(zigbee);
934
1057
  });
935
- adapter.getZigbeeDevices(adapter, deviceZigbeeLampeRGB).forEach(function (zigbee) {
1058
+ adapter.loadZigbeeLampenRGB(adapter).forEach(function (zigbee) {
936
1059
  // @ts-ignore
937
- zigbeeArray.push(zigbee);
1060
+ zigbeeAllArray.push(zigbee);
938
1061
  });
939
- adapter.getZigbeeDevices(adapter, deviceZigbeeLampeWeiss).forEach(function (zigbee) {
1062
+ adapter.loadZigbeeLampenWeiss(adapter).forEach(function (zigbee) {
940
1063
  // @ts-ignore
941
- zigbeeArray.push(zigbee);
1064
+ zigbeeAllArray.push(zigbee);
942
1065
  });
943
- adapter.getZigbeeDevices(adapter, deviceZigbeeRauchmelder).forEach(function (zigbee) {
1066
+ adapter.loadZigbeeRauchmeler(adapter).forEach(function (zigbee) {
944
1067
  // @ts-ignore
945
- zigbeeArray.push(zigbee);
1068
+ zigbeeAllArray.push(zigbee);
946
1069
  });
947
- adapter.getZigbeeDevices(adapter, deviceZigbeeWandtaster).forEach(function (zigbee) {
1070
+ adapter.loadZigbeeWandtaster(adapter).forEach(function (zigbee) {
948
1071
  // @ts-ignore
949
- zigbeeArray.push(zigbee);
1072
+ zigbeeAllArray.push(zigbee);
950
1073
  });
951
- adapter.getZigbeeDevices(adapter, deviceZigbeeDosenrelais).forEach(function (zigbee) {
1074
+ adapter.loadZigbeeDosenrelais(adapter).forEach(function (zigbee) {
952
1075
  // @ts-ignore
953
- zigbeeArray.push(zigbee);
1076
+ zigbeeAllArray.push(zigbee);
954
1077
  });
955
- adapter.getZigbeeDevices(adapter, deviceZigbeeSchalter).forEach(function (zigbee) {
1078
+ adapter.loadZigbeeSchalter(adapter).forEach(function (zigbee) {
956
1079
  // @ts-ignore
957
- zigbeeArray.push(zigbee);
1080
+ zigbeeAllArray.push(zigbee);
958
1081
  });
959
- adapter.getZigbeeDevices(adapter, deviceZigbeeRepeater).forEach(function (zigbee) {
1082
+ adapter.loadZigbeeRepeater(adapter).forEach(function (zigbee) {
960
1083
  // @ts-ignore
961
- zigbeeArray.push(zigbee);
1084
+ zigbeeAllArray.push(zigbee);
962
1085
  });
963
- adapter.getZigbeeDevices(adapter, deviceZigbeeFenstersensor).forEach(function (zigbee) {
1086
+ adapter.loadZigbeeFenstersensor(adapter).forEach(function (zigbee) {
964
1087
  // @ts-ignore
965
- zigbeeArray.push(zigbee);
1088
+ zigbeeAllArray.push(zigbee);
966
1089
  });
967
- return zigbeeArray;
1090
+ return zigbeeAllArray;
968
1091
  }
969
1092
  exports.getZigbeeDevicesAll = getZigbeeDevicesAll;
970
- module.exports = { createZigbeeDevice: createZigbeeDevice, createDosenrelaisDevice: createDosenrelaisDevice, createLampeRGB: createLampeRGB, createLampeWeiss: createLampeWeiss, createSteckdose: createSteckdose, getZigbeeDevices: getZigbeeDevices, getZigbeeDevicesAll: getZigbeeDevicesAll };
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 };