iobroker-ucl 1.2.90 → 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/homematicClasses.js +0 -21
- package/homematicClasses.ts +0 -21
- package/homematicFunctions.js +63 -2
- package/homematicFunctions.ts +69 -5
- package/package.json +1 -1
- package/zigbeeFunctions.js +60 -3
- package/zigbeeFunctions.ts +67 -3
package/homematicClasses.js
CHANGED
@@ -362,27 +362,6 @@ var HomematicDimmer = /** @class */ (function (_super) {
|
|
362
362
|
_this.turnOffExitHouseWinter = turnOffExitHouseWinter;
|
363
363
|
_this.turnOnEnterHouseSummer = turnOnEnterHouseSummer;
|
364
364
|
_this.turnOnEnterHouseWinter = turnOnEnterHouseWinter;
|
365
|
-
/* adapter.log(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
|
366
|
-
adapter.log("Inside HomematicDimmer, param adapter: " + adapter);
|
367
|
-
adapter.log("Inside HomematicDimmer, param id: " + id);
|
368
|
-
adapter.log("Inside HomematicDimmer, param baseState: " + baseState);
|
369
|
-
adapter.log("Inside HomematicDimmer, param etage: " + etage);
|
370
|
-
adapter.log("Inside HomematicDimmer, param raum: " + raum);
|
371
|
-
adapter.log("Inside HomematicDimmer, param device: " + device);
|
372
|
-
adapter.log("Inside HomematicDimmer, param alexaSmartNamesForOn: " + alexaSmartNamesForOn);
|
373
|
-
adapter.log("Inside HomematicDimmer, param alexaActionNamesForOn: " + alexaActionNamesForOn);
|
374
|
-
adapter.log("Inside HomematicDimmer, param alexaLevelSchemeForOn: " + alexaLevelSchemeForOn);
|
375
|
-
adapter.log("Inside HomematicDimmer, param alexaSmartNamesForOff: " + alexaSmartNamesForOff);
|
376
|
-
adapter.log("Inside HomematicDimmer, param alexaActionNamesForOff: " + alexaActionNamesForOff);
|
377
|
-
adapter.log("Inside HomematicDimmer, param levelSchemes: " + levelSchemes);
|
378
|
-
adapter.log("Inside HomematicDimmer, param tasterBooleanOn: " + tasterBooleanOn);
|
379
|
-
adapter.log("Inside HomematicDimmer, param tasterBooleanOff: " + tasterBooleanOff);
|
380
|
-
adapter.log("Inside HomematicDimmer, param nachtbeleuchtung: " + nachtbeleuchtung);
|
381
|
-
adapter.log("Inside HomematicDimmer, param turnOffExitHouseSummer: " + turnOffExitHouseSummer);
|
382
|
-
adapter.log("Inside HomematicDimmer, param turnOffExitHouseWinter: " + turnOffExitHouseWinter);
|
383
|
-
adapter.log("Inside HomematicDimmer, param turnOnEnterHouseSummer: " + turnOnEnterHouseSummer);
|
384
|
-
adapter.log("Inside HomematicDimmer, param turnOnEnterHouseWinter: " + turnOnEnterHouseWinter);
|
385
|
-
adapter.log("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")*/
|
386
365
|
_this.levelSchemes.forEach(function (colorscheme) {
|
387
366
|
colorscheme.setDevice(_this);
|
388
367
|
if (colorscheme.getAlexaName() != null) {
|
package/homematicClasses.ts
CHANGED
@@ -405,27 +405,6 @@ export class HomematicDimmer extends AbstractHomematic {
|
|
405
405
|
this.turnOffExitHouseWinter = turnOffExitHouseWinter;
|
406
406
|
this.turnOnEnterHouseSummer = turnOnEnterHouseSummer;
|
407
407
|
this.turnOnEnterHouseWinter = turnOnEnterHouseWinter;
|
408
|
-
/* adapter.log(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
|
409
|
-
adapter.log("Inside HomematicDimmer, param adapter: " + adapter);
|
410
|
-
adapter.log("Inside HomematicDimmer, param id: " + id);
|
411
|
-
adapter.log("Inside HomematicDimmer, param baseState: " + baseState);
|
412
|
-
adapter.log("Inside HomematicDimmer, param etage: " + etage);
|
413
|
-
adapter.log("Inside HomematicDimmer, param raum: " + raum);
|
414
|
-
adapter.log("Inside HomematicDimmer, param device: " + device);
|
415
|
-
adapter.log("Inside HomematicDimmer, param alexaSmartNamesForOn: " + alexaSmartNamesForOn);
|
416
|
-
adapter.log("Inside HomematicDimmer, param alexaActionNamesForOn: " + alexaActionNamesForOn);
|
417
|
-
adapter.log("Inside HomematicDimmer, param alexaLevelSchemeForOn: " + alexaLevelSchemeForOn);
|
418
|
-
adapter.log("Inside HomematicDimmer, param alexaSmartNamesForOff: " + alexaSmartNamesForOff);
|
419
|
-
adapter.log("Inside HomematicDimmer, param alexaActionNamesForOff: " + alexaActionNamesForOff);
|
420
|
-
adapter.log("Inside HomematicDimmer, param levelSchemes: " + levelSchemes);
|
421
|
-
adapter.log("Inside HomematicDimmer, param tasterBooleanOn: " + tasterBooleanOn);
|
422
|
-
adapter.log("Inside HomematicDimmer, param tasterBooleanOff: " + tasterBooleanOff);
|
423
|
-
adapter.log("Inside HomematicDimmer, param nachtbeleuchtung: " + nachtbeleuchtung);
|
424
|
-
adapter.log("Inside HomematicDimmer, param turnOffExitHouseSummer: " + turnOffExitHouseSummer);
|
425
|
-
adapter.log("Inside HomematicDimmer, param turnOffExitHouseWinter: " + turnOffExitHouseWinter);
|
426
|
-
adapter.log("Inside HomematicDimmer, param turnOnEnterHouseSummer: " + turnOnEnterHouseSummer);
|
427
|
-
adapter.log("Inside HomematicDimmer, param turnOnEnterHouseWinter: " + turnOnEnterHouseWinter);
|
428
|
-
adapter.log("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")*/
|
429
408
|
|
430
409
|
this.levelSchemes.forEach(colorscheme => {
|
431
410
|
colorscheme.setDevice(this);
|
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;
|
@@ -642,7 +657,6 @@ function loadHomematicDimmer(adapter) {
|
|
642
657
|
adapter.$('state[id=0_userdata.0.devices.homematic.*.*.category]').each(function (datenpunktKey) {
|
643
658
|
var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
|
644
659
|
if (adapter.getState(datenpunktKey).val == deviceHomematicDimmer) {
|
645
|
-
adapter.log("Inside loadHomematicDimmer");
|
646
660
|
// Einschalt-Scheme:
|
647
661
|
var alexaOnScheme = null;
|
648
662
|
if (adapter.getState(datenpunktPraefix + "." + attributeDimmer_alexaScheme_aktiv).val == true) {
|
@@ -715,6 +729,7 @@ function loadHomematicDimmer(adapter) {
|
|
715
729
|
));
|
716
730
|
}
|
717
731
|
});
|
732
|
+
cacheDimmerArray = sortArray(cacheDimmerArray);
|
718
733
|
return cacheDimmerArray;
|
719
734
|
}
|
720
735
|
exports.loadHomematicDimmer = loadHomematicDimmer;
|
@@ -723,7 +738,6 @@ function loadHomematicDevicesAll(adapter) {
|
|
723
738
|
if (homematicAllArray != null) {
|
724
739
|
return homematicAllArray;
|
725
740
|
}
|
726
|
-
adapter.log("Test");
|
727
741
|
// @ts-ignore
|
728
742
|
homematicAllArray = [];
|
729
743
|
adapter.loadHomematicWandthermostate(adapter).forEach(function (homematic) {
|
@@ -790,6 +804,7 @@ function loadHomematicDevicesAll(adapter) {
|
|
790
804
|
// @ts-ignore
|
791
805
|
homematicAllArray.push(homematic);
|
792
806
|
});
|
807
|
+
homematicAllArray = sortArray(homematicAllArray);
|
793
808
|
return homematicAllArray;
|
794
809
|
}
|
795
810
|
exports.loadHomematicDevicesAll = loadHomematicDevicesAll;
|
@@ -802,4 +817,50 @@ function toStringArray(databaseValue) {
|
|
802
817
|
return databaseValue.split('|');
|
803
818
|
}
|
804
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
|
+
}
|
805
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
|
|
@@ -685,7 +698,6 @@ export function loadHomematicDimmer(adapter: any) {
|
|
685
698
|
adapter.$('state[id=0_userdata.0.devices.homematic.*.*.category]').each(datenpunktKey => { // 0_userdata.0.devices.homematic.30.type
|
686
699
|
var datenpunktPraefix = datenpunktKey.replaceAll(".category", "");
|
687
700
|
if (adapter.getState(datenpunktKey).val == deviceHomematicDimmer) {
|
688
|
-
adapter.log("Inside loadHomematicDimmer");
|
689
701
|
|
690
702
|
// Einschalt-Scheme:
|
691
703
|
var alexaOnScheme = null;
|
@@ -792,6 +804,7 @@ export function loadHomematicDimmer(adapter: any) {
|
|
792
804
|
));
|
793
805
|
}
|
794
806
|
});
|
807
|
+
cacheDimmerArray = sortArray(cacheDimmerArray);
|
795
808
|
return cacheDimmerArray;
|
796
809
|
}
|
797
810
|
|
@@ -800,8 +813,7 @@ export function loadHomematicDevicesAll(adapter: any) {
|
|
800
813
|
if (homematicAllArray != null) {
|
801
814
|
return homematicAllArray;
|
802
815
|
}
|
803
|
-
|
804
|
-
|
816
|
+
|
805
817
|
// @ts-ignore
|
806
818
|
homematicAllArray = [];
|
807
819
|
|
@@ -869,6 +881,7 @@ export function loadHomematicDevicesAll(adapter: any) {
|
|
869
881
|
// @ts-ignore
|
870
882
|
homematicAllArray.push(homematic);
|
871
883
|
});
|
884
|
+
homematicAllArray = sortArray(homematicAllArray);
|
872
885
|
return homematicAllArray;
|
873
886
|
}
|
874
887
|
|
@@ -881,5 +894,56 @@ function toStringArray(databaseValue) { // z.B. "Werkbank|Arbeiten|Keller"
|
|
881
894
|
}
|
882
895
|
}
|
883
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
|
+
|
884
948
|
|
885
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
@@ -353,7 +353,7 @@ function createZigbeeLampeWeiss(adapter, rawId, baseState, etage, raum, device,
|
|
353
353
|
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attribute_TurnOnEnterHouseWinter, turnOnEnterHouseWinter, deviceZigbeeLampeWeiss);
|
354
354
|
// Gruppe:
|
355
355
|
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeLampeWeissGroup, isGroup, deviceZigbeeLampeWeiss);
|
356
|
-
// alexaLevelSchemeForOn:
|
356
|
+
// alexaLevelSchemeForOn: LampeWeissAlexaScheme
|
357
357
|
if (alexaLevelSchemeForOn != null) {
|
358
358
|
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeLampWeiss_AlexaColorSchemeForOn_Weiss_aktiv, true, deviceZigbeeLampeWeiss);
|
359
359
|
createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_AlexaColorSchemeForOn_Weiss_level, alexaLevelSchemeForOn.getLevel(), deviceZigbeeLampeWeiss);
|
@@ -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;
|
@@ -833,7 +836,7 @@ function loadZigbeeLampenWeiss(adapter) {
|
|
833
836
|
var alexaOnScheme = null;
|
834
837
|
if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_AlexaColorSchemeForOn_Weiss_aktiv).val == true) {
|
835
838
|
// @ts-ignore
|
836
|
-
alexaOnScheme = new
|
839
|
+
alexaOnScheme = new LampeWeissAlexaScheme(null, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_AlexaColorSchemeForOn_Weiss_level).val, adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_AlexaColorSchemeForOn_Weiss_ct).val);
|
837
840
|
}
|
838
841
|
// Weitere Schemes als Array:
|
839
842
|
var schemeArray = [];
|
@@ -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
@@ -389,7 +389,7 @@ export function createZigbeeLampeWeiss(adapter:any, rawId: number, baseState: st
|
|
389
389
|
// Gruppe:
|
390
390
|
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeLampeWeissGroup, isGroup, deviceZigbeeLampeWeiss);
|
391
391
|
|
392
|
-
// alexaLevelSchemeForOn:
|
392
|
+
// alexaLevelSchemeForOn: LampeWeissAlexaScheme
|
393
393
|
if (alexaLevelSchemeForOn != null) {
|
394
394
|
createDatenpunktSingle(adapter, rawId, attributeTypeBoolean, attributeLampWeiss_AlexaColorSchemeForOn_Weiss_aktiv, true, deviceZigbeeLampeWeiss);
|
395
395
|
createDatenpunktSingle(adapter, rawId, attributeTypeNumber, attributeLampWeiss_AlexaColorSchemeForOn_Weiss_level, alexaLevelSchemeForOn.getLevel(), deviceZigbeeLampeWeiss);
|
@@ -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
|
|
@@ -935,7 +938,7 @@ export function loadZigbeeLampenWeiss(adapter: any) {
|
|
935
938
|
var alexaOnScheme = null;
|
936
939
|
if (adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_AlexaColorSchemeForOn_Weiss_aktiv).val == true) {
|
937
940
|
// @ts-ignore
|
938
|
-
alexaOnScheme = new
|
941
|
+
alexaOnScheme = new LampeWeissAlexaScheme(null,
|
939
942
|
adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_AlexaColorSchemeForOn_Weiss_level).val,
|
940
943
|
adapter.getState(datenpunktPraefix + "." + attributeLampWeiss_AlexaColorSchemeForOn_Weiss_ct).val
|
941
944
|
);
|
@@ -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 };
|