homebridge-melcloud-control 4.10.13 → 4.10.14-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.
Files changed (2) hide show
  1. package/package.json +2 -2
  2. package/src/deviceatw.js +16 -9
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "MELCloud Control",
3
3
  "name": "homebridge-melcloud-control",
4
- "version": "4.10.13",
4
+ "version": "4.10.14-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",
@@ -37,7 +37,7 @@
37
37
  "dependencies": {
38
38
  "@homebridge/plugin-ui-utils": "^2.2.4",
39
39
  "mqtt": "^5.15.1",
40
- "axios": "^1.17.0",
40
+ "axios": "^1.18.0",
41
41
  "axios-cookiejar-support": "^7.0.0",
42
42
  "tough-cookie": "^6.0.1",
43
43
  "express": "^5.2.1",
package/src/deviceatw.js CHANGED
@@ -1710,9 +1710,9 @@ class DeviceAtw extends EventEmitter {
1710
1710
  const tempStepKey = accountTypeMelCloud ? 'TemperatureIncrement' : 'HasHalfDegreeIncrements';
1711
1711
  const connectKey = accountTypeMelCloud ? 'Offline' : 'IsConnected';
1712
1712
  const errorKey = accountTypeMelCloud ? 'HasError' : 'IsInError';
1713
- const supportHeatKey = accountTypeMelCloud ? 'CanHeat' : 'HasHeatMode';
1713
+ const supportHeatKey = accountTypeMelCloud ? 'CanHeat' : 'HasHeatZone1'; // melcloud home app report hasHeatZone1 and 2
1714
1714
  const supportCoolKey = accountTypeMelCloud ? 'CanCool' : 'HasCoolingMode';
1715
- const supportHotWaterKey = accountTypeMelCloud ? 'HasHotWaterTank' : 'HasHotWater';
1715
+ const supportHotWaterKey = accountTypeMelCloud ? 'HasHotWaterTank' : 'HasBoiler';
1716
1716
 
1717
1717
  //presets schedule
1718
1718
  const presetsOnServer = deviceData.Presets ?? [];
@@ -1726,13 +1726,9 @@ class DeviceAtw extends EventEmitter {
1726
1726
  const holidayMode = deviceData.HolidayMode ?? {};
1727
1727
  const holidayModeEnabled = holidayMode.Enabled ?? null;
1728
1728
 
1729
- //device info
1730
- const supportsStandbyMode = deviceData.Device.ModelSupportsStandbyMode ?? (deviceData.Device.InStandbyMode !== null && deviceData.Device.InStandbyMode !== undefined);
1729
+ //heat pump info
1731
1730
  const supportsHeatPump = ![1, 2, 3, 4, 5, 6, 7, 15].includes(this.hideZone);
1732
- const supportsZone1 = ![2, 3, 4, 8, 9, 10, 11, 15].includes(this.hideZone);
1733
- const supportsHotWaterTank = ![3, 5, 6, 9, 10, 12, 13, 15].includes(this.hideZone) && !!deviceData.Device[supportHotWaterKey];
1734
- const supportsZone2 = ![4, 6, 7, 10, 11, 13, 14, 15].includes(this.hideZone) && deviceData.Device.HasZone2;
1735
-
1731
+ const supportsStandbyMode = deviceData.Device.ModelSupportsStandbyMode ?? (deviceData.Device.InStandbyMode !== null && deviceData.Device.InStandbyMode !== undefined);
1736
1732
  const supportsHeat = !!deviceData.Device[supportHeatKey];
1737
1733
  const supportsCool = !!deviceData.Device[supportCoolKey];
1738
1734
  const supportsOutdoorTemperature = !!deviceData.Device.HasOutdoorTemperature && this.functions.isValidValue(deviceData.Device.OutdoorTemperature);
@@ -1748,11 +1744,22 @@ class DeviceAtw extends EventEmitter {
1748
1744
  const minSetTankTemperature = deviceData.Device.MinTankTemperature ?? 10;
1749
1745
  const maxSetTankTemperature = deviceData.Device.MaxTankTemperature ?? 60;
1750
1746
 
1751
- //zones
1747
+ //zone 1 info
1752
1748
  let currentZoneCase = 0;
1753
1749
  const caseHeatPump = supportsHeatPump ? currentZoneCase++ : -1;
1750
+ const supportsZone1 = ![2, 3, 4, 8, 9, 10, 11, 15].includes(this.hideZone);
1751
+ const supportsZone1Heat = !!deviceData.Device.HasHeatZone1;
1752
+ const supportsThermostatZone1 = !!deviceData.Device.HasThermostatZone1; // only melcloud home
1754
1753
  const caseZone1 = supportsZone1 ? currentZoneCase++ : -1;
1754
+
1755
+ //hot water info
1756
+ const supportsHotWaterTank = ![3, 5, 6, 9, 10, 12, 13, 15].includes(this.hideZone) && !!deviceData.Device[supportHotWaterKey];
1755
1757
  const caseHotWater = supportsHotWaterTank ? currentZoneCase++ : -1;
1758
+
1759
+ //zone 2 info
1760
+ const supportsZone2 = ![4, 6, 7, 10, 11, 13, 14, 15].includes(this.hideZone) && deviceData.Device.HasZone2;
1761
+ const supportsZone2Heat = !!deviceData.Device.HasHeatZone2;
1762
+ const supportsThermostatZone2 = !!deviceData.Device.HasThermostatZone2; // only melcloud home
1756
1763
  const caseZone2 = supportsZone2 ? currentZoneCase++ : -1;
1757
1764
  const zonesCount = currentZoneCase;
1758
1765