homebridge-melcloud-control 4.6.7-beta.7 → 4.6.7-beta.9
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 +1 -1
- package/src/deviceatw.js +54 -47
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
|
+
"version": "4.6.7-beta.9",
|
|
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
|
@@ -1798,26 +1798,24 @@ class DeviceAtw extends EventEmitter {
|
|
|
1798
1798
|
zonesSensors: []
|
|
1799
1799
|
};
|
|
1800
1800
|
|
|
1801
|
-
//characteristics array
|
|
1802
|
-
const characteristics = [];
|
|
1803
|
-
|
|
1804
|
-
//default values
|
|
1805
|
-
let name = 'Heat Pump'
|
|
1806
|
-
let operationModeZone = 0;
|
|
1807
|
-
let currentOperationMode = 0;
|
|
1808
|
-
let targetOperationMode = 0;
|
|
1809
|
-
let roomTemperature = 20;
|
|
1810
|
-
let setTemperature = 20;
|
|
1811
|
-
let lockPhysicalControl = 0;
|
|
1812
|
-
let flowTemperature = 0;
|
|
1813
|
-
let returnTemperature = 0;
|
|
1814
|
-
let operationModeSetPropsMinValue = 0;
|
|
1815
|
-
let operationModeSetPropsMaxValue = 3;
|
|
1816
|
-
let operationModeSetPropsValidValues = [0];
|
|
1817
|
-
let temperatureSetPropsMinValue = -35;
|
|
1818
|
-
let temperatureSetPropsMaxValue = 100;
|
|
1819
|
-
|
|
1820
1801
|
for (let i = 0; i < zonesCount; i++) {
|
|
1802
|
+
//characteristics array
|
|
1803
|
+
const characteristics = [];
|
|
1804
|
+
|
|
1805
|
+
let name = '';
|
|
1806
|
+
let operationModeZone = 0;
|
|
1807
|
+
let currentOperationMode = 0;
|
|
1808
|
+
let targetOperationMode = 0;
|
|
1809
|
+
let roomTemperature = null;
|
|
1810
|
+
let setTemperature = null;
|
|
1811
|
+
let lockPhysicalControl = 0;
|
|
1812
|
+
let operationModeSetPropsMinValue = 0;
|
|
1813
|
+
let operationModeSetPropsMaxValue = 0;
|
|
1814
|
+
let operationModeSetPropsValidValues = [];
|
|
1815
|
+
let temperatureSetPropsMinValue = 0;
|
|
1816
|
+
let temperatureSetPropsMaxValue = 0;
|
|
1817
|
+
|
|
1818
|
+
|
|
1821
1819
|
switch (this.displayType) {
|
|
1822
1820
|
case 1: //Heater Cooler
|
|
1823
1821
|
switch (i) {
|
|
@@ -1927,7 +1925,8 @@ class DeviceAtw extends EventEmitter {
|
|
|
1927
1925
|
{ type: Characteristic.TemperatureDisplayUnits, value: obj.useFahrenheit }
|
|
1928
1926
|
);
|
|
1929
1927
|
|
|
1930
|
-
if (heatCoolModes === 0 || heatCoolModes ===
|
|
1928
|
+
if (heatCoolModes === 0 || heatCoolModes === 1) characteristics.push({ type: Characteristic.HeatingThresholdTemperature, value: setTemperature });
|
|
1929
|
+
if ((heatCoolModes === 0 || heatCoolModes === 2) && i !== caseHotWater) characteristics.push({ type: Characteristic.CoolingThresholdTemperature, value: setTemperature });
|
|
1931
1930
|
break;
|
|
1932
1931
|
case 2: //Thermostat
|
|
1933
1932
|
switch (i) {
|
|
@@ -2034,6 +2033,12 @@ class DeviceAtw extends EventEmitter {
|
|
|
2034
2033
|
break;
|
|
2035
2034
|
};
|
|
2036
2035
|
|
|
2036
|
+
//update services
|
|
2037
|
+
for (const { type, value } of characteristics) {
|
|
2038
|
+
if (!this.functions.isValidValue(value)) continue;
|
|
2039
|
+
this.melCloudServices?.[i]?.updateCharacteristic(type, value);
|
|
2040
|
+
}
|
|
2041
|
+
|
|
2037
2042
|
//add every zone to array
|
|
2038
2043
|
const zone = {
|
|
2039
2044
|
name: name,
|
|
@@ -2093,52 +2098,60 @@ class DeviceAtw extends EventEmitter {
|
|
|
2093
2098
|
|
|
2094
2099
|
//update sensors characteristics
|
|
2095
2100
|
for (let i = 0; i < zonesSensorsCount; i++) {
|
|
2101
|
+
|
|
2102
|
+
// helper function to update sensor characteristics
|
|
2103
|
+
const updateSensorCharacteristics = (service, value) => {
|
|
2104
|
+
if (this.functions.isValidValue(value)) service?.updateCharacteristic(Characteristic.CurrentTemperature, value);
|
|
2105
|
+
};
|
|
2106
|
+
|
|
2107
|
+
// default values
|
|
2108
|
+
let name = '';
|
|
2109
|
+
let roomTemperature = null;
|
|
2110
|
+
let flowTemperature = null;
|
|
2111
|
+
let returnTemperature = null;
|
|
2112
|
+
|
|
2096
2113
|
switch (i) {
|
|
2097
|
-
case caseHeatPumpSensor: //Heat Pump
|
|
2114
|
+
case caseHeatPumpSensor: // Heat Pump
|
|
2098
2115
|
name = heatPumpName;
|
|
2099
2116
|
roomTemperature = outdoorTemperature;
|
|
2100
2117
|
flowTemperature = flowTemperatureHeatPump;
|
|
2101
2118
|
returnTemperature = returnTemperatureHeatPump;
|
|
2102
2119
|
|
|
2103
|
-
|
|
2104
|
-
this.
|
|
2105
|
-
this.
|
|
2106
|
-
this.returnTemperatureSensorService?.updateCharacteristic(Characteristic.CurrentTemperature, returnTemperatureHeatPump);
|
|
2120
|
+
updateSensorCharacteristics(this.roomTemperatureSensorService, outdoorTemperature);
|
|
2121
|
+
updateSensorCharacteristics(this.flowTemperatureSensorService, flowTemperatureHeatPump);
|
|
2122
|
+
updateSensorCharacteristics(this.returnTemperatureSensorService, returnTemperatureHeatPump);
|
|
2107
2123
|
break;
|
|
2108
|
-
case caseZone1Sensor: //Zone 1
|
|
2124
|
+
case caseZone1Sensor: // Zone 1
|
|
2109
2125
|
name = zone1Name;
|
|
2110
2126
|
roomTemperature = roomTemperatureZone1;
|
|
2111
2127
|
flowTemperature = flowTemperatureZone1;
|
|
2112
2128
|
returnTemperature = returnTemperatureZone1;
|
|
2113
2129
|
|
|
2114
|
-
|
|
2115
|
-
this.
|
|
2116
|
-
this.
|
|
2117
|
-
this.returnTemperatureZone1SensorService?.updateCharacteristic(Characteristic.CurrentTemperature, returnTemperatureZone1);
|
|
2130
|
+
updateSensorCharacteristics(this.roomTemperatureZone1SensorService, roomTemperatureZone1);
|
|
2131
|
+
updateSensorCharacteristics(this.flowTemperatureZone1SensorService, flowTemperatureZone1);
|
|
2132
|
+
updateSensorCharacteristics(this.returnTemperatureZone1SensorService, returnTemperatureZone1);
|
|
2118
2133
|
break;
|
|
2119
|
-
case caseHotWaterSensor: //Hot Water
|
|
2134
|
+
case caseHotWaterSensor: // Hot Water
|
|
2120
2135
|
name = hotWaterName;
|
|
2121
2136
|
roomTemperature = tankWaterTemperature;
|
|
2122
2137
|
flowTemperature = flowTemperatureWaterTank;
|
|
2123
2138
|
returnTemperature = returnTemperatureWaterTank;
|
|
2124
2139
|
|
|
2125
|
-
|
|
2126
|
-
this.
|
|
2127
|
-
this.
|
|
2128
|
-
this.returnTemperatureWaterTankSensorService?.updateCharacteristic(Characteristic.CurrentTemperature, returnTemperatureWaterTank);
|
|
2140
|
+
updateSensorCharacteristics(this.roomTemperatureWaterTankSensorService, tankWaterTemperature);
|
|
2141
|
+
updateSensorCharacteristics(this.flowTemperatureWaterTankSensorService, flowTemperatureWaterTank);
|
|
2142
|
+
updateSensorCharacteristics(this.returnTemperatureWaterTankSensorService, returnTemperatureWaterTank);
|
|
2129
2143
|
break;
|
|
2130
|
-
case caseZone2Sensor: //Zone 2
|
|
2144
|
+
case caseZone2Sensor: // Zone 2
|
|
2131
2145
|
name = zone2Name;
|
|
2132
2146
|
roomTemperature = roomTemperatureZone2;
|
|
2133
2147
|
flowTemperature = flowTemperatureZone2;
|
|
2134
2148
|
returnTemperature = returnTemperatureZone2;
|
|
2135
2149
|
|
|
2136
|
-
|
|
2137
|
-
this.
|
|
2138
|
-
this.
|
|
2139
|
-
this.returnTemperatureZone2SensorService?.updateCharacteristic(Characteristic.CurrentTemperature, returnTemperatureZone2);
|
|
2150
|
+
updateSensorCharacteristics(this.roomTemperatureZone2SensorService, roomTemperatureZone2);
|
|
2151
|
+
updateSensorCharacteristics(this.flowTemperatureZone2SensorService, flowTemperatureZone2);
|
|
2152
|
+
updateSensorCharacteristics(this.returnTemperatureZone2SensorService, returnTemperatureZone2);
|
|
2140
2153
|
break;
|
|
2141
|
-
}
|
|
2154
|
+
}
|
|
2142
2155
|
|
|
2143
2156
|
//add every sensor to array
|
|
2144
2157
|
const sensor = {
|
|
@@ -2177,12 +2190,6 @@ class DeviceAtw extends EventEmitter {
|
|
|
2177
2190
|
}
|
|
2178
2191
|
this.accessory = obj;
|
|
2179
2192
|
|
|
2180
|
-
//update services
|
|
2181
|
-
for (const { type, value } of characteristics) {
|
|
2182
|
-
if (!this.functions.isValidValue(value)) continue;
|
|
2183
|
-
this.melCloudServices?.[i]?.updateCharacteristic(type, value);
|
|
2184
|
-
}
|
|
2185
|
-
|
|
2186
2193
|
//other sensors
|
|
2187
2194
|
this.inStandbyService?.updateCharacteristic(Characteristic.ContactSensorState, inStandbyMode);
|
|
2188
2195
|
this.connectService?.updateCharacteristic(Characteristic.ContactSensorState, isConnected);
|