homebridge-melcloud-control 4.7.6 → 4.7.7

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,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.7] - (01.02.2026)
28
+
29
+ ## Changes
30
+
31
+ - fix frost protection characteristics current temp update for ATW
32
+ - cleanup
33
+
27
34
  # [4.7.6] - (31.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.6",
4
+ "version": "4.7.7",
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/deviceata.js CHANGED
@@ -1786,24 +1786,26 @@ class DeviceAta extends EventEmitter {
1786
1786
 
1787
1787
  //frost protection
1788
1788
  if (this.frostProtectionSupport && frostProtection.Enabled !== null) {
1789
- this.frostProtectionControlService?.updateCharacteristic(Characteristic.Active, frostProtection.Enabled);
1790
- this.frostProtectionControlService?.updateCharacteristic(Characteristic.CurrentHeaterCoolerState, frostProtection.Active ? 2 : 1);
1791
- this.frostProtectionControlService?.updateCharacteristic(Characteristic.TargetHeaterCoolerState, 0);
1792
- this.frostProtectionControlService?.updateCharacteristic(Characteristic.CurrentTemperature, roomTemperature);
1793
- this.frostProtectionControlService?.updateCharacteristic(Characteristic.CoolingThresholdTemperature, frostProtection.Max);
1794
- this.frostProtectionControlService?.updateCharacteristic(Characteristic.HeatingThresholdTemperature, frostProtection.Min);
1789
+ this.frostProtectionControlService
1790
+ ?.updateCharacteristic(Characteristic.Active, frostProtection.Enabled)
1791
+ .updateCharacteristic(Characteristic.CurrentHeaterCoolerState, frostProtection.Active ? 2 : 1)
1792
+ .updateCharacteristic(Characteristic.TargetHeaterCoolerState, 0)
1793
+ .updateCharacteristic(Characteristic.CurrentTemperature, roomTemperature)
1794
+ .updateCharacteristic(Characteristic.CoolingThresholdTemperature, frostProtection.Max)
1795
+ .updateCharacteristic(Characteristic.HeatingThresholdTemperature, frostProtection.Min);
1795
1796
  this.frostProtectionControlSensorService?.updateCharacteristic(Characteristic.ContactSensorState, frostProtection.Enabled);
1796
1797
  this.frostProtectionSensorService?.updateCharacteristic(Characteristic.ContactSensorState, frostProtection.Active);
1797
1798
  }
1798
1799
 
1799
1800
  //overheat protection
1800
1801
  if (this.overheatProtectionSupport && overheatProtection.Enabled !== null) {
1801
- this.overheatProtectionControlService?.updateCharacteristic(Characteristic.Active, overheatProtection.Enabled);
1802
- this.overheatProtectionControlService?.updateCharacteristic(Characteristic.CurrentHeaterCoolerState, overheatProtection.Active ? 2 : 1);
1803
- this.overheatProtectionControlService?.updateCharacteristic(Characteristic.TargetHeaterCoolerState, 0);
1804
- this.overheatProtectionControlService?.updateCharacteristic(Characteristic.CurrentTemperature, roomTemperature);
1805
- this.overheatProtectionControlService?.updateCharacteristic(Characteristic.CoolingThresholdTemperature, overheatProtection.Max);
1806
- this.overheatProtectionControlService?.updateCharacteristic(Characteristic.HeatingThresholdTemperature, overheatProtection.Min);
1802
+ this.overheatProtectionControlService
1803
+ ?.updateCharacteristic(Characteristic.Active, overheatProtection.Enabled)
1804
+ .updateCharacteristic(Characteristic.CurrentHeaterCoolerState, overheatProtection.Active ? 2 : 1)
1805
+ .updateCharacteristic(Characteristic.TargetHeaterCoolerState, 0)
1806
+ .updateCharacteristic(Characteristic.CurrentTemperature, roomTemperature)
1807
+ .updateCharacteristic(Characteristic.CoolingThresholdTemperature, overheatProtection.Max)
1808
+ .updateCharacteristic(Characteristic.HeatingThresholdTemperature, overheatProtection.Min);
1807
1809
  this.overheatProtectionControlSensorService?.updateCharacteristic(Characteristic.ContactSensorState, overheatProtection.Enabled);
1808
1810
  this.overheatProtectionSensorService?.updateCharacteristic(Characteristic.ContactSensorState, overheatProtection.Active);
1809
1811
  }
@@ -2019,7 +2021,7 @@ class DeviceAta extends EventEmitter {
2019
2021
  if (supportsSwingFunction) this.emit('info', `Air direction: ${AirConditioner.AirDirectionMapEnumToString[currentSwingMode]}`);
2020
2022
  this.emit('info', `Temperature display unit: ${obj.temperatureUnit}`);
2021
2023
  this.emit('info', `Lock physical controls: ${obj.lockPhysicalControl ? 'Locked' : 'Unlocked'}`);
2022
- if (!this.accountTypeMelCloud) this.emit('info', `Signal strength: ${deviceData.Rssi}dBm`);
2024
+ if (!accountTypeMelCloud) this.emit('info', `Signal strength: ${deviceData.Rssi}dBm`);
2023
2025
  }
2024
2026
  })
