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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. 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.29",
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 = { zones: [{}, {}, {}, {}] };
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
- //temperature sensor services zones
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 caseHeatPump: //Heat Pump
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 caseZone1: //Zone 1
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 caseHotWater: //Hot Water
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 caseZone2: //Zone 2
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 currentCase = 0;
1354
- const caseHeatPump = hasHeatPump ? currentCase++ : -1;
1355
- const caseZone1 = hasZone1 ? currentCase++ : -1;
1356
- const caseHotWater = hasHotWaterTank ? currentCase++ : -1;
1357
- const caseZone2 = hasZone2 ? currentCase++ : -1;
1358
- const zonesCount = currentCase;
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
- //update temperature sensors characteristics
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 caseHeatPump: //Heat Pump
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 caseZone1: //Zone 1
1761
+ case caseZone1Sensor: //Zone 1
1702
1762
  if (this.roomTemperatureZone1SensorService) {
1703
1763
  this.roomTemperatureZone1SensorService
1704
- .updateCharacteristic(Characteristic.CurrentTemperature, roomTemperature)
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 caseHotWater: //Hot Water
1780
+ case caseHotWaterSensor: //Hot Water
1718
1781
  if (this.roomTemperatureWaterTankSensorService) {
1719
1782
  this.roomTemperatureWaterTankSensorService
1720
- .updateCharacteristic(Characteristic.CurrentTemperature, roomTemperature)
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 caseZone2: //Zone 2
1799
+ case caseZone2Sensor: //Zone 2
1734
1800
  if (this.roomTemperatureZone2SensorService) {
1735
1801
  this.roomTemperatureZone2SensorService
1736
- .updateCharacteristic(Characteristic.CurrentTemperature, roomTemperature)
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 caseHeatPump: //Heat Pump - HEAT, COOL, OFF
1756
- this.emit('message', `${heatPumpName}, Power: ${power ? 'ON' : 'OFF'}`)
1757
- this.emit('message', `${heatPumpName}, Operation mode: ${HeatPump.System[unitStatus]}`);
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 caseZone1: //Zone 1 - HEAT THERMOSTAT, HEAT FLOW, HEAT CURVE, COOL THERMOSTAT, COOL FLOW, FLOOR DRY UP
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 caseHotWater: //Hot Water - AUTO, HEAT NOW
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 caseZone2: //Zone 2 - HEAT THERMOSTAT, HEAT FLOW, HEAT CURVE, COOL THERMOSTAT, COOL FLOW, FLOOR DRY UP
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
  };