iobroker-ucl 1.2.91 → 1.2.92
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/homematicFunctions.js +63 -0
- package/homematicFunctions.ts +68 -2
- package/package.json +1 -1
- package/zigbeeFunctions.js +58 -1
- package/zigbeeFunctions.ts +65 -1
package/homematicFunctions.js
CHANGED
@@ -312,6 +312,7 @@ function loadHomematicRollladen(adapter) {
|
|
312
312
|
));
|
313
313
|
}
|
314
314
|
});
|
315
|
+
cacheRollladenArray = sortArray(cacheRollladenArray);
|
315
316
|
return cacheRollladenArray;
|
316
317
|
}
|
317
318
|
exports.loadHomematicRollladen = loadHomematicRollladen;
|
@@ -334,6 +335,7 @@ function loadHomematicWandthermostate(adapter) {
|
|
334
335
|
));
|
335
336
|
}
|
336
337
|
});
|
338
|
+
cacheWandthermostateArray = sortArray(cacheWandthermostateArray);
|
337
339
|
return cacheWandthermostateArray;
|
338
340
|
}
|
339
341
|
exports.loadHomematicWandthermostate = loadHomematicWandthermostate;
|
@@ -356,6 +358,7 @@ function loadHomematicPraesenzmelder(adapter) {
|
|
356
358
|
));
|
357
359
|
}
|
358
360
|
});
|
361
|
+
cachePraesenzmelderArray = sortArray(cachePraesenzmelderArray);
|
359
362
|
return cachePraesenzmelderArray;
|
360
363
|
}
|
361
364
|
exports.loadHomematicPraesenzmelder = loadHomematicPraesenzmelder;
|
@@ -378,6 +381,7 @@ function loadHomematicWetterstationen(adapter) {
|
|
378
381
|
));
|
379
382
|
}
|
380
383
|
});
|
384
|
+
cacheWetterstationenArray = sortArray(cacheWetterstationenArray);
|
381
385
|
return cacheWetterstationenArray;
|
382
386
|
}
|
383
387
|
exports.loadHomematicWetterstationen = loadHomematicWetterstationen;
|
@@ -400,6 +404,7 @@ function loadHomematicDoors(adapter) {
|
|
400
404
|
));
|
401
405
|
}
|
402
406
|
});
|
407
|
+
cacheDoorsArray = sortArray(cacheDoorsArray);
|
403
408
|
return cacheDoorsArray;
|
404
409
|
}
|
405
410
|
exports.loadHomematicDoors = loadHomematicDoors;
|
@@ -431,6 +436,7 @@ function loadHomematicWandschalter(adapter) {
|
|
431
436
|
));
|
432
437
|
}
|
433
438
|
});
|
439
|
+
cacheWandschalterArray = sortArray(cacheWandschalterArray);
|
434
440
|
return cacheWandschalterArray;
|
435
441
|
}
|
436
442
|
exports.loadHomematicWandschalter = loadHomematicWandschalter;
|
@@ -453,6 +459,7 @@ function loadHomematicFussbodenheizungen(adapter) {
|
|
453
459
|
));
|
454
460
|
}
|
455
461
|
});
|
462
|
+
cacheFussbodenheizungenArray = sortArray(cacheFussbodenheizungenArray);
|
456
463
|
return cacheFussbodenheizungenArray;
|
457
464
|
}
|
458
465
|
exports.loadHomematicFussbodenheizungen = loadHomematicFussbodenheizungen;
|
@@ -475,6 +482,7 @@ function loadHomematicWandtaster(adapter) {
|
|
475
482
|
));
|
476
483
|
}
|
477
484
|
});
|
485
|
+
cacheWandtasterArray = sortArray(cacheWandtasterArray);
|
478
486
|
return cacheWandtasterArray;
|
479
487
|
}
|
480
488
|
exports.loadHomematicWandtaster = loadHomematicWandtaster;
|
@@ -497,6 +505,7 @@ function loadHomematicAccessPoints(adapter) {
|
|
497
505
|
));
|
498
506
|
}
|
499
507
|
});
|
508
|
+
cacheAccessPointsArray = sortArray(cacheAccessPointsArray);
|
500
509
|
return cacheAccessPointsArray;
|
501
510
|
}
|
502
511
|
exports.loadHomematicAccessPoints = loadHomematicAccessPoints;
|
@@ -519,6 +528,7 @@ function loadHomematicTemperatursensoren(adapter) {
|
|
519
528
|
));
|
520
529
|
}
|
521
530
|
});
|
531
|
+
cacheTemperatursensorenArray = sortArray(cacheTemperatursensorenArray);
|
522
532
|
return cacheTemperatursensorenArray;
|
523
533
|
}
|
524
534
|
exports.loadHomematicTemperatursensoren = loadHomematicTemperatursensoren;
|
@@ -541,6 +551,7 @@ function loadHomematicRauchmelder(adapter) {
|
|
541
551
|
));
|
542
552
|
}
|
543
553
|
});
|
554
|
+
cacheRauchmelderArray = sortArray(cacheRauchmelderArray);
|
544
555
|
return cacheRauchmelderArray;
|
545
556
|
}
|
546
557
|
exports.loadHomematicRauchmelder = loadHomematicRauchmelder;
|
@@ -563,6 +574,7 @@ function loadHomematicFunktschaltaktoren(adapter) {
|
|
563
574
|
));
|
564
575
|
}
|
565
576
|
});
|
577
|
+
cacheFunkschaltaktorenArray = sortArray(cacheFunkschaltaktorenArray);
|
566
578
|
return cacheFunkschaltaktorenArray;
|
567
579
|
}
|
568
580
|
exports.loadHomematicFunktschaltaktoren = loadHomematicFunktschaltaktoren;
|
@@ -585,6 +597,7 @@ function loadHomematicWindows(adapter) {
|
|
585
597
|
));
|
586
598
|
}
|
587
599
|
});
|
600
|
+
cacheWindowsArray = sortArray(cacheWindowsArray);
|
588
601
|
return cacheWindowsArray;
|
589
602
|
}
|
590
603
|
exports.loadHomematicWindows = loadHomematicWindows;
|
@@ -607,6 +620,7 @@ function loadHomematicSteckdosen(adapter) {
|
|
607
620
|
));
|
608
621
|
}
|
609
622
|
});
|
623
|
+
cacheSteckdosenArray = sortArray(cacheSteckdosenArray);
|
610
624
|
return cacheSteckdosenArray;
|
611
625
|
}
|
612
626
|
exports.loadHomematicSteckdosen = loadHomematicSteckdosen;
|
@@ -629,6 +643,7 @@ function loadHomematicHeizkoerper(adapter) {
|
|
629
643
|
));
|
630
644
|
}
|
631
645
|
});
|
646
|
+
cacheHeizkoerperArray = sortArray(cacheHeizkoerperArray);
|
632
647
|
return cacheHeizkoerperArray;
|
633
648
|
}
|
634
649
|
exports.loadHomematicHeizkoerper = loadHomematicHeizkoerper;
|
@@ -714,6 +729,7 @@ function loadHomematicDimmer(adapter) {
|
|
714
729
|
));
|
715
730
|
}
|
716
731
|
});
|
732
|
+
cacheDimmerArray = sortArray(cacheDimmerArray);
|
717
733
|
return cacheDimmerArray;
|
718
734
|
}
|
719
735
|
exports.loadHomematicDimmer = loadHomematicDimmer;
|
@@ -788,6 +804,7 @@ function loadHomematicDevicesAll(adapter) {
|
|
788
804
|
// @ts-ignore
|
789
805
|
homematicAllArray.push(homematic);
|
790
806
|
});
|
807
|
+
homematicAllArray = sortArray(homematicAllArray);
|
791
808
|
return homematicAllArray;
|
792
809
|
}
|
793
810
|
exports.loadHomematicDevicesAll = loadHomematicDevicesAll;
|
@@ -800,4 +817,50 @@ function toStringArray(databaseValue) {
|
|
800
817
|
return databaseValue.split('|');
|
801
818
|
}
|
802
819
|
}
|
820
|
+
function sortArray(inputArray) {
|
821
|
+
inputArray.sort(function (a, b) {
|
822
|
+
var elementA = a;
|
823
|
+
var elementB = b;
|
824
|
+
var etageA = elementA.getEtage();
|
825
|
+
var etageB = elementB.getEtage();
|
826
|
+
var compareEtage = getEtageSortIndex(etageA).localeCompare(getEtageSortIndex(etageB));
|
827
|
+
if (compareEtage != 0) {
|
828
|
+
return compareEtage;
|
829
|
+
}
|
830
|
+
var typA = elementA.getCategory();
|
831
|
+
var typB = elementB.getCategory();
|
832
|
+
var compareTyp = typA.localeCompare(typB);
|
833
|
+
if (compareTyp != 0) {
|
834
|
+
return compareTyp;
|
835
|
+
}
|
836
|
+
var raumA = elementA.getRaum();
|
837
|
+
var raumB = elementB.getRaum();
|
838
|
+
var compareRaum = raumA.localeCompare(raumB);
|
839
|
+
if (compareRaum != 0) {
|
840
|
+
return compareRaum;
|
841
|
+
}
|
842
|
+
var deviceA = elementA.getDevice();
|
843
|
+
var deviceB = elementB.getDevice();
|
844
|
+
var compareDevice = deviceA.localeCompare(deviceB);
|
845
|
+
if (compareDevice != 0) {
|
846
|
+
return compareDevice;
|
847
|
+
}
|
848
|
+
return 0;
|
849
|
+
});
|
850
|
+
return inputArray;
|
851
|
+
}
|
852
|
+
function getEtageSortIndex(etage) {
|
853
|
+
if (etage == "OG") {
|
854
|
+
return "a";
|
855
|
+
}
|
856
|
+
else if (etage == "EG") {
|
857
|
+
return "b";
|
858
|
+
}
|
859
|
+
else if (etage == "UG") {
|
860
|
+
return "c";
|
861
|
+
}
|
862
|
+
else {
|
863
|
+
return "d";
|
864
|
+
}
|
865
|
+
}
|
803
866
|
module.exports = { createHomematicDevice: createHomematicDevice, createHomeaticDimmer: createHomeaticDimmer, createHomeaticWandschalter: createHomeaticWandschalter, loadHomematicWandthermostate: loadHomematicWandthermostate, loadHomematicPraesenzmelder: loadHomematicPraesenzmelder, loadHomematicWetterstationen: loadHomematicWetterstationen, loadHomematicDoors: loadHomematicDoors, loadHomematicRollladen: loadHomematicRollladen, loadHomematicWandschalter: loadHomematicWandschalter, loadHomematicFussbodenheizungen: loadHomematicFussbodenheizungen, loadHomematicWandtaster: loadHomematicWandtaster, loadHomematicAccessPoints: loadHomematicAccessPoints, loadHomematicTemperatursensoren: loadHomematicTemperatursensoren, loadHomematicRauchmelder: loadHomematicRauchmelder, loadHomematicFunktschaltaktoren: loadHomematicFunktschaltaktoren, loadHomematicWindows: loadHomematicWindows, loadHomematicSteckdosen: loadHomematicSteckdosen, loadHomematicHeizkoerper: loadHomematicHeizkoerper, loadHomematicDimmer: loadHomematicDimmer, loadHomematicDevicesAll: loadHomematicDevicesAll };
|
package/homematicFunctions.ts
CHANGED
@@ -307,7 +307,6 @@ export function createHomeaticWandschalter(adapter:any, rawId: number, baseState
|
|
307
307
|
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseWinter, turnOnEnterHouseWinter, deviceHomematicWandschalter);
|
308
308
|
}
|
309
309
|
|
310
|
-
|
311
310
|
function createDatenpunktSingle(adapter: any, deviceRawId, attributeType, attributeName, attributeValue, category) {
|
312
311
|
var stateDatenpunkt = "0_userdata.0.devices.homematic." + category + "." + deviceRawId + "." + attributeName;
|
313
312
|
adapter.createState(stateDatenpunkt, attributeValue, {
|
@@ -339,10 +338,10 @@ export function loadHomematicRollladen(adapter: any) {
|
|
339
338
|
));
|
340
339
|
}
|
341
340
|
});
|
341
|
+
cacheRollladenArray = sortArray(cacheRollladenArray);
|
342
342
|
return cacheRollladenArray;
|
343
343
|
}
|
344
344
|
|
345
|
-
|
346
345
|
var cacheWandthermostateArray = null;
|
347
346
|
export function loadHomematicWandthermostate(adapter: any) {
|
348
347
|
if (cacheWandthermostateArray != null) {
|
@@ -363,6 +362,7 @@ export function loadHomematicWandthermostate(adapter: any) {
|
|
363
362
|
));
|
364
363
|
}
|
365
364
|
});
|
365
|
+
cacheWandthermostateArray = sortArray(cacheWandthermostateArray);
|
366
366
|
return cacheWandthermostateArray;
|
367
367
|
}
|
368
368
|
|
@@ -386,6 +386,7 @@ export function loadHomematicPraesenzmelder(adapter: any) {
|
|
386
386
|
));
|
387
387
|
}
|
388
388
|
});
|
389
|
+
cachePraesenzmelderArray = sortArray(cachePraesenzmelderArray);
|
389
390
|
return cachePraesenzmelderArray;
|
390
391
|
}
|
391
392
|
|
@@ -409,6 +410,7 @@ export function loadHomematicWetterstationen(adapter: any) {
|
|
409
410
|
));
|
410
411
|
}
|
411
412
|
});
|
413
|
+
cacheWetterstationenArray = sortArray(cacheWetterstationenArray);
|
412
414
|
return cacheWetterstationenArray;
|
413
415
|
}
|
414
416
|
|
@@ -432,6 +434,7 @@ export function loadHomematicDoors(adapter: any) {
|
|
432
434
|
));
|
433
435
|
}
|
434
436
|
});
|
437
|
+
cacheDoorsArray = sortArray(cacheDoorsArray);
|
435
438
|
return cacheDoorsArray;
|
436
439
|
}
|
437
440
|
|
@@ -465,6 +468,7 @@ export function loadHomematicWandschalter(adapter: any) {
|
|
465
468
|
));
|
466
469
|
}
|
467
470
|
});
|
471
|
+
cacheWandschalterArray = sortArray(cacheWandschalterArray);
|
468
472
|
return cacheWandschalterArray;
|
469
473
|
}
|
470
474
|
|
@@ -488,6 +492,7 @@ export function loadHomematicFussbodenheizungen(adapter: any) {
|
|
488
492
|
));
|
489
493
|
}
|
490
494
|
});
|
495
|
+
cacheFussbodenheizungenArray = sortArray(cacheFussbodenheizungenArray);
|
491
496
|
return cacheFussbodenheizungenArray;
|
492
497
|
}
|
493
498
|
|
@@ -511,6 +516,7 @@ export function loadHomematicWandtaster(adapter: any) {
|
|
511
516
|
));
|
512
517
|
}
|
513
518
|
});
|
519
|
+
cacheWandtasterArray = sortArray(cacheWandtasterArray);
|
514
520
|
return cacheWandtasterArray;
|
515
521
|
}
|
516
522
|
|
@@ -534,6 +540,7 @@ export function loadHomematicAccessPoints(adapter: any) {
|
|
534
540
|
));
|
535
541
|
}
|
536
542
|
});
|
543
|
+
cacheAccessPointsArray = sortArray(cacheAccessPointsArray);
|
537
544
|
return cacheAccessPointsArray;
|
538
545
|
}
|
539
546
|
|
@@ -557,6 +564,7 @@ export function loadHomematicTemperatursensoren(adapter: any) {
|
|
557
564
|
));
|
558
565
|
}
|
559
566
|
});
|
567
|
+
cacheTemperatursensorenArray = sortArray(cacheTemperatursensorenArray);
|
560
568
|
return cacheTemperatursensorenArray;
|
561
569
|
}
|
562
570
|
|
@@ -580,6 +588,7 @@ export function loadHomematicRauchmelder(adapter: any) {
|
|
580
588
|
));
|
581
589
|
}
|
582
590
|
});
|
591
|
+
cacheRauchmelderArray = sortArray(cacheRauchmelderArray);
|
583
592
|
return cacheRauchmelderArray;
|
584
593
|
}
|
585
594
|
|
@@ -603,6 +612,7 @@ export function loadHomematicFunktschaltaktoren(adapter: any) {
|
|
603
612
|
));
|
604
613
|
}
|
605
614
|
});
|
615
|
+
cacheFunkschaltaktorenArray = sortArray(cacheFunkschaltaktorenArray);
|
606
616
|
return cacheFunkschaltaktorenArray;
|
607
617
|
}
|
608
618
|
|
@@ -626,6 +636,7 @@ export function loadHomematicWindows(adapter: any) {
|
|
626
636
|
));
|
627
637
|
}
|
628
638
|
});
|
639
|
+
cacheWindowsArray = sortArray(cacheWindowsArray);
|
629
640
|
return cacheWindowsArray;
|
630
641
|
}
|
631
642
|
|
@@ -649,6 +660,7 @@ export function loadHomematicSteckdosen(adapter: any) {
|
|
649
660
|
));
|
650
661
|
}
|
651
662
|
});
|
663
|
+
cacheSteckdosenArray = sortArray(cacheSteckdosenArray);
|
652
664
|
return cacheSteckdosenArray;
|
653
665
|
}
|
654
666
|
|
@@ -672,6 +684,7 @@ export function loadHomematicHeizkoerper(adapter: any) {
|
|
672
684
|
));
|
673
685
|
}
|
674
686
|
});
|
687
|
+
cacheHeizkoerperArray = sortArray(cacheHeizkoerperArray);
|
675
688
|
return cacheHeizkoerperArray;
|
676
689
|
}
|
677
690
|
|
@@ -791,6 +804,7 @@ export function loadHomematicDimmer(adapter: any) {
|
|
791
804
|
));
|
792
805
|
}
|
793
806
|
});
|
807
|
+
cacheDimmerArray = sortArray(cacheDimmerArray);
|
794
808
|
return cacheDimmerArray;
|
795
809
|
}
|
796
810
|
|
@@ -867,6 +881,7 @@ export function loadHomematicDevicesAll(adapter: any) {
|
|
867
881
|
// @ts-ignore
|
868
882
|
homematicAllArray.push(homematic);
|
869
883
|
});
|
884
|
+
homematicAllArray = sortArray(homematicAllArray);
|
870
885
|
return homematicAllArray;
|
871
886
|
}
|
872
887
|
|
@@ -879,5 +894,56 @@ function toStringArray(databaseValue) { // z.B. "Werkbank|Arbeiten|Keller"
|
|
879
894
|
}
|
880
895
|
}
|
881
896
|
|
897
|
+
function sortArray(inputArray) {
|
898
|
+
inputArray.sort((a,b) => {
|
899
|
+
var elementA = a;
|
900
|
+
var elementB = b;
|
901
|
+
|
902
|
+
var etageA = elementA.getEtage();
|
903
|
+
var etageB = elementB.getEtage();
|
904
|
+
var compareEtage = getEtageSortIndex(etageA).localeCompare(getEtageSortIndex(etageB));
|
905
|
+
if (compareEtage != 0) {
|
906
|
+
return compareEtage;
|
907
|
+
}
|
908
|
+
|
909
|
+
var typA = elementA.getCategory();
|
910
|
+
var typB = elementB.getCategory();
|
911
|
+
var compareTyp = typA.localeCompare(typB);
|
912
|
+
if (compareTyp != 0) {
|
913
|
+
return compareTyp;
|
914
|
+
}
|
915
|
+
|
916
|
+
|
917
|
+
var raumA = elementA.getRaum();
|
918
|
+
var raumB = elementB.getRaum();
|
919
|
+
var compareRaum = raumA.localeCompare(raumB);
|
920
|
+
if (compareRaum != 0) {
|
921
|
+
return compareRaum;
|
922
|
+
}
|
923
|
+
|
924
|
+
var deviceA = elementA.getDevice();
|
925
|
+
var deviceB = elementB.getDevice();
|
926
|
+
var compareDevice = deviceA.localeCompare(deviceB);
|
927
|
+
if (compareDevice != 0) {
|
928
|
+
return compareDevice;
|
929
|
+
}
|
930
|
+
|
931
|
+
return 0;
|
932
|
+
});
|
933
|
+
return inputArray;
|
934
|
+
}
|
935
|
+
|
936
|
+
function getEtageSortIndex(etage: string) {
|
937
|
+
if (etage == "OG") {
|
938
|
+
return "a";
|
939
|
+
} else if (etage == "EG") {
|
940
|
+
return "b";
|
941
|
+
} else if (etage == "UG") {
|
942
|
+
return "c";
|
943
|
+
} else {
|
944
|
+
return "d";
|
945
|
+
}
|
946
|
+
}
|
947
|
+
|
882
948
|
|
883
949
|
module.exports = { createHomematicDevice, createHomeaticDimmer, createHomeaticWandschalter, loadHomematicWandthermostate, loadHomematicPraesenzmelder, loadHomematicWetterstationen, loadHomematicDoors, loadHomematicRollladen, loadHomematicWandschalter, loadHomematicFussbodenheizungen, loadHomematicWandtaster, loadHomematicAccessPoints, loadHomematicTemperatursensoren, loadHomematicRauchmelder, loadHomematicFunktschaltaktoren, loadHomematicWindows, loadHomematicSteckdosen, loadHomematicHeizkoerper, loadHomematicDimmer, loadHomematicDevicesAll };
|
package/package.json
CHANGED
package/zigbeeFunctions.js
CHANGED
@@ -707,6 +707,7 @@ function loadZigbeeSteckdosen(adapter) {
|
|
707
707
|
));
|
708
708
|
}
|
709
709
|
});
|
710
|
+
cacheSteckdosenArray = sortArray(cacheSteckdosenArray);
|
710
711
|
return cacheSteckdosenArray;
|
711
712
|
}
|
712
713
|
exports.loadZigbeeSteckdosen = loadZigbeeSteckdosen;
|
@@ -729,6 +730,7 @@ function loadZigbeeBewegungsmelder(adapter) {
|
|
729
730
|
));
|
730
731
|
}
|
731
732
|
});
|
733
|
+
cacheBewegungsmelderArray = sortArray(cacheBewegungsmelderArray);
|
732
734
|
return cacheBewegungsmelderArray;
|
733
735
|
}
|
734
736
|
exports.loadZigbeeBewegungsmelder = loadZigbeeBewegungsmelder;
|
@@ -816,6 +818,7 @@ function loadZigbeeLampenRGB(adapter) {
|
|
816
818
|
));
|
817
819
|
}
|
818
820
|
});
|
821
|
+
cacheLampenRGBArray = sortArray(cacheLampenRGBArray);
|
819
822
|
return cacheLampenRGBArray;
|
820
823
|
}
|
821
824
|
exports.loadZigbeeLampenRGB = loadZigbeeLampenRGB;
|
@@ -903,6 +906,7 @@ function loadZigbeeLampenWeiss(adapter) {
|
|
903
906
|
));
|
904
907
|
}
|
905
908
|
});
|
909
|
+
cacheLampenWeissArray = sortArray(cacheLampenWeissArray);
|
906
910
|
return cacheLampenWeissArray;
|
907
911
|
}
|
908
912
|
exports.loadZigbeeLampenWeiss = loadZigbeeLampenWeiss;
|
@@ -925,6 +929,7 @@ function loadZigbeeRauchmelder(adapter) {
|
|
925
929
|
));
|
926
930
|
}
|
927
931
|
});
|
932
|
+
cacheRauchmelderArray = sortArray(cacheRauchmelderArray);
|
928
933
|
return cacheRauchmelderArray;
|
929
934
|
}
|
930
935
|
exports.loadZigbeeRauchmelder = loadZigbeeRauchmelder;
|
@@ -947,6 +952,7 @@ function loadZigbeeWandtaster(adapter) {
|
|
947
952
|
));
|
948
953
|
}
|
949
954
|
});
|
955
|
+
cacheWandtasterArray = sortArray(cacheWandtasterArray);
|
950
956
|
return cacheWandtasterArray;
|
951
957
|
}
|
952
958
|
exports.loadZigbeeWandtaster = loadZigbeeWandtaster;
|
@@ -970,6 +976,7 @@ function loadZigbeeDosenrelais(adapter) {
|
|
970
976
|
));
|
971
977
|
}
|
972
978
|
});
|
979
|
+
cacheDosenrelaisArray = sortArray(cacheDosenrelaisArray);
|
973
980
|
return cacheDosenrelaisArray;
|
974
981
|
}
|
975
982
|
exports.loadZigbeeDosenrelais = loadZigbeeDosenrelais;
|
@@ -992,6 +999,7 @@ function loadZigbeeSchalter(adapter) {
|
|
992
999
|
));
|
993
1000
|
}
|
994
1001
|
});
|
1002
|
+
cacheSchalterArray = sortArray(cacheSchalterArray);
|
995
1003
|
return cacheSchalterArray;
|
996
1004
|
}
|
997
1005
|
exports.loadZigbeeSchalter = loadZigbeeSchalter;
|
@@ -1014,6 +1022,7 @@ function loadZigbeeRepeater(adapter) {
|
|
1014
1022
|
));
|
1015
1023
|
}
|
1016
1024
|
});
|
1025
|
+
cacheRepeaterArray = sortArray(cacheRepeaterArray);
|
1017
1026
|
return cacheRepeaterArray;
|
1018
1027
|
}
|
1019
1028
|
exports.loadZigbeeRepeater = loadZigbeeRepeater;
|
@@ -1028,7 +1037,7 @@ function loadZigbeeFenstersensor(adapter) {
|
|
1028
1037
|
var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
|
1029
1038
|
if (adapter.getState(datenpunktKey).val == deviceZigbeeFenstersensor) {
|
1030
1039
|
// @ts-ignore
|
1031
|
-
cacheFenstersensorenArray.push(new
|
1040
|
+
cacheFenstersensorenArray.push(new ZigbeeFenstersensor(adapter, adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
|
1032
1041
|
adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
|
1033
1042
|
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
|
1034
1043
|
adapter.getState(datenpunktPraefix + "." + attributeRaum).val, // [3] Raum/Unterbereich (z.B. Wohnzimmer)
|
@@ -1036,6 +1045,7 @@ function loadZigbeeFenstersensor(adapter) {
|
|
1036
1045
|
));
|
1037
1046
|
}
|
1038
1047
|
});
|
1048
|
+
cacheFenstersensorenArray = sortArray(cacheFenstersensorenArray);
|
1039
1049
|
return cacheFenstersensorenArray;
|
1040
1050
|
}
|
1041
1051
|
exports.loadZigbeeFenstersensor = loadZigbeeFenstersensor;
|
@@ -1087,7 +1097,54 @@ function loadZigbeeDevicesAll(adapter) {
|
|
1087
1097
|
// @ts-ignore
|
1088
1098
|
zigbeeAllArray.push(zigbee);
|
1089
1099
|
});
|
1100
|
+
zigbeeAllArray = sortArray(zigbeeAllArray);
|
1090
1101
|
return zigbeeAllArray;
|
1091
1102
|
}
|
1092
1103
|
exports.loadZigbeeDevicesAll = loadZigbeeDevicesAll;
|
1104
|
+
function sortArray(inputArray) {
|
1105
|
+
inputArray.sort(function (a, b) {
|
1106
|
+
var elementA = a;
|
1107
|
+
var elementB = b;
|
1108
|
+
var etageA = elementA.getEtage();
|
1109
|
+
var etageB = elementB.getEtage();
|
1110
|
+
var compareEtage = getEtageSortIndex(etageA).localeCompare(getEtageSortIndex(etageB));
|
1111
|
+
if (compareEtage != 0) {
|
1112
|
+
return compareEtage;
|
1113
|
+
}
|
1114
|
+
var typA = elementA.getCategory();
|
1115
|
+
var typB = elementB.getCategory();
|
1116
|
+
var compareTyp = typA.localeCompare(typB);
|
1117
|
+
if (compareTyp != 0) {
|
1118
|
+
return compareTyp;
|
1119
|
+
}
|
1120
|
+
var raumA = elementA.getRaum();
|
1121
|
+
var raumB = elementB.getRaum();
|
1122
|
+
var compareRaum = raumA.localeCompare(raumB);
|
1123
|
+
if (compareRaum != 0) {
|
1124
|
+
return compareRaum;
|
1125
|
+
}
|
1126
|
+
var deviceA = elementA.getDevice();
|
1127
|
+
var deviceB = elementB.getDevice();
|
1128
|
+
var compareDevice = deviceA.localeCompare(deviceB);
|
1129
|
+
if (compareDevice != 0) {
|
1130
|
+
return compareDevice;
|
1131
|
+
}
|
1132
|
+
return 0;
|
1133
|
+
});
|
1134
|
+
return inputArray;
|
1135
|
+
}
|
1136
|
+
function getEtageSortIndex(etage) {
|
1137
|
+
if (etage == "OG") {
|
1138
|
+
return "a";
|
1139
|
+
}
|
1140
|
+
else if (etage == "EG") {
|
1141
|
+
return "b";
|
1142
|
+
}
|
1143
|
+
else if (etage == "UG") {
|
1144
|
+
return "c";
|
1145
|
+
}
|
1146
|
+
else {
|
1147
|
+
return "d";
|
1148
|
+
}
|
1149
|
+
}
|
1093
1150
|
module.exports = { createZigbeeDevice: createZigbeeDevice, createZigbeeDosenrelais: createZigbeeDosenrelais, createZigbeeLampeRGB: createZigbeeLampeRGB, createZigbeeLampeWeiss: createZigbeeLampeWeiss, createZigbeeSteckdose: createZigbeeSteckdose, loadZigbeeSteckdosen: loadZigbeeSteckdosen, loadZigbeeBewegungsmelder: loadZigbeeBewegungsmelder, loadZigbeeLampenRGB: loadZigbeeLampenRGB, loadZigbeeLampenWeiss: loadZigbeeLampenWeiss, loadZigbeeRauchmelder: loadZigbeeRauchmelder, loadZigbeeWandtaster: loadZigbeeWandtaster, loadZigbeeDosenrelais: loadZigbeeDosenrelais, loadZigbeeSchalter: loadZigbeeSchalter, loadZigbeeRepeater: loadZigbeeRepeater, loadZigbeeFenstersensor: loadZigbeeFenstersensor, loadZigbeeDevicesAll: loadZigbeeDevicesAll };
|
package/zigbeeFunctions.ts
CHANGED
@@ -754,6 +754,7 @@ export function loadZigbeeSteckdosen(adapter: any) {
|
|
754
754
|
));
|
755
755
|
}
|
756
756
|
});
|
757
|
+
cacheSteckdosenArray = sortArray(cacheSteckdosenArray);
|
757
758
|
return cacheSteckdosenArray;
|
758
759
|
}
|
759
760
|
|
@@ -777,6 +778,7 @@ export function loadZigbeeBewegungsmelder(adapter: any) {
|
|
777
778
|
));
|
778
779
|
}
|
779
780
|
});
|
781
|
+
cacheBewegungsmelderArray = sortArray(cacheBewegungsmelderArray);
|
780
782
|
return cacheBewegungsmelderArray;
|
781
783
|
}
|
782
784
|
|
@@ -918,6 +920,7 @@ export function loadZigbeeLampenRGB(adapter: any) {
|
|
918
920
|
));
|
919
921
|
}
|
920
922
|
});
|
923
|
+
cacheLampenRGBArray = sortArray(cacheLampenRGBArray);
|
921
924
|
return cacheLampenRGBArray;
|
922
925
|
}
|
923
926
|
|
@@ -1052,6 +1055,7 @@ export function loadZigbeeLampenWeiss(adapter: any) {
|
|
1052
1055
|
));
|
1053
1056
|
}
|
1054
1057
|
});
|
1058
|
+
cacheLampenWeissArray = sortArray(cacheLampenWeissArray);
|
1055
1059
|
return cacheLampenWeissArray;
|
1056
1060
|
}
|
1057
1061
|
|
@@ -1075,6 +1079,7 @@ export function loadZigbeeRauchmelder(adapter: any) {
|
|
1075
1079
|
));
|
1076
1080
|
}
|
1077
1081
|
});
|
1082
|
+
cacheRauchmelderArray = sortArray(cacheRauchmelderArray);
|
1078
1083
|
return cacheRauchmelderArray;
|
1079
1084
|
}
|
1080
1085
|
|
@@ -1098,6 +1103,7 @@ export function loadZigbeeWandtaster(adapter: any) {
|
|
1098
1103
|
));
|
1099
1104
|
}
|
1100
1105
|
});
|
1106
|
+
cacheWandtasterArray = sortArray(cacheWandtasterArray);
|
1101
1107
|
return cacheWandtasterArray;
|
1102
1108
|
}
|
1103
1109
|
|
@@ -1122,6 +1128,7 @@ export function loadZigbeeDosenrelais(adapter: any) {
|
|
1122
1128
|
));
|
1123
1129
|
}
|
1124
1130
|
});
|
1131
|
+
cacheDosenrelaisArray = sortArray(cacheDosenrelaisArray);
|
1125
1132
|
return cacheDosenrelaisArray;
|
1126
1133
|
}
|
1127
1134
|
|
@@ -1145,6 +1152,7 @@ export function loadZigbeeSchalter(adapter: any) {
|
|
1145
1152
|
));
|
1146
1153
|
}
|
1147
1154
|
});
|
1155
|
+
cacheSchalterArray = sortArray(cacheSchalterArray);
|
1148
1156
|
return cacheSchalterArray;
|
1149
1157
|
}
|
1150
1158
|
|
@@ -1168,6 +1176,7 @@ export function loadZigbeeRepeater(adapter: any) {
|
|
1168
1176
|
));
|
1169
1177
|
}
|
1170
1178
|
});
|
1179
|
+
cacheRepeaterArray = sortArray(cacheRepeaterArray);
|
1171
1180
|
return cacheRepeaterArray;
|
1172
1181
|
}
|
1173
1182
|
|
@@ -1182,7 +1191,7 @@ export function loadZigbeeFenstersensor(adapter: any) {
|
|
1182
1191
|
var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
|
1183
1192
|
if (adapter.getState(datenpunktKey).val == deviceZigbeeFenstersensor) {
|
1184
1193
|
// @ts-ignore
|
1185
|
-
cacheFenstersensorenArray.push(new
|
1194
|
+
cacheFenstersensorenArray.push(new ZigbeeFenstersensor(adapter,
|
1186
1195
|
adapter.getState(datenpunktPraefix + "." + attributeRawID).val, // [0] Device-ID (z.B. 1 --> In der Anzeige wird daraus "H01")
|
1187
1196
|
adapter.getState(datenpunktPraefix + "." + attributeBaseState).val, // [1] Datenpunkt Device (z.B. hm-rpc.1.001B9D898F9CBC)
|
1188
1197
|
adapter.getState(datenpunktPraefix + "." + attributeEtage).val, // [2] Etage/Bereich (z.B. EG)
|
@@ -1191,6 +1200,7 @@ export function loadZigbeeFenstersensor(adapter: any) {
|
|
1191
1200
|
));
|
1192
1201
|
}
|
1193
1202
|
});
|
1203
|
+
cacheFenstersensorenArray = sortArray(cacheFenstersensorenArray);
|
1194
1204
|
return cacheFenstersensorenArray;
|
1195
1205
|
}
|
1196
1206
|
|
@@ -1243,7 +1253,61 @@ export function loadZigbeeDevicesAll(adapter: any) {
|
|
1243
1253
|
// @ts-ignore
|
1244
1254
|
zigbeeAllArray.push(zigbee);
|
1245
1255
|
});
|
1256
|
+
zigbeeAllArray = sortArray(zigbeeAllArray);
|
1246
1257
|
return zigbeeAllArray;
|
1247
1258
|
}
|
1248
1259
|
|
1260
|
+
function sortArray(inputArray) {
|
1261
|
+
inputArray.sort((a,b) => {
|
1262
|
+
var elementA = a;
|
1263
|
+
var elementB = b;
|
1264
|
+
|
1265
|
+
var etageA = elementA.getEtage();
|
1266
|
+
var etageB = elementB.getEtage();
|
1267
|
+
var compareEtage = getEtageSortIndex(etageA).localeCompare(getEtageSortIndex(etageB));
|
1268
|
+
if (compareEtage != 0) {
|
1269
|
+
return compareEtage;
|
1270
|
+
}
|
1271
|
+
|
1272
|
+
var typA = elementA.getCategory();
|
1273
|
+
var typB = elementB.getCategory();
|
1274
|
+
var compareTyp = typA.localeCompare(typB);
|
1275
|
+
if (compareTyp != 0) {
|
1276
|
+
return compareTyp;
|
1277
|
+
}
|
1278
|
+
|
1279
|
+
|
1280
|
+
var raumA = elementA.getRaum();
|
1281
|
+
var raumB = elementB.getRaum();
|
1282
|
+
var compareRaum = raumA.localeCompare(raumB);
|
1283
|
+
if (compareRaum != 0) {
|
1284
|
+
return compareRaum;
|
1285
|
+
}
|
1286
|
+
|
1287
|
+
var deviceA = elementA.getDevice();
|
1288
|
+
var deviceB = elementB.getDevice();
|
1289
|
+
var compareDevice = deviceA.localeCompare(deviceB);
|
1290
|
+
if (compareDevice != 0) {
|
1291
|
+
return compareDevice;
|
1292
|
+
}
|
1293
|
+
|
1294
|
+
return 0;
|
1295
|
+
});
|
1296
|
+
return inputArray;
|
1297
|
+
}
|
1298
|
+
|
1299
|
+
function getEtageSortIndex(etage: string) {
|
1300
|
+
if (etage == "OG") {
|
1301
|
+
return "a";
|
1302
|
+
} else if (etage == "EG") {
|
1303
|
+
return "b";
|
1304
|
+
} else if (etage == "UG") {
|
1305
|
+
return "c";
|
1306
|
+
} else {
|
1307
|
+
return "d";
|
1308
|
+
}
|
1309
|
+
}
|
1310
|
+
|
1311
|
+
|
1312
|
+
|
1249
1313
|
module.exports = { createZigbeeDevice, createZigbeeDosenrelais, createZigbeeLampeRGB, createZigbeeLampeWeiss, createZigbeeSteckdose, loadZigbeeSteckdosen, loadZigbeeBewegungsmelder, loadZigbeeLampenRGB, loadZigbeeLampenWeiss, loadZigbeeRauchmelder, loadZigbeeWandtaster, loadZigbeeDosenrelais, loadZigbeeSchalter, loadZigbeeRepeater, loadZigbeeFenstersensor, loadZigbeeDevicesAll };
|