homebridge-melcloud-control 4.2.2-beta.6 → 4.2.2-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.
- package/CHANGELOG.md +9 -0
- package/README.md +3 -0
- package/package.json +1 -1
- package/src/deviceata.js +15 -15
- package/src/deviceatw.js +4 -3
- package/src/deviceerv.js +4 -3
package/CHANGELOG.md
CHANGED
|
@@ -22,6 +22,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
22
22
|
|
|
23
23
|
- Do not use Homebridge UI > v5.5.0 because of break config.json
|
|
24
24
|
|
|
25
|
+
## [4.2.2] - (xx.11.2025)
|
|
26
|
+
|
|
27
|
+
## Changes
|
|
28
|
+
|
|
29
|
+
- added connect sensor
|
|
30
|
+
- config schema updated
|
|
31
|
+
- readme updated
|
|
32
|
+
- cleanup
|
|
33
|
+
|
|
25
34
|
## [4.2.1] - (13.11.2025)
|
|
26
35
|
|
|
27
36
|
## Changes
|
package/README.md
CHANGED
|
@@ -245,6 +245,7 @@ Homebridge plugin for Air Conditioner, Heat Pump and Energy Recovery Ventilation
|
|
|
245
245
|
| `ataDevices[].autoDryFanMode` | Here select the operatiing mode for `Auto`, if this mode is not supported, it will be disabled.. |
|
|
246
246
|
| `ataDevices[].temperatureSensor` | This enable extra `Room` temperature sensor to use with automations in HomeKit app. |
|
|
247
247
|
| `ataDevices[].temperatureOutdoorSensor` | This enable extra `Outdoor` temperature sensor to use with automations in HomeKit app. |
|
|
248
|
+
| `ataDevices[].connectSensor` | This enable `Connect` sensor to use with automations in HomeKit app. |
|
|
248
249
|
| `ataDevices[].errorSensor` | This enable `Error` sensor to use with automations in HomeKit app. |
|
|
249
250
|
| `ataDevices[].frostProtectionSupport` | This enable extra `Frost Protectio` control and sensors to use with automations in HomeKit app. |
|
|
250
251
|
| `ataDevices[].overheatProtectionSupport` | This enable extra `Overheat Protection` control and sensors to use with automations in HomeKit app. |
|
|
@@ -279,6 +280,7 @@ Homebridge plugin for Air Conditioner, Heat Pump and Energy Recovery Ventilation
|
|
|
279
280
|
| `atwDevices[].temperatureReturnWaterTankSensor` | This enable extra `Return Water Tank` temperature sensor to use with automations in HomeKit app. |
|
|
280
281
|
| `atwDevices[].temperatureFlowZone2Sensor` | This enable extra `Flow Zone 2` temperature sensor to use with automations in HomeKit app. |
|
|
281
282
|
| `atwDevices[].temperatureReturnZone2Sensor` | This enable extra `Return Zone 2` temperature sensor to use with automations in HomeKit app. |
|
|
283
|
+
| `atwDevices[].connectSensor` | This enable `Connect` sensor to use with automations in HomeKit app. |
|
|
282
284
|
| `atwDevices[].errorSensor` | This enable `Error` sensors to use with automations in HomeKit app. |
|
|
283
285
|
| `atwDevices[].holidayModeSupport` | This enable extra `Holiday Mode` control and sensors to use with automations in HomeKit app. |
|
|
284
286
|
| `atwDevices[].refreshInterval` | Here set the background devices state refresh time in (sec), default `5s`. |
|
|
@@ -304,6 +306,7 @@ Homebridge plugin for Air Conditioner, Heat Pump and Energy Recovery Ventilation
|
|
|
304
306
|
| `ervDevices[].temperatureSensor` | This enable extra `Room` temperature sensor to use with automations in HomeKit app. |
|
|
305
307
|
| `ervDevices[].temperatureOutdoorSensor` | This enable extra `Outdoor` temperature sensor to use with automations in HomeKit app. |
|
|
306
308
|
| `ervDevices[].temperatureSupplySensor` | This enable extra `Supply` temperature sensor to use with automations in HomeKit app. |
|
|
309
|
+
| `ervDevices[].connectSensor` | This enable `Connect` sensor to use with automations in HomeKit app. |
|
|
307
310
|
| `ervDevices[].errorSensor` | This enable `Error` sensors to use with automations in HomeKit app. |
|
|
308
311
|
| `ervDevices[].holidayModeSupport` | This enable extra `Holiday Mode` control and sensors to use with automations in HomeKit app. |
|
|
309
312
|
| `ervDevices[].refreshInterval` | Here set the background devices state refresh time in (sec), default `5s`. |
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"displayName": "MELCloud Control",
|
|
3
3
|
"name": "homebridge-melcloud-control",
|
|
4
|
-
"version": "4.2.2-beta.
|
|
4
|
+
"version": "4.2.2-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/deviceata.js
CHANGED
|
@@ -659,9 +659,9 @@ class DeviceAta extends EventEmitter {
|
|
|
659
659
|
//connect sensor
|
|
660
660
|
if (this.connectSensor && this.accessory.isConnected !== null) {
|
|
661
661
|
if (this.logDebug) this.emit('debug', `Prepare error service`);
|
|
662
|
-
this.connectService = new Service.ContactSensor(`${serviceName}
|
|
662
|
+
this.connectService = new Service.ContactSensor(`${serviceName} Connected`, `connectService${deviceId}`);
|
|
663
663
|
this.connectService.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
664
|
-
this.connectService.setCharacteristic(Characteristic.ConfiguredName, `${accessoryName}
|
|
664
|
+
this.connectService.setCharacteristic(Characteristic.ConfiguredName, `${accessoryName} Connected`);
|
|
665
665
|
this.connectService.getCharacteristic(Characteristic.ContactSensorState)
|
|
666
666
|
.onGet(async () => {
|
|
667
667
|
const state = this.accessory.isConnected;
|
|
@@ -1221,17 +1221,18 @@ class DeviceAta extends EventEmitter {
|
|
|
1221
1221
|
this.deviceData = deviceData;
|
|
1222
1222
|
|
|
1223
1223
|
//keys
|
|
1224
|
-
const
|
|
1225
|
-
const
|
|
1226
|
-
const
|
|
1227
|
-
const
|
|
1228
|
-
const
|
|
1229
|
-
const
|
|
1230
|
-
const
|
|
1231
|
-
const
|
|
1232
|
-
const
|
|
1233
|
-
const
|
|
1234
|
-
const
|
|
1224
|
+
const accountTypeMelcloud = this.accountType === 'melcloud';
|
|
1225
|
+
const fanKey = accountTypeMelcloud ? 'FanSpeed' : 'SetFanSpeed';
|
|
1226
|
+
const tempStepKey = accountTypeMelcloud ? 'TemperatureIncrement' : 'HasHalfDegreeIncrements';
|
|
1227
|
+
const connectKey = accountTypeMelcloud ? 'Offline' : 'IsConnected';
|
|
1228
|
+
const errorKey = accountTypeMelcloud ? 'HasError' : 'IsInError';
|
|
1229
|
+
const supportAirDirectionKey = accountTypeMelcloud ? 'AirDirectionFunction' : 'HasAirDirectionFunction';
|
|
1230
|
+
const supportSwingKey = accountTypeMelcloud ? 'SwingFunction' : 'HasSwing';
|
|
1231
|
+
const supportVideWaneKey = accountTypeMelcloud ? 'ModelSupportsWideVane' : 'SupportsWideVane';
|
|
1232
|
+
const supportAutoKey = accountTypeMelcloud ? 'ModelSupportsAuto' : 'HasAutoOperationMode';
|
|
1233
|
+
const supportHeatKey = accountTypeMelcloud ? 'ModelSupportsHeat' : 'HasHeatOperationMode';
|
|
1234
|
+
const supportDryKey = accountTypeMelcloud ? 'ModelSupportsDry' : 'HasDryOperationMode';
|
|
1235
|
+
const supportCoolKey = accountTypeMelcloud ? 'ModelSupportsCool' : 'HasCoolOperationMode';
|
|
1235
1236
|
|
|
1236
1237
|
//presets schedules
|
|
1237
1238
|
const scheduleEnabled = deviceData.ScheduleEnabled;
|
|
@@ -1251,7 +1252,6 @@ class DeviceAta extends EventEmitter {
|
|
|
1251
1252
|
const hideDryModeControl = deviceData.HideDryModeControl ?? false;
|
|
1252
1253
|
|
|
1253
1254
|
//device info
|
|
1254
|
-
const accountTypeMelcloud = this.accountType === 'melcloud';
|
|
1255
1255
|
const supportsAutomaticFanSpeed = deviceData.Device.HasAutomaticFanSpeed ?? false;
|
|
1256
1256
|
const supportsAirDirectionFunction = deviceData.Device[supportAirDirectionKey];
|
|
1257
1257
|
const supportsSwingFunction = deviceData.Device[supportSwingKey];
|
|
@@ -1291,7 +1291,7 @@ class DeviceAta extends EventEmitter {
|
|
|
1291
1291
|
const prohibitPower = deviceData.Device.ProhibitPower ?? false;
|
|
1292
1292
|
const temperatureStep = deviceData.Device[tempStepKey] ? 0.5 : 1;
|
|
1293
1293
|
const outdoorTemperature = deviceData.Device.OutdoorTemperature;
|
|
1294
|
-
const isConnected = deviceData.Device[connectKey];
|
|
1294
|
+
const isConnected = accountTypeMelcloud ? !deviceData.Device[connectKey] : deviceData.Device[connectKey];
|
|
1295
1295
|
const isInError = deviceData.Device[errorKey];
|
|
1296
1296
|
|
|
1297
1297
|
//accessory
|
package/src/deviceatw.js
CHANGED
|
@@ -1072,9 +1072,9 @@ class DeviceAtw extends EventEmitter {
|
|
|
1072
1072
|
//connect sensor
|
|
1073
1073
|
if (this.connectSensor && this.accessory.isConnected !== null) {
|
|
1074
1074
|
if (this.logDebug) this.emit('debug', `Prepare error service`);
|
|
1075
|
-
this.connectService = new Service.ContactSensor(`${serviceName}
|
|
1075
|
+
this.connectService = new Service.ContactSensor(`${serviceName} Connected`, `connectService${deviceId}`);
|
|
1076
1076
|
this.connectService.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
1077
|
-
this.connectService.setCharacteristic(Characteristic.ConfiguredName, `${accessoryName}
|
|
1077
|
+
this.connectService.setCharacteristic(Characteristic.ConfiguredName, `${accessoryName} Connected`);
|
|
1078
1078
|
this.connectService.getCharacteristic(Characteristic.ContactSensorState)
|
|
1079
1079
|
.onGet(async () => {
|
|
1080
1080
|
const state = this.accessory.isConnected;
|
|
@@ -1486,6 +1486,7 @@ class DeviceAtw extends EventEmitter {
|
|
|
1486
1486
|
this.deviceData = deviceData;
|
|
1487
1487
|
|
|
1488
1488
|
//keys
|
|
1489
|
+
const accountTypeMelcloud = this.accountType === 'melcloud';
|
|
1489
1490
|
const tempStepKey = this.accountType === 'melcloud' ? 'TemperatureIncrement' : 'HasHalfDegreeIncrements';
|
|
1490
1491
|
const connectKey = this.accountType === 'melcloud' ? 'Offline' : 'IsConnected';
|
|
1491
1492
|
const errorKey = this.accountType === 'melcloud' ? 'HasError' : 'IsInError';
|
|
@@ -1535,7 +1536,7 @@ class DeviceAtw extends EventEmitter {
|
|
|
1535
1536
|
const holidayMode = deviceData.Device.HolidayMode ?? false;
|
|
1536
1537
|
const flowTemperatureHeatPump = deviceData.Device.FlowTemperature;
|
|
1537
1538
|
const returnTemperatureHeatPump = deviceData.Device.ReturnTemperature;
|
|
1538
|
-
|
|
1539
|
+
const isConnected = accountTypeMelcloud ? !deviceData.Device[connectKey] : deviceData.Device[connectKey];
|
|
1539
1540
|
const isInError = deviceData.Device[errorKey];
|
|
1540
1541
|
|
|
1541
1542
|
//zone 1
|
package/src/deviceerv.js
CHANGED
|
@@ -691,9 +691,9 @@ class DeviceErv extends EventEmitter {
|
|
|
691
691
|
//connect sensor
|
|
692
692
|
if (this.connectSensor && this.accessory.isConnected !== null) {
|
|
693
693
|
if (this.logDebug) this.emit('debug', `Prepare error service`);
|
|
694
|
-
this.connectService = new Service.ContactSensor(`${serviceName}
|
|
694
|
+
this.connectService = new Service.ContactSensor(`${serviceName} Connected`, `connectService${deviceId}`);
|
|
695
695
|
this.connectService.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
696
|
-
this.connectService.setCharacteristic(Characteristic.ConfiguredName, `${accessoryName}
|
|
696
|
+
this.connectService.setCharacteristic(Characteristic.ConfiguredName, `${accessoryName} Connected`);
|
|
697
697
|
this.connectService.getCharacteristic(Characteristic.ContactSensorState)
|
|
698
698
|
.onGet(async () => {
|
|
699
699
|
const state = this.accessory.isConnected;
|
|
@@ -1031,6 +1031,7 @@ class DeviceErv extends EventEmitter {
|
|
|
1031
1031
|
this.deviceData = deviceData;
|
|
1032
1032
|
|
|
1033
1033
|
//keys
|
|
1034
|
+
const accountTypeMelcloud = this.accountType === 'melcloud';
|
|
1034
1035
|
const tempStepKey = this.accountType === 'melcloud' ? 'TemperatureIncrement' : 'HasHalfDegreeIncrements';
|
|
1035
1036
|
const connectKey = this.accountType === 'melcloud' ? 'Offline' : 'IsConnected';
|
|
1036
1037
|
const errorKey = this.accountType === 'melcloud' ? 'HasError' : 'IsInError';
|
|
@@ -1086,7 +1087,7 @@ class DeviceErv extends EventEmitter {
|
|
|
1086
1087
|
const setFanSpeed = deviceData.Device.SetFanSpeed;
|
|
1087
1088
|
const operationMode = deviceData.Device.OperationMode;
|
|
1088
1089
|
const ventilationMode = deviceData.Device.VentilationMode;
|
|
1089
|
-
const isConnected = deviceData.Device[connectKey];
|
|
1090
|
+
const isConnected = accountTypeMelcloud ? !deviceData.Device[connectKey] : deviceData.Device[connectKey];
|
|
1090
1091
|
const isInError = deviceData.Device[errorKey];
|
|
1091
1092
|
|
|
1092
1093
|
//accessory
|