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