homebridge-melcloud-control 3.8.0-beta.29 → 3.8.0-beta.30
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/package.json +1 -1
- package/src/deviceatw.js +113 -64
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"displayName": "MELCloud Control",
|
|
3
3
|
"name": "homebridge-melcloud-control",
|
|
4
|
-
"version": "3.8.0-beta.
|
|
4
|
+
"version": "3.8.0-beta.30",
|
|
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/deviceatw.js
CHANGED
|
@@ -94,7 +94,10 @@ class DeviceAtw extends EventEmitter {
|
|
|
94
94
|
this.deviceData = {};
|
|
95
95
|
|
|
96
96
|
//accessory
|
|
97
|
-
this.accessory = {
|
|
97
|
+
this.accessory = {
|
|
98
|
+
zones: [{}, {}, {}, {}],
|
|
99
|
+
zonesSensors: [{}, {}, {}, {}]
|
|
100
|
+
};
|
|
98
101
|
this.accessory.useFahrenheit = useFahrenheit ? 1 : 0;
|
|
99
102
|
this.accessory.temperatureUnit = TemperatureDisplayUnits[this.accessory.useFahrenheit];
|
|
100
103
|
};
|
|
@@ -292,6 +295,12 @@ class DeviceAtw extends EventEmitter {
|
|
|
292
295
|
const caseHotWater = this.accessory.caseHotWater;
|
|
293
296
|
const caseZone2 = this.accessory.caseZone2;
|
|
294
297
|
const heatCoolModes = this.accessory.heatCoolModes;
|
|
298
|
+
|
|
299
|
+
const zonesSensorsCount = this.accessory.sensorsCount;
|
|
300
|
+
const caseHeatPumpSensor = this.accessory.caseHeatPumpSensor;
|
|
301
|
+
const caseZone1Sensor = this.accessory.caseZone1Sensor;
|
|
302
|
+
const caseHotWaterSensor = this.accessory.caseHotWaterSensor;
|
|
303
|
+
const caseZone2Sensor = this.accessory.caseZone2Sensor;
|
|
295
304
|
const temperatureSensor = this.temperatureSensor;
|
|
296
305
|
const temperatureSensorFlow = this.temperatureSensorFlow;
|
|
297
306
|
const temperatureSensorReturn = this.temperatureSensorReturn;
|
|
@@ -819,10 +828,16 @@ class DeviceAtw extends EventEmitter {
|
|
|
819
828
|
accessory.addService(melCloudServiceT);
|
|
820
829
|
break;
|
|
821
830
|
};
|
|
831
|
+
});
|
|
832
|
+
};
|
|
822
833
|
|
|
823
|
-
|
|
834
|
+
//temperature sensor services zones
|
|
835
|
+
if (zonesSensorsCount > 0) {
|
|
836
|
+
this.accessory.zonesSensors.forEach((zone, i) => {
|
|
837
|
+
const zoneName = zone.name
|
|
838
|
+
const serviceName = `${deviceTypeText} ${accessoryName}: ${zoneName}`;
|
|
824
839
|
switch (i) {
|
|
825
|
-
case
|
|
840
|
+
case caseHeatPumpSensor: //Heat Pump
|
|
826
841
|
if (temperatureSensor && zone.roomTemperature !== null) {
|
|
827
842
|
const debug = this.enableDebugMode ? this.emit('debug', `${zoneName}, Prepare temperature sensor service`) : false;
|
|
828
843
|
this.roomTemperatureSensorService = new Service.TemperatureSensor(`${serviceName}`, `${zoneName} Temperature Sensor ${deviceId} ${i}`);
|
|
@@ -878,7 +893,7 @@ class DeviceAtw extends EventEmitter {
|
|
|
878
893
|
accessory.addService(this.returnTemperatureSensorService);
|
|
879
894
|
};
|
|
880
895
|
break;
|
|
881
|
-
case
|
|
896
|
+
case caseZone1Sensor: //Zone 1
|
|
882
897
|
if (temperatureSensor && zone.roomTemperature !== null) {
|
|
883
898
|
const debug = this.enableDebugMode ? this.emit('debug', `${zoneName}, Prepare temperature sensor service`) : false;
|
|
884
899
|
this.roomTemperatureZone1SensorService = new Service.TemperatureSensor(`${serviceName}`, `${zoneName} Temperature Sensor ${deviceId} ${i}`);
|
|
@@ -933,7 +948,7 @@ class DeviceAtw extends EventEmitter {
|
|
|
933
948
|
accessory.addService(this.returnTemperatureZone1SensorService);
|
|
934
949
|
};
|
|
935
950
|
break;
|
|
936
|
-
case
|
|
951
|
+
case caseHotWaterSensor: //Hot Water
|
|
937
952
|
if (temperatureSensor && zone.roomTemperature !== null) {
|
|
938
953
|
const debug = this.enableDebugMode ? this.emit('debug', `${zoneName}, Prepare temperature sensor service`) : false;
|
|
939
954
|
this.roomTemperatureWaterTankSensorService = new Service.TemperatureSensor(`${serviceName}`, `${zoneName} Temperature Sensor ${deviceId} ${i}`);
|
|
@@ -988,7 +1003,7 @@ class DeviceAtw extends EventEmitter {
|
|
|
988
1003
|
accessory.addService(this.returnTemperatureWaterTankSensorService);
|
|
989
1004
|
};
|
|
990
1005
|
break;
|
|
991
|
-
case
|
|
1006
|
+
case caseZone2Sensor: //Zone 2
|
|
992
1007
|
if (temperatureSensor && zone.roomTemperature !== null) {
|
|
993
1008
|
const debug = this.enableDebugMode ? this.emit('debug', `${zoneName}, Prepare temperature sensor service`) : false;
|
|
994
1009
|
this.roomTemperatureZone2SensorService = new Service.TemperatureSensor(`${serviceName}`, `${zoneName} Temperature Sensor ${deviceId} ${i}`);
|
|
@@ -1350,12 +1365,20 @@ class DeviceAtw extends EventEmitter {
|
|
|
1350
1365
|
const maxTankTemperature = deviceData.Device.MaxTankTemperature ?? 70;
|
|
1351
1366
|
|
|
1352
1367
|
//zones
|
|
1353
|
-
let
|
|
1354
|
-
const caseHeatPump = hasHeatPump ?
|
|
1355
|
-
const caseZone1 = hasZone1 ?
|
|
1356
|
-
const caseHotWater = hasHotWaterTank ?
|
|
1357
|
-
const caseZone2 = hasZone2 ?
|
|
1358
|
-
const zonesCount =
|
|
1368
|
+
let currentZoneCase = 0;
|
|
1369
|
+
const caseHeatPump = hasHeatPump ? currentZoneCase++ : -1;
|
|
1370
|
+
const caseZone1 = hasZone1 ? currentZoneCase++ : -1;
|
|
1371
|
+
const caseHotWater = hasHotWaterTank ? currentZoneCase++ : -1;
|
|
1372
|
+
const caseZone2 = hasZone2 ? currentZoneCase++ : -1;
|
|
1373
|
+
const zonesCount = currentZoneCase;
|
|
1374
|
+
|
|
1375
|
+
//zones sensors
|
|
1376
|
+
let currentZoneSensorCase = 0;
|
|
1377
|
+
const caseHeatPumpSensor = this.temperatureSensor || this.temperatureSensorFlow || this.temperatureSensorReturn ? currentZoneSensorCase++ : -1;
|
|
1378
|
+
const caseZone1Sensor = this.temperatureSensorFlowZone1 || this.temperatureSensorReturnZone1 ? currentZoneSensorCase++ : -1;
|
|
1379
|
+
const caseHotWaterSensor = deviceData.Device.HasHotWaterTank && (this.temperatureSensorFlowWaterTank || this.temperatureSensorReturnWaterTank) ? currentZoneSensorCase++ : -1;
|
|
1380
|
+
const caseZone2Sensor = deviceData.Device.HasZone2 && (this.temperatureSensorFlowZone1 || this.temperatureSensorReturnZone1) ? currentZoneSensorCase++ : -1;
|
|
1381
|
+
const zonesSensorsCount = currentZoneSensorCase;
|
|
1359
1382
|
|
|
1360
1383
|
//heat pump
|
|
1361
1384
|
const heatPumpName = 'Heat Pump';
|
|
@@ -1418,6 +1441,11 @@ class DeviceAtw extends EventEmitter {
|
|
|
1418
1441
|
this.accessory.caseHotWater = caseHotWater;
|
|
1419
1442
|
this.accessory.caseZone2 = caseZone2;
|
|
1420
1443
|
this.accessory.zonesCount = zonesCount;
|
|
1444
|
+
this.accessory.caseHeatPumpSensor = caseHeatPumpSensor;
|
|
1445
|
+
this.accessory.caseZone1Sensor = caseZone1Sensor;
|
|
1446
|
+
this.accessory.caseHotWaterSensor = caseHotWaterSensor;
|
|
1447
|
+
this.accessory.caseZone2Sensor = caseZone2Sensor;
|
|
1448
|
+
this.accessory.sensorsCount = zonesSensorsCount;
|
|
1421
1449
|
|
|
1422
1450
|
//default values
|
|
1423
1451
|
let name = 'Heat Pump'
|
|
@@ -1434,6 +1462,7 @@ class DeviceAtw extends EventEmitter {
|
|
|
1434
1462
|
let operationModeSetPropsValidValues = [0];
|
|
1435
1463
|
let temperatureSetPropsMinValue = -35;
|
|
1436
1464
|
let temperatureSetPropsMaxValue = 100;
|
|
1465
|
+
let roomTemperatureSensor = 20;
|
|
1437
1466
|
|
|
1438
1467
|
for (let i = 0; i < zonesCount; i++) {
|
|
1439
1468
|
switch (this.displayMode) {
|
|
@@ -1446,10 +1475,8 @@ class DeviceAtw extends EventEmitter {
|
|
|
1446
1475
|
targetOperationMode = [1, 2][unitStatus]; //AUTO, HEAT, COOL
|
|
1447
1476
|
roomTemperature = outdoorTemperature;
|
|
1448
1477
|
setTemperature = outdoorTemperature;
|
|
1449
|
-
lockPhysicalControl = hasHotWaterTank && hasZone2 ? (prohibitZone1 && prohibitHotWater && prohibitZone2 ? 1 : 0) : hasHotWaterTank ? (prohibitZone1 && prohibitHotWater ? 1 : 0) : hasZone2 ? (prohibitZone1 && prohibitZone2 ? 1 : 0) : 0;
|
|
1450
|
-
flowTemperature = flowTemperatureHeatPump;
|
|
1451
|
-
returnTemperature = returnTemperatureHeatPump;
|
|
1452
1478
|
|
|
1479
|
+
lockPhysicalControl = hasHotWaterTank && hasZone2 ? (prohibitZone1 && prohibitHotWater && prohibitZone2 ? 1 : 0) : hasHotWaterTank ? (prohibitZone1 && prohibitHotWater ? 1 : 0) : hasZone2 ? (prohibitZone1 && prohibitZone2 ? 1 : 0) : 0;
|
|
1453
1480
|
operationModeSetPropsMinValue = [1, 1, 2, 0][heatCoolModes];
|
|
1454
1481
|
operationModeSetPropsMaxValue = [2, 1, 2, 0][heatCoolModes];
|
|
1455
1482
|
operationModeSetPropsValidValues = [[1, 2], [1], [2], [0]][heatCoolModes];
|
|
@@ -1484,9 +1511,6 @@ class DeviceAtw extends EventEmitter {
|
|
|
1484
1511
|
};
|
|
1485
1512
|
|
|
1486
1513
|
lockPhysicalControl = prohibitZone1 ? 1 : 0;
|
|
1487
|
-
flowTemperature = flowTemperatureZone1;
|
|
1488
|
-
returnTemperature = returnTemperatureZone1;
|
|
1489
|
-
|
|
1490
1514
|
operationModeSetPropsMinValue = [0, 0, 1, 0][heatCoolModes];
|
|
1491
1515
|
operationModeSetPropsMaxValue = [2, 2, 2, 0][heatCoolModes];
|
|
1492
1516
|
operationModeSetPropsValidValues = [[0, 1, 2], [0, 1, 2], [1, 2], [0]][heatCoolModes];
|
|
@@ -1498,10 +1522,8 @@ class DeviceAtw extends EventEmitter {
|
|
|
1498
1522
|
targetOperationMode = [0, 1][forcedHotWaterMode] //AUTO, HEAT, COOL
|
|
1499
1523
|
roomTemperature = tankWaterTemperature;
|
|
1500
1524
|
setTemperature = setTankWaterTemperature;
|
|
1501
|
-
lockPhysicalControl = prohibitHotWater ? 1 : 0;
|
|
1502
|
-
flowTemperature = flowTemperatureWaterTank;
|
|
1503
|
-
returnTemperature = returnTemperatureWaterTank;
|
|
1504
1525
|
|
|
1526
|
+
lockPhysicalControl = prohibitHotWater ? 1 : 0;
|
|
1505
1527
|
operationModeSetPropsMinValue = 0;
|
|
1506
1528
|
operationModeSetPropsMaxValue = 1;
|
|
1507
1529
|
operationModeSetPropsValidValues = [0, 1];
|
|
@@ -1536,9 +1558,6 @@ class DeviceAtw extends EventEmitter {
|
|
|
1536
1558
|
};
|
|
1537
1559
|
|
|
1538
1560
|
lockPhysicalControl = prohibitZone2 ? 1 : 0;
|
|
1539
|
-
flowTemperature = flowTemperatureZone2;
|
|
1540
|
-
returnTemperature = returnTemperatureZone2;
|
|
1541
|
-
|
|
1542
1561
|
operationModeSetPropsMinValue = [0, 0, 1, 0][heatCoolModes];
|
|
1543
1562
|
operationModeSetPropsMaxValue = [2, 2, 2, 0][heatCoolModes];
|
|
1544
1563
|
operationModeSetPropsValidValues = [[0, 1, 2], [0, 1, 2], [1, 2], [0]][heatCoolModes];
|
|
@@ -1672,17 +1691,55 @@ class DeviceAtw extends EventEmitter {
|
|
|
1672
1691
|
this.accessory.zones[i].roomTemperature = roomTemperature;
|
|
1673
1692
|
this.accessory.zones[i].setTemperature = setTemperature;
|
|
1674
1693
|
this.accessory.zones[i].lockPhysicalControl = lockPhysicalControl;
|
|
1675
|
-
this.accessory.zones[i].flowTemperature = flowTemperature;
|
|
1676
|
-
this.accessory.zones[i].returnTemperature = returnTemperature;
|
|
1677
1694
|
this.accessory.zones[i].temperaturesSetPropsMinValue = temperatureSetPropsMinValue;
|
|
1678
1695
|
this.accessory.zones[i].temperaturesSetPropsMaxValue = temperatureSetPropsMaxValue;
|
|
1679
1696
|
const setPropsMinValue = this.startPrepareAccessory ? this.accessory.zones[i].operationModesSetPropsMinValue = operationModeSetPropsMinValue : false;
|
|
1680
1697
|
const setPropsMaxValue = this.startPrepareAccessory ? this.accessory.zones[i].operationModesSetPropsMaxValue = operationModeSetPropsMaxValue : false;
|
|
1681
1698
|
const setPropsValidValues = this.startPrepareAccessory ? this.accessory.zones[i].operationModesSetPropsValidValues = operationModeSetPropsValidValues : false;
|
|
1682
1699
|
|
|
1683
|
-
//
|
|
1700
|
+
//log current state
|
|
1701
|
+
if (!this.disableLogInfo) {
|
|
1702
|
+
let operationModeText = '';
|
|
1703
|
+
switch (i) {
|
|
1704
|
+
case caseHeatPump: //Heat Pump - HEAT, COOL, OFF
|
|
1705
|
+
this.emit('message', `${heatPumpName}, Power: ${power ? 'ON' : 'OFF'}`)
|
|
1706
|
+
this.emit('message', `${heatPumpName}, Operation mode: ${HeatPump.System[unitStatus]}`);
|
|
1707
|
+
this.emit('message', `${heatPumpName},'Outdoor temperature: ${roomTemperature}${this.accessory.temperatureUnit}`);
|
|
1708
|
+
this.emit('message', `${heatPumpName}, Temperature display unit: ${this.accessory.temperatureUnit}`);
|
|
1709
|
+
this.emit('message', `${heatPumpName}, Lock physical controls: ${lockPhysicalControl ? 'LOCKED' : 'UNLOCKED'}`);
|
|
1710
|
+
break;
|
|
1711
|
+
case caseZone1: //Zone 1 - HEAT THERMOSTAT, HEAT FLOW, HEAT CURVE, COOL THERMOSTAT, COOL FLOW, FLOOR DRY UP
|
|
1712
|
+
operationModeText = idleZone1 ? HeatPump.ZoneOperation[6] : HeatPump.ZoneOperation[operationModeZone1];
|
|
1713
|
+
this.emit('message', `${zone1Name}, Operation mode: ${operationModeText}`);
|
|
1714
|
+
this.emit('message', `${zone1Name}, Temperature: ${roomTemperature}${this.accessory.temperatureUnit}`);
|
|
1715
|
+
this.emit('message', `${zone1Name}, Target temperature: ${setTemperature}${this.accessory.temperatureUnit}`)
|
|
1716
|
+
this.emit('message', `${zone1Name}, Temperature display unit: ${this.accessory.temperatureUnit}`);
|
|
1717
|
+
this.emit('message', `${zone1Name}, Lock physical controls: ${lockPhysicalControl ? 'LOCKED' : 'UNLOCKED'}`);
|
|
1718
|
+
break;
|
|
1719
|
+
case caseHotWater: //Hot Water - AUTO, HEAT NOW
|
|
1720
|
+
operationModeText = operationMode === 1 ? HeatPump.ForceDhw[1] : HeatPump.ForceDhw[forcedHotWaterMode ? 1 : 0];
|
|
1721
|
+
this.emit('message', `${hotWaterName}, Operation mode: ${operationModeText}`);
|
|
1722
|
+
this.emit('message', `${hotWaterName}, Temperature: ${roomTemperature}${this.accessory.temperatureUnit}`);
|
|
1723
|
+
this.emit('message', `${hotWaterName}, Target temperature: ${setTemperature}${this.accessory.temperatureUnit}`)
|
|
1724
|
+
this.emit('message', `${hotWaterName}, Temperature display unit: ${this.accessory.temperatureUnit}`);
|
|
1725
|
+
this.emit('message', `${hotWaterName}, Lock physical controls: ${lockPhysicalControl ? 'LOCKED' : 'UNLOCKED'}`);
|
|
1726
|
+
break;
|
|
1727
|
+
case caseZone2: //Zone 2 - HEAT THERMOSTAT, HEAT FLOW, HEAT CURVE, COOL THERMOSTAT, COOL FLOW, FLOOR DRY UP
|
|
1728
|
+
operationModeText = idleZone2 ? HeatPump.ZoneOperation[6] : HeatPump.ZoneOperation[operationModeZone2];
|
|
1729
|
+
this.emit('message', `${zone2Name}, Operation mode: ${operationModeText}`);
|
|
1730
|
+
this.emit('message', `${zone2Name}, Temperature: ${roomTemperature}${this.accessory.temperatureUnit}`);
|
|
1731
|
+
this.emit('message', `${zone2Name}, Target temperature: ${setTemperature}${this.accessory.temperatureUnit}`)
|
|
1732
|
+
this.emit('message', `${zone2Name}, Temperature display unit: ${this.accessory.temperatureUnit}`);
|
|
1733
|
+
this.emit('message', `${zone2Name}, Lock physical controls: ${lockPhysicalControl ? 'LOCKED' : 'UNLOCKED'}`);
|
|
1734
|
+
break;
|
|
1735
|
+
};
|
|
1736
|
+
};
|
|
1737
|
+
};
|
|
1738
|
+
|
|
1739
|
+
//update temperature sensors characteristics
|
|
1740
|
+
for (let i = 0; i < zonesSensorsCount; i++) {
|
|
1684
1741
|
switch (i) {
|
|
1685
|
-
case
|
|
1742
|
+
case caseHeatPumpSensor: //Heat Pump
|
|
1686
1743
|
if (this.roomTemperatureSensorService) {
|
|
1687
1744
|
this.roomTemperatureSensorService
|
|
1688
1745
|
.updateCharacteristic(Characteristic.CurrentTemperature, roomTemperature)
|
|
@@ -1697,11 +1754,14 @@ class DeviceAtw extends EventEmitter {
|
|
|
1697
1754
|
this.returnTemperatureSensorService
|
|
1698
1755
|
.updateCharacteristic(Characteristic.CurrentTemperature, returnTemperature)
|
|
1699
1756
|
};
|
|
1757
|
+
roomTemperatureSensor = outdoorTemperature;
|
|
1758
|
+
flowTemperature = flowTemperatureHeatPump;
|
|
1759
|
+
returnTemperature = returnTemperatureHeatPump;
|
|
1700
1760
|
break;
|
|
1701
|
-
case
|
|
1761
|
+
case caseZone1Sensor: //Zone 1
|
|
1702
1762
|
if (this.roomTemperatureZone1SensorService) {
|
|
1703
1763
|
this.roomTemperatureZone1SensorService
|
|
1704
|
-
.updateCharacteristic(Characteristic.CurrentTemperature,
|
|
1764
|
+
.updateCharacteristic(Characteristic.CurrentTemperature, roomTemperatureZone1)
|
|
1705
1765
|
};
|
|
1706
1766
|
|
|
1707
1767
|
if (this.flowTemperatureZone1SensorService) {
|
|
@@ -1713,11 +1773,14 @@ class DeviceAtw extends EventEmitter {
|
|
|
1713
1773
|
this.returnTemperatureZone1SensorService
|
|
1714
1774
|
.updateCharacteristic(Characteristic.CurrentTemperature, returnTemperatureZone1)
|
|
1715
1775
|
};
|
|
1776
|
+
roomTemperatureSensor = roomTemperatureZone1;
|
|
1777
|
+
flowTemperature = flowTemperatureZone1;
|
|
1778
|
+
returnTemperature = returnTemperatureZone1;
|
|
1716
1779
|
break;
|
|
1717
|
-
case
|
|
1780
|
+
case caseHotWaterSensor: //Hot Water
|
|
1718
1781
|
if (this.roomTemperatureWaterTankSensorService) {
|
|
1719
1782
|
this.roomTemperatureWaterTankSensorService
|
|
1720
|
-
.updateCharacteristic(Characteristic.CurrentTemperature,
|
|
1783
|
+
.updateCharacteristic(Characteristic.CurrentTemperature, tankWaterTemperature)
|
|
1721
1784
|
};
|
|
1722
1785
|
|
|
1723
1786
|
if (this.flowTemperatureWaterTankSensorService) {
|
|
@@ -1729,11 +1792,14 @@ class DeviceAtw extends EventEmitter {
|
|
|
1729
1792
|
this.returnTemperatureWaterTankSensorService
|
|
1730
1793
|
.updateCharacteristic(Characteristic.CurrentTemperature, returnTemperatureWaterTank)
|
|
1731
1794
|
};
|
|
1795
|
+
roomTemperatureSensor = tankWaterTemperature;
|
|
1796
|
+
flowTemperature = flowTemperatureWaterTank;
|
|
1797
|
+
returnTemperature = returnTemperatureWaterTank;
|
|
1732
1798
|
break;
|
|
1733
|
-
case
|
|
1799
|
+
case caseZone2Sensor: //Zone 2
|
|
1734
1800
|
if (this.roomTemperatureZone2SensorService) {
|
|
1735
1801
|
this.roomTemperatureZone2SensorService
|
|
1736
|
-
.updateCharacteristic(Characteristic.CurrentTemperature,
|
|
1802
|
+
.updateCharacteristic(Characteristic.CurrentTemperature, roomTemperatureZone2)
|
|
1737
1803
|
};
|
|
1738
1804
|
|
|
1739
1805
|
if (this.flowTemperatureZone2SensorService) {
|
|
@@ -1745,51 +1811,34 @@ class DeviceAtw extends EventEmitter {
|
|
|
1745
1811
|
this.returnTemperatureZone2SensorService
|
|
1746
1812
|
.updateCharacteristic(Characteristic.CurrentTemperature, returnTemperatureZone2)
|
|
1747
1813
|
};
|
|
1814
|
+
roomTemperatureSensor = roomTemperatureZone2;
|
|
1815
|
+
flowTemperature = flowTemperatureZone2;
|
|
1816
|
+
returnTemperature = returnTemperatureZone2;
|
|
1748
1817
|
break;
|
|
1749
1818
|
};
|
|
1750
1819
|
|
|
1820
|
+
this.accessory.zonesSensors[i].roomTemperature = roomTemperatureSensor;
|
|
1821
|
+
this.accessory.zonesSensors[i].flowTemperature = flowTemperature;
|
|
1822
|
+
this.accessory.zonesSensors[i].returnTemperature = returnTemperature;
|
|
1823
|
+
|
|
1751
1824
|
//log current state
|
|
1752
1825
|
if (!this.disableLogInfo) {
|
|
1753
|
-
let operationModeText = '';
|
|
1754
1826
|
switch (i) {
|
|
1755
|
-
case
|
|
1756
|
-
this.emit('message', `${heatPumpName},
|
|
1757
|
-
this.emit('message', `${heatPumpName},
|
|
1758
|
-
this.emit('message', `${heatPumpName},'Outdoor temperature: ${roomTemperature}${this.accessory.temperatureUnit}`);
|
|
1759
|
-
const info = flowTemperature !== null ? this.emit('message', `${heatPumpName}, Flow temperature: ${flowTemperature}${this.accessory.temperatureUnit}`) : false;
|
|
1760
|
-
const info1 = returnTemperature !== null ? this.emit('message', `${heatPumpName}, Return temperature: ${returnTemperature}${this.accessory.temperatureUnit}`) : false;
|
|
1761
|
-
this.emit('message', `${heatPumpName}, Temperature display unit: ${this.accessory.temperatureUnit}`);
|
|
1762
|
-
this.emit('message', `${heatPumpName}, Lock physical controls: ${lockPhysicalControl ? 'LOCKED' : 'UNLOCKED'}`);
|
|
1827
|
+
case caseHeatPumpSensor: //Heat Pump - HEAT, COOL, OFF
|
|
1828
|
+
const info = flowTemperatureHeatPump !== null ? this.emit('message', `${heatPumpName}, Flow temperature: ${flowTemperature}${this.accessory.temperatureUnit}`) : false;
|
|
1829
|
+
const info1 = returnTemperatureHeatPump !== null ? this.emit('message', `${heatPumpName}, Return temperature: ${returnTemperature}${this.accessory.temperatureUnit}`) : false;
|
|
1763
1830
|
break;
|
|
1764
|
-
case
|
|
1765
|
-
operationModeText = idleZone1 ? HeatPump.ZoneOperation[6] : HeatPump.ZoneOperation[operationModeZone1];
|
|
1766
|
-
this.emit('message', `${zone1Name}, Operation mode: ${operationModeText}`);
|
|
1767
|
-
this.emit('message', `${zone1Name}, Temperature: ${roomTemperature}${this.accessory.temperatureUnit}`);
|
|
1768
|
-
this.emit('message', `${zone1Name}, Target temperature: ${setTemperature}${this.accessory.temperatureUnit}`)
|
|
1831
|
+
case caseZone1Sensor: //Zone 1 - HEAT THERMOSTAT, HEAT FLOW, HEAT CURVE, COOL THERMOSTAT, COOL FLOW, FLOOR DRY UP
|
|
1769
1832
|
const info2 = flowTemperatureZone1 !== null ? this.emit('message', `${zone1Name}, Flow temperature: ${flowTemperatureZone1}${this.accessory.temperatureUnit}`) : false;
|
|
1770
1833
|
const info3 = returnTemperatureZone1 !== null ? this.emit('message', `${zone1Name}, Return temperature: ${returnTemperatureZone1}${this.accessory.temperatureUnit}`) : false;
|
|
1771
|
-
this.emit('message', `${zone1Name}, Temperature display unit: ${this.accessory.temperatureUnit}`);
|
|
1772
|
-
this.emit('message', `${zone1Name}, Lock physical controls: ${lockPhysicalControl ? 'LOCKED' : 'UNLOCKED'}`);
|
|
1773
1834
|
break;
|
|
1774
|
-
case
|
|
1775
|
-
operationModeText = operationMode === 1 ? HeatPump.ForceDhw[1] : HeatPump.ForceDhw[forcedHotWaterMode ? 1 : 0];
|
|
1776
|
-
this.emit('message', `${hotWaterName}, Operation mode: ${operationModeText}`);
|
|
1777
|
-
this.emit('message', `${hotWaterName}, Temperature: ${roomTemperature}${this.accessory.temperatureUnit}`);
|
|
1778
|
-
this.emit('message', `${hotWaterName}, Target temperature: ${setTemperature}${this.accessory.temperatureUnit}`)
|
|
1835
|
+
case caseHotWaterSensor: //Hot Water - AUTO, HEAT NOW
|
|
1779
1836
|
const info4 = flowTemperatureWaterTank !== null ? this.emit('message', `${hotWaterName}, Flow temperature: ${flowTemperatureWaterTank}${this.accessory.temperatureUnit}`) : false;
|
|
1780
1837
|
const info5 = returnTemperatureWaterTank !== null ? this.emit('message', `${hotWaterName}, Return temperature: ${returnTemperatureWaterTank}${this.accessory.temperatureUnit}`) : false;
|
|
1781
|
-
this.emit('message', `${hotWaterName}, Temperature display unit: ${this.accessory.temperatureUnit}`);
|
|
1782
|
-
this.emit('message', `${hotWaterName}, Lock physical controls: ${lockPhysicalControl ? 'LOCKED' : 'UNLOCKED'}`);
|
|
1783
1838
|
break;
|
|
1784
|
-
case
|
|
1785
|
-
operationModeText = idleZone2 ? HeatPump.ZoneOperation[6] : HeatPump.ZoneOperation[operationModeZone2];
|
|
1786
|
-
this.emit('message', `${zone2Name}, Operation mode: ${operationModeText}`);
|
|
1787
|
-
this.emit('message', `${zone2Name}, Temperature: ${roomTemperature}${this.accessory.temperatureUnit}`);
|
|
1788
|
-
this.emit('message', `${zone2Name}, Target temperature: ${setTemperature}${this.accessory.temperatureUnit}`)
|
|
1839
|
+
case caseZone2Sensor: //Zone 2 - HEAT THERMOSTAT, HEAT FLOW, HEAT CURVE, COOL THERMOSTAT, COOL FLOW, FLOOR DRY UP
|
|
1789
1840
|
const info6 = flowTemperatureZone2 !== null ? this.emit('message', `${zone2Name}, Flow temperature: ${flowTemperatureZone2}${this.accessory.temperatureUnit}`) : false;
|
|
1790
1841
|
const info7 = roomTemperatureZone2 !== null ? this.emit('message', `${zone2Name}, Return temperature: ${roomTemperatureZone2}${this.accessory.temperatureUnit}`) : false;
|
|
1791
|
-
this.emit('message', `${zone2Name}, Temperature display unit: ${this.accessory.temperatureUnit}`);
|
|
1792
|
-
this.emit('message', `${zone2Name}, Lock physical controls: ${lockPhysicalControl ? 'LOCKED' : 'UNLOCKED'}`);
|
|
1793
1842
|
break;
|
|
1794
1843
|
};
|
|
1795
1844
|
};
|