homebridge-melcloud-control 3.3.31 → 3.3.32-beta.1
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/CHANGELOG.md +6 -0
- package/homebridge-ui/server.js +2 -2
- package/index.js +16 -15
- package/package.json +1 -1
- package/src/deviceata.js +81 -80
- package/src/deviceatw.js +113 -112
- package/src/deviceerv.js +54 -53
- package/src/impulsegenerator.js +2 -2
- package/src/melcloud.js +21 -20
- package/src/melcloudata.js +13 -12
- package/src/melcloudatw.js +13 -12
- package/src/melclouderv.js +13 -12
- package/src/mqtt.js +4 -4
- package/src/restful.js +4 -4
package/src/deviceata.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
import EventEmitter from 'events';
|
|
3
|
+
import MelCloudAta from './melcloudata.js';
|
|
4
|
+
import RestFul from './restful.js';
|
|
5
|
+
import Mqtt from './mqtt.js';
|
|
6
|
+
import constants from './constants.json' assert { type: 'json' };
|
|
7
|
+
const { TemperatureDisplayUnits, AirConditioner } = constants;
|
|
7
8
|
let Accessory, Characteristic, Service, Categories, AccessoryUUID;
|
|
8
9
|
|
|
9
10
|
class DeviceAta extends EventEmitter {
|
|
@@ -94,7 +95,7 @@ class DeviceAta extends EventEmitter {
|
|
|
94
95
|
//accessory
|
|
95
96
|
this.accessory = {};
|
|
96
97
|
this.accessory.useFahrenheit = useFahrenheit ? 1 : 0;
|
|
97
|
-
this.accessory.temperatureUnit =
|
|
98
|
+
this.accessory.temperatureUnit = TemperatureDisplayUnits[this.accessory.useFahrenheit];
|
|
98
99
|
};
|
|
99
100
|
|
|
100
101
|
async start() {
|
|
@@ -589,16 +590,16 @@ class DeviceAta extends EventEmitter {
|
|
|
589
590
|
//log current state
|
|
590
591
|
if (!this.disableLogInfo) {
|
|
591
592
|
this.emit('message', `Power: ${power ? 'ON' : 'OFF'}`);
|
|
592
|
-
this.emit('message', `Target operation mode: ${
|
|
593
|
-
this.emit('message', `Current operation mode: ${this.displayMode === 1 ?
|
|
593
|
+
this.emit('message', `Target operation mode: ${AirConditioner.DriveMode[operationMode]}`);
|
|
594
|
+
this.emit('message', `Current operation mode: ${this.displayMode === 1 ? AirConditioner.CurrentOperationModeHeatherCooler[this.accessory.currentOperationMode] : AirConditioner.CurrentOperationModeThermostat[this.accessory.currentOperationMode]}`);
|
|
594
595
|
this.emit('message', `Target temperature: ${setTemperature}${this.accessory.temperatureUnit}`);
|
|
595
596
|
this.emit('message', `Current temperature: ${roomTemperature}${this.accessory.temperatureUnit}`);
|
|
596
597
|
const info = hasOutdoorTemperature && outdoorTemperature !== null ? this.emit('message', `Outdoor temperature: ${outdoorTemperature}${this.accessory.temperatureUnit}`) : false;
|
|
597
|
-
const info3 = modelSupportsFanSpeed ? this.emit('message', `Target fan speed: ${
|
|
598
|
-
const info4 = modelSupportsFanSpeed ? this.emit('message', `Current fan speed: ${
|
|
599
|
-
const info5 = vaneHorizontalDirection !== null ? this.emit('message', `Vane horizontal: ${
|
|
600
|
-
const info6 = vaneVerticalDirection !== null ? this.emit('message', `Vane vertical: ${
|
|
601
|
-
const info7 = swingFunction ? this.emit('message', `Air direction: ${
|
|
598
|
+
const info3 = modelSupportsFanSpeed ? this.emit('message', `Target fan speed: ${AirConditioner.FanSpeed[fanSpeed]}`) : false;
|
|
599
|
+
const info4 = modelSupportsFanSpeed ? this.emit('message', `Current fan speed: ${AirConditioner.FanSpeed[actualFanSpeed]}`) : false;
|
|
600
|
+
const info5 = vaneHorizontalDirection !== null ? this.emit('message', `Vane horizontal: ${AirConditioner.HorizontalVane[vaneHorizontalDirection] ?? vaneHorizontalDirection}`) : false;
|
|
601
|
+
const info6 = vaneVerticalDirection !== null ? this.emit('message', `Vane vertical: ${AirConditioner.VerticalVane[vaneVerticalDirection] ?? vaneVerticalDirection}`) : false;
|
|
602
|
+
const info7 = swingFunction ? this.emit('message', `Air direction: ${AirConditioner.AirDirection[this.accessory.swingMode]}`) : false;
|
|
602
603
|
this.emit('message', `Temperature display unit: ${this.accessory.temperatureUnit}`);
|
|
603
604
|
this.emit('message', `Lock physical controls: ${this.accessory.lockPhysicalControl ? 'LOCKED' : 'UNLOCKED'}`);
|
|
604
605
|
};
|
|
@@ -646,67 +647,67 @@ class DeviceAta extends EventEmitter {
|
|
|
646
647
|
switch (key) {
|
|
647
648
|
case 'Power':
|
|
648
649
|
deviceData.Device[key] = value;
|
|
649
|
-
deviceData.Device.EffectiveFlags =
|
|
650
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.Power;
|
|
650
651
|
set = await this.melCloudAta.send(deviceData, this.displayMode);
|
|
651
652
|
break;
|
|
652
653
|
case 'OperationMode':
|
|
653
654
|
deviceData.Device[key] = value;
|
|
654
|
-
deviceData.Device.EffectiveFlags =
|
|
655
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.OperationModeSetTemperature;
|
|
655
656
|
set = await this.melCloudAta.send(deviceData, this.displayMode);
|
|
656
657
|
break;
|
|
657
658
|
case 'SetTemperature':
|
|
658
659
|
deviceData.Device[key] = value;
|
|
659
|
-
deviceData.Device.EffectiveFlags =
|
|
660
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.SetTemperature;
|
|
660
661
|
set = await this.melCloudAta.send(deviceData, this.displayMode);
|
|
661
662
|
break;
|
|
662
663
|
case 'DefaultCoolingSetTemperature':
|
|
663
664
|
deviceData.Device[key] = value;
|
|
664
|
-
deviceData.Device.EffectiveFlags =
|
|
665
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.SetTemperature;
|
|
665
666
|
set = await this.melCloudAta.send(deviceData, this.displayMode);
|
|
666
667
|
break;
|
|
667
668
|
case 'DefaultHeatingSetTemperature':
|
|
668
669
|
deviceData.Device[key] = value;
|
|
669
|
-
deviceData.Device.EffectiveFlags =
|
|
670
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.SetTemperature;
|
|
670
671
|
set = await this.melCloudAta.send(deviceData, this.displayMode);
|
|
671
672
|
break;
|
|
672
673
|
case 'FanSpeed':
|
|
673
674
|
deviceData.Device[key] = value;
|
|
674
|
-
deviceData.Device.EffectiveFlags =
|
|
675
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.SetFanSpeed;
|
|
675
676
|
set = await this.melCloudAta.send(deviceData, this.displayMode);
|
|
676
677
|
break;
|
|
677
678
|
case 'VaneHorizontalDirection':
|
|
678
679
|
deviceData.Device[key] = value;
|
|
679
|
-
deviceData.Device.EffectiveFlags =
|
|
680
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.VaneHorizontal;
|
|
680
681
|
set = await this.melCloudAta.send(deviceData, this.displayMode);
|
|
681
682
|
break;
|
|
682
683
|
case 'VaneVerticalDirection':
|
|
683
684
|
deviceData.Device[key] = value;
|
|
684
|
-
deviceData.Device.EffectiveFlags =
|
|
685
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.VaneVertical;
|
|
685
686
|
set = await this.melCloudAta.send(deviceData, this.displayMode);
|
|
686
687
|
break;
|
|
687
688
|
case 'HideVaneControls':
|
|
688
689
|
deviceData[key] = value;
|
|
689
|
-
deviceData.Device.EffectiveFlags =
|
|
690
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.Prohibit;
|
|
690
691
|
set = await this.melCloudAta.send(deviceData, this.displayMode);
|
|
691
692
|
break;
|
|
692
693
|
case 'HideDryModeControl':
|
|
693
694
|
deviceData[key] = value;
|
|
694
|
-
deviceData.Device.EffectiveFlags =
|
|
695
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.Prohibit;
|
|
695
696
|
await this.melCloudAta.send(deviceData, this.displayMode);
|
|
696
697
|
break;
|
|
697
698
|
case 'ProhibitSetTemperature':
|
|
698
699
|
deviceData.Device[key] = value;
|
|
699
|
-
deviceData.Device.EffectiveFlags =
|
|
700
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.Prohibit;
|
|
700
701
|
set = await this.melCloudAta.send(deviceData, this.displayMode);
|
|
701
702
|
break;
|
|
702
703
|
case 'ProhibitOperationMode':
|
|
703
704
|
deviceData.Device[key] = value;
|
|
704
|
-
deviceData.Device.EffectiveFlags =
|
|
705
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.Prohibit;
|
|
705
706
|
await this.melCloudAta.send(deviceData, this.displayMode);
|
|
706
707
|
break;
|
|
707
708
|
case 'ProhibitPower':
|
|
708
709
|
deviceData.Device[key] = value;
|
|
709
|
-
deviceData.Device.EffectiveFlags =
|
|
710
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.Prohibit;
|
|
710
711
|
set = await this.melCloudAta.send(deviceData, this.displayMode);
|
|
711
712
|
break;
|
|
712
713
|
default:
|
|
@@ -766,7 +767,7 @@ class DeviceAta extends EventEmitter {
|
|
|
766
767
|
.onSet(async (state) => {
|
|
767
768
|
try {
|
|
768
769
|
deviceData.Device.Power = [false, true][state];
|
|
769
|
-
deviceData.Device.EffectiveFlags =
|
|
770
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.Power;
|
|
770
771
|
await this.melCloudAta.send(deviceData, this.displayMode);
|
|
771
772
|
const info = this.disableLogInfo ? false : this.emit('message', `Set power: ${state ? 'ON' : 'OFF'}`);
|
|
772
773
|
} catch (error) {
|
|
@@ -802,9 +803,9 @@ class DeviceAta extends EventEmitter {
|
|
|
802
803
|
break;
|
|
803
804
|
};
|
|
804
805
|
|
|
805
|
-
deviceData.Device.EffectiveFlags =
|
|
806
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.OperationModeSetTemperature;
|
|
806
807
|
await this.melCloudAta.send(deviceData, this.displayMode);
|
|
807
|
-
const operationModeText =
|
|
808
|
+
const operationModeText = AirConditioner.DriveMode[deviceData.Device.OperationMode];
|
|
808
809
|
const info = this.disableLogInfo ? false : this.emit('message', `Set operation mode: ${operationModeText}`);
|
|
809
810
|
} catch (error) {
|
|
810
811
|
this.emit('warn', `Set operation mode error: ${error}`);
|
|
@@ -851,9 +852,9 @@ class DeviceAta extends EventEmitter {
|
|
|
851
852
|
deviceData.Device.FanSpeed = hasAutomaticFanSpeed ? [0, 1, 2, 3, 4, 5, 6, 0][value] : [1, 1, 2, 3, 4, 5, 6][value];
|
|
852
853
|
break;
|
|
853
854
|
};
|
|
854
|
-
deviceData.Device.EffectiveFlags =
|
|
855
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.SetFanSpeed;
|
|
855
856
|
await this.melCloudAta.send(deviceData, this.displayMode);
|
|
856
|
-
const info = this.disableLogInfo ? false : this.emit('message', `Set fan speed mode: ${
|
|
857
|
+
const info = this.disableLogInfo ? false : this.emit('message', `Set fan speed mode: ${AirConditioner.FanSpeed[fanSpeedModeText]}`);
|
|
857
858
|
} catch (error) {
|
|
858
859
|
this.emit('warn', `Set fan speed mode error: ${error}`);
|
|
859
860
|
};
|
|
@@ -870,9 +871,9 @@ class DeviceAta extends EventEmitter {
|
|
|
870
871
|
try {
|
|
871
872
|
deviceData.Device.VaneHorizontal = value ? 12 : 0;
|
|
872
873
|
deviceData.Device.VaneVertical = value ? 7 : 0;
|
|
873
|
-
deviceData.Device.EffectiveFlags =
|
|
874
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.VaneVerticalVaneHorizontal;
|
|
874
875
|
await this.melCloudAta.send(deviceData, this.displayMode);
|
|
875
|
-
const info = this.disableLogInfo ? false : this.emit('message', `Set air direction mode: ${
|
|
876
|
+
const info = this.disableLogInfo ? false : this.emit('message', `Set air direction mode: ${AirConditioner.AirDirection[value]}`);
|
|
876
877
|
} catch (error) {
|
|
877
878
|
this.emit('warn', `Set vane swing mode error: ${error}`);
|
|
878
879
|
};
|
|
@@ -891,7 +892,7 @@ class DeviceAta extends EventEmitter {
|
|
|
891
892
|
.onSet(async (value) => {
|
|
892
893
|
try {
|
|
893
894
|
deviceData.Device.DefaultCoolingSetTemperature = value;
|
|
894
|
-
deviceData.Device.EffectiveFlags =
|
|
895
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.SetTemperature;
|
|
895
896
|
await this.melCloudAta.send(deviceData, this.displayMode);
|
|
896
897
|
const info = this.disableLogInfo ? false : this.emit('message', `Set cooling threshold temperature: ${value}${this.accessory.temperatureUnit}`);
|
|
897
898
|
} catch (error) {
|
|
@@ -912,7 +913,7 @@ class DeviceAta extends EventEmitter {
|
|
|
912
913
|
.onSet(async (value) => {
|
|
913
914
|
try {
|
|
914
915
|
deviceData.Device.DefaultHeatingSetTemperature = value;
|
|
915
|
-
deviceData.Device.EffectiveFlags =
|
|
916
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.SetTemperature;
|
|
916
917
|
await this.melCloudAta.send(deviceData, this.displayMode);
|
|
917
918
|
const info = this.disableLogInfo ? false : this.emit('message', `Set heating threshold temperature: ${value}${this.accessory.temperatureUnit}`);
|
|
918
919
|
} catch (error) {
|
|
@@ -931,7 +932,7 @@ class DeviceAta extends EventEmitter {
|
|
|
931
932
|
deviceData.Device.ProhibitSetTemperature = value;
|
|
932
933
|
deviceData.Device.ProhibitOperationMode = value;
|
|
933
934
|
deviceData.Device.ProhibitPower = value;
|
|
934
|
-
deviceData.Device.EffectiveFlags =
|
|
935
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.Prohibit;
|
|
935
936
|
await this.melCloudAta.send(deviceData, this.displayMode);
|
|
936
937
|
const info = this.disableLogInfo ? false : this.emit('message', `Set local physical controls: ${value ? 'LOCK' : 'UNLOCK'}`);
|
|
937
938
|
} catch (error) {
|
|
@@ -948,7 +949,7 @@ class DeviceAta extends EventEmitter {
|
|
|
948
949
|
accountInfo.UseFahrenheit = [false, true][value];
|
|
949
950
|
await this.melCloud.send(accountInfo);
|
|
950
951
|
this.accessory.useFahrenheit = value;
|
|
951
|
-
const info = this.disableLogInfo ? false : this.emit('message', `Set temperature display unit: ${
|
|
952
|
+
const info = this.disableLogInfo ? false : this.emit('message', `Set temperature display unit: ${TemperatureDisplayUnits[value]}`);
|
|
952
953
|
} catch (error) {
|
|
953
954
|
this.emit('warn', `Set temperature display unit error: ${error}`);
|
|
954
955
|
};
|
|
@@ -978,27 +979,27 @@ class DeviceAta extends EventEmitter {
|
|
|
978
979
|
switch (value) {
|
|
979
980
|
case 0: //OFF - POWER OFF
|
|
980
981
|
deviceData.Device.Power = false;
|
|
981
|
-
deviceData.Device.EffectiveFlags =
|
|
982
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.Power;
|
|
982
983
|
break;
|
|
983
984
|
case 1: //HEAT - HEAT
|
|
984
985
|
deviceData.Device.Power = true;
|
|
985
986
|
deviceData.Device.OperationMode = heatDryFanMode;
|
|
986
|
-
deviceData.Device.EffectiveFlags =
|
|
987
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerOperationModeSetTemperature;
|
|
987
988
|
break;
|
|
988
989
|
case 2: //COOL - COOL
|
|
989
990
|
deviceData.Device.Power = true;
|
|
990
991
|
deviceData.Device.OperationMode = coolDryFanMode;
|
|
991
|
-
deviceData.Device.EffectiveFlags =
|
|
992
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerOperationModeSetTemperature
|
|
992
993
|
break;
|
|
993
994
|
case 3: //AUTO - AUTO
|
|
994
995
|
deviceData.Device.Power = true;
|
|
995
996
|
deviceData.Device.OperationMode = autoDryFanMode;
|
|
996
|
-
deviceData.Device.EffectiveFlags =
|
|
997
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerOperationModeSetTemperature;
|
|
997
998
|
break;
|
|
998
999
|
};
|
|
999
1000
|
|
|
1000
1001
|
await this.melCloudAta.send(deviceData, this.displayMode);
|
|
1001
|
-
const operationModeText =
|
|
1002
|
+
const operationModeText = AirConditioner.DriveMode[deviceData.Device.OperationMode];
|
|
1002
1003
|
const info = this.disableLogInfo ? false : this.emit('message', `Set operation mode: ${operationModeText}`);
|
|
1003
1004
|
} catch (error) {
|
|
1004
1005
|
this.emit('warn', `Set operation mode error: ${error}`);
|
|
@@ -1022,7 +1023,7 @@ class DeviceAta extends EventEmitter {
|
|
|
1022
1023
|
.onSet(async (value) => {
|
|
1023
1024
|
try {
|
|
1024
1025
|
deviceData.Device.SetTemperature = value;
|
|
1025
|
-
deviceData.Device.EffectiveFlags =
|
|
1026
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.SetTemperature;
|
|
1026
1027
|
await this.melCloudAta.send(deviceData, this.displayMode);
|
|
1027
1028
|
const info = this.disableLogInfo ? false : this.emit('message', `Set temperature: ${value}${this.accessory.temperatureUnit}`);
|
|
1028
1029
|
} catch (error) {
|
|
@@ -1039,7 +1040,7 @@ class DeviceAta extends EventEmitter {
|
|
|
1039
1040
|
accountInfo.UseFahrenheit = [false, true][value];
|
|
1040
1041
|
await this.melCloud.send(accountInfo);
|
|
1041
1042
|
this.accessory.useFahrenheit = value;
|
|
1042
|
-
const info = this.disableLogInfo ? false : this.emit('message', `Set temperature display unit: ${
|
|
1043
|
+
const info = this.disableLogInfo ? false : this.emit('message', `Set temperature display unit: ${TemperatureDisplayUnits[value]}`);
|
|
1043
1044
|
} catch (error) {
|
|
1044
1045
|
this.emit('warn', `Set temperature display unit error: ${error}`);
|
|
1045
1046
|
};
|
|
@@ -1122,7 +1123,7 @@ class DeviceAta extends EventEmitter {
|
|
|
1122
1123
|
deviceData.Device.VaneHorizontalDirection = presetData.VaneHorizontal;
|
|
1123
1124
|
deviceData.Device.VaneVerticalDirection = presetData.VaneVertical;
|
|
1124
1125
|
deviceData.Device.FanSpeed = presetData.FanSpeed;
|
|
1125
|
-
deviceData.Device.EffectiveFlags =
|
|
1126
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.Presets;
|
|
1126
1127
|
break;
|
|
1127
1128
|
case false:
|
|
1128
1129
|
deviceData.Device.Power = preset.previousSettings.Power;
|
|
@@ -1131,7 +1132,7 @@ class DeviceAta extends EventEmitter {
|
|
|
1131
1132
|
deviceData.Device.VaneHorizontalDirection = preset.previousSettings.VaneHorizontalDirection;
|
|
1132
1133
|
deviceData.Device.VaneVerticalDirection = preset.previousSettings.VaneVerticalDirection;
|
|
1133
1134
|
deviceData.Device.FanSpeed = preset.previousSettings.FanSpeed;
|
|
1134
|
-
deviceData.Device.EffectiveFlags =
|
|
1135
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.Presets;
|
|
1135
1136
|
break;
|
|
1136
1137
|
};
|
|
1137
1138
|
|
|
@@ -1179,43 +1180,43 @@ class DeviceAta extends EventEmitter {
|
|
|
1179
1180
|
switch (mode) {
|
|
1180
1181
|
case 0: //POWER ON,OFF
|
|
1181
1182
|
deviceData.Device.Power = state;
|
|
1182
|
-
deviceData.Device.EffectiveFlags =
|
|
1183
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.Power;
|
|
1183
1184
|
break;
|
|
1184
1185
|
case 1: //OPERATING MODE HEAT
|
|
1185
1186
|
button.previousValue = state ? deviceData.Device.OperationMode : button.previousValue ?? deviceData.Device.OperationMode;
|
|
1186
1187
|
deviceData.Device.Power = true;
|
|
1187
1188
|
deviceData.Device.OperationMode = state ? 1 : button.previousValue === 9 ? 1 : button.previousValue;
|
|
1188
|
-
deviceData.Device.EffectiveFlags =
|
|
1189
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerOperationModeSetTemperature;
|
|
1189
1190
|
break;
|
|
1190
1191
|
case 2: //OPERATING MODE DRY
|
|
1191
1192
|
button.previousValue = state ? deviceData.Device.OperationMode : button.previousValue ?? deviceData.Device.OperationMode;
|
|
1192
1193
|
deviceData.Device.Power = true;
|
|
1193
1194
|
deviceData.Device.OperationMode = state ? 2 : button.previousValue === 10 ? 2 : button.previousValue;
|
|
1194
|
-
deviceData.Device.EffectiveFlags =
|
|
1195
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerOperationModeSetTemperature;
|
|
1195
1196
|
break
|
|
1196
1197
|
case 3: //OPERATING MODE COOL
|
|
1197
1198
|
button.previousValue = state ? deviceData.Device.OperationMode : button.previousValue ?? deviceData.Device.OperationMode;
|
|
1198
1199
|
deviceData.Device.Power = true;
|
|
1199
1200
|
deviceData.Device.OperationMode = state ? 3 : button.previousValue === 11 ? 3 : button.previousValue;
|
|
1200
|
-
deviceData.Device.EffectiveFlags =
|
|
1201
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerOperationModeSetTemperature;
|
|
1201
1202
|
break;
|
|
1202
1203
|
case 4: //OPERATING MODE FAN
|
|
1203
1204
|
button.previousValue = state ? deviceData.Device.OperationMode : button.previousValue ?? deviceData.Device.OperationMode;
|
|
1204
1205
|
deviceData.Device.Power = true;
|
|
1205
1206
|
deviceData.Device.OperationMode = state ? 7 : button.previousValue;
|
|
1206
|
-
deviceData.Device.EffectiveFlags =
|
|
1207
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerOperationModeSetTemperature;
|
|
1207
1208
|
break;
|
|
1208
1209
|
case 5: //OPERATING MODE AUTO
|
|
1209
1210
|
button.previousValue = state ? deviceData.Device.OperationMode : button.previousValue ?? deviceData.Device.OperationMode;
|
|
1210
1211
|
deviceData.Device.Power = true;
|
|
1211
1212
|
deviceData.Device.OperationMode = state ? 8 : button.previousValue;
|
|
1212
|
-
deviceData.Device.EffectiveFlags =
|
|
1213
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerOperationModeSetTemperature;
|
|
1213
1214
|
break;
|
|
1214
1215
|
case 6: //OPERATING MODE PURIFY
|
|
1215
1216
|
button.previousValue = state ? deviceData.Device.OperationMode : button.previousValue ?? deviceData.Device.OperationMode;
|
|
1216
1217
|
deviceData.Device.Power = true;
|
|
1217
1218
|
deviceData.Device.OperationMode = state ? 12 : button.previousValue;
|
|
1218
|
-
deviceData.Device.EffectiveFlags =
|
|
1219
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerOperationModeSetTemperature;
|
|
1219
1220
|
break;
|
|
1220
1221
|
case 7: //OPERATING MODE DRY CONTROL HIDE
|
|
1221
1222
|
deviceData.HideDryModeControl = state;
|
|
@@ -1224,91 +1225,91 @@ class DeviceAta extends EventEmitter {
|
|
|
1224
1225
|
button.previousValue = state ? deviceData.Device.VaneHorizontalDirection : button.previousValue ?? deviceData.Device.VaneHorizontalDirection;
|
|
1225
1226
|
deviceData.Device.Power = true;
|
|
1226
1227
|
deviceData.Device.VaneHorizontalDirection = state ? 0 : button.previousValue;
|
|
1227
|
-
deviceData.Device.EffectiveFlags =
|
|
1228
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerVaneHorizontal;
|
|
1228
1229
|
break;
|
|
1229
1230
|
case 11: //VANE H SWING MODE 1
|
|
1230
1231
|
button.previousValue = state ? deviceData.Device.VaneHorizontalDirection : button.previousValue ?? deviceData.Device.VaneHorizontalDirection;
|
|
1231
1232
|
deviceData.Device.Power = true;
|
|
1232
1233
|
deviceData.Device.VaneHorizontalDirection = state ? 1 : button.previousValue;
|
|
1233
|
-
deviceData.Device.EffectiveFlags =
|
|
1234
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerVaneHorizontal;
|
|
1234
1235
|
break;
|
|
1235
1236
|
case 12: //VANE H SWING MODE 2
|
|
1236
1237
|
button.previousValue = state ? deviceData.Device.VaneHorizontalDirection : button.previousValue ?? deviceData.Device.VaneHorizontalDirection;
|
|
1237
1238
|
deviceData.Device.Power = true;
|
|
1238
1239
|
deviceData.Device.VaneHorizontalDirection = state ? 2 : button.previousValue;
|
|
1239
|
-
deviceData.Device.EffectiveFlags =
|
|
1240
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerVaneHorizontal;
|
|
1240
1241
|
break;
|
|
1241
1242
|
case 13: //VANE H SWING MODE 3
|
|
1242
1243
|
button.previousValue = state ? deviceData.Device.VaneHorizontalDirection : button.previousValue ?? deviceData.Device.VaneHorizontalDirection;
|
|
1243
1244
|
deviceData.Device.Power = true;
|
|
1244
1245
|
deviceData.Device.VaneHorizontalDirection = state ? 3 : button.previousValue;
|
|
1245
|
-
deviceData.Device.EffectiveFlags =
|
|
1246
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerVaneHorizontal;
|
|
1246
1247
|
break;
|
|
1247
1248
|
case 14: //VANE H SWING MODE 4
|
|
1248
1249
|
button.previousValue = state ? deviceData.Device.VaneHorizontalDirection : button.previousValue ?? deviceData.Device.VaneHorizontalDirection;
|
|
1249
1250
|
deviceData.Device.Power = true;
|
|
1250
1251
|
deviceData.Device.VaneHorizontalDirection = state ? 4 : button.previousValue;
|
|
1251
|
-
deviceData.Device.EffectiveFlags =
|
|
1252
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerVaneHorizontal;
|
|
1252
1253
|
break;
|
|
1253
1254
|
case 15: //VANE H SWING MODE 5
|
|
1254
1255
|
button.previousValue = state ? deviceData.Device.VaneHorizontalDirection : button.previousValue ?? deviceData.Device.VaneHorizontalDirection;
|
|
1255
1256
|
deviceData.Device.Power = true;
|
|
1256
1257
|
deviceData.Device.VaneHorizontalDirection = state ? 5 : button.previousValue;
|
|
1257
|
-
deviceData.Device.EffectiveFlags =
|
|
1258
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerVaneHorizontal;
|
|
1258
1259
|
break;
|
|
1259
1260
|
case 16: //VANE H SWING MODE SPLIT
|
|
1260
1261
|
button.previousValue = state ? deviceData.Device.VaneHorizontalDirection : button.previousValue ?? deviceData.Device.VaneHorizontalDirection;
|
|
1261
1262
|
deviceData.Device.Power = true;
|
|
1262
1263
|
deviceData.Device.VaneHorizontalDirection = state ? 8 : button.previousValue;
|
|
1263
|
-
deviceData.Device.EffectiveFlags =
|
|
1264
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerVaneHorizontal;
|
|
1264
1265
|
break;
|
|
1265
1266
|
case 17: //VANE H SWING MODE SWING
|
|
1266
1267
|
button.previousValue = state ? deviceData.Device.VaneHorizontalDirection : button.previousValue ?? deviceData.Device.VaneHorizontalDirection;
|
|
1267
1268
|
deviceData.Device.Power = true;
|
|
1268
1269
|
deviceData.Device.VaneHorizontalDirection = state ? 12 : button.previousValue;
|
|
1269
|
-
deviceData.Device.EffectiveFlags =
|
|
1270
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerVaneHorizontal;
|
|
1270
1271
|
break;
|
|
1271
1272
|
case 20: //VANE V SWING MODE AUTO
|
|
1272
1273
|
button.previousValue = state ? deviceData.Device.VaneVerticalDirection : button.previousValue ?? deviceData.Device.VaneVerticalDirection;
|
|
1273
1274
|
deviceData.Device.Power = true;
|
|
1274
1275
|
deviceData.Device.VaneVerticalDirection = state ? 0 : button.previousValue;
|
|
1275
|
-
deviceData.Device.EffectiveFlags =
|
|
1276
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerVaneVertical;
|
|
1276
1277
|
break;
|
|
1277
1278
|
case 21: //VANE V SWING MODE 1
|
|
1278
1279
|
button.previousValue = state ? deviceData.Device.VaneVerticalDirection : button.previousValue ?? deviceData.Device.VaneVerticalDirection;
|
|
1279
1280
|
deviceData.Device.Power = true;
|
|
1280
1281
|
deviceData.Device.VaneVerticalDirection = state ? 1 : button.previousValue;
|
|
1281
|
-
deviceData.Device.EffectiveFlags =
|
|
1282
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerVaneVertical;
|
|
1282
1283
|
break;
|
|
1283
1284
|
case 22: //VANE V SWING MODE 2
|
|
1284
1285
|
button.previousValue = state ? deviceData.Device.VaneVerticalDirection : button.previousValue ?? deviceData.Device.VaneVerticalDirection;
|
|
1285
1286
|
deviceData.Device.Power = true;
|
|
1286
1287
|
deviceData.Device.VaneVerticalDirection = state ? 2 : button.previousValue;
|
|
1287
|
-
deviceData.Device.EffectiveFlags =
|
|
1288
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerVaneVertical;
|
|
1288
1289
|
break;
|
|
1289
1290
|
case 23: //VANE V SWING MODE 3
|
|
1290
1291
|
button.previousValue = state ? deviceData.Device.VaneVerticalDirection : button.previousValue ?? deviceData.Device.VaneVerticalDirection;
|
|
1291
1292
|
deviceData.Device.Power = true;
|
|
1292
1293
|
deviceData.Device.VaneVerticalDirection = state ? 3 : button.previousValue;
|
|
1293
|
-
deviceData.Device.EffectiveFlags =
|
|
1294
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerVaneVertical;
|
|
1294
1295
|
break;
|
|
1295
1296
|
case 24: //VANE V SWING MODE 4
|
|
1296
1297
|
button.previousValue = state ? deviceData.Device.VaneVerticalDirection : button.previousValue ?? deviceData.Device.VaneVerticalDirection;
|
|
1297
1298
|
deviceData.Device.Power = true;
|
|
1298
1299
|
deviceData.Device.VaneVerticalDirection = state ? 4 : button.previousValue;
|
|
1299
|
-
deviceData.Device.EffectiveFlags =
|
|
1300
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerVaneVertical;
|
|
1300
1301
|
break;
|
|
1301
1302
|
case 25: //VANE V SWING MODE 5
|
|
1302
1303
|
button.previousValue = state ? deviceData.Device.VaneVerticalDirection : button.previousValue ?? deviceData.Device.VaneVerticalDirection;
|
|
1303
1304
|
deviceData.Device.Power = true;
|
|
1304
1305
|
deviceData.Device.VaneVerticalDirection = state ? 5 : button.previousValue;
|
|
1305
|
-
deviceData.Device.EffectiveFlags =
|
|
1306
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerVaneVertical;
|
|
1306
1307
|
break;
|
|
1307
1308
|
case 26: //VANE V SWING MODE SWING
|
|
1308
1309
|
button.previousValue = state ? deviceData.Device.VaneVerticalDirection : button.previousValue ?? deviceData.Device.VaneVerticalDirection;
|
|
1309
1310
|
deviceData.Device.Power = true;
|
|
1310
1311
|
deviceData.Device.VaneVerticalDirection = state ? 7 : button.previousValue;
|
|
1311
|
-
deviceData.Device.EffectiveFlags =
|
|
1312
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerVaneVertical;
|
|
1312
1313
|
break;
|
|
1313
1314
|
case 27: //VANE H/V CONTROLS HIDE
|
|
1314
1315
|
deviceData.HideVaneControls = state;
|
|
@@ -1317,61 +1318,61 @@ class DeviceAta extends EventEmitter {
|
|
|
1317
1318
|
button.previousValue = state ? deviceData.Device.FanSpeed : button.previousValue ?? deviceData.Device.FanSpeed;
|
|
1318
1319
|
deviceData.Device.Power = true;
|
|
1319
1320
|
deviceData.Device.FanSpeed = state ? 0 : button.previousValue;
|
|
1320
|
-
deviceData.Device.EffectiveFlags =
|
|
1321
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerSetFanSpeed;
|
|
1321
1322
|
break;
|
|
1322
1323
|
case 31: //FAN SPEED MODE 1
|
|
1323
1324
|
button.previousValue = state ? deviceData.Device.FanSpeed : button.previousValue ?? deviceData.Device.FanSpeed;
|
|
1324
1325
|
deviceData.Device.Power = true;
|
|
1325
1326
|
deviceData.Device.FanSpeed = state ? 1 : button.previousValue;
|
|
1326
|
-
deviceData.Device.EffectiveFlags =
|
|
1327
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerSetFanSpeed;
|
|
1327
1328
|
break;
|
|
1328
1329
|
case 32: //FAN SPEED MODE 2
|
|
1329
1330
|
button.previousValue = state ? deviceData.Device.FanSpeed : button.previousValue ?? deviceData.Device.FanSpeed;
|
|
1330
1331
|
deviceData.Device.Power = true;
|
|
1331
1332
|
deviceData.Device.FanSpeed = state ? 2 : button.previousValue;
|
|
1332
|
-
deviceData.Device.EffectiveFlags =
|
|
1333
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerSetFanSpeed;
|
|
1333
1334
|
break;
|
|
1334
1335
|
case 33: //FAN SPEED MODE 3
|
|
1335
1336
|
button.previousValue = state ? deviceData.Device.FanSpeed : button.previousValue ?? deviceData.Device.FanSpeed;
|
|
1336
1337
|
deviceData.Device.Power = true;
|
|
1337
1338
|
deviceData.Device.FanSpeed = state ? 3 : button.previousValue;
|
|
1338
|
-
deviceData.Device.EffectiveFlags =
|
|
1339
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerSetFanSpeed;
|
|
1339
1340
|
break;
|
|
1340
1341
|
case 34: //FAN MODE 4
|
|
1341
1342
|
button.previousValue = state ? deviceData.Device.FanSpeed : button.previousValue ?? deviceData.Device.FanSpeed;
|
|
1342
1343
|
deviceData.Device.Power = true;
|
|
1343
1344
|
deviceData.Device.FanSpeed = state ? 4 : button.previousValue;
|
|
1344
|
-
deviceData.Device.EffectiveFlags =
|
|
1345
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerSetFanSpeed;
|
|
1345
1346
|
break;
|
|
1346
1347
|
case 35: //FAN SPEED MODE 5
|
|
1347
1348
|
button.previousValue = state ? deviceData.Device.FanSpeed : button.previousValue ?? deviceData.Device.FanSpeed;
|
|
1348
1349
|
deviceData.Device.Power = true;
|
|
1349
1350
|
deviceData.Device.FanSpeed = state ? 5 : button.previousValue;
|
|
1350
|
-
deviceData.Device.EffectiveFlags =
|
|
1351
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerSetFanSpeed;
|
|
1351
1352
|
break;
|
|
1352
1353
|
case 36: //FAN SPEED MODE 6
|
|
1353
1354
|
button.previousValue = state ? deviceData.Device.FanSpeed : button.previousValue ?? deviceData.Device.FanSpeed;
|
|
1354
1355
|
deviceData.Device.Power = true;
|
|
1355
1356
|
deviceData.Device.FanSpeed = state ? 6 : button.previousValue;
|
|
1356
|
-
deviceData.Device.EffectiveFlags =
|
|
1357
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.PowerSetFanSpeed;
|
|
1357
1358
|
break;
|
|
1358
1359
|
case 37: //PHYSICAL LOCK CONTROLS
|
|
1359
1360
|
deviceData.Device.ProhibitSetTemperature = state;
|
|
1360
1361
|
deviceData.Device.ProhibitOperationMode = state;
|
|
1361
1362
|
deviceData.Device.ProhibitPower = state;
|
|
1362
|
-
deviceData.Device.EffectiveFlags =
|
|
1363
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.Prohibit;
|
|
1363
1364
|
break;
|
|
1364
1365
|
case 38: //PHYSICAL LOCK CONTROLS POWER
|
|
1365
1366
|
deviceData.Device.ProhibitPower = state;
|
|
1366
|
-
deviceData.Device.EffectiveFlags =
|
|
1367
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.Prohibit;
|
|
1367
1368
|
break;
|
|
1368
1369
|
case 39: //PHYSICAL LOCK CONTROLS MODE
|
|
1369
1370
|
deviceData.Device.ProhibitOperationMode = state;
|
|
1370
|
-
deviceData.Device.EffectiveFlags =
|
|
1371
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.Prohibit;
|
|
1371
1372
|
break;
|
|
1372
1373
|
case 40: //PHYSICAL LOCK CONTROLS TEMP
|
|
1373
1374
|
deviceData.Device.ProhibitSetTemperature = state;
|
|
1374
|
-
deviceData.Device.EffectiveFlags =
|
|
1375
|
+
deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.Prohibit;
|
|
1375
1376
|
break;
|
|
1376
1377
|
default:
|
|
1377
1378
|
this.emit('message', `Unknown button mode: ${mode}`);
|
|
@@ -1395,4 +1396,4 @@ class DeviceAta extends EventEmitter {
|
|
|
1395
1396
|
};
|
|
1396
1397
|
};
|
|
1397
1398
|
};
|
|
1398
|
-
|
|
1399
|
+
export default DeviceAta;
|