homebridge-melcloud-control 4.7.9-beta.28 → 4.7.9-beta.3
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 +0 -2
- package/README.md +46 -46
- package/config.schema.json +14 -14
- package/package.json +1 -1
- package/src/constants.js +9 -12
- package/src/deviceata.js +32 -44
- package/src/deviceatw.js +218 -327
- package/src/deviceerv.js +35 -44
- package/src/melcloudata.js +1 -2
- package/src/melcloudatw.js +21 -8
- package/src/melclouderv.js +1 -2
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -102,13 +102,13 @@ Homebridge plugin for Air Conditioner, Heat Pump and Energy Recovery Ventilation
|
|
|
102
102
|
* Heater Cooler:
|
|
103
103
|
* Heat Pump:
|
|
104
104
|
* Power `ON/OFF`.
|
|
105
|
-
* Operating mode `
|
|
105
|
+
* Operating mode `HEAT/COOL`.
|
|
106
106
|
* Outdoor temperature `GET`.
|
|
107
107
|
* Physical lock controls all Zones and Hot Water Tank `LOCK/UNLOCK`.
|
|
108
108
|
* Temperature display unit `°F/°C`.
|
|
109
109
|
* Zone 1 and 2:
|
|
110
|
-
* Operating mode heat `AUTO/HEAT/COOL` - `CURVE/HEAT
|
|
111
|
-
* Operating mode cool `HEAT/COOL` - `COOL
|
|
110
|
+
* Operating mode heat `AUTO/HEAT/COOL` - `CURVE/HEAT THERMOSTAT/HEAT FLOW`.
|
|
111
|
+
* Operating mode cool `HEAT/COOL` - `COOL THERMOSTAT/COOL FLOW`.
|
|
112
112
|
* Temperature `HEATING/COOLING`.
|
|
113
113
|
* Physical lock controls `LOCK/UNLOCK`.
|
|
114
114
|
* Hot Water Tank:
|
|
@@ -118,12 +118,12 @@ Homebridge plugin for Air Conditioner, Heat Pump and Energy Recovery Ventilation
|
|
|
118
118
|
* Thermostat:
|
|
119
119
|
* Heat Pump:
|
|
120
120
|
* Power `ON/OFF`.
|
|
121
|
-
* Operating mode `
|
|
121
|
+
* Operating mode `HEAT/COOL`.
|
|
122
122
|
* Outdoor temperature `GET`.
|
|
123
123
|
* Temperature display unit `°F/°C`.
|
|
124
124
|
* Zone 1 and 2:
|
|
125
|
-
* Operating mode heat `HEAT/COOL/AUTO` - `HEAT
|
|
126
|
-
* Operating mode cool `HEAT/COOL` - `COOL
|
|
125
|
+
* Operating mode heat `HEAT/COOL/AUTO` - `HEAT THERMOSTAT/HEAT FLOW/CURVE`.
|
|
126
|
+
* Operating mode cool `HEAT/COOL` - `COOL THERMOSTAT/COOL FLOW`.
|
|
127
127
|
* Temperature `HEATING/COOLING`.
|
|
128
128
|
* Hot Water Tank:
|
|
129
129
|
* Operating mode `HEAT/AUTO` - `HEAT NOW, AUTO`.
|
|
@@ -385,11 +385,11 @@ Homebridge plugin for Air Conditioner, Heat Pump and Energy Recovery Ventilation
|
|
|
385
385
|
| --- | --- | --- | --- | --- | --- |
|
|
386
386
|
| Air Conditioner | | | | | |
|
|
387
387
|
| POST | `http//ip:port` | `Power` | `true`, `false` | boolean | Power state. |
|
|
388
|
-
| | `http//ip:port` | `HideVaneControls` | `true`, `false` | boolean | Hide vane
|
|
389
|
-
| | `http//ip:port` | `HideDryModeControl` | `true`, `false` | boolean | Hide dry mode control
|
|
390
|
-
| | `http//ip:port` | `ProhibitSetTemperature` | `true`, `false` | boolean | Lock set temperature
|
|
391
|
-
| | `http//ip:port` | `ProhibitOperationMode` | `true`, `false` | boolean | Lock set operating mode
|
|
392
|
-
| | `http//ip:port` | `ProhibitPower` | `true`, `false` | boolean | Lock set power
|
|
388
|
+
| | `http//ip:port` | `HideVaneControls` | `true`, `false` | boolean | Hide vane controls. |
|
|
389
|
+
| | `http//ip:port` | `HideDryModeControl` | `true`, `false` | boolean | Hide dry mode control. |
|
|
390
|
+
| | `http//ip:port` | `ProhibitSetTemperature` | `true`, `false` | boolean | Lock set temperature. |
|
|
391
|
+
| | `http//ip:port` | `ProhibitOperationMode` | `true`, `false` | boolean | Lock set operating mode. |
|
|
392
|
+
| | `http//ip:port` | `ProhibitPower` | `true`, `false` | boolean | Lock set power. |
|
|
393
393
|
| | `http//ip:port` | `OperationMode` | `1 - Heat`, `2 - Dry`, `3 - Cool`, `7 - Fan`, `8 - Auto` | integer | Operating mode. |
|
|
394
394
|
| | `http//ip:port` | `FanSpeed` | `0 - Auto`, `1`, `2`, `3`, `4`, `5`, `6` | integer | Fan speed. |
|
|
395
395
|
| | `http//ip:port` | `VaneHorizontalDirection` | `0`, `1`, `2`, `3`, `4`, `5`, `8 - Split`, `12 - Swing` | integer | Vane H mode. |
|
|
@@ -397,29 +397,29 @@ Homebridge plugin for Air Conditioner, Heat Pump and Energy Recovery Ventilation
|
|
|
397
397
|
| | `http//ip:port` | `SetTemperature` | `0.0` | float | Room temperature. |
|
|
398
398
|
| | `http//ip:port` | `DefaultCoolingSetTemperature` | `0.0` | float | Default cooling temperature. |
|
|
399
399
|
| | `http//ip:port` | `DefaultHeatingSetTemperature` | `0.0` | float | Default heating temperature. |
|
|
400
|
-
| | `http//ip:port` | `FrostProtection` | `true`, `false` | boolean | Frost protectin
|
|
401
|
-
| | `http//ip:port` | `OverheatProtection` | `true`, `false` | boolean | Overheat protection
|
|
402
|
-
| | `http//ip:port` | `Schedules` | `true`, `false` | boolean | Schedules (Only MELCloud Home). |
|
|
400
|
+
| | `http//ip:port` | `FrostProtection` | `true`, `false` | boolean | Frost protectin. |
|
|
401
|
+
| | `http//ip:port` | `OverheatProtection` | `true`, `false` | boolean | Overheat protection. |
|
|
403
402
|
| | `http//ip:port` | `HolidayMode` | `true`, `false` | boolean | Holiday mode. |
|
|
403
|
+
| | `http//ip:port` | `Schedules` | `true`, `false` | boolean | Schedules. |
|
|
404
404
|
| Heat Pump | | | | | |
|
|
405
405
|
| POST | `http//ip:port` | `Power` | `true`, `false` | boolean | Power state. |
|
|
406
|
-
| | `http//ip:port` | `OperationModeZone1` | `0 - Heat Room`, `1 - Heat Flow`, `2 - Heat Curve`, `3 - Cool Room`, `4 - Cool Flow`, `5 - Flor Dry Up` | integer | Operating mode zone 1. |
|
|
407
|
-
| | `http//ip:port` | `SetTemperatureZone1` | `0.0` | float | Temperature zone 1. |
|
|
408
|
-
| | `http//ip:port` | `SetHeatFlowTemperatureZone1` | `0.0` | float | Heat flow temperature zone 1. |
|
|
409
|
-
| | `http//ip:port` | `SetCoolFlowTemperatureZone1` | `0.0` | float | Cool flow temperature zone 1. |
|
|
410
|
-
| | `http//ip:port` | `ProhibitZone1` | `true`, `false` | boolean | Lock control zone 1 (Only MELCloud). |
|
|
411
406
|
| | `http//ip:port` | `ForcedHotWaterMode` | `true`, `false` | boolean | Force hot water. |
|
|
412
|
-
| | `http//ip:port` | `EcoHotWater` | `true`, `false` | boolean | Eco hot water
|
|
413
|
-
| | `http//ip:port` | `
|
|
407
|
+
| | `http//ip:port` | `EcoHotWater` | `true`, `false` | boolean | Eco hot water. |
|
|
408
|
+
| | `http//ip:port` | `ProhibitZone1` | `true`, `false` | boolean | Lock control zone 1. |
|
|
409
|
+
| | `http//ip:port` | `ProhibitZone2` | `true`, `false` | boolean | Lock control zone 2. |
|
|
414
410
|
| | `http//ip:port` | `ProhibitHotWater` | `true`, `false` | boolean | Lock control hot water. |
|
|
415
|
-
| | `http//ip:port` | `
|
|
411
|
+
| | `http//ip:port` | `OperationMode` | `0 - Auto`, `1 - Heat`, `2 - Cool` | integer | Operating mode heat pump. |
|
|
412
|
+
| | `http//ip:port` | `OperationModeZone1` | `0 - Heat Thermostat`, `1 - Heat Flow`, `2 - Heat Curve`, `3 - Cool Thermostat`, `4 - Cool Flow`, `5 - Flor Dry Up` | integer | Operating mode zone 1. |
|
|
413
|
+
| | `http//ip:port` | `OperationModeZone2` | `0 - Heat Thermostat`, `1 - Heat Flow`, `2 - Heat Curve`, `3 - Cool Thermostat`, `4 - Cool Flow`, `5 - Flor Dry Up` | integer | Operating mode zone 2. |
|
|
414
|
+
| | `http//ip:port` | `SetTemperatureZone1` | `0.0` | float | Temperature zone 1. |
|
|
416
415
|
| | `http//ip:port` | `SetTemperatureZone2` | `0.0` | float | Temperature zone 2. |
|
|
416
|
+
| | `http//ip:port` | `SetHeatFlowTemperatureZone1` | `0.0` | float | Heat flow temperature zone 1. |
|
|
417
417
|
| | `http//ip:port` | `SetHeatFlowTemperatureZone2` | `0.0` | float | Heat flow temperature zone 2. |
|
|
418
|
+
| | `http//ip:port` | `SetCoolFlowTemperatureZone1` | `0.0` | float | Cool flow temperature zone 1. |
|
|
418
419
|
| | `http//ip:port` | `SetCoolFlowTemperatureZone2` | `0.0` | float | Cool flow temperature zone 2. |
|
|
419
|
-
| | `http//ip:port` | `
|
|
420
|
-
| | `http//ip:port` | `FrostProtection` | `true`, `false` | boolean | Frost protectin (Only MELCloud Home). |
|
|
421
|
-
| | `http//ip:port` | `Schedules` | `true`, `false` | boolean | Schedules (Only MELCloud Home). |
|
|
420
|
+
| | `http//ip:port` | `SetTankWaterTemperature` | `0.0` | float | Hot water temperature. |
|
|
422
421
|
| | `http//ip:port` | `HolidayMode` | `true`, `false` | boolean | Holiday mode. |
|
|
422
|
+
| | `http//ip:port` | `Schedules` | `true`, `false` | boolean | Schedules. |
|
|
423
423
|
| Energy Recovery Ventilation | | | | | |
|
|
424
424
|
| POST | `http//ip:port` | `Power` | `true`, `false` | boolean | Power state. |
|
|
425
425
|
| | `http//ip:port` | `NightPurgeMode` | `true`, `false` | boolean | Night purge mode. |
|
|
@@ -432,8 +432,8 @@ Homebridge plugin for Air Conditioner, Heat Pump and Energy Recovery Ventilation
|
|
|
432
432
|
| | `http//ip:port` | `SetTemperature` | `0.0` | float | Room temperature. |
|
|
433
433
|
| | `http//ip:port` | `DefaultCoolingSetTemperature` | `0.0` | float | Default cooling temperature. |
|
|
434
434
|
| | `http//ip:port` | `DefaultHeatingSetTemperature` | `0.0` | float | Default heating temperature. |
|
|
435
|
-
| | `http//ip:port` | `Schedules` | `true`, `false` | boolean | Schedules (Only MELCloud Home). |
|
|
436
435
|
| | `http//ip:port` | `HolidayMode` | `true`, `false` | boolean | Holiday mode. |
|
|
436
|
+
| | `http//ip:port` | `Schedules` | `true`, `false` | boolean | Schedules. |
|
|
437
437
|
|
|
438
438
|
### MQTT Integration
|
|
439
439
|
|
|
@@ -447,11 +447,11 @@ Homebridge plugin for Air Conditioner, Heat Pump and Energy Recovery Ventilation
|
|
|
447
447
|
| --- | --- | --- | --- | --- | --- |
|
|
448
448
|
| Air Conditioner | | | | | |
|
|
449
449
|
| Subscribe | `Set` | `Power` | `true`, `false` | boolean | Power state. |
|
|
450
|
-
| | `Set` | `HideVaneControls` | `true`, `false` | boolean | Hide vane controls
|
|
451
|
-
| | `Set` | `HideDryModeControl` | `true`, `false` | boolean | Hide dry mode control
|
|
452
|
-
| | `Set` | `ProhibitSetTemperature` | `true`, `false` | boolean | Lock set temperature
|
|
453
|
-
| | `Set` | `ProhibitOperationMode` | `true`, `false` | boolean | Lock set operating mode
|
|
454
|
-
| | `Set` | `ProhibitPower` | `true`, `false` | boolean | Lock set power
|
|
450
|
+
| | `Set` | `HideVaneControls` | `true`, `false` | boolean | Hide vane controls. |
|
|
451
|
+
| | `Set` | `HideDryModeControl` | `true`, `false` | boolean | Hide dry mode control. |
|
|
452
|
+
| | `Set` | `ProhibitSetTemperature` | `true`, `false` | boolean | Lock set temperature. |
|
|
453
|
+
| | `Set` | `ProhibitOperationMode` | `true`, `false` | boolean | Lock set operating mode. |
|
|
454
|
+
| | `Set` | `ProhibitPower` | `true`, `false` | boolean | Lock set power. |
|
|
455
455
|
| | `Set` | `OperationMode` | `1 - Heat`, `2 - Dry`, `3 - Cool`, `7 - Fan`, `8 - Auto` | integer | Operating mode. |
|
|
456
456
|
| | `Set` | `FanSpeed` | `0 - Auto`, `1`, `2`, `3`, `4`, `5`, `6` | integer | Fan speed. |
|
|
457
457
|
| | `Set` | `VaneHorizontalDirection` | `0`, `1`, `2`, `3`, `4`, `5`, `8 - Split`, `12 - Swing` | integer | Vane H mode. |
|
|
@@ -459,29 +459,29 @@ Homebridge plugin for Air Conditioner, Heat Pump and Energy Recovery Ventilation
|
|
|
459
459
|
| | `Set` | `SetTemperature` | `0.0` | float | Room temperature. |
|
|
460
460
|
| | `Set` | `DefaultCoolingSetTemperature` | `23.0` | float | Default cooling temperature. |
|
|
461
461
|
| | `Set` | `DefaultHeatingSetTemperature` | `21.0` | float | Default heating temperature. |
|
|
462
|
-
| | `Set` | `FrostProtection` | `true`, `false` | boolean | Frost protectin
|
|
463
|
-
| | `Set` | `OverheatProtection` | `true`, `false` | boolean | Overheat protection
|
|
464
|
-
| | `Set` | `Schedules` | `true`, `false` | boolean | Schedules (Only MELCloud Home). |
|
|
462
|
+
| | `Set` | `FrostProtection` | `true`, `false` | boolean | Frost protectin. |
|
|
463
|
+
| | `Set` | `OverheatProtection` | `true`, `false` | boolean | Overheat protection. |
|
|
465
464
|
| | `Set` | `HolidayMode` | `true`, `false` | boolean | Holiday mode. |
|
|
465
|
+
| | `Set` | `Schedules` | `true`, `false` | boolean | Schedules. |
|
|
466
466
|
| Heat Pump | | | | | |
|
|
467
467
|
| Subscribe | `Set` | `Power` | `true`, `false` | boolean | Power state. |
|
|
468
|
-
| | `Set` | `OperationModeZone1` | `0 - Heat Room`, `1 - Heat Flow`, `2 - Heat Curve`, `3 - Cool Room`, `4 - Cool Flow`, `5 - Flor Dry Up` | integer | Operating mode zone 1. |
|
|
469
|
-
| | `Set` | `SetTemperatureZone1` | `0.0` | float | Temperature zone 1. |
|
|
470
|
-
| | `Set` | `SetHeatFlowTemperatureZone1` | `0.0` | float | Heat flow temperature zone 1. |
|
|
471
|
-
| | `Set` | `SetCoolFlowTemperatureZone1` | `0.0` | float | Cool flow temperature zone 1. |
|
|
472
|
-
| | `Set` | `ProhibitZone1` | `true`, `false` | boolean | Lock control zone 1 (Only MELCloud). |
|
|
473
468
|
| | `Set` | `ForcedHotWaterMode` | `true`, `false` | boolean | Force hot water. |
|
|
474
|
-
| | `Set` | `EcoHotWater` | `true`, `false` | boolean | Eco hot water
|
|
475
|
-
| | `Set` | `
|
|
469
|
+
| | `Set` | `EcoHotWater` | `true`, `false` | boolean | Eco hot water. |
|
|
470
|
+
| | `Set` | `ProhibitZone1` | `true`, `false` | boolean | Lock control zone 1. |
|
|
471
|
+
| | `Set` | `ProhibitZone2` | `true`, `false` | boolean | Lock control zone 2. |
|
|
476
472
|
| | `Set` | `ProhibitHotWater` | `true`, `false` | boolean | Lock control hot water. |
|
|
477
|
-
| | `Set` | `
|
|
473
|
+
| | `Set` | `OperationMode` | `0 - Auto`, `1 - Heat`, `2 - Cool` | integer | Operating mode heat pump. |
|
|
474
|
+
| | `Set` | `OperationModeZone1` | `0 - Heat Thermostat`, `1 - Heat Flow`, `2 - Heat Curve`, `3 - Cool Thermostat`, `4 - Cool Flow`, `5 - Flor Dry Up` | integer | Operating mode zone 1. |
|
|
475
|
+
| | `Set` | `OperationModeZone2` | `0 - Heat Thermostat`, `1 - Heat Flow`, `2 - Heat Curve`, `3 - Cool Thermostat`, `4 - Cool Flow`, `5 - Flor Dry Up` | integer | Operating mode zone 2. |
|
|
476
|
+
| | `Set` | `SetTemperatureZone1` | `0.0` | float | Temperature zone 1. |
|
|
478
477
|
| | `Set` | `SetTemperatureZone2` | `0.0` | float | Temperature zone 2. |
|
|
478
|
+
| | `Set` | `SetHeatFlowTemperatureZone1` | `0.0` | float | Heat flow temperature zone 1. |
|
|
479
479
|
| | `Set` | `SetHeatFlowTemperatureZone2` | `0.0` | float | Heat flow temperature zone 2. |
|
|
480
|
+
| | `Set` | `SetCoolFlowTemperatureZone1` | `0.0` | float | Cool flow temperature zone 1. |
|
|
480
481
|
| | `Set` | `SetCoolFlowTemperatureZone2` | `0.0` | float | Cool flow temperature zone 2. |
|
|
481
|
-
| | `Set` | `
|
|
482
|
-
| | `Set` | `FrostProtection` | `true`, `false` | boolean | Frost protectin (Only MELCloud Home). |
|
|
483
|
-
| | `Set` | `Schedules` | `true`, `false` | boolean | Schedules (Only MELCloud Home). |
|
|
482
|
+
| | `Set` | `SetTankWaterTemperature` | `0.0` | float | Hot water temperature. |
|
|
484
483
|
| | `Set` | `HolidayMode` | `true`, `false` | boolean | Holiday mode. |
|
|
484
|
+
| | `Set` | `Schedules` | `true`, `false` | boolean | Schedules. |
|
|
485
485
|
| Energy Recovery Ventilation | | | | | |
|
|
486
486
|
| Subscribe | `Set` | `Power` | `true`, `false` | boolean | Power state. |
|
|
487
487
|
| | `Set` | `NightPurgeMode` | `true`, `false` | boolean | Night purge mode. |
|
|
@@ -494,5 +494,5 @@ Homebridge plugin for Air Conditioner, Heat Pump and Energy Recovery Ventilation
|
|
|
494
494
|
| | `Set` | `SetTemperature` | `0.0` | float | Room temperature. |
|
|
495
495
|
| | `Set` | `DefaultCoolingSetTemperature` | `23.0` | float | Default cooling temperature. |
|
|
496
496
|
| | `Set` | `DefaultHeatingSetTemperature` | `21.0` | float | Default heating temperature. |
|
|
497
|
-
| | `Set` | `Schedules` | `true`, `false` | boolean | Schedules (Only MELCloud Home). |
|
|
498
497
|
| | `Set` | `HolidayMode` | `true`, `false` | boolean | Holiday mode. |
|
|
498
|
+
| | `Set` | `Schedules` | `true`, `false` | boolean | Schedules. |
|
package/config.schema.json
CHANGED
|
@@ -782,7 +782,7 @@
|
|
|
782
782
|
]
|
|
783
783
|
},
|
|
784
784
|
{
|
|
785
|
-
"title": "MODE DRY CONTROL HIDE
|
|
785
|
+
"title": "MODE DRY CONTROL HIDE",
|
|
786
786
|
"enum": [
|
|
787
787
|
7
|
|
788
788
|
]
|
|
@@ -878,7 +878,7 @@
|
|
|
878
878
|
]
|
|
879
879
|
},
|
|
880
880
|
{
|
|
881
|
-
"title": "VH / VV CONTROLS HIDE
|
|
881
|
+
"title": "VH / VV CONTROLS HIDE",
|
|
882
882
|
"enum": [
|
|
883
883
|
27
|
|
884
884
|
]
|
|
@@ -926,25 +926,25 @@
|
|
|
926
926
|
]
|
|
927
927
|
},
|
|
928
928
|
{
|
|
929
|
-
"title": "LOCK CONTROL All
|
|
929
|
+
"title": "LOCK CONTROL All",
|
|
930
930
|
"enum": [
|
|
931
931
|
37
|
|
932
932
|
]
|
|
933
933
|
},
|
|
934
934
|
{
|
|
935
|
-
"title": "LOCK CONTROL POWER
|
|
935
|
+
"title": "LOCK CONTROL POWER",
|
|
936
936
|
"enum": [
|
|
937
937
|
38
|
|
938
938
|
]
|
|
939
939
|
},
|
|
940
940
|
{
|
|
941
|
-
"title": "LOCK CONTROL MODE
|
|
941
|
+
"title": "LOCK CONTROL MODE",
|
|
942
942
|
"enum": [
|
|
943
943
|
39
|
|
944
944
|
]
|
|
945
945
|
},
|
|
946
946
|
{
|
|
947
|
-
"title": "LOCK CONTROL TEMPERATURE
|
|
947
|
+
"title": "LOCK CONTROL TEMPERATURE",
|
|
948
948
|
"enum": [
|
|
949
949
|
40
|
|
950
950
|
]
|
|
@@ -1629,13 +1629,13 @@
|
|
|
1629
1629
|
]
|
|
1630
1630
|
},
|
|
1631
1631
|
{
|
|
1632
|
-
"title": "LOCK CONTROL ALL
|
|
1632
|
+
"title": "LOCK CONTROL ALL",
|
|
1633
1633
|
"enum": [
|
|
1634
1634
|
10
|
|
1635
1635
|
]
|
|
1636
1636
|
},
|
|
1637
1637
|
{
|
|
1638
|
-
"title": "Z1 MODE HEAT
|
|
1638
|
+
"title": "Z1 MODE HEAT THERMOSTAT",
|
|
1639
1639
|
"enum": [
|
|
1640
1640
|
20
|
|
1641
1641
|
]
|
|
@@ -1653,7 +1653,7 @@
|
|
|
1653
1653
|
]
|
|
1654
1654
|
},
|
|
1655
1655
|
{
|
|
1656
|
-
"title": "Z1 MODE COOL
|
|
1656
|
+
"title": "Z1 MODE COOL THERMOSTAT",
|
|
1657
1657
|
"enum": [
|
|
1658
1658
|
23
|
|
1659
1659
|
]
|
|
@@ -1671,7 +1671,7 @@
|
|
|
1671
1671
|
]
|
|
1672
1672
|
},
|
|
1673
1673
|
{
|
|
1674
|
-
"title": "Z1 LOCK CONTROL
|
|
1674
|
+
"title": "Z1 LOCK CONTROL",
|
|
1675
1675
|
"enum": [
|
|
1676
1676
|
30
|
|
1677
1677
|
]
|
|
@@ -1683,7 +1683,7 @@
|
|
|
1683
1683
|
]
|
|
1684
1684
|
},
|
|
1685
1685
|
{
|
|
1686
|
-
"title": "HW MODE ECO
|
|
1686
|
+
"title": "HW MODE ECO",
|
|
1687
1687
|
"enum": [
|
|
1688
1688
|
41
|
|
1689
1689
|
]
|
|
@@ -1695,7 +1695,7 @@
|
|
|
1695
1695
|
]
|
|
1696
1696
|
},
|
|
1697
1697
|
{
|
|
1698
|
-
"title": "Z2 MODE HEAT
|
|
1698
|
+
"title": "Z2 MODE HEAT THERMOSTAT",
|
|
1699
1699
|
"enum": [
|
|
1700
1700
|
60
|
|
1701
1701
|
]
|
|
@@ -1713,7 +1713,7 @@
|
|
|
1713
1713
|
]
|
|
1714
1714
|
},
|
|
1715
1715
|
{
|
|
1716
|
-
"title": "Z2 MODE COOL
|
|
1716
|
+
"title": "Z2 MODE COOL THERMOSTAT",
|
|
1717
1717
|
"enum": [
|
|
1718
1718
|
63
|
|
1719
1719
|
]
|
|
@@ -1731,7 +1731,7 @@
|
|
|
1731
1731
|
]
|
|
1732
1732
|
},
|
|
1733
1733
|
{
|
|
1734
|
-
"title": "Z2 LOCK CONTROL
|
|
1734
|
+
"title": "Z2 LOCK CONTROL",
|
|
1735
1735
|
"enum": [
|
|
1736
1736
|
70
|
|
1737
1737
|
]
|
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.9-beta.
|
|
4
|
+
"version": "4.7.9-beta.3",
|
|
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/constants.js
CHANGED
|
@@ -113,24 +113,21 @@ export const AirConditioner = {
|
|
|
113
113
|
export const HeatPump = {
|
|
114
114
|
ZoneNameMapEnumToString: { 0: "Heat Pump", 1: "Zone 1", 2: "Hot Water", 3: "Zone 2" },
|
|
115
115
|
SystemMapEnumToStringInfo: { 0: "System Off", 1: "System On", 2: "Emergency Run", 3: "Test Run" },
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
HeatPumpModeMapEnumToString: { 0: "Off", 1: "Heat", 2: "Cool", 3: "Auto" },
|
|
119
|
-
HeatPumpModeMapEnumToStringInfoHeaterCooler: { 0: "On", 1: "Heat", 2: "Cool" },
|
|
120
|
-
HeatPumpModeMapEnumToStringInfoThermostat: { 0: "Off", 1: "Heat", 2: "Cool", 3: "On" },
|
|
116
|
+
ControlTypeMapStringToEnum: { "Heat": 0, "Cool": 1 },
|
|
117
|
+
ControlTypeMapEnumToString: { 0: "Heat", 1: "Cool" },
|
|
121
118
|
DefrostMapStringToEnum: { "Normal": 0, "Standby": 1, "Defrost": 2, "Waiting Restart": 3 },
|
|
122
119
|
DefrostMapEnumToString: { 0: "Normal", 1: "Standby", 2: "Defrost", 3: "Waiting Restart" },
|
|
123
|
-
OperationModeMapStringToEnum: { "
|
|
124
|
-
OperationModeMapEnumToString: { 0: "
|
|
125
|
-
OperationModeMapEnumToStringInfo: { 0: "
|
|
126
|
-
OperationModeZoneMapStringToEnum: { "HeatRoomTemperature": 0, "HeatFlowTemperature": 1, "HeatCurve": 2, "CoolRoomTemperature": 3, "CoolFlowTemperature": 4, "FloorDryUp": 5, "
|
|
127
|
-
OperationModeZoneMapEnumToString: { 0: "HeatRoomTemperature", 1: "HeatFlowTemperature", 2: "HeatCurve", 3: "CoolRoomTemperature", 4: "CoolFlowTemperature", 5: "FloorDryUp", 6: "
|
|
128
|
-
OperationModeZoneMapEnumToStringInfo: { 0: "Heat Room Temperature", 1: "Heat Flow Temperature", 2: "Heat Curve", 3: "Cool Room Temperature", 4: "Cool Flow Temperature", 5: "Floor Dry Up", 6: "
|
|
120
|
+
OperationModeMapStringToEnum: { "Idle": 0, "HotWater": 1, "Heating": 2, "Cooling": 3, "HotWaterStorage": 4, "FreezeStat": 5, "Legionella": 6, "HeatEco": 7, "Mode1": 8, "Mode2": 9, "Mode3": 10, "HeatUp": 11 },
|
|
121
|
+
OperationModeMapEnumToString: { 0: "Idle", 1: "HotWater", 2: "Heating", 3: "Cooling", 4: "HotWaterStorage", 5: "FreezeStat", 6: "Legionella", 7: "HeatEco", 8: "Mode1", 9: "Mode2", 10: "Mode3", 11: "HeatUp" },
|
|
122
|
+
OperationModeMapEnumToStringInfo: { 0: "Idle", 1: "Hot Water", 2: "Heating", 3: "Cooling", 4: "Hot Water Storage", 5: "Freeze Stat", 6: "Legionella", 7: "Heat Eco", 8: "Mode 1", 9: "Mode 2", 10: "Mode 3", 11: "Heat Up" },
|
|
123
|
+
OperationModeZoneMapStringToEnum: { "HeatRoomTemperature": 0, "HeatFlowTemperature": 1, "HeatCurve": 2, "CoolRoomTemperature": 3, "CoolFlowTemperature": 4, "FloorDryUp": 5, "Idle": 6 },
|
|
124
|
+
OperationModeZoneMapEnumToString: { 0: "HeatRoomTemperature", 1: "HeatFlowTemperature", 2: "HeatCurve", 3: "CoolRoomTemperature", 4: "CoolFlowTemperature", 5: "FloorDryUp", 6: "Idle" },
|
|
125
|
+
OperationModeZoneMapEnumToStringInfo: { 0: "Heat Room Temperature", 1: "Heat Flow Temperature", 2: "Heat Curve", 3: "Cool Room Temperature", 4: "Cool Flow Temperature", 5: "Floor Dry Up", 6: "Idle" },
|
|
129
126
|
OperationModeDhwMapStringToEnum: { "Normal": 0, "Eco": 1 },
|
|
130
127
|
OperationModeDhwMapEnumToString: { 0: "Normal", 1: "Eco" },
|
|
131
128
|
ForceDhwMapStringToEnum: { "Normal": 0, "HeatNow": 1 },
|
|
132
129
|
ForceDhwMapEnumToString: { 0: "Normal", 1: "HeatNow" },
|
|
133
|
-
ForceDhwMapEnumToStringInfo: { 0: "
|
|
130
|
+
ForceDhwMapEnumToStringInfo: { 0: "Normal", 1: "Heat Now" },
|
|
134
131
|
HolidayMapStringToEnum: { "Normal": 0, "Holiday": 1 },
|
|
135
132
|
HolidayMapEnumToString: { 0: "Normal", 1: "Holiday" },
|
|
136
133
|
EffectiveFlags: {
|
package/src/deviceata.js
CHANGED
|
@@ -281,7 +281,7 @@ class DeviceAta extends EventEmitter {
|
|
|
281
281
|
break;
|
|
282
282
|
default:
|
|
283
283
|
this.emit('warn', `${integration}, received key: ${key}, value: ${value}`);
|
|
284
|
-
|
|
284
|
+
break;
|
|
285
285
|
};
|
|
286
286
|
|
|
287
287
|
set = await this.melCloudAta.send(this.accountType, this.displayType, deviceData, flag);
|
|
@@ -630,9 +630,6 @@ class DeviceAta extends EventEmitter {
|
|
|
630
630
|
this.melCloudService = melCloudServiceT;
|
|
631
631
|
accessory.addService(melCloudServiceT);
|
|
632
632
|
break;
|
|
633
|
-
default:
|
|
634
|
-
if (this.logWarn) this.emit('warn', `Received unknown display type: ${this.displayType}`);
|
|
635
|
-
return;
|
|
636
633
|
};
|
|
637
634
|
|
|
638
635
|
//temperature sensor services
|
|
@@ -649,7 +646,7 @@ class DeviceAta extends EventEmitter {
|
|
|
649
646
|
accessory.addService(this.roomTemperatureSensorService);
|
|
650
647
|
}
|
|
651
648
|
|
|
652
|
-
if (this.temperatureOutdoorSensor && supportsOutdoorTemperature) {
|
|
649
|
+
if (this.temperatureOutdoorSensor && supportsOutdoorTemperature && this.accessory.outdoorTemperature !== null) {
|
|
653
650
|
if (this.logDebug) this.emit('debug', `Prepare outdoor temperature sensor service`);
|
|
654
651
|
this.outdoorTemperatureSensorService = new Service.TemperatureSensor(`${serviceName} Outdoor`, `outdoorTemperatureSensorService${deviceId}`);
|
|
655
652
|
this.outdoorTemperatureSensorService.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
@@ -705,7 +702,7 @@ class DeviceAta extends EventEmitter {
|
|
|
705
702
|
}
|
|
706
703
|
|
|
707
704
|
//frost protection
|
|
708
|
-
if (supportsHeat && this.frostProtectionSupport && this.accessory.
|
|
705
|
+
if (supportsHeat && this.frostProtectionSupport && this.accessory.frostProtection.Enabled !== null) {
|
|
709
706
|
//control
|
|
710
707
|
if (this.logDebug) this.emit('debug', `Prepare frost protection control service`);
|
|
711
708
|
const frostProtectionControlService = new Service.HeaterCooler(`${serviceName} Frost Protection`, `frostProtectionControlService${deviceId}`);
|
|
@@ -713,7 +710,7 @@ class DeviceAta extends EventEmitter {
|
|
|
713
710
|
frostProtectionControlService.setCharacteristic(Characteristic.ConfiguredName, `${accessoryName} Frost Protection`);
|
|
714
711
|
frostProtectionControlService.getCharacteristic(Characteristic.Active)
|
|
715
712
|
.onGet(async () => {
|
|
716
|
-
const state = this.accessory.
|
|
713
|
+
const state = this.accessory.frostProtection.Enabled;
|
|
717
714
|
return state;
|
|
718
715
|
})
|
|
719
716
|
.onSet(async (state) => {
|
|
@@ -805,7 +802,7 @@ class DeviceAta extends EventEmitter {
|
|
|
805
802
|
this.frostProtectionControlSensorService.setCharacteristic(Characteristic.ConfiguredName, `${accessoryName} Frost Protection Control`);
|
|
806
803
|
this.frostProtectionControlSensorService.getCharacteristic(Characteristic.ContactSensorState)
|
|
807
804
|
.onGet(async () => {
|
|
808
|
-
const state = this.accessory.
|
|
805
|
+
const state = this.accessory.frostProtection.Enabled;
|
|
809
806
|
return state;
|
|
810
807
|
})
|
|
811
808
|
accessory.addService(this.frostProtectionControlSensorService);
|
|
@@ -824,7 +821,7 @@ class DeviceAta extends EventEmitter {
|
|
|
824
821
|
}
|
|
825
822
|
|
|
826
823
|
//overheat protection
|
|
827
|
-
if (this.overheatProtectionSupport && this.accessory.
|
|
824
|
+
if (this.overheatProtectionSupport && this.accessory.overheatProtection.Enabled !== null) {
|
|
828
825
|
//control
|
|
829
826
|
if (this.logDebug) this.emit('debug', `Prepare overheat protection control service`);
|
|
830
827
|
const overheatProtectionControlService = new Service.HeaterCooler(`${serviceName} Overheat Protection`, `overheatProtectionControlService${deviceId}`);
|
|
@@ -832,7 +829,7 @@ class DeviceAta extends EventEmitter {
|
|
|
832
829
|
overheatProtectionControlService.setCharacteristic(Characteristic.ConfiguredName, `${accessoryName} Overheat Protection`);
|
|
833
830
|
overheatProtectionControlService.getCharacteristic(Characteristic.Active)
|
|
834
831
|
.onGet(async () => {
|
|
835
|
-
const state = this.accessory.
|
|
832
|
+
const state = this.accessory.overheatProtection.Enabled;
|
|
836
833
|
return state;
|
|
837
834
|
})
|
|
838
835
|
.onSet(async (state) => {
|
|
@@ -924,7 +921,7 @@ class DeviceAta extends EventEmitter {
|
|
|
924
921
|
this.overheatProtectionControlSensorService.setCharacteristic(Characteristic.ConfiguredName, `${accessoryName} Overheat Protection Control`);
|
|
925
922
|
this.overheatProtectionControlSensorService.getCharacteristic(Characteristic.ContactSensorState)
|
|
926
923
|
.onGet(async () => {
|
|
927
|
-
const state = this.accessory.
|
|
924
|
+
const state = this.accessory.overheatProtection.Enabled;
|
|
928
925
|
return state;
|
|
929
926
|
})
|
|
930
927
|
accessory.addService(this.overheatProtectionControlSensorService);
|
|
@@ -942,7 +939,7 @@ class DeviceAta extends EventEmitter {
|
|
|
942
939
|
}
|
|
943
940
|
|
|
944
941
|
//holiday mode
|
|
945
|
-
if (this.holidayModeSupport && this.accessory.
|
|
942
|
+
if (this.holidayModeSupport && this.accessory.holidayMode.Enabled !== null) {
|
|
946
943
|
//control
|
|
947
944
|
if (this.logDebug) this.emit('debug', `Prepare holiday mode control service`);
|
|
948
945
|
this.holidayModeControlService = new Service.Switch(`${serviceName} Holiday Mode`, `holidayModeControlService${deviceId}`);
|
|
@@ -950,7 +947,7 @@ class DeviceAta extends EventEmitter {
|
|
|
950
947
|
this.holidayModeControlService.setCharacteristic(Characteristic.ConfiguredName, `${accessoryName} Holiday Mode`);
|
|
951
948
|
this.holidayModeControlService.getCharacteristic(Characteristic.On)
|
|
952
949
|
.onGet(async () => {
|
|
953
|
-
const state = this.accessory.
|
|
950
|
+
const state = this.accessory.holidayMode.Enabled;
|
|
954
951
|
return state;
|
|
955
952
|
})
|
|
956
953
|
.onSet(async (state) => {
|
|
@@ -970,7 +967,7 @@ class DeviceAta extends EventEmitter {
|
|
|
970
967
|
this.holidayModeControlSensorService.setCharacteristic(Characteristic.ConfiguredName, `${accessoryName} Holiday Mode Control`);
|
|
971
968
|
this.holidayModeControlSensorService.getCharacteristic(Characteristic.ContactSensorState)
|
|
972
969
|
.onGet(async () => {
|
|
973
|
-
const state = this.accessory.
|
|
970
|
+
const state = this.accessory.holidayMode.Enabled;
|
|
974
971
|
return state;
|
|
975
972
|
})
|
|
976
973
|
accessory.addService(this.holidayModeControlSensorService);
|
|
@@ -1432,8 +1429,8 @@ class DeviceAta extends EventEmitter {
|
|
|
1432
1429
|
flag = AirConditioner.EffectiveFlags.Prohibit;
|
|
1433
1430
|
break;
|
|
1434
1431
|
default:
|
|
1435
|
-
if (this.logWarn) this.emit('warn', `
|
|
1436
|
-
|
|
1432
|
+
if (this.logWarn) this.emit('warn', `Unknown button mode: ${mode}`);
|
|
1433
|
+
break;
|
|
1437
1434
|
};
|
|
1438
1435
|
|
|
1439
1436
|
if (this.logInfo) this.emit('info', `Button ${name}: ${state ? `Enabled` : `Disabled`}`);
|
|
@@ -1521,11 +1518,8 @@ class DeviceAta extends EventEmitter {
|
|
|
1521
1518
|
|
|
1522
1519
|
//protection
|
|
1523
1520
|
const frostProtection = deviceData.FrostProtection ?? {};
|
|
1524
|
-
const frostProtectionEnabled = frostProtection.Enabled ?? null;
|
|
1525
1521
|
const overheatProtection = deviceData.OverheatProtection ?? {};
|
|
1526
|
-
const overheatProtectionEnabled = overheatProtection.Enabled ?? null;
|
|
1527
1522
|
const holidayMode = deviceData.HolidayMode ?? {};
|
|
1528
|
-
const holidayModeEnabled = holidayMode.Enabled ?? null;
|
|
1529
1523
|
|
|
1530
1524
|
//device control
|
|
1531
1525
|
const hideVaneControls = deviceData.HideVaneControls ?? false;
|
|
@@ -1533,11 +1527,11 @@ class DeviceAta extends EventEmitter {
|
|
|
1533
1527
|
|
|
1534
1528
|
//device info
|
|
1535
1529
|
const supportsStanbyMode = deviceData.Device[supportStandbyKey];
|
|
1536
|
-
const supportsAutomaticFanSpeed = deviceData.Device.HasAutomaticFanSpeed;
|
|
1530
|
+
const supportsAutomaticFanSpeed = deviceData.Device.HasAutomaticFanSpeed ?? false;
|
|
1537
1531
|
const supportsAirDirectionFunction = deviceData.Device[supportAirDirectionKey];
|
|
1538
1532
|
const supportsSwingFunction = deviceData.Device[supportSwingKey];
|
|
1539
1533
|
const supportsWideVane = deviceData.Device[supportVideWaneKey];
|
|
1540
|
-
const supportsOutdoorTemperature = deviceData.Device.HasOutdoorTemperature
|
|
1534
|
+
const supportsOutdoorTemperature = deviceData.Device.HasOutdoorTemperature;
|
|
1541
1535
|
const supportsFanSpeed = accountTypeMelCloud ? deviceData.Device.ModelSupportsFanSpeed : deviceData.Device.NumberOfFanSpeeds > 0;
|
|
1542
1536
|
const supportsAuto1 = deviceData.Device[supportAutoKey];
|
|
1543
1537
|
const supportsAuto = this.autoDryFanMode >= 1 && supportsAuto1
|
|
@@ -1566,9 +1560,9 @@ class DeviceAta extends EventEmitter {
|
|
|
1566
1560
|
const vaneVerticalSwing = deviceData.Device.VaneVerticalSwing;
|
|
1567
1561
|
const vaneHorizontalDirection = deviceData.Device.VaneHorizontalDirection;
|
|
1568
1562
|
const vaneHorizontalSwing = deviceData.Device.VaneHorizontalSwing;
|
|
1569
|
-
const prohibitSetTemperature = deviceData.Device.ProhibitSetTemperature;
|
|
1570
|
-
const prohibitOperationMode = deviceData.Device.ProhibitOperationMode;
|
|
1571
|
-
const prohibitPower = deviceData.Device.ProhibitPower;
|
|
1563
|
+
const prohibitSetTemperature = deviceData.Device.ProhibitSetTemperature ?? false;
|
|
1564
|
+
const prohibitOperationMode = deviceData.Device.ProhibitOperationMode ?? false;
|
|
1565
|
+
const prohibitPower = deviceData.Device.ProhibitPower ?? false;
|
|
1572
1566
|
const temperatureStep = deviceData.Device[tempStepKey] ? 0.5 : 1;
|
|
1573
1567
|
const outdoorTemperature = deviceData.Device.OutdoorTemperature;
|
|
1574
1568
|
const isConnected = accountTypeMelCloud ? !deviceData.Device[connectKey] : deviceData.Device[connectKey];
|
|
@@ -1582,11 +1576,8 @@ class DeviceAta extends EventEmitter {
|
|
|
1582
1576
|
scheduleEnabled: scheduleEnabled,
|
|
1583
1577
|
scenes: scenesOnServer,
|
|
1584
1578
|
frostProtection: frostProtection,
|
|
1585
|
-
frostProtectionEnabled: frostProtectionEnabled,
|
|
1586
1579
|
overheatProtection: overheatProtection,
|
|
1587
|
-
overheatProtectionEnabled: overheatProtectionEnabled,
|
|
1588
1580
|
holidayMode: holidayMode,
|
|
1589
|
-
holidayModeEnabled: holidayModeEnabled,
|
|
1590
1581
|
supportsAutomaticFanSpeed: supportsAutomaticFanSpeed,
|
|
1591
1582
|
supportsAirDirectionFunction: supportsAirDirectionFunction,
|
|
1592
1583
|
supportsSwingFunction: supportsSwingFunction,
|
|
@@ -1777,9 +1768,6 @@ class DeviceAta extends EventEmitter {
|
|
|
1777
1768
|
{ type: Characteristic.TemperatureDisplayUnits, value: obj.useFahrenheit }
|
|
1778
1769
|
);
|
|
1779
1770
|
break;
|
|
1780
|
-
default:
|
|
1781
|
-
if (this.logWarn) this.emit('warn', `Received unknown display type: ${this.displayType}`);
|
|
1782
|
-
return;
|
|
1783
1771
|
};
|
|
1784
1772
|
this.accessory = obj;
|
|
1785
1773
|
|
|
@@ -1797,35 +1785,35 @@ class DeviceAta extends EventEmitter {
|
|
|
1797
1785
|
this.errorService?.updateCharacteristic(Characteristic.ContactSensorState, isInError);
|
|
1798
1786
|
|
|
1799
1787
|
//frost protection
|
|
1800
|
-
if (this.frostProtectionSupport &&
|
|
1788
|
+
if (this.frostProtectionSupport && frostProtection.Enabled !== null) {
|
|
1801
1789
|
this.frostProtectionControlService
|
|
1802
|
-
?.updateCharacteristic(Characteristic.Active,
|
|
1790
|
+
?.updateCharacteristic(Characteristic.Active, frostProtection.Enabled)
|
|
1803
1791
|
.updateCharacteristic(Characteristic.CurrentHeaterCoolerState, frostProtection.Active ? 2 : 1)
|
|
1804
1792
|
.updateCharacteristic(Characteristic.TargetHeaterCoolerState, 0)
|
|
1805
1793
|
.updateCharacteristic(Characteristic.CurrentTemperature, roomTemperature)
|
|
1806
1794
|
.updateCharacteristic(Characteristic.CoolingThresholdTemperature, frostProtection.Max)
|
|
1807
1795
|
.updateCharacteristic(Characteristic.HeatingThresholdTemperature, frostProtection.Min);
|
|
1808
|
-
this.frostProtectionControlSensorService?.updateCharacteristic(Characteristic.ContactSensorState,
|
|
1796
|
+
this.frostProtectionControlSensorService?.updateCharacteristic(Characteristic.ContactSensorState, frostProtection.Enabled);
|
|
1809
1797
|
this.frostProtectionSensorService?.updateCharacteristic(Characteristic.ContactSensorState, frostProtection.Active);
|
|
1810
1798
|
}
|
|
1811
1799
|
|
|
1812
1800
|
//overheat protection
|
|
1813
|
-
if (this.overheatProtectionSupport &&
|
|
1801
|
+
if (this.overheatProtectionSupport && overheatProtection.Enabled !== null) {
|
|
1814
1802
|
this.overheatProtectionControlService
|
|
1815
|
-
?.updateCharacteristic(Characteristic.Active,
|
|
1803
|
+
?.updateCharacteristic(Characteristic.Active, overheatProtection.Enabled)
|
|
1816
1804
|
.updateCharacteristic(Characteristic.CurrentHeaterCoolerState, overheatProtection.Active ? 2 : 1)
|
|
1817
1805
|
.updateCharacteristic(Characteristic.TargetHeaterCoolerState, 0)
|
|
1818
1806
|
.updateCharacteristic(Characteristic.CurrentTemperature, roomTemperature)
|
|
1819
1807
|
.updateCharacteristic(Characteristic.CoolingThresholdTemperature, overheatProtection.Max)
|
|
1820
1808
|
.updateCharacteristic(Characteristic.HeatingThresholdTemperature, overheatProtection.Min);
|
|
1821
|
-
this.overheatProtectionControlSensorService?.updateCharacteristic(Characteristic.ContactSensorState,
|
|
1809
|
+
this.overheatProtectionControlSensorService?.updateCharacteristic(Characteristic.ContactSensorState, overheatProtection.Enabled);
|
|
1822
1810
|
this.overheatProtectionSensorService?.updateCharacteristic(Characteristic.ContactSensorState, overheatProtection.Active);
|
|
1823
1811
|
}
|
|
1824
1812
|
|
|
1825
1813
|
//holiday mode
|
|
1826
|
-
if (this.holidayModeSupport &&
|
|
1814
|
+
if (this.holidayModeSupport && holidayMode.Enabled !== null) {
|
|
1827
1815
|
this.holidayModeControlService?.updateCharacteristic(Characteristic.On, holidayMode.Enabled);
|
|
1828
|
-
this.holidayModeControlSensorService?.updateCharacteristic(Characteristic.ContactSensorState,
|
|
1816
|
+
this.holidayModeControlSensorService?.updateCharacteristic(Characteristic.ContactSensorState, holidayMode.Enabled);
|
|
1829
1817
|
this.holidayModeSensorService?.updateCharacteristic(Characteristic.ContactSensorState, holidayMode.Active);
|
|
1830
1818
|
}
|
|
1831
1819
|
|
|
@@ -1996,16 +1984,16 @@ class DeviceAta extends EventEmitter {
|
|
|
1996
1984
|
button.state = (obj.lockPhysicalControl === 1);
|
|
1997
1985
|
break;
|
|
1998
1986
|
case 38: //PHYSICAL LOCK CONTROLS POWER
|
|
1999
|
-
button.state = prohibitPower;
|
|
1987
|
+
button.state = (prohibitPower === true);
|
|
2000
1988
|
break;
|
|
2001
1989
|
case 39: //PHYSICAL LOCK CONTROLS MODE
|
|
2002
|
-
button.state = prohibitOperationMode;
|
|
1990
|
+
button.state = (prohibitOperationMode === true);
|
|
2003
1991
|
break;
|
|
2004
1992
|
case 40: //PHYSICAL LOCK CONTROLS TEMP
|
|
2005
|
-
button.state = prohibitSetTemperature;
|
|
1993
|
+
button.state = (prohibitSetTemperature === true);
|
|
2006
1994
|
break;
|
|
2007
1995
|
default: //Unknown button
|
|
2008
|
-
if (this.logWarn) this.emit('warn', `
|
|
1996
|
+
if (this.logWarn) this.emit('warn', `Unknown button mode: ${mode} detected`);
|
|
2009
1997
|
break;
|
|
2010
1998
|
};
|
|
2011
1999
|
|
|
@@ -2025,7 +2013,7 @@ class DeviceAta extends EventEmitter {
|
|
|
2025
2013
|
this.emit('info', `Current operation mode: ${this.displayType === 1 ? AirConditioner.CurrentOperationModeMapEnumToStringHeatherCooler[obj.currentOperationMode] : AirConditioner.CurrentOperationModeMapEnumToStringThermostat[obj.currentOperationMode]}`);
|
|
2026
2014
|
this.emit('info', `Target temperature: ${setTemperature}${obj.temperatureUnit}`);
|
|
2027
2015
|
this.emit('info', `Current temperature: ${roomTemperature}${obj.temperatureUnit}`);
|
|
2028
|
-
if (supportsOutdoorTemperature) this.emit('info', `Outdoor temperature: ${outdoorTemperature}${obj.temperatureUnit}`);
|
|
2016
|
+
if (supportsOutdoorTemperature && outdoorTemperature !== null) this.emit('info', `Outdoor temperature: ${outdoorTemperature}${obj.temperatureUnit}`);
|
|
2029
2017
|
if (supportsFanSpeed) this.emit('info', `Target fan speed: ${AirConditioner.FanSpeedMapEnumToString[setFanSpeed]}`);
|
|
2030
2018
|
if (supportsFanSpeed) this.emit('info', `Current fan speed: ${AirConditioner.AktualFanSpeedMapEnumToString[actualFanSpeed]}`);
|
|
2031
2019
|
if (vaneHorizontalDirection !== null) this.emit('info', `Vane horizontal: ${AirConditioner.VaneHorizontalDirectionMapEnumToString[vaneHorizontalDirection]}`);
|
|
@@ -2033,7 +2021,7 @@ class DeviceAta extends EventEmitter {
|
|
|
2033
2021
|
if (supportsSwingFunction) this.emit('info', `Air direction: ${AirConditioner.AirDirectionMapEnumToString[currentSwingMode]}`);
|
|
2034
2022
|
this.emit('info', `Temperature display unit: ${obj.temperatureUnit}`);
|
|
2035
2023
|
this.emit('info', `Lock physical controls: ${obj.lockPhysicalControl ? 'Locked' : 'Unlocked'}`);
|
|
2036
|
-
if (!accountTypeMelCloud) this.emit('info', `
|
|
2024
|
+
if (!accountTypeMelCloud) this.emit('info', `Signal strength: ${deviceData.Rssi}dBm`);
|
|
2037
2025
|
}
|
|
2038
2026
|
})
|
|
2039
2027
|
.on('success', (success) => this.emit('success', success))
|