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 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.1",
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
- this.melCloudService = new Service.HeaterCooler(serviceName, `HeaterCooler ${deviceId}`);
349
- this.melCloudService.setPrimaryService(true);
350
- this.melCloudService.getCharacteristic(Characteristic.Active)
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
- this.melCloudService.getCharacteristic(Characteristic.CurrentHeaterCoolerState)
365
+ melCloudService.getCharacteristic(Characteristic.CurrentHeaterCoolerState)
366
366
  .onGet(async () => {
367
367
  const value = this.accessory.currentOperationMode;
368
368
  return value;
369
369
  });
370
- this.melCloudService.getCharacteristic(Characteristic.TargetHeaterCoolerState)
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
- this.melCloudService.getCharacteristic(Characteristic.CurrentTemperature)
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
- this.melCloudService.getCharacteristic(Characteristic.RotationSpeed)
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
- this.melCloudService.getCharacteristic(Characteristic.SwingMode)
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
- this.melCloudService.getCharacteristic(Characteristic.CoolingThresholdTemperature)
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
- this.melCloudService.getCharacteristic(Characteristic.HeatingThresholdTemperature)
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
- this.melCloudService.getCharacteristic(Characteristic.LockPhysicalControls)
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
- this.melCloudService.getCharacteristic(Characteristic.TemperatureDisplayUnits)
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
- accessory.addService(this.melCloudService);
541
+ this.melCloudService = melCloudService;
542
542
  break;
543
543
  case 2: //Thermostat
544
544
  if (this.logDebug) this.emit('debug', `Prepare thermostat service`);
545
- this.melCloudService = new Service.Thermostat(serviceName, `Thermostat ${deviceId}`);
546
- this.melCloudService.setPrimaryService(true);
547
- this.melCloudService.getCharacteristic(Characteristic.CurrentHeatingCoolingState)
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
- this.melCloudService.getCharacteristic(Characteristic.TargetHeatingCoolingState)
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
- this.melCloudService.getCharacteristic(Characteristic.CurrentTemperature)
595
+ melCloudServiceT.getCharacteristic(Characteristic.CurrentTemperature)
596
596
  .onGet(async () => {
597
597
  const value = this.accessory.roomTemperature;
598
598
  return value;
599
599
  });
600
- this.melCloudService.getCharacteristic(Characteristic.TargetTemperature)
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
- this.melCloudService.getCharacteristic(Characteristic.TemperatureDisplayUnits)
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
- accessory.addService(this.melCloudService);
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.melCloudService
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;
@@ -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.deviceState.DefaultCoolingSetTemperature !== deviceData.Device.DefaultCoolingSetTemperature || this.deviceState.DefaultHeatingSetTemperature !== deviceData.Device.DefaultHeatingSetTemperature) {
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
@@ -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.deviceState.DefaultCoolingSetTemperature !== deviceData.Device.DefaultCoolingSetTemperature || this.deviceState.DefaultHeatingSetTemperature !== deviceData.Device.DefaultHeatingSetTemperature) {
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