homebridge-melcloud-control 3.3.12 → 3.3.13-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/package.json +1 -1
- package/src/deviceata.js +23 -16
- package/src/melcloudata.js +15 -18
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.13-beta.1",
|
|
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
|
@@ -230,6 +230,12 @@ class DeviceAta extends EventEmitter {
|
|
|
230
230
|
const modelSupportsHeat = this.heatDryFanMode >= 1 && modelSupportsHeat1;
|
|
231
231
|
const modelSupportsDry = deviceData.Device.ModelSupportsDry ?? false;
|
|
232
232
|
const modelSupportsCool = this.coolDryFanMode >= 1;
|
|
233
|
+
const minTempHeat = deviceData.Device.MinTempHeat ?? 10;
|
|
234
|
+
const maxTempHeat = deviceData.Device.MaxTempHeat ?? 31;
|
|
235
|
+
const minTempCoolDry = deviceData.Device.MinTempCoolDry ?? 16;
|
|
236
|
+
const maxTempCoolDry = deviceData.Device.MaxTempCoolDry ?? 31;
|
|
237
|
+
const minTempAutomatic = deviceData.Device.MinTempAutomatic ?? 16;
|
|
238
|
+
const maxTempAutomatic = deviceData.Device.MaxTempAutomatic ?? 31;
|
|
233
239
|
|
|
234
240
|
//device state
|
|
235
241
|
const power = deviceData.Device.Power ?? false;
|
|
@@ -264,6 +270,11 @@ class DeviceAta extends EventEmitter {
|
|
|
264
270
|
this.accessory.modelSupportsHeat = modelSupportsHeat;
|
|
265
271
|
this.accessory.modelSupportsDry = modelSupportsDry;
|
|
266
272
|
this.accessory.modelSupportsCool = modelSupportsCool;
|
|
273
|
+
this.accessory.minTempHeat = minTempHeat;
|
|
274
|
+
this.accessory.maxTempHeat = maxTempHeat;
|
|
275
|
+
this.accessory.minTempCoolDry = minTempCoolDry;
|
|
276
|
+
this.accessory.maxTempCoolDry = maxTempCoolDry;
|
|
277
|
+
|
|
267
278
|
this.accessory.power = power ? 1 : 0;
|
|
268
279
|
this.accessory.inStandbyMode = inStandbyMode;
|
|
269
280
|
this.accessory.operationMode = operationMode;
|
|
@@ -375,8 +386,8 @@ class DeviceAta extends EventEmitter {
|
|
|
375
386
|
.updateCharacteristic(Characteristic.CurrentTemperature, roomTemperature)
|
|
376
387
|
.updateCharacteristic(Characteristic.LockPhysicalControls, this.accessory.lockPhysicalControl)
|
|
377
388
|
.updateCharacteristic(Characteristic.TemperatureDisplayUnits, this.accessory.useFahrenheit)
|
|
378
|
-
.updateCharacteristic(Characteristic.CoolingThresholdTemperature,
|
|
379
|
-
const updateDefHeat = modelSupportsHeat ? this.melCloudService.updateCharacteristic(Characteristic.HeatingThresholdTemperature,
|
|
389
|
+
.updateCharacteristic(Characteristic.CoolingThresholdTemperature, defaultCoolingSetTemperature);
|
|
390
|
+
const updateDefHeat = modelSupportsHeat ? this.melCloudService.updateCharacteristic(Characteristic.HeatingThresholdTemperature, defaultHeatingSetTemperature) : false;
|
|
380
391
|
const updateRS = modelSupportsFanSpeed ? this.melCloudService.updateCharacteristic(Characteristic.RotationSpeed, this.accessory.fanSpeed) : false;
|
|
381
392
|
const updateSM = swingFunction ? this.melCloudService.updateCharacteristic(Characteristic.SwingMode, this.accessory.swingMode) : false;
|
|
382
393
|
};
|
|
@@ -899,20 +910,20 @@ class DeviceAta extends EventEmitter {
|
|
|
899
910
|
};
|
|
900
911
|
this.melCloudService.getCharacteristic(Characteristic.CoolingThresholdTemperature)
|
|
901
912
|
.setProps({
|
|
902
|
-
minValue:
|
|
903
|
-
maxValue:
|
|
913
|
+
minValue: this.accessory.minTempCoolDry,
|
|
914
|
+
maxValue: this.accessory.maxTempCoolDry,
|
|
904
915
|
minStep: this.accessory.temperatureIncrement
|
|
905
916
|
})
|
|
906
917
|
.onGet(async () => {
|
|
907
|
-
const value = this.accessory.
|
|
918
|
+
const value = this.accessory.defaultCoolingSetTemperature;
|
|
908
919
|
return value;
|
|
909
920
|
})
|
|
910
921
|
.onSet(async (value) => {
|
|
911
922
|
try {
|
|
912
|
-
deviceData.Device.
|
|
923
|
+
deviceData.Device.DefaultCoolingSetTemperature = value;
|
|
913
924
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.SetTemperature;
|
|
914
925
|
await this.melCloudAta.send(deviceData);
|
|
915
|
-
const info = this.disableLogInfo ? false : this.emit('message', `Set temperature: ${value}${this.accessory.temperatureUnit}`);
|
|
926
|
+
const info = this.disableLogInfo ? false : this.emit('message', `Set cooling threshold temperature: ${value}${this.accessory.temperatureUnit}`);
|
|
916
927
|
} catch (error) {
|
|
917
928
|
this.emit('warn', `Set cooling threshold temperature error: ${error}`);
|
|
918
929
|
};
|
|
@@ -920,24 +931,20 @@ class DeviceAta extends EventEmitter {
|
|
|
920
931
|
if (modelSupportsHeat) {
|
|
921
932
|
this.melCloudService.getCharacteristic(Characteristic.HeatingThresholdTemperature)
|
|
922
933
|
.setProps({
|
|
923
|
-
minValue:
|
|
924
|
-
maxValue:
|
|
934
|
+
minValue: this.accessory.minTempHeat,
|
|
935
|
+
maxValue: this.accessory.maxTempHeat,
|
|
925
936
|
minStep: this.accessory.temperatureIncrement
|
|
926
937
|
})
|
|
927
938
|
.onGet(async () => {
|
|
928
|
-
const value = this.accessory.
|
|
939
|
+
const value = this.accessory.defaultHeatingSetTemperature;
|
|
929
940
|
return value;
|
|
930
941
|
})
|
|
931
942
|
.onSet(async (value) => {
|
|
932
943
|
try {
|
|
933
|
-
|
|
934
|
-
this.melCloudService.updateCharacteristic(Characteristic.HeatingThresholdTemperature, 10)
|
|
935
|
-
return;
|
|
936
|
-
};
|
|
937
|
-
|
|
944
|
+
deviceData.Device.DefaultHeatingSetTemperature = value;
|
|
938
945
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.SetTemperature;
|
|
939
946
|
await this.melCloudAta.send(deviceData);
|
|
940
|
-
const info = this.disableLogInfo ? false : this.emit('message', `Set temperature: ${value}${this.accessory.temperatureUnit}`);
|
|
947
|
+
const info = this.disableLogInfo ? false : this.emit('message', `Set heating threshold temperature: ${value}${this.accessory.temperatureUnit}`);
|
|
941
948
|
} catch (error) {
|
|
942
949
|
this.emit('warn', `Set heating threshold temperature error: ${error}`);
|
|
943
950
|
};
|
package/src/melcloudata.js
CHANGED
|
@@ -370,34 +370,31 @@ class MelCloudAta extends EventEmitter {
|
|
|
370
370
|
async send(deviceData) {
|
|
371
371
|
try {
|
|
372
372
|
//prevent to set out of range temp
|
|
373
|
-
const minTempHeat = deviceData.Device.MinTempHeat ?? 10;
|
|
374
|
-
const maxTempHeat = deviceData.Device.MaxTempHeat ?? 31;
|
|
375
|
-
const minTempCoolDry = deviceData.Device.MinTempCoolDry ?? 16;
|
|
376
|
-
const maxTempCoolDry = deviceData.Device.MaxTempCoolDry ?? 31;
|
|
377
|
-
const minTempAutomatic = deviceData.Device.MinTempAutomatic ?? 16;
|
|
378
|
-
const maxTempAutomatic = deviceData.Device.MaxTempAutomatic ?? 31;
|
|
379
|
-
|
|
380
|
-
|
|
381
373
|
switch (deviceData.Device.OperationMode) {//operating mode 0, HEAT, DRY, COOL, 4, 5, 6, FAN, AUTO, ISEE HEAT, ISEE DRY, ISEE COOL
|
|
382
374
|
case 1:
|
|
383
|
-
deviceData.Device.SetTemperature = deviceData.Device.
|
|
384
|
-
deviceData.Device.SetTemperature = deviceData.Device.SetTemperature > maxTempHeat ? maxTempHeat : deviceData.Device.SetTemperature;
|
|
375
|
+
deviceData.Device.SetTemperature = deviceData.Device.DefaultHeatingSetTemperature;
|
|
385
376
|
break;
|
|
386
377
|
case 2:
|
|
387
|
-
deviceData.Device.SetTemperature = deviceData.Device.
|
|
388
|
-
deviceData.Device.SetTemperature = deviceData.Device.SetTemperature > maxTempCoolDry ? maxTempCoolDry : deviceData.Device.SetTemperature;
|
|
378
|
+
deviceData.Device.SetTemperature = deviceData.Device.DefaultCoolingSetTemperature;
|
|
389
379
|
break;
|
|
390
380
|
case 3:
|
|
391
|
-
deviceData.Device.SetTemperature = deviceData.Device.
|
|
392
|
-
deviceData.Device.SetTemperature = deviceData.Device.SetTemperature > maxTempCoolDry ? maxTempCoolDry : deviceData.Device.SetTemperature;
|
|
381
|
+
deviceData.Device.SetTemperature = deviceData.Device.DefaultCoolingSetTemperature;
|
|
393
382
|
break;
|
|
394
383
|
case 7:
|
|
395
|
-
deviceData.Device.SetTemperature = deviceData.Device.
|
|
396
|
-
deviceData.Device.SetTemperature = deviceData.Device.SetTemperature > 31 ? 31 : deviceData.Device.SetTemperature;
|
|
384
|
+
deviceData.Device.SetTemperature = deviceData.Device.DefaultCoolingSetTemperature;
|
|
397
385
|
break;
|
|
398
386
|
case 8:
|
|
399
|
-
|
|
400
|
-
deviceData.Device.SetTemperature =
|
|
387
|
+
const setTemp = (deviceData.Device.DefaultCoolingSetTemperature + deviceData.Device.DefaultHeatingSetTemperature) / 2;
|
|
388
|
+
deviceData.Device.SetTemperature = setTemp;
|
|
389
|
+
break;
|
|
390
|
+
case 9:
|
|
391
|
+
deviceData.Device.SetTemperature = deviceData.Device.DefaultHeatingSetTemperature;
|
|
392
|
+
break;
|
|
393
|
+
case 10:
|
|
394
|
+
deviceData.Device.SetTemperature = deviceData.Device.DefaultCoolingSetTemperature;
|
|
395
|
+
break;
|
|
396
|
+
case 11:
|
|
397
|
+
deviceData.Device.SetTemperature = deviceData.Device.DefaultCoolingSetTemperature;
|
|
401
398
|
break;
|
|
402
399
|
default:
|
|
403
400
|
this.emit('warn', `Trying to set nknown operating mode: ${deviceData.Device.OperationMode}`);
|