homebridge-melcloud-control 4.6.7-beta.7 → 4.6.7-beta.8

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 +1 -1
  2. package/src/deviceatw.js +53 -46
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.7",
4
+ "version": "4.6.7-beta.8",
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 = 0;
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) {
@@ -2034,6 +2032,12 @@ class DeviceAtw extends EventEmitter {
2034
2032
  break;
2035
2033
  };
2036
2034
 
2035
+ //update services
2036
+ for (const { type, value } of characteristics) {
2037
+ if (!this.functions.isValidValue(value)) continue;
2038
+ this.melCloudServices?.[i]?.updateCharacteristic(type, value);
2039
+ }
2040
+
2037
2041
  //add every zone to array
2038
2042
  const zone = {
2039
2043
  name: name,
@@ -2093,52 +2097,61 @@ class DeviceAtw extends EventEmitter {
2093
2097
 
2094
2098
  //update sensors characteristics
2095
2099
  for (let i = 0; i < zonesSensorsCount; i++) {
2100
+
2101
+ // helper function to update sensor characteristics
2102
+ const updateSensorCharacteristics = (service, value) => {
2103
+ if (this.functions.isValidValue(value)) service?.updateCharacteristic(Characteristic.CurrentTemperature, value);
2104
+ };
2105
+
2106
+ // default values
2107
+ let name = '';
2108
+ let roomTemperature = null;
2109
+ let flowTemperature = null;
2110
+ let returnTemperature = null;
2111
+
2096
2112
  switch (i) {
2097
- case caseHeatPumpSensor: //Heat Pump
2113
+ case caseHeatPumpSensor: // Heat Pump
2098
2114
  name = heatPumpName;
2099
2115
  roomTemperature = outdoorTemperature;
2100
2116
  flowTemperature = flowTemperatureHeatPump;
2101
2117
  returnTemperature = returnTemperatureHeatPump;
2102
2118
 
2103
- //updte characteristics
2104
- this.roomTemperatureSensorService?.updateCharacteristic(Characteristic.CurrentTemperature, outdoorTemperature);
2105
- this.flowTemperatureSensorService?.updateCharacteristic(Characteristic.CurrentTemperature, flowTemperatureHeatPump);
2106
- this.returnTemperatureSensorService?.updateCharacteristic(Characteristic.CurrentTemperature, returnTemperatureHeatPump);
2119
+ updateSensorCharacteristics(this.roomTemperatureSensorService, outdoorTemperature);
2120
+ updateSensorCharacteristics(this.flowTemperatureSensorService, flowTemperatureHeatPump);
2121
+ updateSensorCharacteristics(this.returnTemperatureSensorService, returnTemperatureHeatPump);
2107
2122
  break;
2108
- case caseZone1Sensor: //Zone 1
2123
+ case caseZone1Sensor: // Zone 1
2109
2124
  name = zone1Name;
2110
2125
  roomTemperature = roomTemperatureZone1;
2111
2126
  flowTemperature = flowTemperatureZone1;
2112
2127
  returnTemperature = returnTemperatureZone1;
2113
2128
 
2114
- //updte characteristics
2115
- this.roomTemperatureZone1SensorService?.updateCharacteristic(Characteristic.CurrentTemperature, roomTemperatureZone1);
2116
- this.flowTemperatureZone1SensorService?.updateCharacteristic(Characteristic.CurrentTemperature, flowTemperatureZone1);
2117
- this.returnTemperatureZone1SensorService?.updateCharacteristic(Characteristic.CurrentTemperature, returnTemperatureZone1);
2129
+ updateSensorCharacteristics(this.roomTemperatureZone1SensorService, roomTemperatureZone1);
2130
+ updateSensorCharacteristics(this.flowTemperatureZone1SensorService, flowTemperatureZone1);
2131
+ updateSensorCharacteristics(this.returnTemperatureZone1SensorService, returnTemperatureZone1);
2118
2132
  break;
2119
- case caseHotWaterSensor: //Hot Water
2133
+ case caseHotWaterSensor: // Hot Water
2120
2134
  name = hotWaterName;
2121
2135
  roomTemperature = tankWaterTemperature;
2122
2136
  flowTemperature = flowTemperatureWaterTank;
2123
2137
  returnTemperature = returnTemperatureWaterTank;
2124
2138
 
2125
- //updte characteristics
2126
- this.roomTemperatureWaterTankSensorService?.updateCharacteristic(Characteristic.CurrentTemperature, tankWaterTemperature);
2127
- this.flowTemperatureWaterTankSensorService?.updateCharacteristic(Characteristic.CurrentTemperature, flowTemperatureWaterTank);
2128
- this.returnTemperatureWaterTankSensorService?.updateCharacteristic(Characteristic.CurrentTemperature, returnTemperatureWaterTank);
2139
+ updateSensorCharacteristics(this.roomTemperatureWaterTankSensorService, tankWaterTemperature);
2140
+ updateSensorCharacteristics(this.flowTemperatureWaterTankSensorService, flowTemperatureWaterTank);
2141
+ updateSensorCharacteristics(this.returnTemperatureWaterTankSensorService, returnTemperatureWaterTank);
2129
2142
  break;
2130
- case caseZone2Sensor: //Zone 2
2143
+ case caseZone2Sensor: // Zone 2
2131
2144
  name = zone2Name;
2132
2145
  roomTemperature = roomTemperatureZone2;
2133
2146
  flowTemperature = flowTemperatureZone2;
2134
2147
  returnTemperature = returnTemperatureZone2;
2135
2148
 
2136
- //updte characteristics
2137
- this.roomTemperatureZone2SensorService?.updateCharacteristic(Characteristic.CurrentTemperature, roomTemperatureZone2);
2138
- this.flowTemperatureZone2SensorService?.updateCharacteristic(Characteristic.CurrentTemperature, flowTemperatureZone2);
2139
- this.returnTemperatureZone2SensorService?.updateCharacteristic(Characteristic.CurrentTemperature, returnTemperatureZone2);
2149
+ updateSensorCharacteristics(this.roomTemperatureZone2SensorService, roomTemperatureZone2);
2150
+ updateSensorCharacteristics(this.flowTemperatureZone2SensorService, flowTemperatureZone2);
2151
+ updateSensorCharacteristics(this.returnTemperatureZone2SensorService, returnTemperatureZone2);
2140
2152
  break;
2141
- };
2153
+ }
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);