2025
2027
  .on('success', (success) => this.emit('success', success))
package/src/deviceatw.js CHANGED
@@ -1760,7 +1760,6 @@ class DeviceAtw extends EventEmitter {
1760
1760
  this.emit('devInfo', `Hot Water Tank: ${supportsHotWaterTank ? 'Yes' : 'No'}`);
1761
1761
  this.emit('devInfo', `Zone 2: ${supportsZone2 ? 'Yes' : 'No'}`);
1762
1762
  this.emit('devInfo', '----------------------------------');
1763
- if (!this.accountTypeMelCloud) this.emit('info', `Signal strength: ${deviceData.Rssi}dBm`);
1764
1763
  this.displayDeviceInfo = false;
1765
1764
  }
1766
1765
 
@@ -2400,12 +2399,13 @@ class DeviceAtw extends EventEmitter {
2400
2399
 
2401
2400
  //frost protection
2402
2401
  if (this.frostProtectionSupport && frostProtection.Enabled !== null) {
2403
- this.frostProtectionControlService?.updateCharacteristic(Characteristic.Active, frostProtection.Enabled);
2404
- this.frostProtectionControlService?.updateCharacteristic(Characteristic.CurrentHeaterCoolerState, frostProtection.Active ? 2 : 1);
2405
- this.frostProtectionControlService?.updateCharacteristic(Characteristic.TargetHeaterCoolerState, 0);
2406
- this.frostProtectionControlService?.updateCharacteristic(Characteristic.CurrentTemperature, roomTemperature);
2407
- this.frostProtectionControlService?.updateCharacteristic(Characteristic.CoolingThresholdTemperature, frostProtection.Max);
2408
- this.frostProtectionControlService?.updateCharacteristic(Characteristic.HeatingThresholdTemperature, frostProtection.Min);
2402
+ this.frostProtectionControlService
2403
+ ?.updateCharacteristic(Characteristic.Active, frostProtection.Enabled)
2404
+ .updateCharacteristic(Characteristic.CurrentHeaterCoolerState, frostProtection.Active ? 2 : 1)
2405
+ .updateCharacteristic(Characteristic.TargetHeaterCoolerState, 0)
2406
+ .updateCharacteristic(Characteristic.CurrentTemperature, roomTemperatureZone1)
2407
+ .updateCharacteristic(Characteristic.CoolingThresholdTemperature, frostProtection.Max)
2408
+ .updateCharacteristic(Characteristic.HeatingThresholdTemperature, frostProtection.Min);
2409
2409
  this.frostProtectionControlSensorService?.updateCharacteristic(Characteristic.ContactSensorState, frostProtection.Enabled);
2410
2410
  this.frostProtectionSensorService?.updateCharacteristic(Characteristic.ContactSensorState, frostProtection.Active);
2411
2411
  }
package/src/deviceerv.js CHANGED
@@ -1566,7 +1566,7 @@ class DeviceErv extends EventEmitter {
1566
1566
  if (supportsCO2Sensor) this.emit('info', `CO2 level: ${roomCO2Level} ppm`);
1567
1567
  if (supportsPM25Sensor) this.emit('info', `PM2.5 air quality: ${Ventilation.PM25AirQualityMapEnumToString[pM25AirQuality]}`);
1568
1568
  if (supportsPM25Sensor) this.emit('info', `PM2.5 level: ${pM25Level} µg/m`);
1569
- if (!this.accountTypeMelCloud) this.emit('info', `Signal strength: ${deviceData.Rssi}dBm`);
1569
+ if (!accountTypeMelCloud) this.emit('info', `Signal strength: ${deviceData.Rssi}dBm`);
1570
1570
  }
1571
1571
  })
1572
1572
  .on('success', (success) => this.emit('success', success))