homebridge-melcloud-control 4.7.2 → 4.7.3-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 CHANGED
@@ -24,6 +24,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
24
24
  - For plugin < v4.6.0 use Homebridge UI <= v5.5.0
25
25
  - For plugin >= v4.6.0 use Homebridge UI >= v5.13.0
26
26
 
27
+ # [4.7.3] - (29.01.2026)
28
+
29
+ ## Changes
30
+
31
+ - fix ATW set temperature for Z1 and Z2
32
+ mp dependencies
33
+ - cleanup
34
+
27
35
  # [4.7.2] - (29.01.2026)
28
36
 
29
37
  ## Changes
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "MELCloud Control",
3
3
  "name": "homebridge-melcloud-control",
4
- "version": "4.7.2",
4
+ "version": "4.7.3-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/deviceatw.js CHANGED
@@ -1691,10 +1691,13 @@ class DeviceAtw extends EventEmitter {
1691
1691
  const canCool = deviceData.Device[supportCoolKey] ?? false;
1692
1692
  const heatCoolModes = canHeat && canCool ? 0 : canHeat ? 1 : canCool ? 2 : 3;
1693
1693
  const temperatureIncrement = deviceData.Device[tempStepKey] ?? 1;
1694
+ const minSetHeatFlowTemperature = accountTypeMelcloud ? 25 : 10
1695
+ const maxSetHeatFlowTemperature = accountTypeMelcloud ? 60 : 30;
1696
+ const minSetCoolFlowTemperature = 16
1694
1697
  const minSetTemperature = deviceData.Device.MinSetTemperature ?? 10;
1695
1698
  const maxSetTemperature = deviceData.Device.MaxSetTemperature ?? 30;
1696
- const minTankTemperature = deviceData.Device.MinTankTemperature ?? 40;
1697
- const maxTankTemperature = deviceData.Device.MaxTankTemperature ?? 60;
1699
+ const minSetTankTemperature = deviceData.Device.MinTankTemperature ?? 40;
1700
+ const maxSetTankTemperature = deviceData.Device.MaxTankTemperature ?? 60;
1698
1701
 
1699
1702
  //zones
1700
1703
  let currentZoneCase = 0;
@@ -1844,20 +1847,20 @@ class DeviceAtw extends EventEmitter {
1844
1847
  case 1: //HEAT FLOW
1845
1848
  setTemperature = setHeatFlowTemperatureZone1;
1846
1849
  roomTemperature = flowTemperatureZone1;
1847
- temperatureSetPropsMinValue = 25;
1848
- temperatureSetPropsMaxValue = 60;
1850
+ temperatureSetPropsMinValue = minSetHeatFlowTemperature;
1851
+ temperatureSetPropsMaxValue = maxSetHeatFlowTemperature;
1849
1852
  break;
1850
1853
  case 4: //COOL FLOW
1851
1854
  setTemperature = setCoolFlowTemperatureZone1;
1852
1855
  roomTemperature = flowTemperatureZone1;
1853
- temperatureSetPropsMinValue = 16;
1854
- temperatureSetPropsMaxValue = 31;
1856
+ temperatureSetPropsMinValue = minSetCoolFlowTemperature;
1857
+ temperatureSetPropsMaxValue = maxSetTemperature;
1855
1858
  break;
1856
1859
  default:
1857
1860
  setTemperature = setTemperatureZone1;
1858
1861
  roomTemperature = roomTemperatureZone1;
1859
- temperatureSetPropsMinValue = 10;
1860
- temperatureSetPropsMaxValue = 31;
1862
+ temperatureSetPropsMinValue = minSetTemperature;
1863
+ temperatureSetPropsMaxValue = maxSetTemperature;
1861
1864
  break
1862
1865
  };
1863
1866
 
@@ -1878,8 +1881,8 @@ class DeviceAtw extends EventEmitter {
1878
1881
  operationModeSetPropsMinValue = 0;
1879
1882
  operationModeSetPropsMaxValue = 1;
1880
1883
  operationModeSetPropsValidValues = [0, 1];
1881
- temperatureSetPropsMinValue = minTankTemperature;
1882
- temperatureSetPropsMaxValue = maxTankTemperature;
1884
+ temperatureSetPropsMinValue = minSetTankTemperature;
1885
+ temperatureSetPropsMaxValue = maxSetTankTemperature;
1883
1886
  break;
1884
1887
  case caseZone2: //Zone 2 - HEAT THERMOSTAT, HEAT FLOW, HEAT CURVE, COOL THERMOSTAT, COOL FLOW, FLOOR DRY UP
1885
1888
  name = zone2Name;
@@ -1891,20 +1894,20 @@ class DeviceAtw extends EventEmitter {
1891
1894
  case 1: //HEAT FLOW
1892
1895
  setTemperature = setHeatFlowTemperatureZone2;
1893
1896
  roomTemperature = flowTemperatureZone2;
1894
- temperatureSetPropsMinValue = 25;
1895
- temperatureSetPropsMaxValue = 60;
1897
+ temperatureSetPropsMinValue = minSetHeatFlowTemperature;
1898
+ temperatureSetPropsMaxValue = maxSetHeatFlowTemperature;
1896
1899
  break;
1897
1900
  case 4: //COOL FLOW
1898
1901
  setTemperature = setCoolFlowTemperatureZone2;
1899
1902
  roomTemperature = flowTemperatureZone2;
1900
- temperatureSetPropsMinValue = 16;
1901
- temperatureSetPropsMaxValue = 31;
1903
+ temperatureSetPropsMinValue = minSetCoolFlowTemperature;
1904
+ temperatureSetPropsMaxValue = maxSetTemperature;
1902
1905
  break;
1903
1906
  default:
1904
1907
  setTemperature = setTemperatureZone2;
1905
1908
  roomTemperature = roomTemperatureZone2;
1906
- temperatureSetPropsMinValue = 10;
1907
- temperatureSetPropsMaxValue = 31;
1909
+ temperatureSetPropsMinValue = minSetTemperature;
1910
+ temperatureSetPropsMaxValue = maxSetTemperature;
1908
1911
  break
1909
1912
  };
1910
1913
 
@@ -1954,20 +1957,20 @@ class DeviceAtw extends EventEmitter {
1954
1957
  case 1: //HEAT FLOW
1955
1958
  setTemperature = setHeatFlowTemperatureZone1;
1956
1959
  roomTemperature = flowTemperatureZone1;
1957
- temperatureSetPropsMinValue = 25;
1958
- temperatureSetPropsMaxValue = 60;
1960
+ temperatureSetPropsMinValue = minSetHeatFlowTemperature;
1961
+ temperatureSetPropsMaxValue = maxSetHeatFlowTemperature;
1959
1962
  break;
1960
1963
  case 4: //COOL FLOW
1961
1964
  setTemperature = setCoolFlowTemperatureZone1;
1962
1965
  roomTemperature = flowTemperatureZone1;
1963
- temperatureSetPropsMinValue = 16;
1964
- temperatureSetPropsMaxValue = 31;
1966
+ temperatureSetPropsMinValue = minSetCoolFlowTemperature;
1967
+ temperatureSetPropsMaxValue = maxSetTemperature;
1965
1968
  break;
1966
1969
  default:
1967
1970
  setTemperature = setTemperatureZone1;
1968
1971
  roomTemperature = roomTemperatureZone1;
1969
- temperatureSetPropsMinValue = 10;
1970
- temperatureSetPropsMaxValue = 31;
1972
+ temperatureSetPropsMinValue = minSetTemperature;
1973
+ temperatureSetPropsMaxValue = maxSetTemperature;
1971
1974
  break
1972
1975
  };
1973
1976
 
@@ -1999,20 +2002,20 @@ class DeviceAtw extends EventEmitter {
1999
2002
  case 1: //HEAT FLOW
2000
2003
  setTemperature = setHeatFlowTemperatureZone2;
2001
2004
  roomTemperature = flowTemperatureZone2;
2002
- temperatureSetPropsMinValue = 25;
2003
- temperatureSetPropsMaxValue = 60;
2005
+ temperatureSetPropsMinValue = minSetHeatFlowTemperature;
2006
+ temperatureSetPropsMaxValue = maxSetHeatFlowTemperature;
2004
2007
  break;
2005
2008
  case 4: //COOL FLOW
2006
2009
  setTemperature = setCoolFlowTemperatureZone2;
2007
2010
  roomTemperature = flowTemperatureZone2;
2008
- temperatureSetPropsMinValue = 16;
2009
- temperatureSetPropsMaxValue = 31;
2011
+ temperatureSetPropsMinValue = minSetCoolFlowTemperature;
2012
+ temperatureSetPropsMaxValue = maxSetTemperature;
2010
2013
  break;
2011
2014
  default:
2012
2015
  setTemperature = setTemperatureZone2;
2013
2016
  roomTemperature = roomTemperatureZone2;
2014
- temperatureSetPropsMinValue = 10;
2015
- temperatureSetPropsMaxValue = 31;
2017
+ temperatureSetPropsMinValue = minSetTemperature;
2018
+ temperatureSetPropsMaxValue = maxSetTemperature;
2016
2019
  break
2017
2020
  };
2018
2021
 
@@ -195,17 +195,17 @@ class MelCloudAtw extends EventEmitter {
195
195
  try {
196
196
 
197
197
  //prevent to set out of range temp
198
- const minTempZones = 0;
199
- const maxTempZones = 60;
200
- const minTempWaterTank = 16;
201
- const maxTempWaterTank = deviceData.Device.MaxTankTemperature ?? 70;
198
+ const minTempZones = 10;
199
+ const maxTempZones = 30;
200
+ const minTankTemperature = deviceData.Device.MinTankTemperature ?? 40;
201
+ const maxTankTemperature = deviceData.Device.MaxTankTemperature ?? 60;
202
202
 
203
203
  deviceData.Device.SetTemperatureZone1 = deviceData.Device.SetTemperatureZone1 < minTempZones ? minTempZones : deviceData.Device.SetTemperatureZone1;
204
204
  deviceData.Device.SetTemperatureZone1 = deviceData.Device.SetTemperatureZone1 > maxTempZones ? maxTempZones : deviceData.Device.SetTemperatureZone1;
205
- deviceData.Device.SetTemperatureZone1 = deviceData.Device.SetTemperatureZone2 < minTempZones ? minTempZones : deviceData.Device.SetTemperatureZone2;
206
- deviceData.Device.SetTemperatureZone1 = deviceData.Device.SetTemperatureZone2 > maxTempZones ? maxTempZones : deviceData.Device.SetTemperatureZone2;
207
- deviceData.Device.SetTankWaterTemperature = deviceData.Device.SetTankWaterTemperature < minTempWaterTank ? minTempWaterTank : deviceData.Device.SetTankWaterTemperature;
208
- deviceData.Device.SetTankWaterTemperature = deviceData.Device.SetTankWaterTemperature > maxTempWaterTank ? maxTempWaterTank : deviceData.Device.SetTankWaterTemperature;
205
+ deviceData.Device.SetTemperatureZone2 = deviceData.Device.SetTemperatureZone2 < minTempZones ? minTempZones : deviceData.Device.SetTemperatureZone2;
206
+ deviceData.Device.SetTemperatureZone2 = deviceData.Device.SetTemperatureZone2 > maxTempZones ? maxTempZones : deviceData.Device.SetTemperatureZone2;
207
+ deviceData.Device.SetTankWaterTemperature = deviceData.Device.SetTankWaterTemperature < minTankTemperature ? minTankTemperature : deviceData.Device.SetTankWaterTemperature;
208
+ deviceData.Device.SetTankWaterTemperature = deviceData.Device.SetTankWaterTemperature > maxTankTemperature ? maxTankTemperature : deviceData.Device.SetTankWaterTemperature;
209
209
 
210
210
  let method = null
211
211
  let payload = {};
@@ -294,13 +294,14 @@ class MelCloudAtw extends EventEmitter {
294
294
  default:
295
295
  payload = {
296
296
  power: deviceData.Device.Power,
297
- setTemperatureZone1: deviceData.Device.SetTemperatureZone1,
298
- setTemperatureZone2: deviceData.Device.SetTemperatureZone2,
297
+ inStandbyMode: deviceData.Device.InStandbyMode,
299
298
  operationMode: HeatPump.OperationModeMapEnumToString[deviceData.Device.OperationMode],
300
- operationModeZone1: HeatPump.OperationModeMapEnumToString[deviceData.Device.OperationModeZone1],
301
- operationModeZone2: HeatPump.OperationModeMapEnumToString[deviceData.Device.OperationModeZone2],
299
+ setTemperatureZone1: deviceData.Device.SetTemperatureZone1,
300
+ prohibitHotWater: deviceData.Device.ProhibitHotWater,
302
301
  setTankWaterTemperature: deviceData.Device.SetTankWaterTemperature,
303
- forcedHotWaterMode: deviceData.Device.ForcedHotWaterMode
302
+ forcedHotWaterMode: deviceData.Device.ForcedHotWaterMode,
303
+ operationModeZone2: HeatPump.OperationModeMapEnumToString[deviceData.Device.OperationModeZone2],
304
+ setTemperatureZone2: deviceData.Device.SetTemperatureZone2
304
305
  };
305
306
  method = 'PUT';
306
307
  path = ApiUrls.Home.Put.Atw.replace('deviceid', deviceData.DeviceID);