homebridge-melcloud-control 4.7.3 → 4.7.4
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 +7 -0
- package/package.json +1 -1
- package/src/deviceatw.js +53 -33
package/CHANGELOG.md
CHANGED
|
@@ -24,6 +24,13 @@ 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.4] - (29.01.2026)
|
|
28
|
+
|
|
29
|
+
## Changes
|
|
30
|
+
|
|
31
|
+
- fix ATW Zone 2
|
|
32
|
+
- cleanup
|
|
33
|
+
|
|
27
34
|
# [4.7.3] - (29.01.2026)
|
|
28
35
|
|
|
29
36
|
## 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.
|
|
4
|
+
"version": "4.7.4",
|
|
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
|
@@ -1792,11 +1792,11 @@ class DeviceAtw extends EventEmitter {
|
|
|
1792
1792
|
const holidayMode = deviceData.HolidayMode ?? {};
|
|
1793
1793
|
|
|
1794
1794
|
//device info
|
|
1795
|
-
const
|
|
1795
|
+
const supportsStandbyMode = deviceData.Device[supportStandbyKey];
|
|
1796
1796
|
const supportsHeatPump = ![1, 2, 3, 4, 5, 6, 7, 15].includes(this.hideZone);
|
|
1797
1797
|
const supportsZone1 = ![2, 3, 4, 8, 9, 10, 11, 15].includes(this.hideZone);
|
|
1798
1798
|
const supportsHotWaterTank = ![3, 5, 6, 9, 10, 12, 13, 15].includes(this.hideZone) && deviceData.Device[supportHotWaterKey];
|
|
1799
|
-
const supportsZone2 = ![4, 6, 7, 10, 11, 13, 14, 15].includes(this.hideZone) && deviceData.Device.HasZone2
|
|
1799
|
+
const supportsZone2 = ![4, 6, 7, 10, 11, 13, 14, 15].includes(this.hideZone) && deviceData.Device.HasZone2 === true;
|
|
1800
1800
|
const supportsHeat = deviceData.Device[supportHeatKey] ?? true;
|
|
1801
1801
|
const supportsCool = deviceData.Device[supportCoolKey] ?? false;
|
|
1802
1802
|
const supportsOutdoorTemperature = deviceData.Device.HasOutdoorTemperature;
|
|
@@ -1895,7 +1895,7 @@ class DeviceAtw extends EventEmitter {
|
|
|
1895
1895
|
supportsHotWaterTank: supportsHotWaterTank,
|
|
1896
1896
|
supportsZone2: supportsZone2,
|
|
1897
1897
|
heatCoolModes: heatCoolModes,
|
|
1898
|
-
|
|
1898
|
+
supportsStandbyMode: supportsStandbyMode,
|
|
1899
1899
|
supportsOutdoorTemperature: supportsOutdoorTemperature,
|
|
1900
1900
|
caseHeatPump: caseHeatPump,
|
|
1901
1901
|
caseZone1: caseZone1,
|
|
@@ -1998,7 +1998,7 @@ class DeviceAtw extends EventEmitter {
|
|
|
1998
1998
|
};
|
|
1999
1999
|
break;
|
|
2000
2000
|
default:
|
|
2001
|
-
if (this.logWarn) this.emit('warn', `${name}, Received
|
|
2001
|
+
if (this.logWarn) this.emit('warn', `${name}, Received unknown operation mode: ${operationModeZone1}`);
|
|
2002
2002
|
return;
|
|
2003
2003
|
}
|
|
2004
2004
|
|
|
@@ -2028,18 +2028,28 @@ class DeviceAtw extends EventEmitter {
|
|
|
2028
2028
|
currentOperationMode = !power ? 0 : (idleZone2 ? 1 : [2, 2, 2, 3, 3, 2][operationModeZone2]); //INACTIVE, IDLE, HEATING, COOLING
|
|
2029
2029
|
targetOperationMode = [1, 2, 0, 1, 2, 1][operationModeZone2]; //AUTO, HEAT, COOL
|
|
2030
2030
|
|
|
2031
|
-
switch (
|
|
2032
|
-
case
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2031
|
+
switch (accountTypeMelcloud) {
|
|
2032
|
+
case true: //Melcloud
|
|
2033
|
+
switch (operationModeZone2) {
|
|
2034
|
+
case 1: //HEAT FLOW
|
|
2035
|
+
setTemperature = setHeatFlowTemperatureZone2;
|
|
2036
|
+
roomTemperature = flowTemperatureZone2;
|
|
2037
|
+
temperatureSetPropsMinValue = minSetHeatFlowTemperature;
|
|
2038
|
+
temperatureSetPropsMaxValue = maxSetHeatFlowTemperature;
|
|
2039
|
+
break;
|
|
2040
|
+
case 4: //COOL FLOW
|
|
2041
|
+
setTemperature = setCoolFlowTemperatureZone2;
|
|
2042
|
+
roomTemperature = flowTemperatureZone2;
|
|
2043
|
+
temperatureSetPropsMinValue = minSetCoolFlowTemperature;
|
|
2044
|
+
temperatureSetPropsMaxValue = maxSetCoolFlowTemperature;
|
|
2045
|
+
break;
|
|
2046
|
+
default:
|
|
2047
|
+
setTemperature = setTemperatureZone2;
|
|
2048
|
+
roomTemperature = roomTemperatureZone2;
|
|
2049
|
+
temperatureSetPropsMinValue = minSetHeatRoomTemperature;
|
|
2050
|
+
temperatureSetPropsMaxValue = maxSetHeatCoolRoomTemperature;
|
|
2051
|
+
break
|
|
2052
|
+
};
|
|
2043
2053
|
break;
|
|
2044
2054
|
case false: //Melcloud Home
|
|
2045
2055
|
switch (operationModeZone2) {
|
|
@@ -2175,30 +2185,40 @@ class DeviceAtw extends EventEmitter {
|
|
|
2175
2185
|
currentOperationMode = !power ? 0 : (idleZone2 ? 0 : [1, 1, 1, 2, 2, 1][operationModeZone2]); //OFF, HEAT, COOL
|
|
2176
2186
|
targetOperationMode = [1, 2, 3, 1, 2, 1][operationModeZone2]; //OFF, HEAT, COOL, AUTO
|
|
2177
2187
|
|
|
2178
|
-
switch (
|
|
2179
|
-
case
|
|
2180
|
-
|
|
2181
|
-
|
|
2182
|
-
|
|
2183
|
-
|
|
2184
|
-
|
|
2185
|
-
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
|
|
2188
|
+
switch (accountTypeMelcloud) {
|
|
2189
|
+
case true: //Melcloud
|
|
2190
|
+
switch (operationModeZone2) {
|
|
2191
|
+
case 1: //HEAT FLOW
|
|
2192
|
+
setTemperature = setHeatFlowTemperatureZone2;
|
|
2193
|
+
roomTemperature = flowTemperatureZone2;
|
|
2194
|
+
temperatureSetPropsMinValue = minSetHeatFlowTemperature;
|
|
2195
|
+
temperatureSetPropsMaxValue = maxSetHeatFlowTemperature;
|
|
2196
|
+
break;
|
|
2197
|
+
case 4: //COOL FLOW
|
|
2198
|
+
setTemperature = setCoolFlowTemperatureZone2;
|
|
2199
|
+
roomTemperature = flowTemperatureZone2;
|
|
2200
|
+
temperatureSetPropsMinValue = minSetCoolFlowTemperature;
|
|
2201
|
+
temperatureSetPropsMaxValue = maxSetCoolFlowTemperature;
|
|
2202
|
+
break;
|
|
2203
|
+
default:
|
|
2204
|
+
setTemperature = setTemperatureZone2;
|
|
2205
|
+
roomTemperature = roomTemperatureZone2;
|
|
2206
|
+
temperatureSetPropsMinValue = minSetHeatRoomTemperature;
|
|
2207
|
+
temperatureSetPropsMaxValue = maxSetHeatCoolRoomTemperature;
|
|
2208
|
+
break
|
|
2209
|
+
};
|
|
2190
2210
|
break;
|
|
2191
2211
|
case false: //Melcloud Home
|
|
2192
|
-
switch (
|
|
2212
|
+
switch (operationModeZone2) {
|
|
2193
2213
|
case 3: //COOL THERMOSTAT
|
|
2194
|
-
setTemperature =
|
|
2195
|
-
roomTemperature =
|
|
2214
|
+
setTemperature = setTemperatureZone2;
|
|
2215
|
+
roomTemperature = roomTemperatureZone2;
|
|
2196
2216
|
temperatureSetPropsMinValue = minSetCoolRoomTemperature;
|
|
2197
2217
|
temperatureSetPropsMaxValue = maxSetHeatCoolRoomTemperature;
|
|
2198
2218
|
break;
|
|
2199
2219
|
default:
|
|
2200
|
-
setTemperature =
|
|
2201
|
-
roomTemperature =
|
|
2220
|
+
setTemperature = setTemperatureZone2;
|
|
2221
|
+
roomTemperature = roomTemperatureZone2;
|
|
2202
2222
|
temperatureSetPropsMinValue = minSetHeatRoomTemperature;
|
|
2203
2223
|
temperatureSetPropsMaxValue = maxSetHeatCoolRoomTemperature;
|
|
2204
2224
|
break
|