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/src/deviceata.js CHANGED
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
- const EventEmitter = require('events');
3
- const MelCloudAta = require('./melcloudata.js');
4
- const RestFul = require('./restful.js');
5
- const Mqtt = require('./mqtt.js');
6
- const CONSTANTS = require('./constants.json');
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 = CONSTANTS.TemperatureDisplayUnits[this.accessory.useFahrenheit];
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: ${CONSTANTS.AirConditioner.DriveMode[operationMode]}`);
593
- this.emit('message', `Current operation mode: ${this.displayMode === 1 ? CONSTANTS.AirConditioner.CurrentOperationModeHeatherCooler[this.accessory.currentOperationMode] : CONSTANTS.AirConditioner.CurrentOperationModeThermostat[this.accessory.currentOperationMode]}`);
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: ${CONSTANTS.AirConditioner.FanSpeed[fanSpeed]}`) : false;
598
- const info4 = modelSupportsFanSpeed ? this.emit('message', `Current fan speed: ${CONSTANTS.AirConditioner.FanSpeed[actualFanSpeed]}`) : false;
599
- const info5 = vaneHorizontalDirection !== null ? this.emit('message', `Vane horizontal: ${CONSTANTS.AirConditioner.HorizontalVane[vaneHorizontalDirection] ?? vaneHorizontalDirection}`) : false;
600
- const info6 = vaneVerticalDirection !== null ? this.emit('message', `Vane vertical: ${CONSTANTS.AirConditioner.VerticalVane[vaneVerticalDirection] ?? vaneVerticalDirection}`) : false;
601
- const info7 = swingFunction ? this.emit('message', `Air direction: ${CONSTANTS.AirConditioner.AirDirection[this.accessory.swingMode]}`) : false;
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 = CONSTANTS.AirConditioner.EffectiveFlags.Power;
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 = CONSTANTS.AirConditioner.EffectiveFlags.OperationModeSetTemperature;
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 = CONSTANTS.AirConditioner.EffectiveFlags.SetTemperature;
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 = CONSTANTS.AirConditioner.EffectiveFlags.SetTemperature;
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 = CONSTANTS.AirConditioner.EffectiveFlags.SetTemperature;
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 = CONSTANTS.AirConditioner.EffectiveFlags.SetFanSpeed;
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 = CONSTANTS.AirConditioner.EffectiveFlags.VaneHorizontal;
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 = CONSTANTS.AirConditioner.EffectiveFlags.VaneVertical;
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 = CONSTANTS.AirConditioner.EffectiveFlags.Prohibit;
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 = CONSTANTS.AirConditioner.EffectiveFlags.Prohibit;
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 = CONSTANTS.AirConditioner.EffectiveFlags.Prohibit;
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 = CONSTANTS.AirConditioner.EffectiveFlags.Prohibit;
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 = CONSTANTS.AirConditioner.EffectiveFlags.Prohibit;
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 = CONSTANTS.AirConditioner.EffectiveFlags.Power;
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 = CONSTANTS.AirConditioner.EffectiveFlags.OperationModeSetTemperature;
806
+ deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.OperationModeSetTemperature;
806
807
  await this.melCloudAta.send(deviceData, this.displayMode);
807
- const operationModeText = CONSTANTS.AirConditioner.DriveMode[deviceData.Device.OperationMode];
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 = CONSTANTS.AirConditioner.EffectiveFlags.SetFanSpeed;
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: ${CONSTANTS.AirConditioner.FanSpeed[fanSpeedModeText]}`);
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 = CONSTANTS.AirConditioner.EffectiveFlags.VaneVerticalVaneHorizontal;
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: ${CONSTANTS.AirConditioner.AirDirection[value]}`);
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 = CONSTANTS.AirConditioner.EffectiveFlags.SetTemperature;
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 = CONSTANTS.AirConditioner.EffectiveFlags.SetTemperature;
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 = CONSTANTS.AirConditioner.EffectiveFlags.Prohibit;
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: ${CONSTANTS.TemperatureDisplayUnits[value]}`);
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 = CONSTANTS.AirConditioner.EffectiveFlags.Power;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerOperationModeSetTemperature;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerOperationModeSetTemperature
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerOperationModeSetTemperature;
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 = CONSTANTS.AirConditioner.DriveMode[deviceData.Device.OperationMode];
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 = CONSTANTS.AirConditioner.EffectiveFlags.SetTemperature;
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: ${CONSTANTS.TemperatureDisplayUnits[value]}`);
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 = CONSTANTS.AirConditioner.EffectiveFlags.Presets;
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 = CONSTANTS.AirConditioner.EffectiveFlags.Presets;
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 = CONSTANTS.AirConditioner.EffectiveFlags.Power;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerOperationModeSetTemperature;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerOperationModeSetTemperature;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerOperationModeSetTemperature;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerOperationModeSetTemperature;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerOperationModeSetTemperature;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerOperationModeSetTemperature;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerVaneHorizontal;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerVaneHorizontal;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerVaneHorizontal;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerVaneHorizontal;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerVaneHorizontal;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerVaneHorizontal;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerVaneHorizontal;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerVaneHorizontal;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerVaneVertical;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerVaneVertical;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerVaneVertical;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerVaneVertical;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerVaneVertical;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerVaneVertical;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerVaneVertical;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerSetFanSpeed;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerSetFanSpeed;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerSetFanSpeed;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerSetFanSpeed;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerSetFanSpeed;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerSetFanSpeed;
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 = CONSTANTS.AirConditioner.EffectiveFlags.PowerSetFanSpeed;
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 = CONSTANTS.AirConditioner.EffectiveFlags.Prohibit;
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 = CONSTANTS.AirConditioner.EffectiveFlags.Prohibit;
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 = CONSTANTS.AirConditioner.EffectiveFlags.Prohibit;
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 = CONSTANTS.AirConditioner.EffectiveFlags.Prohibit;
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
- module.exports = DeviceAta;
1399
+ export default DeviceAta;