homebridge-melcloud-control 4.2.6-beta.1 → 4.2.6-beta.10
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 +8 -0
- package/package.json +1 -1
- package/src/deviceata.js +22 -22
- package/src/deviceatw.js +0 -10
- package/src/melcloudata.js +1 -1
- package/src/melclouderv.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -22,6 +22,14 @@ 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.6] - (xx.11.2025)
|
|
26
|
+
|
|
27
|
+
## Changes
|
|
28
|
+
|
|
29
|
+
- fix displays (-270 grad) for temperature sensor
|
|
30
|
+
- stability improvements of RESTFul and MQTT start
|
|
31
|
+
- cleanup
|
|
32
|
+
|
|
25
33
|
# [4.2.5] - (17.11.2025)
|
|
26
34
|
|
|
27
35
|
## 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.2.6-beta.
|
|
4
|
+
"version": "4.2.6-beta.10",
|
|
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
|
@@ -345,9 +345,9 @@ class DeviceAta extends EventEmitter {
|
|
|
345
345
|
switch (this.displayType) {
|
|
346
346
|
case 1: //Heater Cooler
|
|
347
347
|
if (this.logDebug) this.emit('debug', `Prepare heater/cooler service`);
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
348
|
+
const melCloudService = new Service.HeaterCooler(serviceName, `HeaterCooler ${deviceId}`);
|
|
349
|
+
melCloudService.setPrimaryService(true);
|
|
350
|
+
melCloudService.getCharacteristic(Characteristic.Active)
|
|
351
351
|
.onGet(async () => {
|
|
352
352
|
const state = this.accessory.power;
|
|
353
353
|
return state;
|
|
@@ -362,12 +362,12 @@ class DeviceAta extends EventEmitter {
|
|
|
362
362
|
if (this.logWarn) this.emit('warn', `Set power error: ${error}`);
|
|
363
363
|
};
|
|
364
364
|
});
|
|
365
|
-
|
|
365
|
+
melCloudService.getCharacteristic(Characteristic.CurrentHeaterCoolerState)
|
|
366
366
|
.onGet(async () => {
|
|
367
367
|
const value = this.accessory.currentOperationMode;
|
|
368
368
|
return value;
|
|
369
369
|
});
|
|
370
|
-
|
|
370
|
+
melCloudService.getCharacteristic(Characteristic.TargetHeaterCoolerState)
|
|
371
371
|
.setProps({
|
|
372
372
|
minValue: this.accessory.operationModeSetPropsMinValue,
|
|
373
373
|
maxValue: this.accessory.operationModeSetPropsMaxValue,
|
|
@@ -400,13 +400,13 @@ class DeviceAta extends EventEmitter {
|
|
|
400
400
|
if (this.logWarn) this.emit('warn', `Set operation mode error: ${error}`);
|
|
401
401
|
};
|
|
402
402
|
});
|
|
403
|
-
|
|
403
|
+
melCloudService.getCharacteristic(Characteristic.CurrentTemperature)
|
|
404
404
|
.onGet(async () => {
|
|
405
405
|
const value = this.accessory.roomTemperature;
|
|
406
406
|
return value;
|
|
407
407
|
});
|
|
408
408
|
if (supportsFanSpeed) {
|
|
409
|
-
|
|
409
|
+
melCloudService.getCharacteristic(Characteristic.RotationSpeed)
|
|
410
410
|
.setProps({
|
|
411
411
|
minValue: 0,
|
|
412
412
|
maxValue: this.accessory.fanSpeedSetPropsMaxValue,
|
|
@@ -443,7 +443,7 @@ class DeviceAta extends EventEmitter {
|
|
|
443
443
|
});
|
|
444
444
|
};
|
|
445
445
|
if (supportsSwingFunction) {
|
|
446
|
-
|
|
446
|
+
melCloudService.getCharacteristic(Characteristic.SwingMode)
|
|
447
447
|
.onGet(async () => {
|
|
448
448
|
//Vane Horizontal: Auto, 1, 2, 3, 4, 5, 6, 7 = Sp;it, 12 = Swing //Vertical: Auto, 1, 2, 3, 4, 5, 7 = Swing
|
|
449
449
|
const value = this.accessory.currentSwingMode;
|
|
@@ -460,7 +460,7 @@ class DeviceAta extends EventEmitter {
|
|
|
460
460
|
};
|
|
461
461
|
});
|
|
462
462
|
};
|
|
463
|
-
|
|
463
|
+
melCloudService.getCharacteristic(Characteristic.CoolingThresholdTemperature)
|
|
464
464
|
.setProps({
|
|
465
465
|
minValue: this.accessory.minTempCoolDryAuto,
|
|
466
466
|
maxValue: this.accessory.maxTempCoolDryAuto,
|
|
@@ -481,7 +481,7 @@ class DeviceAta extends EventEmitter {
|
|
|
481
481
|
};
|
|
482
482
|
});
|
|
483
483
|
if (supportsHeat) {
|
|
484
|
-
|
|
484
|
+
melCloudService.getCharacteristic(Characteristic.HeatingThresholdTemperature)
|
|
485
485
|
.setProps({
|
|
486
486
|
minValue: this.accessory.minTempHeat,
|
|
487
487
|
maxValue: this.accessory.maxTempHeat,
|
|
@@ -502,7 +502,7 @@ class DeviceAta extends EventEmitter {
|
|
|
502
502
|
};
|
|
503
503
|
});
|
|
504
504
|
};
|
|
505
|
-
|
|
505
|
+
melCloudService.getCharacteristic(Characteristic.LockPhysicalControls)
|
|
506
506
|
.onGet(async () => {
|
|
507
507
|
const value = this.accessory.lockPhysicalControl;
|
|
508
508
|
return value;
|
|
@@ -521,7 +521,7 @@ class DeviceAta extends EventEmitter {
|
|
|
521
521
|
if (this.logWarn) this.emit('warn', `Set lock physical controls error: ${error}`);
|
|
522
522
|
};
|
|
523
523
|
});
|
|
524
|
-
|
|
524
|
+
melCloudService.getCharacteristic(Characteristic.TemperatureDisplayUnits)
|
|
525
525
|
.onGet(async () => {
|
|
526
526
|
const value = this.accessory.useFahrenheit;
|
|
527
527
|
return value;
|
|
@@ -538,18 +538,18 @@ class DeviceAta extends EventEmitter {
|
|
|
538
538
|
if (this.logWarn) this.emit('warn', `Set temperature display unit error: ${error}`);
|
|
539
539
|
};
|
|
540
540
|
});
|
|
541
|
-
|
|
541
|
+
this.melCloudService = melCloudService;
|
|
542
542
|
break;
|
|
543
543
|
case 2: //Thermostat
|
|
544
544
|
if (this.logDebug) this.emit('debug', `Prepare thermostat service`);
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
545
|
+
const melCloudServiceT = new Service.Thermostat(serviceName, `HeaterCooler ${deviceId}`);
|
|
546
|
+
melCloudServiceT.setPrimaryService(true);
|
|
547
|
+
melCloudServiceT.getCharacteristic(Characteristic.CurrentHeatingCoolingState)
|
|
548
548
|
.onGet(async () => {
|
|
549
549
|
const value = this.accessory.currentOperationMode;
|
|
550
550
|
return value;
|
|
551
551
|
});
|
|
552
|
-
|
|
552
|
+
melCloudServiceT.getCharacteristic(Characteristic.TargetHeatingCoolingState)
|
|
553
553
|
.setProps({
|
|
554
554
|
minValue: this.accessory.operationModeSetPropsMinValue,
|
|
555
555
|
maxValue: this.accessory.operationModeSetPropsMaxValue,
|
|
@@ -592,12 +592,12 @@ class DeviceAta extends EventEmitter {
|
|
|
592
592
|
if (this.logWarn) this.emit('warn', `Set operation mode error: ${error}`);
|
|
593
593
|
};
|
|
594
594
|
});
|
|
595
|
-
|
|
595
|
+
melCloudServiceT.getCharacteristic(Characteristic.CurrentTemperature)
|
|
596
596
|
.onGet(async () => {
|
|
597
597
|
const value = this.accessory.roomTemperature;
|
|
598
598
|
return value;
|
|
599
599
|
});
|
|
600
|
-
|
|
600
|
+
melCloudServiceT.getCharacteristic(Characteristic.TargetTemperature)
|
|
601
601
|
.setProps({
|
|
602
602
|
minValue: this.accessory.minTempHeat,
|
|
603
603
|
maxValue: this.accessory.maxTempHeat,
|
|
@@ -616,7 +616,7 @@ class DeviceAta extends EventEmitter {
|
|
|
616
616
|
if (this.logWarn) this.emit('warn', `Set temperature error: ${error}`);
|
|
617
617
|
};
|
|
618
618
|
});
|
|
619
|
-
|
|
619
|
+
melCloudServiceT.getCharacteristic(Characteristic.TemperatureDisplayUnits)
|
|
620
620
|
.onGet(async () => {
|
|
621
621
|
const value = this.accessory.useFahrenheit;
|
|
622
622
|
return value;
|
|
@@ -633,7 +633,7 @@ class DeviceAta extends EventEmitter {
|
|
|
633
633
|
if (this.logWarn) this.emit('warn', `Set temperature display unit error: ${error}`);
|
|
634
634
|
};
|
|
635
635
|
});
|
|
636
|
-
|
|
636
|
+
this.melCloudService = melCloudServiceT;
|
|
637
637
|
break;
|
|
638
638
|
};
|
|
639
639
|
|
|
@@ -1609,7 +1609,7 @@ class DeviceAta extends EventEmitter {
|
|
|
1609
1609
|
obj.operationModeSetPropsValidValues = supportsAuto && supportsHeat ? [0, 1, 2, 3] : !supportsAuto && supportsHeat ? [0, 1, 2] : supportsAuto && !supportsHeat ? [0, 2, 3] : [0, 2];
|
|
1610
1610
|
|
|
1611
1611
|
//update characteristics
|
|
1612
|
-
this.
|
|
1612
|
+
this.melCloudServiceT
|
|
1613
1613
|
?.updateCharacteristic(Characteristic.CurrentHeatingCoolingState, obj.currentOperationMode)
|
|
1614
1614
|
.updateCharacteristic(Characteristic.TargetHeatingCoolingState, obj.targetOperationMode)
|
|
1615
1615
|
.updateCharacteristic(Characteristic.CurrentTemperature, roomTemperature)
|
package/src/deviceatw.js
CHANGED
|
@@ -470,11 +470,6 @@ class DeviceAtw extends EventEmitter {
|
|
|
470
470
|
};
|
|
471
471
|
});
|
|
472
472
|
melCloudService.getCharacteristic(Characteristic.CurrentTemperature)
|
|
473
|
-
.setProps({
|
|
474
|
-
minValue: -35,
|
|
475
|
-
maxValue: 150,
|
|
476
|
-
minStep: 0.5
|
|
477
|
-
})
|
|
478
473
|
.onGet(async () => {
|
|
479
474
|
const value = zone.roomTemperature;
|
|
480
475
|
return value;
|
|
@@ -785,11 +780,6 @@ class DeviceAtw extends EventEmitter {
|
|
|
785
780
|
};
|
|
786
781
|
});
|
|
787
782
|
melCloudServiceT.getCharacteristic(Characteristic.CurrentTemperature)
|
|
788
|
-
.setProps({
|
|
789
|
-
minValue: -35,
|
|
790
|
-
maxValue: 150,
|
|
791
|
-
minStep: 0.5
|
|
792
|
-
})
|
|
793
783
|
.onGet(async () => {
|
|
794
784
|
const value = zone.roomTemperature;
|
|
795
785
|
return value;
|
package/src/melcloudata.js
CHANGED
|
@@ -184,7 +184,7 @@ class MelCloudAta extends EventEmitter {
|
|
|
184
184
|
if (displayType === 1 && deviceData.Device.OperationMode === 8) {
|
|
185
185
|
deviceData.Device.SetTemperature = (deviceData.Device.DefaultCoolingSetTemperature + deviceData.Device.DefaultHeatingSetTemperature) / 2;
|
|
186
186
|
|
|
187
|
-
if (this.
|
|
187
|
+
if (this.deviceData.Device.DefaultCoolingSetTemperature !== deviceData.Device.DefaultCoolingSetTemperature || this.deviceData.Device.DefaultHeatingSetTemperature !== deviceData.Device.DefaultHeatingSetTemperature) {
|
|
188
188
|
const temps = {
|
|
189
189
|
defaultCoolingSetTemperature: deviceData.Device.DefaultCoolingSetTemperature,
|
|
190
190
|
defaultHeatingSetTemperature: deviceData.Device.DefaultHeatingSetTemperature
|
package/src/melclouderv.js
CHANGED
|
@@ -195,7 +195,7 @@ class MelCloudErv extends EventEmitter {
|
|
|
195
195
|
if (displayType === 1 && deviceData.Device.VentilationMode === 2) {
|
|
196
196
|
deviceData.Device.SetTemperature = (deviceData.Device.DefaultCoolingSetTemperature + deviceData.Device.DefaultHeatingSetTemperature) / 2;
|
|
197
197
|
|
|
198
|
-
if (this.
|
|
198
|
+
if (this.deviceData.Device.DefaultCoolingSetTemperature !== deviceData.Device.DefaultCoolingSetTemperature || this.deviceData.Device.DefaultHeatingSetTemperature !== deviceData.Device.DefaultHeatingSetTemperature) {
|
|
199
199
|
const temps = {
|
|
200
200
|
defaultCoolingSetTemperature: deviceData.Device.DefaultCoolingSetTemperature,
|
|
201
201
|
defaultHeatingSetTemperature: deviceData.Device.DefaultHeatingSetTemperature
|