homebridge-melcloud-control 4.6.7-beta.4 → 4.6.7-beta.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "MELCloud Control",
3
3
  "name": "homebridge-melcloud-control",
4
- "version": "4.6.7-beta.4",
4
+ "version": "4.6.7-beta.6",
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/constants.js CHANGED
@@ -117,8 +117,8 @@ export const HeatPump = {
117
117
  OperationModeMapEnumToString: { 0: "Idle", 1: "HotWater", 2: "Heating", 3: "Cooling", 4: "HotWaterStorage", 5: "FreezeStat", 6: "Legionella", 7: "HeatEco", 8: "Mode1", 9: "Mode2", 10: "Mode3", 11: "HeatUp" },
118
118
  OperationModeDhwMapStringToEnum: { "Normal": 0, "Eco": 1 },
119
119
  OperationModeDhwMapEnumToString: { 0: "Normal", 1: "Eco" },
120
- ForceDhwMapStringToEnum: { "Normal": 0, "Heat Now": 1 },
121
- ForceDhwMapEnumToString: { 0: "Normal", 1: "Heat Now" },
120
+ ForceDhwMapStringToEnum: { "Normal": 0, "HeatNow": 1 },
121
+ ForceDhwMapEnumToString: { 0: "Normal", 1: "HeatNow" },
122
122
  HolidayMapStringToEnum: { "Normal": 0, "Holiday": 1 },
123
123
  HolidayMapEnumToString: { 0: "Normal", 1: "Holiday" },
124
124
  OperationModeZoneMapStringToEnum: { "HeatThermostat": 0, "HeatFlowTemperature": 1, "HeatCurve": 2, "CoolThermostat": 3, "CoolFlowTemperature": 4, "FlorDryUp": 5, "Idle": 6 },
package/src/deviceatw.js CHANGED
@@ -1721,8 +1721,6 @@ class DeviceAtw extends EventEmitter {
1721
1721
  const outdoorTemperature = deviceData.Device.OutdoorTemperature ?? deviceData.Device.RoomTemperatureZone1;
1722
1722
  const flowTemperatureHeatPump = deviceData.Device.FlowTemperature ?? null;
1723
1723
  const returnTemperatureHeatPump = deviceData.Device.ReturnTemperature ?? null;
1724
- const isConnected = accountTypeMelcloud ? !deviceData.Device[connectKey] : deviceData.Device[connectKey];
1725
- const isInError = deviceData.Device[errorKey];
1726
1724
 
1727
1725
  //zone 1
1728
1726
  const zone1Name = deviceData.Zone1Name ?? 'Zone 1';
@@ -1733,8 +1731,8 @@ class DeviceAtw extends EventEmitter {
1733
1731
  const setCoolFlowTemperatureZone1 = deviceData.Device.SetCoolFlowTemperatureZone1 ?? setTemperatureZone1;
1734
1732
  const prohibitZone1 = deviceData.Device.ProhibitZone1 ?? false;
1735
1733
  const idleZone1 = deviceData.Device.IdleZone1 ?? false;
1736
- const flowTemperatureZone1 = deviceData.Device.FlowTemperatureZone1;
1737
- const returnTemperatureZone1 = deviceData.Device.ReturnTemperatureZone1;
1734
+ const flowTemperatureZone1 = deviceData.Device.FlowTemperatureZone1 ?? roomTemperatureZone1; // fallback to set temperature melcloud home
1735
+ const returnTemperatureZone1 = deviceData.Device.ReturnTemperatureZone1 ?? null;
1738
1736
 
1739
1737
  //hot water
1740
1738
  const hotWaterName = 'Hot Water';
@@ -1755,9 +1753,13 @@ class DeviceAtw extends EventEmitter {
1755
1753
  const setCoolFlowTemperatureZone2 = deviceData.Device.SetCoolFlowTemperatureZone2 ?? setTemperatureZone2;
1756
1754
  const prohibitZone2 = deviceData.Device.ProhibitZone2 ?? false;
1757
1755
  const idleZone2 = deviceData.Device.IdleZone2 ?? false;
1758
- const flowTemperatureZone2 = deviceData.Device.FlowTemperatureZone2 ?? null;
1756
+ const flowTemperatureZone2 = deviceData.Device.FlowTemperatureZone2 ?? roomTemperatureZone2; // fallback to set temperature melcloud home
1759
1757
  const returnTemperatureZone2 = deviceData.Device.ReturnTemperatureZone2 ?? null;
1760
1758
 
1759
+ //device
1760
+ const isConnected = accountTypeMelcloud ? !deviceData.Device[connectKey] : deviceData.Device[connectKey];
1761
+ const isInError = deviceData.Device[errorKey];
1762
+
1761
1763
  //accessory
1762
1764
  const obj = {
1763
1765
  presets: presetsOnServer,
@@ -161,8 +161,6 @@ class MelCloudAta extends EventEmitter {
161
161
 
162
162
  //units
163
163
  const units = Array.isArray(deviceData.Device?.Units) ? deviceData.Device?.Units : [];
164
- const unitsCount = units.length;
165
-
166
164
  const { indoor, outdoor } = units.reduce((acc, unit) => {
167
165
  const target = unit.IsIndoor ? 'indoor' : 'outdoor';
168
166
  acc[target] = {
@@ -122,19 +122,18 @@ class MelCloudAtw extends EventEmitter {
122
122
  deviceData.Device.OperationMode = HeatPump.OperationModeMapStringToEnum[deviceData.Device.OperationMode] ?? deviceData.Device.OperationMode;
123
123
  deviceData.Device.OperationModeZone1 = HeatPump.OperationModeZoneMapStringToEnum[deviceData.Device.OperationModeZone1] ?? deviceData.Device.OperationModeZone1;
124
124
  deviceData.Device.OperationModeZone2 = HeatPump.OperationModeZoneMapStringToEnum[deviceData.Device.OperationModeZone2] ?? deviceData.Device.OperationModeZone2;
125
+ deviceData.Device.HasHotWaterTank = deviceData.Device.HasHotWater ?? false;
125
126
  }
126
127
  if (this.logDebug) this.emit('debug', `Device Data: ${JSON.stringify(deviceData, null, 2)}`);
127
128
 
128
129
  //device
129
130
  const serialNumber = deviceData.SerialNumber || '4.0.0';
130
131
  const firmwareAppVersion = deviceData.Device?.FirmwareAppVersion || '4.0.0';
131
- const hasHotWaterTank = deviceData.Device?.HasHotWaterTank;
132
- const hasZone2 = deviceData.Device?.HasZone2;
132
+ const hasHotWaterTank = deviceData.Device?.HasHotWaterTank || false;
133
+ const hasZone2 = deviceData.Device?.HasZone2 || false;
133
134
 
134
135
  //units
135
136
  const units = Array.isArray(deviceData.Device?.Units) ? deviceData.Device?.Units : [];
136
- const unitsCount = units.length;
137
-
138
137
  const { indoor, outdoor } = units.reduce((acc, unit) => {
139
138
  const target = unit.IsIndoor ? 'indoor' : 'outdoor';
140
139
  acc[target] = {