homebridge-melcloud-control 3.3.26 → 3.3.29
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/package.json +1 -1
- package/src/deviceata.js +26 -4
- package/src/deviceatw.js +2 -1
- package/src/deviceerv.js +22 -3
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"displayName": "MELCloud Control",
|
|
3
3
|
"name": "homebridge-melcloud-control",
|
|
4
|
-
"version": "3.3.
|
|
4
|
+
"version": "3.3.29",
|
|
5
5
|
"description": "Homebridge plugin to control Mitsubishi Air Conditioner, Heat Pump and Energy Recovery Ventilation.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "grzegorz914",
|
package/src/deviceata.js
CHANGED
|
@@ -241,7 +241,7 @@ class DeviceAta extends EventEmitter {
|
|
|
241
241
|
const defaultCoolingSetTemperature = deviceData.Device.DefaultCoolingSetTemperature ?? 23;
|
|
242
242
|
const actualFanSpeed = deviceData.Device.ActualFanSpeed;
|
|
243
243
|
const automaticFanSpeed = deviceData.Device.AutomaticFanSpeed;
|
|
244
|
-
const fanSpeed = deviceData.Device.FanSpeed;
|
|
244
|
+
const fanSpeed = deviceData.Device.FanSpeed ?? 0;
|
|
245
245
|
const operationMode = deviceData.Device.OperationMode;
|
|
246
246
|
const vaneVerticalDirection = deviceData.Device.VaneVerticalDirection;
|
|
247
247
|
const vaneVerticalSwing = deviceData.Device.VaneVerticalSwing;
|
|
@@ -749,7 +749,8 @@ class DeviceAta extends EventEmitter {
|
|
|
749
749
|
.setCharacteristic(Characteristic.Manufacturer, this.manufacturer)
|
|
750
750
|
.setCharacteristic(Characteristic.Model, this.model)
|
|
751
751
|
.setCharacteristic(Characteristic.SerialNumber, this.serialNumber)
|
|
752
|
-
.setCharacteristic(Characteristic.FirmwareRevision, this.firmwareRevision)
|
|
752
|
+
.setCharacteristic(Characteristic.FirmwareRevision, this.firmwareRevision)
|
|
753
|
+
.setCharacteristic(Characteristic.ConfiguredName, accessoryName);
|
|
753
754
|
|
|
754
755
|
//melcloud services
|
|
755
756
|
const serviceName = `${deviceTypeText} ${accessoryName}`;
|
|
@@ -827,8 +828,29 @@ class DeviceAta extends EventEmitter {
|
|
|
827
828
|
})
|
|
828
829
|
.onSet(async (value) => {
|
|
829
830
|
try {
|
|
830
|
-
|
|
831
|
-
|
|
831
|
+
let fanSpeedModeText = '';
|
|
832
|
+
switch (numberOfFanSpeeds) {
|
|
833
|
+
case 2: //Fan speed mode 2
|
|
834
|
+
fanSpeedModeText = hasAutomaticFanSpeed ? [7, 1, 2, 0][value] : [7, 1, 2][value];
|
|
835
|
+
deviceData.Device.FanSpeed = hasAutomaticFanSpeed ? [0, 1, 2, 0][value] : [1, 1, 2][value];
|
|
836
|
+
break;
|
|
837
|
+
case 3: //Fan speed mode 3
|
|
838
|
+
fanSpeedModeText = hasAutomaticFanSpeed ? [7, 1, 2, 3, 0][value] : [7, 1, 2, 3][value];
|
|
839
|
+
deviceData.Device.FanSpeed = hasAutomaticFanSpeed ? [0, 1, 2, 3, 0][value] : [1, 1, 2, 3][value];
|
|
840
|
+
break;
|
|
841
|
+
case 4: //Fan speed mode 4
|
|
842
|
+
fanSpeedModeText = hasAutomaticFanSpeed ? [7, 1, 2, 3, 4, 0][value] : [7, 1, 2, 3, 4][value];
|
|
843
|
+
deviceData.Device.FanSpeed = hasAutomaticFanSpeed ? [0, 1, 2, 3, 4, 0][value] : [1, 1, 2, 3, 4][value];
|
|
844
|
+
break;
|
|
845
|
+
case 5: //Fan speed mode 5
|
|
846
|
+
5; fanSpeedModeText = hasAutomaticFanSpeed ? [7, 1, 2, 3, 4, 5, 0][value] : [7, 1, 2, 3, 4, 5][value];
|
|
847
|
+
deviceData.Device.FanSpeed = hasAutomaticFanSpeed ? [0, 1, 2, 3, 4, 5, 0][value] : [1, 1, 2, 3, 4, 5][value];
|
|
848
|
+
break;
|
|
849
|
+
case 6: //Fan speed mode 6
|
|
850
|
+
fanSpeedModeText = hasAutomaticFanSpeed ? [7, 1, 2, 3, 4, 5, 6, 0][value] : [7, 1, 2, 3, 4, 5, 6][value];
|
|
851
|
+
deviceData.Device.FanSpeed = hasAutomaticFanSpeed ? [0, 1, 2, 3, 4, 5, 6, 0][value] : [1, 1, 2, 3, 4, 5, 6][value];
|
|
852
|
+
break;
|
|
853
|
+
};
|
|
832
854
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.SetFanSpeed;
|
|
833
855
|
await this.melCloudAta.send(deviceData, this.displayMode);
|
|
834
856
|
const info = this.disableLogInfo ? false : this.emit('message', `Set fan speed mode: ${CONSTANTS.AirConditioner.FanSpeed[fanSpeedModeText]}`);
|
package/src/deviceatw.js
CHANGED
|
@@ -961,7 +961,8 @@ class DeviceAtw extends EventEmitter {
|
|
|
961
961
|
.setCharacteristic(Characteristic.Manufacturer, this.manufacturer)
|
|
962
962
|
.setCharacteristic(Characteristic.Model, this.model)
|
|
963
963
|
.setCharacteristic(Characteristic.SerialNumber, this.serialNumber)
|
|
964
|
-
.setCharacteristic(Characteristic.FirmwareRevision, this.firmwareRevision)
|
|
964
|
+
.setCharacteristic(Characteristic.FirmwareRevision, this.firmwareRevision)
|
|
965
|
+
.setCharacteristic(Characteristic.ConfiguredName, accessoryName);
|
|
965
966
|
|
|
966
967
|
//services
|
|
967
968
|
this.melCloudServices = [];
|
package/src/deviceerv.js
CHANGED
|
@@ -668,6 +668,7 @@ class DeviceErv extends EventEmitter {
|
|
|
668
668
|
const hasAutomaticFanSpeed = this.accessory.hasAutomaticFanSpeed;
|
|
669
669
|
const hasCO2Sensor = this.accessory.hasCO2Sensor;
|
|
670
670
|
const hasPM25Sensor = this.accessory.hasPM25Sensor;
|
|
671
|
+
const numberOfFanSpeeds = this.accessory.numberOfFanSpeeds;
|
|
671
672
|
|
|
672
673
|
//accessory
|
|
673
674
|
const debug = this.enableDebugMode ? this.emit('debug', `Prepare accessory`) : false;
|
|
@@ -682,7 +683,8 @@ class DeviceErv extends EventEmitter {
|
|
|
682
683
|
.setCharacteristic(Characteristic.Manufacturer, this.manufacturer)
|
|
683
684
|
.setCharacteristic(Characteristic.Model, this.model)
|
|
684
685
|
.setCharacteristic(Characteristic.SerialNumber, this.serialNumber)
|
|
685
|
-
.setCharacteristic(Characteristic.FirmwareRevision, this.firmwareRevision)
|
|
686
|
+
.setCharacteristic(Characteristic.FirmwareRevision, this.firmwareRevision)
|
|
687
|
+
.setCharacteristic(Characteristic.ConfiguredName, accessoryName);
|
|
686
688
|
|
|
687
689
|
//services
|
|
688
690
|
const serviceName = `${deviceTypeText} ${accessoryName}`;
|
|
@@ -759,8 +761,25 @@ class DeviceErv extends EventEmitter {
|
|
|
759
761
|
})
|
|
760
762
|
.onSet(async (value) => {
|
|
761
763
|
try {
|
|
762
|
-
|
|
763
|
-
|
|
764
|
+
let fanSpeedModeText = '';
|
|
765
|
+
switch (numberOfFanSpeeds) {
|
|
766
|
+
case 2: //Fan speed mode 2
|
|
767
|
+
fanSpeedModeText = hasAutomaticFanSpeed ? [5, 1, 2, 0][value] : [5, 1, 2][value];
|
|
768
|
+
deviceData.Device.SetFanSpeed = hasAutomaticFanSpeed ? [0, 1, 2, 0][value] : [1, 1, 2][value];
|
|
769
|
+
break;
|
|
770
|
+
case 3: //Fan speed mode 3
|
|
771
|
+
fanSpeedModeText = hasAutomaticFanSpeed ? [5, 1, 2, 3, 0][value] : [5, 1, 2, 3][value];
|
|
772
|
+
deviceData.Device.SetFanSpeed = hasAutomaticFanSpeed ? [0, 1, 2, 3, 0][value] : [1, 1, 2, 3][value];
|
|
773
|
+
break;
|
|
774
|
+
case 4: //Fan speed mode 4
|
|
775
|
+
fanSpeedModeText = hasAutomaticFanSpeed ? [5, 1, 2, 3, 4, 0][value] : [5, 1, 2, 3, 4][value];
|
|
776
|
+
deviceData.Device.SetFanSpeed = hasAutomaticFanSpeed ? [0, 1, 2, 3, 4, 0][value] : [1, 1, 2, 3, 4][value];
|
|
777
|
+
break;
|
|
778
|
+
case 5: //Fan speed mode 5
|
|
779
|
+
5; fanSpeedModeText = hasAutomaticFanSpeed ? [5, 1, 2, 3, 4, 5, 0][value] : [5, 1, 2, 3, 4, 5][value];
|
|
780
|
+
deviceData.Device.SetFanSpeed = hasAutomaticFanSpeed ? [0, 1, 2, 3, 4, 5, 0][value] : [1, 1, 2, 3, 4, 5][value];
|
|
781
|
+
break;;
|
|
782
|
+
};
|
|
764
783
|
deviceData.Device.EffectiveFlags = CONSTANTS.Ventilation.EffectiveFlags.SetFanSpeed;
|
|
765
784
|
await this.melCloudErv.send(deviceData, this.displayMode);
|
|
766
785
|
const info = this.disableLogInfo ? false : this.emit('message', `Set fan speed mode: ${CONSTANTS.Ventilation.FanSpeed[fanSpeedModeText]}`);
|