homebridge-melcloud-control 4.7.0 → 4.7.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,7 +24,15 @@ 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.0] - (xx.01.2026)
27
+ # [4.7.1] - (27.01.2026)
28
+
29
+ ## Changes
30
+
31
+ - add falback to power for unit status in melcloud home
32
+ - constants updated
33
+ - cleanup
34
+
35
+ # [4.7.0] - (27.01.2026)
28
36
 
29
37
  ## Changes
30
38
 
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.0",
4
+ "version": "4.7.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/constants.js CHANGED
@@ -107,7 +107,7 @@ export const AirConditioner = {
107
107
  };
108
108
 
109
109
  export const HeatPump = {
110
- SystemMapEnumToString: { 0: "SystemOff", 1: "SystemOn", 2: "Emergency Run", 3: "Test Run" },
110
+ SystemMapEnumToString: { 0: "System Off", 1: "System On", 2: "Emergency Run", 3: "Test Run" },
111
111
  ZoneNameMapEnumToString: { 0: "Heat Pump", 1: "Zone 1", 2: "Hot Water", 3: "Zone 2" },
112
112
  ControlTypeMapStringToEnum: { "Heat": 0, "Cool": 1 },
113
113
  ControlTypeMapEnumToString: { 0: "Heat", 1: "Cool" },
@@ -121,8 +121,8 @@ export const HeatPump = {
121
121
  ForceDhwMapEnumToString: { 0: "Normal", 1: "HeatNow" },
122
122
  HolidayMapStringToEnum: { "Normal": 0, "Holiday": 1 },
123
123
  HolidayMapEnumToString: { 0: "Normal", 1: "Holiday" },
124
- OperationModeZoneMapStringToEnum: { "HeatThermostat": 0, "HeatFlowTemperature": 1, "HeatCurve": 2, "CoolThermostat": 3, "CoolFlowTemperature": 4, "FlorDryUp": 5, "Idle": 6 },
125
- OperationModeZoneMapEnumToString: { 0: "HeatThermostat", 1: "HeatFlowTemperature", 2: "Heat Curve", 3: "CoolThermostat", 4: "CoolFlowTemperature", 5: "FlorDryUp", 6: "Idle" },
124
+ OperationModeZoneMapStringToEnum: { "HeatThermostat": 0, "HeatFlowTemperature": 1, "HeatCurve": 2, "CoolThermostat": 3, "CoolFlowTemperature": 4, "FloorDryUp": 5, "Idle": 6 },
125
+ OperationModeZoneMapEnumToString: { 0: "HeatThermostat", 1: "HeatFlowTemperature", 2: "Heat Curve", 3: "CoolThermostat", 4: "CoolFlowTemperature", 5: "FloorDryUp", 6: "Idle" },
126
126
  EffectiveFlags: {
127
127
  Power: 1,
128
128
  OperationMode: 2,
package/src/deviceatw.js CHANGED
@@ -1716,7 +1716,7 @@ class DeviceAtw extends EventEmitter {
1716
1716
  const heatPumpName = 'Heat Pump';
1717
1717
  const power = deviceData.Device.Power;
1718
1718
  const inStandbyMode = deviceData.Device.InStandbyMode;
1719
- const unitStatus = deviceData.Device.UnitStatus ?? 0;
1719
+ const unitStatus = deviceData.Device.UnitStatus ?? power; // fallback to power melcloud home
1720
1720
  const operationMode = deviceData.Device.OperationMode;
1721
1721
  const outdoorTemperature = deviceData.Device.OutdoorTemperature ?? deviceData.Device.RoomTemperatureZone1; // fallback to room temperature zone 1 melcloud home
1722
1722
  const flowTemperatureHeatPump = deviceData.Device.FlowTemperature ?? null; // only sensor
@@ -2061,8 +2061,10 @@ class DeviceAtw extends EventEmitter {
2061
2061
  let operationModeText = '';
2062
2062
  switch (i) {
2063
2063
  case caseHeatPump: //Heat Pump - HEAT, COOL, OFF
2064
+ operationModeText = power ? HeatPump.OperationMode[6] : HeatPump.OperationModeZoneMapEnumToString[operationModeZone1];
2064
2065
  this.emit('info', `Power: ${power ? 'On' : 'Off'}`)
2065
- this.emit('info', `Operation mode: ${HeatPump.SystemMapEnumToString[unitStatus]}`);
2066
+ this.emit('info', `System status: ${HeatPump.SystemMapEnumToString[unitStatus]}`);
2067
+ this.emit('info', `Operation mode: ${HeatPump.OperationModeMapEnumToString[operationMode]}`);
2066
2068
  this.emit('info', `Outdoor temperature: ${roomTemperature}${obj.temperatureUnit}`);
2067
2069
  this.emit('info', `Temperature display unit: ${obj.temperatureUnit}`);
2068
2070
  this.emit('info', `Lock physical controls: ${lockPhysicalControl ? 'Locked' : 'Unlocked'}`);