homebridge-tasmota-control 1.6.15-beta.16 → 1.6.15-beta.18

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.
@@ -399,6 +399,12 @@
399
399
  "type": "string",
400
400
  "default": "swing",
401
401
  "oneOf": [
402
+ {
403
+ "title": "AIR DIRECTION",
404
+ "enum": [
405
+ "airdirection"
406
+ ]
407
+ },
402
408
  {
403
409
  "title": "LEFT",
404
410
  "enum": [
@@ -411,12 +417,24 @@
411
417
  "left_middle"
412
418
  ]
413
419
  },
420
+ {
421
+ "title": "LEFT CENTER",
422
+ "enum": [
423
+ "left_center"
424
+ ]
425
+ },
414
426
  {
415
427
  "title": "CENTER",
416
428
  "enum": [
417
429
  "center"
418
430
  ]
419
431
  },
432
+ {
433
+ "title": "RIGHT CENTER",
434
+ "enum": [
435
+ "right_center"
436
+ ]
437
+ },
420
438
  {
421
439
  "title": "RIGHT MIDDLE",
422
440
  "enum": [
@@ -584,7 +602,7 @@
584
602
  ]
585
603
  },
586
604
  {
587
- "title": "VANE H RIGHT",
605
+ "title": "VANE H RIGHT CENTER",
588
606
  "enum": [
589
607
  14
590
608
  ]
@@ -596,7 +614,7 @@
596
614
  ]
597
615
  },
598
616
  {
599
- "title": "VANE H RIGHT CENTER",
617
+ "title": "VANE H RIGHT",
600
618
  "enum": [
601
619
  16
602
620
  ]
@@ -710,31 +728,31 @@
710
728
  ]
711
729
  },
712
730
  {
713
- "title": "LOCK CONTROL All (only as sensor now)",
731
+ "title": "LOCK CONTROL All",
714
732
  "enum": [
715
733
  50
716
734
  ]
717
735
  },
718
736
  {
719
- "title": "LOCK CONTROL POWER (only as sensor now)",
737
+ "title": "LOCK CONTROL POWER",
720
738
  "enum": [
721
739
  51
722
740
  ]
723
741
  },
724
742
  {
725
- "title": "LOCK CONTROL MODE (only as sensor now)",
743
+ "title": "LOCK CONTROL MODE",
726
744
  "enum": [
727
745
  52
728
746
  ]
729
747
  },
730
748
  {
731
- "title": "LOCK CONTROL TEMPERATURE (only as sensor now)",
749
+ "title": "LOCK CONTROL TEMPERATURE",
732
750
  "enum": [
733
751
  53
734
752
  ]
735
753
  },
736
754
  {
737
- "title": "PURIFY (not implemented)",
755
+ "title": "PURIFY",
738
756
  "enum": [
739
757
  60
740
758
  ]
@@ -839,25 +857,25 @@
839
857
  ]
840
858
  },
841
859
  {
842
- "title": "MODE PURIFY (not implemented)",
860
+ "title": "PURIFY",
843
861
  "enum": [
844
862
  6
845
863
  ]
846
864
  },
847
865
  {
848
- "title": "VANE H AUTO",
866
+ "title": "VANE H LEFT",
849
867
  "enum": [
850
868
  10
851
869
  ]
852
870
  },
853
871
  {
854
- "title": "VANE H LEFT",
872
+ "title": "VANE H LEFT MIDDLE",
855
873
  "enum": [
856
874
  11
857
875
  ]
858
876
  },
859
877
  {
860
- "title": "VANE H LEFT MIDDLE",
878
+ "title": "VANE H LEFT CENTER",
861
879
  "enum": [
862
880
  12
863
881
  ]
@@ -869,29 +887,41 @@
869
887
  ]
870
888
  },
871
889
  {
872
- "title": "VANE H RIGHT MIDDLE",
890
+ "title": "VANE H RIGHT CENTER",
873
891
  "enum": [
874
892
  14
875
893
  ]
876
894
  },
