homebridge-melcloud-control 3.3.12-beta.24 → 3.3.12-beta.26
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/deviceata.js +12 -24
- package/src/deviceatw.js +0 -112
- package/src/deviceerv.js +14 -74
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"displayName": "MELCloud Control",
|
|
3
3
|
"name": "homebridge-melcloud-control",
|
|
4
|
-
"version": "3.3.12-beta.
|
|
4
|
+
"version": "3.3.12-beta.26",
|
|
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
|
@@ -290,7 +290,7 @@ class DeviceAta extends EventEmitter {
|
|
|
290
290
|
case true:
|
|
291
291
|
switch (operationMode) {
|
|
292
292
|
case 1: //HEAT
|
|
293
|
-
this.accessory.currentOperationMode = roomTemperature
|
|
293
|
+
this.accessory.currentOperationMode = roomTemperature > setTemperature ? 1 : 2; //INACTIVE, IDLE, HEATING, COOLING
|
|
294
294
|
this.accessory.targetOperationMode = 1; //AUTO, HEAT, COOL
|
|
295
295
|
break;
|
|
296
296
|
case 2: //DRY
|
|
@@ -298,7 +298,7 @@ class DeviceAta extends EventEmitter {
|
|
|
298
298
|
this.accessory.targetOperationMode = this.autoDryFanMode === 2 ? 0 : this.heatDryFanMode === 2 ? 1 : this.coolDryFanMode === 2 ? 2 : this.accessory.targetOperationMode;
|
|
299
299
|
break;
|
|
300
300
|
case 3: //COOL
|
|
301
|
-
this.accessory.currentOperationMode = roomTemperature
|
|
301
|
+
this.accessory.currentOperationMode = roomTemperature < setTemperature ? 1 : 3;
|
|
302
302
|
this.accessory.targetOperationMode = 2;
|
|
303
303
|
break;
|
|
304
304
|
case 7: //FAN
|
|
@@ -306,11 +306,11 @@ class DeviceAta extends EventEmitter {
|
|
|
306
306
|
this.accessory.targetOperationMode = this.autoDryFanMode === 3 ? 0 : this.heatDryFanMode === 3 ? 1 : this.coolDryFanMode === 3 ? 2 : this.accessory.targetOperationMode;
|
|
307
307
|
break;
|
|
308
308
|
case 8: //AUTO
|
|
309
|
-
this.accessory.currentOperationMode = 1;
|
|
309
|
+
this.accessory.currentOperationMode = roomTemperature < setTemperature ? 2 : roomTemperature > setTemperature ? 3 : 1;
|
|
310
310
|
this.accessory.targetOperationMode = 0;
|
|
311
311
|
break;
|
|
312
312
|
case 9: //ISEE HEAT
|
|
313
|
-
this.accessory.currentOperationMode = roomTemperature
|
|
313
|
+
this.accessory.currentOperationMode = roomTemperature > setTemperature ? 1 : 2
|
|
314
314
|
this.accessory.targetOperationMode = 1;
|
|
315
315
|
break;
|
|
316
316
|
case 10: //ISEE DRY
|
|
@@ -318,7 +318,7 @@ class DeviceAta extends EventEmitter {
|
|
|
318
318
|
this.accessory.targetOperationMode = this.autoDryFanMode === 2 ? 0 : this.heatDryFanMode === 2 ? 1 : this.coolDryFanMode === 2 ? 2 : this.accessory.targetOperationMode;
|
|
319
319
|
break;
|
|
320
320
|
case 11: //ISEE COOL;
|
|
321
|
-
this.accessory.currentOperationMode = roomTemperature
|
|
321
|
+
this.accessory.currentOperationMode = roomTemperature < setTemperature ? 1 : 3;
|
|
322
322
|
this.accessory.targetOperationMode = 2;
|
|
323
323
|
break;
|
|
324
324
|
default:
|
|
@@ -374,8 +374,8 @@ class DeviceAta extends EventEmitter {
|
|
|
374
374
|
.updateCharacteristic(Characteristic.TargetHeaterCoolerState, this.accessory.targetOperationMode)
|
|
375
375
|
.updateCharacteristic(Characteristic.CurrentTemperature, roomTemperature)
|
|
376
376
|
.updateCharacteristic(Characteristic.LockPhysicalControls, this.accessory.lockPhysicalControl)
|
|
377
|
-
.updateCharacteristic(Characteristic.TemperatureDisplayUnits, this.accessory.useFahrenheit)
|
|
378
|
-
|
|
377
|
+
.updateCharacteristic(Characteristic.TemperatureDisplayUnits, this.accessory.useFahrenheit)
|
|
378
|
+
.updateCharacteristic(Characteristic.CoolingThresholdTemperature, setTemperature);
|
|
379
379
|
const updateDefHeat = modelSupportsHeat ? this.melCloudService.updateCharacteristic(Characteristic.HeatingThresholdTemperature, this.accessory.targetOperationMode !== 1 ? 10 : setTemperature) : false;
|
|
380
380
|
const updateRS = modelSupportsFanSpeed ? this.melCloudService.updateCharacteristic(Characteristic.RotationSpeed, this.accessory.fanSpeed) : false;
|
|
381
381
|
const updateSM = swingFunction ? this.melCloudService.updateCharacteristic(Characteristic.SwingMode, this.accessory.swingMode) : false;
|
|
@@ -392,7 +392,7 @@ class DeviceAta extends EventEmitter {
|
|
|
392
392
|
this.accessory.targetOperationMode = 1; //OFF, HEAT, COOL, AUTO
|
|
393
393
|
break;
|
|
394
394
|
case 2: //DRY
|
|
395
|
-
this.accessory.currentOperationMode =
|
|
395
|
+
this.accessory.currentOperationMode = 0;
|
|
396
396
|
this.accessory.targetOperationMode = this.autoDryFanMode === 2 ? 3 : this.heatDryFanMode === 2 ? 1 : this.coolDryFanMode === 2 ? 2 : this.accessory.targetOperationMode;
|
|
397
397
|
break;
|
|
398
398
|
case 3: //COOL
|
|
@@ -400,23 +400,11 @@ class DeviceAta extends EventEmitter {
|
|
|
400
400
|
this.accessory.targetOperationMode = 2;
|
|
401
401
|
break;
|
|
402
402
|
case 7: //FAN
|
|
403
|
-
this.accessory.currentOperationMode =
|
|
403
|
+
this.accessory.currentOperationMode = 0;
|
|
404
404
|
this.accessory.targetOperationMode = this.autoDryFanMode === 3 ? 3 : this.heatDryFanMode === 3 ? 1 : this.coolDryFanMode === 3 ? 2 : this.accessory.targetOperationMode;
|
|
405
405
|
break;
|
|
406
406
|
case 8: //AUTO
|
|
407
|
-
|
|
408
|
-
case 2: //HEATING
|
|
409
|
-
const heatingToFan = roomTemperature > (defaultHeatingSetTemperature + 1);
|
|
410
|
-
this.accessory.currentOperationMode = heatingToFan ? 0 : 1;
|
|
411
|
-
break;
|
|
412
|
-
case 3: //COOLING
|
|
413
|
-
const coolingToFan = roomTemperature < (defaultCoolingSetTemperature - 1);
|
|
414
|
-
this.accessory.currentOperationMode = coolingToFan ? 0 : 2;
|
|
415
|
-
break;
|
|
416
|
-
default: //FAN
|
|
417
|
-
this.accessory.currentOperationMode = roomTemperature >= defaultHeatingSetTemperature && roomTemperature <= defaultCoolingSetTemperature ? 0 : roomTemperature < defaultHeatingSetTemperature ? 1 : roomTemperature > defaultCoolingSetTemperature ? 2 : this.accessory.currentOperationMode;
|
|
418
|
-
break;
|
|
419
|
-
};
|
|
407
|
+
this.accessory.currentOperationMode = roomTemperature < setTemperature ? 1 : roomTemperature > setTemperature ? 2 : 0;
|
|
420
408
|
this.accessory.targetOperationMode = 3;
|
|
421
409
|
break;
|
|
422
410
|
case 9: //ISEE HEAT
|
|
@@ -424,7 +412,7 @@ class DeviceAta extends EventEmitter {
|
|
|
424
412
|
this.accessory.targetOperationMode = 1;
|
|
425
413
|
break;
|
|
426
414
|
case 10: //ISEE DRY
|
|
427
|
-
this.accessory.currentOperationMode =
|
|
415
|
+
this.accessory.currentOperationMode = 0;
|
|
428
416
|
this.accessory.targetOperationMode = this.autoDryFanMode === 2 ? 3 : this.heatDryFanMode === 2 ? 1 : this.coolDryFanMode === 2 ? 2 : this.accessory.targetOperationMode;
|
|
429
417
|
break;
|
|
430
418
|
case 11: //ISEE COOL;
|
|
@@ -949,7 +937,7 @@ class DeviceAta extends EventEmitter {
|
|
|
949
937
|
|
|
950
938
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.SetTemperature;
|
|
951
939
|
await this.melCloudAta.send(deviceData);
|
|
952
|
-
const info = this.disableLogInfo ? false : this.emit('message', `Set
|
|
940
|
+
const info = this.disableLogInfo ? false : this.emit('message', `Set temperature: ${value}${this.accessory.temperatureUnit}`);
|
|
953
941
|
} catch (error) {
|
|
954
942
|
this.emit('warn', `Set heating threshold temperature error: ${error}`);
|
|
955
943
|
};
|
package/src/deviceatw.js
CHANGED
|
@@ -1428,118 +1428,6 @@ class DeviceAtw extends EventEmitter {
|
|
|
1428
1428
|
this.emit('warn', `${zoneName}, Set temperature error: ${error}`);
|
|
1429
1429
|
};
|
|
1430
1430
|
});
|
|
1431
|
-
//only for heat/cool, only cool and not for hot water tank
|
|
1432
|
-
if ((heatCoolModes === 0 || heatCoolModes === 2) && i !== caseHotWater) {
|
|
1433
|
-
melCloudServiceT.getCharacteristic(Characteristic.CoolingThresholdTemperature)
|
|
1434
|
-
.setProps({
|
|
1435
|
-
minValue: this.accessory.zones[i].temperaturesSetPropsMinValue,
|
|
1436
|
-
maxValue: this.accessory.zones[i].temperaturesSetPropsMaxValue,
|
|
1437
|
-
minStep: this.accessory.temperatureIncrement
|
|
1438
|
-
})
|
|
1439
|
-
.onGet(async () => {
|
|
1440
|
-
const value = this.accessory.zones[i].setTemperature;
|
|
1441
|
-
return value;
|
|
1442
|
-
})
|
|
1443
|
-
.onSet(async (value) => {
|
|
1444
|
-
try {
|
|
1445
|
-
switch (i) {
|
|
1446
|
-
case 0: //Heat Pump
|
|
1447
|
-
//deviceData.Device.SetTemperatureZone1 = value;
|
|
1448
|
-
//deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.SetTemperatureZone1;
|
|
1449
|
-
break;
|
|
1450
|
-
case 1: //Zone 1
|
|
1451
|
-
switch (this.accessory.operationModeZone1) {
|
|
1452
|
-
case 1: //HEAT FLOW
|
|
1453
|
-
deviceData.Device.SetHeatFlowTemperatureZone1 = value;
|
|
1454
|
-
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.SetHeatFlowTemperatureZone1;
|
|
1455
|
-
break;
|
|
1456
|
-
case 4: //COOL FLOW
|
|
1457
|
-
deviceData.Device.SetCoolFlowTemperatureZone1 = value;
|
|
1458
|
-
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.SetCoolFlowTemperatureZone1;
|
|
1459
|
-
break;
|
|
1460
|
-
};
|
|
1461
|
-
break;
|
|
1462
|
-
case caseHotWater: //Hot Water
|
|
1463
|
-
deviceData.Device.SetTankWaterTemperature = value;
|
|
1464
|
-
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.SetTankWaterTemperature;
|
|
1465
|
-
break;
|
|
1466
|
-
case caseZone2: //Zone 2
|
|
1467
|
-
switch (this.accessory.operationModeZone2) {
|
|
1468
|
-
case 1: //HEAT FLOW
|
|
1469
|
-
deviceData.Device.SetHeatFlowTemperatureZone2 = value;
|
|
1470
|
-
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.SetHeatFlowTemperatureZone2;
|
|
1471
|
-
break;
|
|
1472
|
-
case 4: //COOL FLOW
|
|
1473
|
-
deviceData.Device.SetCoolFlowTemperatureZone2 = value;
|
|
1474
|
-
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.SetCoolFlowTemperatureZone2;
|
|
1475
|
-
break;
|
|
1476
|
-
};
|
|
1477
|
-
break;
|
|
1478
|
-
};
|
|
1479
|
-
|
|
1480
|
-
const set = i > 0 ? await this.melCloudAtw.send(deviceData) : false;
|
|
1481
|
-
const info = this.disableLogInfo || i === 0 ? false : this.emit('message', `${zoneName}, Set cooling threshold temperature: ${value}${this.accessory.temperatureUnit}`);
|
|
1482
|
-
} catch (error) {
|
|
1483
|
-
this.emit('warn', `${zoneName}, Set cooling threshold temperature error: ${error}`);
|
|
1484
|
-
};
|
|
1485
|
-
});
|
|
1486
|
-
};
|
|
1487
|
-
//device can heat/cool or only heat
|
|
1488
|
-
if (heatCoolModes === 0 || heatCoolModes === 1) {
|
|
1489
|
-
melCloudServiceT.getCharacteristic(Characteristic.HeatingThresholdTemperature)
|
|
1490
|
-
.setProps({
|
|
1491
|
-
minValue: this.accessory.zones[i].temperaturesSetPropsMinValue,
|
|
1492
|
-
maxValue: this.accessory.zones[i].temperaturesSetPropsMaxValue,
|
|
1493
|
-
minStep: this.accessory.temperatureIncrement
|
|
1494
|
-
})
|
|
1495
|
-
.onGet(async () => {
|
|
1496
|
-
const value = this.accessory.zones[i].setTemperature;
|
|
1497
|
-
return value;
|
|
1498
|
-
})
|
|
1499
|
-
.onSet(async (value) => {
|
|
1500
|
-
try {
|
|
1501
|
-
switch (i) {
|
|
1502
|
-
case 0: //Heat Pump
|
|
1503
|
-
//deviceData.Device.SetTemperatureZone1 = value;
|
|
1504
|
-
//deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.SetTemperatureZone1;
|
|
1505
|
-
break;
|
|
1506
|
-
case 1: //Zone 1
|
|
1507
|
-
switch (this.accessory.operationModeZone1) {
|
|
1508
|
-
case 1: //HEAT FLOW
|
|
1509
|
-
deviceData.Device.SetHeatFlowTemperatureZone1 = value;
|
|
1510
|
-
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.SetHeatFlowTemperatureZone1;
|
|
1511
|
-
break;
|
|
1512
|
-
case 4: //COOL FLOW
|
|
1513
|
-
deviceData.Device.SetCoolFlowTemperatureZone1 = value;
|
|
1514
|
-
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.SetCoolFlowTemperatureZone1;
|
|
1515
|
-
break;
|
|
1516
|
-
};
|
|
1517
|
-
break;
|
|
1518
|
-
case caseHotWater: //Hot Water
|
|
1519
|
-
deviceData.Device.SetTankWaterTemperature = value;
|
|
1520
|
-
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.SetTankWaterTemperature;
|
|
1521
|
-
break;
|
|
1522
|
-
case caseZone2: //Zone 2
|
|
1523
|
-
switch (this.accessory.operationModeZone2) {
|
|
1524
|
-
case 1: //HEAT FLOW
|
|
1525
|
-
deviceData.Device.SetHeatFlowTemperatureZone2 = value;
|
|
1526
|
-
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.SetHeatFlowTemperatureZone2;
|
|
1527
|
-
break;
|
|
1528
|
-
case 4: //COOL FLOW
|
|
1529
|
-
deviceData.Device.SetCoolFlowTemperatureZone2 = value;
|
|
1530
|
-
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.SetCoolFlowTemperatureZone2;
|
|
1531
|
-
break;
|
|
1532
|
-
};
|
|
1533
|
-
break;
|
|
1534
|
-
};
|
|
1535
|
-
|
|
1536
|
-
const set = i > 0 ? await this.melCloudAtw.send(deviceData) : false;
|
|
1537
|
-
const info = this.disableLogInfo || i === 0 ? false : this.emit('message', `${zoneName}, Set heating threshold temperature: ${value}${this.accessory.temperatureUnit}`);
|
|
1538
|
-
} catch (error) {
|
|
1539
|
-
this.emit('warn', `${zoneName}, Set heating threshold temperature error: ${error}`);
|
|
1540
|
-
};
|
|
1541
|
-
});
|
|
1542
|
-
};
|
|
1543
1431
|
melCloudServiceT.getCharacteristic(Characteristic.TemperatureDisplayUnits)
|
|
1544
1432
|
.onGet(async () => {
|
|
1545
1433
|
const value = this.accessory.useFahrenheit;
|
package/src/deviceerv.js
CHANGED
|
@@ -354,8 +354,8 @@ class DeviceErv extends EventEmitter {
|
|
|
354
354
|
.updateCharacteristic(Characteristic.RotationSpeed, this.accessory.fanSpeed)
|
|
355
355
|
.updateCharacteristic(Characteristic.LockPhysicalControls, this.accessory.lockPhysicalControl)
|
|
356
356
|
.updateCharacteristic(Characteristic.TemperatureDisplayUnits, this.accessory.useFahrenheit);
|
|
357
|
-
const
|
|
358
|
-
const
|
|
357
|
+
const updateDefCool = hasCoolOperationMode ? this.melCloudService.updateCharacteristic(Characteristic.CoolingThresholdTemperature, setTemperature) : false;
|
|
358
|
+
const updateDefHeat = hasHeatOperationMode ? this.melCloudService.updateCharacteristic(Characteristic.HeatingThresholdTemperature, ventilationMode !== 2 ? 10 : setTemperature) : false;
|
|
359
359
|
};
|
|
360
360
|
break;
|
|
361
361
|
case 2: //Thermostat
|
|
@@ -407,8 +407,6 @@ class DeviceErv extends EventEmitter {
|
|
|
407
407
|
.updateCharacteristic(Characteristic.CurrentTemperature, roomTemperature)
|
|
408
408
|
.updateCharacteristic(Characteristic.TargetTemperature, targetTemperature)
|
|
409
409
|
.updateCharacteristic(Characteristic.TemperatureDisplayUnits, this.accessory.useFahrenheit);
|
|
410
|
-
const updateDefHeat = hasAutoVentilationMode && hasHeatOperationMode ? this.melCloudService.updateCharacteristic(Characteristic.HeatingThresholdTemperature, defaultHeatingSetTemperature) : false;
|
|
411
|
-
const updateDefCool = hasAutoVentilationMode && hasCoolOperationMode ? this.melCloudService.updateCharacteristic(Characteristic.CoolingThresholdTemperature, defaultCoolingSetTemperature) : false;
|
|
412
410
|
};
|
|
413
411
|
break;
|
|
414
412
|
};
|
|
@@ -542,12 +540,10 @@ class DeviceErv extends EventEmitter {
|
|
|
542
540
|
this.emit('message', `Power: ${power ? 'ON' : 'OFF'}`);
|
|
543
541
|
this.emit('message', `Target ventilation mode: ${CONSTANTS.Ventilation.OperationMode[ventilationMode]}`);
|
|
544
542
|
this.emit('message', `Current entilation mode: ${CONSTANTS.Ventilation.OperationMode[actualVentilationMode]}`);
|
|
543
|
+
this.emit('message', `Target temperature: ${targetTemperature}${this.accessory.temperatureUnit}`);
|
|
545
544
|
this.emit('message', `Room temperature: ${roomTemperature}${this.accessory.temperatureUnit}`);
|
|
546
|
-
const info = hasCoolOperationMode || hasHeatOperationMode ? this.emit('message', `Target temperature: ${targetTemperature}${this.accessory.temperatureUnit}`) : false;
|
|
547
545
|
const info1 = hasSupplyTemperature && deviceData.Device.SupplyTemperature !== null ? this.emit('message', `Supply temperature: ${roomTemperature}${this.accessory.temperatureUnit}`) : false;
|
|
548
546
|
const info2 = hasOutdoorTemperature && deviceData.Device.OutdoorTemperature !== null ? this.emit('message', `Outdoor temperature: ${roomTemperature}${this.accessory.temperatureUnit}`) : false;
|
|
549
|
-
const info3 = ventilationMode === 2 && hasHeatOperationMode ? this.emit('message', `Heating threshold temperature: ${defaultHeatingSetTemperature}${this.accessory.temperatureUnit}`) : false;
|
|
550
|
-
const info4 = ventilationMode === 2 && hasCoolOperationMode ? this.emit('message', `Cooling threshold temperature: ${defaultCoolingSetTemperature}${this.accessory.temperatureUnit}`) : false;
|
|
551
547
|
this.emit('message', `Fan speed mode: ${CONSTANTS.Ventilation.FanSpeed[setFanSpeed]}`);
|
|
552
548
|
this.emit('message', `Temperature display unit: ${this.accessory.temperatureUnit}`);
|
|
553
549
|
this.emit('message', `Core maintenance: ${CONSTANTS.Ventilation.CoreMaintenance[coreMaintenanceRequired]}`);
|
|
@@ -802,22 +798,15 @@ class DeviceErv extends EventEmitter {
|
|
|
802
798
|
minStep: this.accessory.temperatureIncrement
|
|
803
799
|
})
|
|
804
800
|
.onGet(async () => {
|
|
805
|
-
const value = this.
|
|
801
|
+
const value = this.accessory.setTemperature;
|
|
806
802
|
return value;
|
|
807
803
|
})
|
|
808
804
|
.onSet(async (value) => {
|
|
809
805
|
try {
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
deviceData.Device.DefaultCoolingSetTemperature = value;
|
|
813
|
-
break;
|
|
814
|
-
default:
|
|
815
|
-
deviceData.Device.SetTemperature = value;
|
|
816
|
-
break
|
|
817
|
-
};
|
|
818
|
-
deviceData.Device.EffectiveFlags = CONSTANTS.Ventilation.EffectiveFlags.SetTemperature;
|
|
806
|
+
deviceData.Device.SetTemperature = value;
|
|
807
|
+
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.SetTemperature;
|
|
819
808
|
await this.melCloudErv.send(deviceData);
|
|
820
|
-
const info = this.disableLogInfo ? false : this.emit('message', `Set
|
|
809
|
+
const info = this.disableLogInfo ? false : this.emit('message', `Set temperature: ${value}${this.accessory.temperatureUnit}`);
|
|
821
810
|
} catch (error) {
|
|
822
811
|
this.emit('warn', `Set cooling threshold temperature error: ${error}`);
|
|
823
812
|
};
|
|
@@ -832,22 +821,19 @@ class DeviceErv extends EventEmitter {
|
|
|
832
821
|
minStep: this.accessory.temperatureIncrement
|
|
833
822
|
})
|
|
834
823
|
.onGet(async () => {
|
|
835
|
-
const value = this.accessory.
|
|
824
|
+
const value = this.accessory.targetOperationMode !== 1 ? 10 : this.accessory.setTemperature;
|
|
836
825
|
return value;
|
|
837
826
|
})
|
|
838
827
|
.onSet(async (value) => {
|
|
839
828
|
try {
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
break;
|
|
844
|
-
default:
|
|
845
|
-
deviceData.Device.SetTemperature = value;
|
|
846
|
-
break
|
|
829
|
+
if (this.accessory.targetOperationMode !== 1) {
|
|
830
|
+
this.melCloudService.updateCharacteristic(Characteristic.HeatingThresholdTemperature, 10)
|
|
831
|
+
return;
|
|
847
832
|
};
|
|
848
|
-
|
|
833
|
+
|
|
834
|
+
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.SetTemperature;
|
|
849
835
|
await this.melCloudErv.send(deviceData);
|
|
850
|
-
const info = this.disableLogInfo ? false : this.emit('message', `Set
|
|
836
|
+
const info = this.disableLogInfo ? false : this.emit('message', `Set temperature: ${value}${this.accessory.temperatureUnit}`);
|
|
851
837
|
} catch (error) {
|
|
852
838
|
this.emit('warn', `Set heating threshold temperature error: ${error}`);
|
|
853
839
|
};
|
|
@@ -961,52 +947,6 @@ class DeviceErv extends EventEmitter {
|
|
|
961
947
|
this.emit('warn', `Set temperature error: ${error}`);
|
|
962
948
|
};
|
|
963
949
|
});
|
|
964
|
-
if (hasAutoVentilationMode) {
|
|
965
|
-
if (hasHeatOperationMode) {
|
|
966
|
-
this.melCloudService.getCharacteristic(Characteristic.HeatingThresholdTemperature)
|
|
967
|
-
.setProps({
|
|
968
|
-
minValue: 10,
|
|
969
|
-
maxValue: 31,
|
|
970
|
-
minStep: this.accessory.temperatureIncrement
|
|
971
|
-
})
|
|
972
|
-
.onGet(async () => {
|
|
973
|
-
const value = this.accessory.defaultHeatingSetTemperature;
|
|
974
|
-
return value;
|
|
975
|
-
})
|
|
976
|
-
.onSet(async (value) => {
|
|
977
|
-
try {
|
|
978
|
-
deviceData.Device.DefaultHeatingSetTemperature = value;
|
|
979
|
-
deviceData.Device.EffectiveFlags = CONSTANTS.Ventilation.EffectiveFlags.SetTemperature;
|
|
980
|
-
await this.melCloudErv.send(deviceData);
|
|
981
|
-
const info = this.disableLogInfo ? false : this.emit('message', `Set heating threshold temperature: ${value}${this.accessory.temperatureUnit}`);
|
|
982
|
-
} catch (error) {
|
|
983
|
-
this.emit('warn', `Set heating threshold temperature error: ${error}`);
|
|
984
|
-
};
|
|
985
|
-
});
|
|
986
|
-
};
|
|
987
|
-
if (hasCoolOperationMode) {
|
|
988
|
-
this.melCloudService.getCharacteristic(Characteristic.CoolingThresholdTemperature)
|
|
989
|
-
.setProps({
|
|
990
|
-
minValue: 16,
|
|
991
|
-
maxValue: 31,
|
|
992
|
-
minStep: this.accessory.temperatureIncrement
|
|
993
|
-
})
|
|
994
|
-
.onGet(async () => {
|
|
995
|
-
const value = this.accessory.defaultCoolingSetTemperature;
|
|
996
|
-
return value;
|
|
997
|
-
})
|
|
998
|
-
.onSet(async (value) => {
|
|
999
|
-
try {
|
|
1000
|
-
deviceData.Device.DefaultCoolingSetTemperature = value;
|
|
1001
|
-
deviceData.Device.EffectiveFlags = CONSTANTS.Ventilation.EffectiveFlags.SetTemperature;
|
|
1002
|
-
await this.melCloudErv.send(deviceData);
|
|
1003
|
-
const info = this.disableLogInfo ? false : this.emit('message', `Set cooling threshold temperature: ${value}${this.accessory.temperatureUnit}`);
|
|
1004
|
-
} catch (error) {
|
|
1005
|
-
this.emit('warn', `Set cooling threshold temperature error: ${error}`);
|
|
1006
|
-
};
|
|
1007
|
-
});
|
|
1008
|
-
};
|
|
1009
|
-
};
|
|
1010
950
|
this.melCloudService.getCharacteristic(Characteristic.TemperatureDisplayUnits)
|
|
1011
951
|
.onGet(async () => {
|
|
1012
952
|
const value = this.accessory.useFahrenheit;
|