iobroker-ucl 1.2.72 → 1.2.74
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/package.json +1 -1
- package/shellyFunctions.js +53 -2
- package/shellyFunctions.ts +59 -3
package/package.json
CHANGED
package/shellyFunctions.js
CHANGED
@@ -461,6 +461,7 @@ function loadShellyRollladen(adapter) {
|
|
461
461
|
));
|
462
462
|
}
|
463
463
|
});
|
464
|
+
cacheRollladenArray = sortArray(cacheRollladenArray);
|
464
465
|
return cacheRollladenArray;
|
465
466
|
}
|
466
467
|
exports.loadShellyRollladen = loadShellyRollladen;
|
@@ -483,6 +484,7 @@ function loadShellySensoren(adapter) {
|
|
483
484
|
));
|
484
485
|
}
|
485
486
|
});
|
487
|
+
cacheSensorenArray = sortArray(cacheSensorenArray);
|
486
488
|
return cacheSensorenArray;
|
487
489
|
}
|
488
490
|
exports.loadShellySensoren = loadShellySensoren;
|
@@ -513,7 +515,7 @@ var cacheDimmerArray = null;
|
|
513
515
|
function loadShellyDimmer(adapter) {
|
514
516
|
adapter.log("loadShelly Modul inside");
|
515
517
|
if (cacheDimmerArray != null) {
|
516
|
-
adapter.log("loadShelly Modul inside_b_ääääääääääääääääää");
|
518
|
+
adapter.log("loadShelly Modul inside_b_ääääääääääääääääää" + cacheDimmerArray);
|
517
519
|
return cacheDimmerArray;
|
518
520
|
}
|
519
521
|
adapter.log("loadShelly Modul inside_b");
|
@@ -579,7 +581,6 @@ function loadShellyDimmer(adapter) {
|
|
579
581
|
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [2] Raum/Unterbereich (z.B. Wohnzimmer)
|
580
582
|
adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [3] Device (z.B. Stehlampe)
|
581
583
|
adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [4] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
|
582
|
-
adapter.getState(datenpunktPraefix + "." + attributeChannel).val, // [4] Channel
|
583
584
|
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOn).val), // 08 Alexa-Ein
|
584
585
|
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOn).val), // Alexa-Action-Ein, z.B. "Guten morgen" (Würde auch funktionieren, wenn dies bei [06] eingetragen ist)
|
585
586
|
alexaOnScheme, // 08] A.-Ein-Schem
|
@@ -596,6 +597,7 @@ function loadShellyDimmer(adapter) {
|
|
596
597
|
));
|
597
598
|
}
|
598
599
|
});
|
600
|
+
cacheDimmerArray = sortArray(cacheDimmerArray);
|
599
601
|
return cacheDimmerArray;
|
600
602
|
}
|
601
603
|
exports.loadShellyDimmer = loadShellyDimmer;
|
@@ -630,6 +632,7 @@ function loadShellyLampenWeiss(adapter) {
|
|
630
632
|
));
|
631
633
|
}
|
632
634
|
});
|
635
|
+
cacheLampenWeissArray = sortArray(cacheLampenWeissArray);
|
633
636
|
return cacheLampenWeissArray;
|
634
637
|
}
|
635
638
|
exports.loadShellyLampenWeiss = loadShellyLampenWeiss;
|
@@ -664,6 +667,7 @@ function loadShellySteckdosen(adapter) {
|
|
664
667
|
));
|
665
668
|
}
|
666
669
|
});
|
670
|
+
cacheSteckdosenArray = sortArray(cacheSteckdosenArray);
|
667
671
|
return cacheSteckdosenArray;
|
668
672
|
}
|
669
673
|
exports.loadShellySteckdosen = loadShellySteckdosen;
|
@@ -694,6 +698,7 @@ function loadShellyDevicesAll(adapter) {
|
|
694
698
|
// @ts-ignore
|
695
699
|
shellyAllArray.push(shelly);
|
696
700
|
});
|
701
|
+
shellyAllArray = sortArray(shellyAllArray);
|
697
702
|
return shellyAllArray;
|
698
703
|
}
|
699
704
|
exports.loadShellyDevicesAll = loadShellyDevicesAll;
|
@@ -706,4 +711,50 @@ function toStringArray(databaseValue) {
|
|
706
711
|
return databaseValue.split('|');
|
707
712
|
}
|
708
713
|
}
|
714
|
+
function sortArray(inputArray) {
|
715
|
+
inputArray.sort(function (a, b) {
|
716
|
+
var elementA = a;
|
717
|
+
var elementB = b;
|
718
|
+
var etageA = elementA.getEtage();
|
719
|
+
var etageB = elementB.getEtage();
|
720
|
+
var compareEtage = getEtageSortIndex(etageA).localeCompare(getEtageSortIndex(etageB));
|
721
|
+
if (compareEtage != 0) {
|
722
|
+
return compareEtage;
|
723
|
+
}
|
724
|
+
var typA = elementA.getUsageType();
|
725
|
+
var typB = elementB.getUsageType();
|
726
|
+
var compareTyp = typA.localeCompare(typB);
|
727
|
+
if (compareTyp != 0) {
|
728
|
+
return compareTyp;
|
729
|
+
}
|
730
|
+
var raumA = elementA.getRaum();
|
731
|
+
var raumB = elementB.getRaum();
|
732
|
+
var compareRaum = raumA.localeCompare(raumB);
|
733
|
+
if (compareRaum != 0) {
|
734
|
+
return compareRaum;
|
735
|
+
}
|
736
|
+
var deviceA = elementA.getDevice();
|
737
|
+
var deviceB = elementB.getDevice();
|
738
|
+
var compareDevice = deviceA.localeCompare(deviceB);
|
739
|
+
if (compareDevice != 0) {
|
740
|
+
return compareDevice;
|
741
|
+
}
|
742
|
+
return 0;
|
743
|
+
});
|
744
|
+
return inputArray;
|
745
|
+
}
|
746
|
+
function getEtageSortIndex(etage) {
|
747
|
+
if (etage == "OG") {
|
748
|
+
return "a";
|
749
|
+
}
|
750
|
+
else if (etage == "EG") {
|
751
|
+
return "b";
|
752
|
+
}
|
753
|
+
else if (etage == "UG") {
|
754
|
+
return "c";
|
755
|
+
}
|
756
|
+
else {
|
757
|
+
return "d";
|
758
|
+
}
|
759
|
+
}
|
709
760
|
module.exports = { createShellyDevice: createShellyDevice, createShellySensor: createShellySensor, createShellyLampeRGB: createShellyLampeRGB, createShellyRollladen: createShellyRollladen, createShellyDimmer: createShellyDimmer, createShellyLampe: createShellyLampe, createShellySteckdose: createShellySteckdose, loadShellyRollladen: loadShellyRollladen, loadShellySensoren: loadShellySensoren, loadShellyDimmer: loadShellyDimmer, loadShellyLampenWeiss: loadShellyLampenWeiss, loadShellySteckdosen: loadShellySteckdosen, loadShellyDevicesAll: loadShellyDevicesAll };
|
package/shellyFunctions.ts
CHANGED
@@ -501,6 +501,7 @@ export function loadShellyRollladen(adapter: any) {
|
|
501
501
|
));
|
502
502
|
}
|
503
503
|
});
|
504
|
+
cacheRollladenArray = sortArray(cacheRollladenArray);
|
504
505
|
return cacheRollladenArray;
|
505
506
|
}
|
506
507
|
|
@@ -524,6 +525,7 @@ export function loadShellySensoren(adapter: any) {
|
|
524
525
|
));
|
525
526
|
}
|
526
527
|
});
|
528
|
+
cacheSensorenArray = sortArray(cacheSensorenArray);
|
527
529
|
return cacheSensorenArray;
|
528
530
|
}
|
529
531
|
|
@@ -556,7 +558,7 @@ var cacheDimmerArray = null;
|
|
556
558
|
export function loadShellyDimmer(adapter: any) {
|
557
559
|
adapter.log("loadShelly Modul inside");
|
558
560
|
if (cacheDimmerArray != null) {
|
559
|
-
adapter.log("loadShelly Modul inside_b_ääääääääääääääääää");
|
561
|
+
adapter.log("loadShelly Modul inside_b_ääääääääääääääääää" + cacheDimmerArray);
|
560
562
|
return cacheDimmerArray;
|
561
563
|
}
|
562
564
|
adapter.log("loadShelly Modul inside_b");
|
@@ -663,7 +665,6 @@ export function loadShellyDimmer(adapter: any) {
|
|
663
665
|
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [2] Raum/Unterbereich (z.B. Wohnzimmer)
|
664
666
|
adapter.getState(datenpunktPraefix + "." + attributeDevice).val, // [3] Device (z.B. Stehlampe)
|
665
667
|
adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [4] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
|
666
|
-
adapter.getState(datenpunktPraefix + "." + attributeChannel).val, // [4] Channel
|
667
668
|
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaSmartNamesForOn).val), // 08 Alexa-Ein
|
668
669
|
toStringArray(adapter.getState(datenpunktPraefix + "." + attribute_AlexaActionNamesForOn).val), // Alexa-Action-Ein, z.B. "Guten morgen" (Würde auch funktionieren, wenn dies bei [06] eingetragen ist)
|
669
670
|
alexaOnScheme, // 08] A.-Ein-Schem
|
@@ -680,10 +681,10 @@ export function loadShellyDimmer(adapter: any) {
|
|
680
681
|
));
|
681
682
|
}
|
682
683
|
});
|
684
|
+
cacheDimmerArray = sortArray(cacheDimmerArray);
|
683
685
|
return cacheDimmerArray;
|
684
686
|
}
|
685
687
|
|
686
|
-
|
687
688
|
var cacheLampenWeissArray = null;
|
688
689
|
export function loadShellyLampenWeiss(adapter: any) {
|
689
690
|
if (cacheLampenWeissArray != null) {
|
@@ -718,6 +719,7 @@ export function loadShellyLampenWeiss(adapter: any) {
|
|
718
719
|
));
|
719
720
|
}
|
720
721
|
});
|
722
|
+
cacheLampenWeissArray = sortArray(cacheLampenWeissArray);
|
721
723
|
return cacheLampenWeissArray;
|
722
724
|
}
|
723
725
|
|
@@ -755,6 +757,7 @@ export function loadShellySteckdosen(adapter: any) {
|
|
755
757
|
));
|
756
758
|
}
|
757
759
|
});
|
760
|
+
cacheSteckdosenArray = sortArray(cacheSteckdosenArray);
|
758
761
|
return cacheSteckdosenArray;
|
759
762
|
}
|
760
763
|
|
@@ -787,6 +790,7 @@ export function loadShellyDevicesAll(adapter: any) {
|
|
787
790
|
// @ts-ignore
|
788
791
|
shellyAllArray.push(shelly);
|
789
792
|
});
|
793
|
+
shellyAllArray = sortArray(shellyAllArray);
|
790
794
|
return shellyAllArray;
|
791
795
|
}
|
792
796
|
|
@@ -799,4 +803,56 @@ function toStringArray(databaseValue) { // z.B. "Werkbank|Arbeiten|Keller"
|
|
799
803
|
}
|
800
804
|
}
|
801
805
|
|
806
|
+
function sortArray(inputArray) {
|
807
|
+
inputArray.sort((a,b) => {
|
808
|
+
var elementA = a;
|
809
|
+
var elementB = b;
|
810
|
+
|
811
|
+
var etageA = elementA.getEtage();
|
812
|
+
var etageB = elementB.getEtage();
|
813
|
+
var compareEtage = getEtageSortIndex(etageA).localeCompare(getEtageSortIndex(etageB));
|
814
|
+
if (compareEtage != 0) {
|
815
|
+
return compareEtage;
|
816
|
+
}
|
817
|
+
|
818
|
+
var typA = elementA.getUsageType();
|
819
|
+
var typB = elementB.getUsageType();
|
820
|
+
var compareTyp = typA.localeCompare(typB);
|
821
|
+
if (compareTyp != 0) {
|
822
|
+
return compareTyp;
|
823
|
+
}
|
824
|
+
|
825
|
+
|
826
|
+
var raumA = elementA.getRaum();
|
827
|
+
var raumB = elementB.getRaum();
|
828
|
+
var compareRaum = raumA.localeCompare(raumB);
|
829
|
+
if (compareRaum != 0) {
|
830
|
+
return compareRaum;
|
831
|
+
}
|
832
|
+
|
833
|
+
var deviceA = elementA.getDevice();
|
834
|
+
var deviceB = elementB.getDevice();
|
835
|
+
var compareDevice = deviceA.localeCompare(deviceB);
|
836
|
+
if (compareDevice != 0) {
|
837
|
+
return compareDevice;
|
838
|
+
}
|
839
|
+
|
840
|
+
return 0;
|
841
|
+
});
|
842
|
+
return inputArray;
|
843
|
+
}
|
844
|
+
|
845
|
+
function getEtageSortIndex(etage: string) {
|
846
|
+
if (etage == "OG") {
|
847
|
+
return "a";
|
848
|
+
} else if (etage == "EG") {
|
849
|
+
return "b";
|
850
|
+
} else if (etage == "UG") {
|
851
|
+
return "c";
|
852
|
+
} else {
|
853
|
+
return "d";
|
854
|
+
}
|
855
|
+
}
|
856
|
+
|
857
|
+
|
802
858
|
module.exports = { createShellyDevice, createShellySensor, createShellyLampeRGB, createShellyRollladen, createShellyDimmer, createShellyLampe, createShellySteckdose, loadShellyRollladen, loadShellySensoren, loadShellyDimmer, loadShellyLampenWeiss, loadShellySteckdosen, loadShellyDevicesAll };
|