877
895
  {
878
- "title": "VANE H RIGHT",
896
+ "title": "VANE H RIGHT MIDDLE",
879
897
  "enum": [
880
898
  15
881
899
  ]
882
900
  },
883
901
  {
884
- "title": "VANE H SPLIT",
902
+ "title": "VANE H RIGHT",
885
903
  "enum": [
886
904
  16
887
905
  ]
888
906
  },
889
907
  {
890
- "title": "VANE H SWING",
908
+ "title": "VANE H SPLIT",
891
909
  "enum": [
892
910
  17
893
911
  ]
894
912
  },
913
+ {
914
+ "title": "VANE H SWING",
915
+ "enum": [
916
+ 18
917
+ ]
918
+ },
919
+ {
920
+ "title": "VANE H AIR DIRECTION",
921
+ "enum": [
922
+ 19
923
+ ]
924
+ },
895
925
  {
896
926
  "title": "VANE V AUTO",
897
927
  "enum": [
@@ -1019,97 +1049,103 @@
1019
1049
  ]
1020
1050
  },
1021
1051
  {
1022
- "title": "OPERATION STAGE NORMAL",
1052
+ "title": "OPERATION STATUS NORMAL",
1023
1053
  "enum": [
1024
1054
  70
1025
1055
  ]
1026
1056
  },
1027
1057
  {
1028
- "title": "OPERATION STAGE DEFROST",
1058
+ "title": "OPERATION STATUS FILTER",
1029
1059
  "enum": [
1030
1060
  71
1031
1061
  ]
1032
1062
  },
1033
1063
  {
1034
- "title": "OPERATION STAGE PREHEAT",
1064
+ "title": "OPERATION STATUS DEFROST",
1035
1065
  "enum": [
1036
1066
  72
1037
1067
  ]
1038
1068
  },
1039
1069
  {
1040
- "title": "OPERATION STAGE STANDBY",
1070
+ "title": "OPERATION STATUS STANDBY",
1041
1071
  "enum": [
1042
1072
  73
1043
1073
  ]
1044
1074
  },
1045
1075
  {
1046
- "title": "FAN STAGE OFF",
1076
+ "title": "OPERATION STATUS PREHEAT",
1077
+ "enum": [
1078
+ 74
1079
+ ]
1080
+ },
1081
+ {
1082
+ "title": "FAN STATUS OFF",
1047
1083
  "enum": [
1048
1084
  80
1049
1085
  ]
1050
1086
  },
1051
1087
  {
1052
- "title": "FAN STAGE QUIET",
1088
+ "title": "FAN STATUS QUIET",
1053
1089
  "enum": [
1054
1090
  81
1055
1091
  ]
1056
1092
  },
1057
1093
  {
1058
- "title": "FAN STAGE 1",
1094
+ "title": "FAN STATUS 1",
1059
1095
  "enum": [
1060
1096
  82
1061
1097
  ]
1062
1098
  },
1063
1099
  {
1064
- "title": "FAN STAGE 2",
1100
+ "title": "FAN STATUS 2",
1065
1101
  "enum": [
1066
1102
  83
1067
1103
  ]
1068
1104
  },
1069
1105
  {
1070
- "title": "FAN STAGE 3",
1106
+ "title": "FAN STATUS 3",
1071
1107
  "enum": [
1072
1108
  84
1073
1109
  ]
1074
1110
  },
1075
1111
  {
1076
- "title": "FAN STAGE 4",
1112
+ "title": "FAN STATUS 4",
1077
1113
  "enum": [
1078
1114
  85
1079
1115
  ]
1080
1116
  },
1081
1117
  {
1082
- "title": "FAN STAGE 5",
1118
+ "title": "FAN STATUS 5",
1083
1119
  "enum": [
1084
1120
  86
1085
1121
  ]
1086
1122
  },
1087
1123
  {
1088
- "title": "MODE STAGE AUTO OFF",
1124
+ "title": "MODE STATUS AUTO OFF",
1089
1125
  "enum": [
1090
1126
  90
1091
1127
  ]
1092
1128
  },
