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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker-ucl",
3
- "version": "1.2.72",
3
+ "version": "1.2.74",
4
4
  "main": "main.js",
5
5
  "scripts": {
6
6
  "build": "tsc --build",
@@ -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 };
@@ -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 };