1093
1129
  {
1094
- "title": "MODE STAGE AUTO FAN",
1130
+ "title": "MODE STATUS AUTO FAN",
1095
1131
  "enum": [
1096
1132
  91
1097
1133
  ]
1098
1134
  },
1099
1135
  {
1100
- "title": "MODE STAGE AUTO HEAT",
1136
+ "title": "MODE STATUS AUTO HEAT",
1101
1137
  "enum": [
1102
1138
  92
1103
1139
  ]
1104
1140
  },
1105
1141
  {
1106
- "title": "MODE STAGE AUTO COOL",
1142
+ "title": "MODE STATUS AUTO COOL",
1107
1143
  "enum": [
1108
1144
  93
1109
1145
  ]
1110
1146
  },
1111
1147
  {
1112
- "title": "MODE STAGE AUTO LEADER",
1148
+ "title": "MODE STATUS AUTO LEADER",
1113
1149
  "enum": [
1114
1150
  94
1115
1151
  ]
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "Tasmota Control",
3
3
  "name": "homebridge-tasmota-control",
4
- "version": "1.6.15-beta.16",
4
+ "version": "1.6.15-beta.18",
5
5
  "description": "Homebridge plugin to control Tasmota flashed devices.",
6
6
  "license": "MIT",
7
7
  "author": "grzegorz914",
package/src/mielhvac.js CHANGED
@@ -484,11 +484,12 @@ class MiElHvac extends EventEmitter {
484
484
  11: 'left_middle',
485
485
  12: 'left_center',
486
486
  13: 'center',
487
- 14: 'right',
487
+ 14: 'right_center',
488
488
  15: 'right_middle',
489
- 16: 'right_center',
489
+ 16: 'right',
490
490
  17: 'split',
491
491
  18: 'swing',
492
+ 19: 'airdirection',
492
493
  };
493
494
 
494
495
  const vaneVMap = {
@@ -511,9 +512,9 @@ class MiElHvac extends EventEmitter {
511
512
  };
512
513
 
513
514
  const airDirMap = {
514
- 40: () => power && airDirection === 'indirect',
515
- 41: () => power && airDirection === 'direct',
516
- 42: () => power && airDirection === 'even',
515
+ 40: 'indirect',
516
+ 41: 'direct',
517
+ 42: 'even',
517
518
  };
518
519
 
519
520
  const prohibitMap = {
@@ -524,14 +525,14 @@ class MiElHvac extends EventEmitter {
524
525
  };
525
526
 
526
527
  const purifyMap = {
527
- 60: () => power && purify === 'on',
528
+ 60: 'on',
528
529
  };
529
530
 
530
531
  this.buttonsConfigured.forEach((button, index) => {
531
532
  const mode = button.mode;
532
533
  let state = false;
533
534
 
534
- if (modeMap[mode] !== undefined) {
535
+ if (modeMap[mode]) {
535
536
  state = modeMap[mode]();
536
537
  } else if (vaneHMap[mode]) {
537
538
  state = power && vaneHorizontalDirection === vaneHMap[mode];
@@ -540,11 +541,11 @@ class MiElHvac extends EventEmitter {
540
541
  } else if (fanSpeedMap[mode]) {
541
542
  state = power && fanSpeed === fanSpeedMap[mode];
542
543
  } else if (airDirMap[mode]) {
543
- state = airDirMap[mode]();
544
- } else if (prohibitMap[mode] !== undefined) {
545
- state = prohibit === prohibitMap[mode];
546
- } else if (purifyMap[mode] !== undefined) {
547
- state = purify === purifyMap[mode];
544
+ state = power && airDirMap[mode] === airDirMap[mode];
545
+ } else if (prohibitMap[mode]) {
546
+ state = power && prohibit === prohibitMap[mode];
547
+ } else if (purifyMap[mode]) {
548
+ state = power && purify === purifyMap[mode];
548
549
  } else {
549
550
  this.emit('warn', `Unknown button mode: ${mode} detected`);
550
551
  }
@@ -576,15 +577,18 @@ class MiElHvac extends EventEmitter {
576
577
  3: isOneOf(operationMode, ['cool', 'cool_isee']),
577
578
  4: is(operationMode, 'fan'),
578
579
  5: is(operationMode, 'auto'),
579
- 6: is(operationMode, 'purify'),
580
+ 6: is(purify, 'on'),
580
581
 
581
- 11: is(vaneHorizontalDirection, 'left'),
582
- 12: is(vaneHorizontalDirection, 'left_middle'),
582
+ 10: is(vaneHorizontalDirection, 'left'),
583
+ 11: is(vaneHorizontalDirection, 'left_middle'),
584
+ 12: is(vaneHorizontalDirection, 'left_center'),
583
585
  13: is(vaneHorizontalDirection, 'center'),
584
- 14: is(vaneHorizontalDirection, 'right_middle'),
585
- 15: is(vaneHorizontalDirection, 'right'),
586
- 16: is(vaneHorizontalDirection, 'split'),
587
- 17: is(vaneHorizontalDirection, 'swing'),
586
+ 14: is(vaneHorizontalDirection, 'right_center'),
587
+ 15: is(vaneHorizontalDirection, 'right_middle'),
588
+ 16: is(vaneHorizontalDirection, 'right'),
589
+ 17: is(vaneHorizontalDirection, 'split'),
590
+ 18: is(vaneHorizontalDirection, 'swing'),
591
+ 19: is(vaneHorizontalDirection, 'airdirection'),
588
592
 
589
593
  20: is(vaneVerticalDirection, 'auto'),
590
594
  21: is(vaneVerticalDirection, 'up'),
@@ -606,7 +610,6 @@ class MiElHvac extends EventEmitter {
606
610
  40: is(airDirection, 'indirect'),
607
611
  41: is(airDirection, 'direct'),
608
612
  42: is(airDirection, 'even'),
609
- 43: powerOn && !['indirect', 'direct', 'even'].includes(airDirection),
610
613
 
611
614
  50: prohibit === 'all',
612
615
  51: prohibit === 'power',
@@ -616,9 +619,10 @@ class MiElHvac extends EventEmitter {
616
619
  60: remoteTemperatureSensorState,
617
620
 
618
621
  70: operationStatus === 'normal',
619
- 71: operationStatus === 'defrost',
620
- 72: operationStatus === 'preheat',
622
+ 71: operationStatus === 'filter',
623
+ 72: operationStatus === 'defrost',
621
624
  73: operationStatus === 'standby',
625
+ 74: operationStatus === 'preheat',
622
626
 
623
627
  80: fanSpeedStatus === 'off',
624
628
  81: fanSpeedStatus === 'quiet',
@@ -1070,9 +1074,9 @@ class MiElHvac extends EventEmitter {
1070
1074
  11: () => getCommand('SetSwingH', 'left_middle'),
1071
1075
  12: () => getCommand('SetSwingH', 'left_center'),
1072
1076
  13: () => getCommand('SetSwingH', 'center'),
1073
- 14: () => getCommand('SetSwingH', 'right_middle'),
1074
- 15: () => getCommand('SetSwingH', 'right'),
1075
- 16: () => getCommand('SetSwingH', 'right_center'),
1077
+ 14: () => getCommand('SetSwingH', 'right_center'),
1078
+ 15: () => getCommand('SetSwingH', 'right_middle'),
1079
+ 16: () => getCommand('SetSwingH', 'right'),
1076
1080
  17: () => getCommand('SetSwingH', 'split'),
1077
1081
  18: () => getCommand('SetSwingH', 'swing'),
1078
1082
 
@@ -1233,7 +1237,7 @@ class MiElHvac extends EventEmitter {
1233
1237
  try {
1234
1238
  //check device state
1235
1239
  const checkState = await this.checkDeviceState();
1236
- if(!checkState) return null;
1240
+ if (!checkState) return null;
1237
1241
 
1238
1242
  //connect to deice success
1239
1243
  this.emit('success', `Connect Success`)