homebridge-melcloud-control 3.8.0-beta.26 → 3.8.0-beta.28
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 +8 -15
- package/src/deviceatw.js +59 -66
- package/src/deviceerv.js +8 -15
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.28",
|
|
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
|
@@ -628,9 +628,7 @@ class DeviceAta extends EventEmitter {
|
|
|
628
628
|
if (this.presetsConfiguredCount > 0) {
|
|
629
629
|
const debug = this.enableDebugMode ? this.emit('debug', `Prepare presets services`) : false;
|
|
630
630
|
this.presetsServices = [];
|
|
631
|
-
|
|
632
|
-
for (let i = 0; i < this.presetsConfiguredCount; i++) {
|
|
633
|
-
const preset = this.presetsConfigured[i];
|
|
631
|
+
this.presetsConfigured.forEach((preset, i) => {
|
|
634
632
|
const presetData = presetsOnServer.find(p => p.ID === preset.Id);
|
|
635
633
|
|
|
636
634
|
//get preset name
|
|
@@ -682,17 +680,14 @@ class DeviceAta extends EventEmitter {
|
|
|
682
680
|
});
|
|
683
681
|
this.presetsServices.push(presetService);
|
|
684
682
|
accessory.addService(presetService);
|
|
685
|
-
};
|
|
683
|
+
});
|
|
686
684
|
};
|
|
687
685
|
|
|
688
686
|
//buttons services
|
|
689
687
|
if (this.buttonsConfiguredCount > 0) {
|
|
690
688
|
const debug = this.enableDebugMode ? this.emit('debug', `Prepare buttons/sensors services`) : false;
|
|
691
689
|
this.buttonsServices = [];
|
|
692
|
-
|
|
693
|
-
for (let i = 0; i < this.buttonsConfiguredCount; i++) {
|
|
694
|
-
const button = this.buttonsConfigured[i];
|
|
695
|
-
|
|
690
|
+
this.buttonsConfigured.forEach((button, i) => {
|
|
696
691
|
//get button mode
|
|
697
692
|
const mode = button.mode;
|
|
698
693
|
|
|
@@ -925,7 +920,7 @@ class DeviceAta extends EventEmitter {
|
|
|
925
920
|
});
|
|
926
921
|
this.buttonsServices.push(buttonService);
|
|
927
922
|
accessory.addService(buttonService);
|
|
928
|
-
};
|
|
923
|
+
});
|
|
929
924
|
};
|
|
930
925
|
|
|
931
926
|
return accessory;
|
|
@@ -1209,8 +1204,7 @@ class DeviceAta extends EventEmitter {
|
|
|
1209
1204
|
|
|
1210
1205
|
//update presets state
|
|
1211
1206
|
if (this.presetsConfigured.length > 0) {
|
|
1212
|
-
|
|
1213
|
-
const preset = this.presetsConfigured[i];
|
|
1207
|
+
this.presetsConfigured.forEach((preset, i) => {
|
|
1214
1208
|
const presetData = presetsOnServer.find(p => p.ID === preset.Id);
|
|
1215
1209
|
|
|
1216
1210
|
preset.state = presetData ? (presetData.Power === power
|
|
@@ -1225,13 +1219,12 @@ class DeviceAta extends EventEmitter {
|
|
|
1225
1219
|
this.presetsServices[i]
|
|
1226
1220
|
.updateCharacteristic(characteristicType, preset.state)
|
|
1227
1221
|
};
|
|
1228
|
-
};
|
|
1222
|
+
});
|
|
1229
1223
|
};
|
|
1230
1224
|
|
|
1231
1225
|
//update buttons state
|
|
1232
1226
|
if (this.buttonsConfiguredCount > 0) {
|
|
1233
|
-
|
|
1234
|
-
const button = this.buttonsConfigured[i];
|
|
1227
|
+
this.buttonsConfigured.forEach((button, i) => {
|
|
1235
1228
|
const mode = button.mode;
|
|
1236
1229
|
switch (mode) {
|
|
1237
1230
|
case 0: //POWER ON,OFF
|
|
@@ -1350,7 +1343,7 @@ class DeviceAta extends EventEmitter {
|
|
|
1350
1343
|
this.buttonsServices[i]
|
|
1351
1344
|
.updateCharacteristic(characteristicType, button.state)
|
|
1352
1345
|
};
|
|
1353
|
-
};
|
|
1346
|
+
});
|
|
1354
1347
|
};
|
|
1355
1348
|
|
|
1356
1349
|
//log current state
|
package/src/deviceatw.js
CHANGED
|
@@ -321,8 +321,8 @@ class DeviceAtw extends EventEmitter {
|
|
|
321
321
|
//services
|
|
322
322
|
if (zonesCount > 0) {
|
|
323
323
|
this.melCloudServices = [];
|
|
324
|
-
|
|
325
|
-
const zoneName =
|
|
324
|
+
this.accessory.zones.forEach((zone, i) => {
|
|
325
|
+
const zoneName = zone.name
|
|
326
326
|
const serviceName = `${deviceTypeText} ${accessoryName}: ${zoneName}`;
|
|
327
327
|
switch (this.displayMode) {
|
|
328
328
|
case 1: //Heater Cooler
|
|
@@ -350,17 +350,17 @@ class DeviceAtw extends EventEmitter {
|
|
|
350
350
|
});
|
|
351
351
|
melCloudService.getCharacteristic(Characteristic.CurrentHeaterCoolerState)
|
|
352
352
|
.onGet(async () => {
|
|
353
|
-
const value =
|
|
353
|
+
const value = zone.currentOperationMode;
|
|
354
354
|
return value;
|
|
355
355
|
});
|
|
356
356
|
melCloudService.getCharacteristic(Characteristic.TargetHeaterCoolerState)
|
|
357
357
|
.setProps({
|
|
358
|
-
minValue:
|
|
359
|
-
maxValue:
|
|
360
|
-
validValues:
|
|
358
|
+
minValue: zone.operationModesSetPropsMinValue,
|
|
359
|
+
maxValue: zone.operationModesSetPropsMaxValue,
|
|
360
|
+
validValues: zone.operationModesSetPropsValidValues
|
|
361
361
|
})
|
|
362
362
|
.onGet(async () => {
|
|
363
|
-
const value =
|
|
363
|
+
const value = zone.targetOperationMode;
|
|
364
364
|
return value;
|
|
365
365
|
})
|
|
366
366
|
.onSet(async (value) => {
|
|
@@ -452,19 +452,19 @@ class DeviceAtw extends EventEmitter {
|
|
|
452
452
|
minStep: 0.5
|
|
453
453
|
})
|
|
454
454
|
.onGet(async () => {
|
|
455
|
-
const value =
|
|
455
|
+
const value = zone.roomTemperature;
|
|
456
456
|
return value;
|
|
457
457
|
});
|
|
458
458
|
//only for heat/cool, only cool and not for hot water tank
|
|
459
459
|
if ((heatCoolModes === 0 || heatCoolModes === 2) && i !== caseHotWater) {
|
|
460
460
|
melCloudService.getCharacteristic(Characteristic.CoolingThresholdTemperature)
|
|
461
461
|
.setProps({
|
|
462
|
-
minValue:
|
|
463
|
-
maxValue:
|
|
462
|
+
minValue: zone.temperaturesSetPropsMinValue,
|
|
463
|
+
maxValue: zone.temperaturesSetPropsMaxValue,
|
|
464
464
|
minStep: this.accessory.temperatureIncrement
|
|
465
465
|
})
|
|
466
466
|
.onGet(async () => {
|
|
467
|
-
const value =
|
|
467
|
+
const value = zone.setTemperature;
|
|
468
468
|
return value;
|
|
469
469
|
})
|
|
470
470
|
.onSet(async (value) => {
|
|
@@ -475,7 +475,7 @@ class DeviceAtw extends EventEmitter {
|
|
|
475
475
|
//deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.SetTemperatureZone1;
|
|
476
476
|
break;
|
|
477
477
|
case caseZone1: //Zone 1
|
|
478
|
-
switch (
|
|
478
|
+
switch (zone.operationMode) {
|
|
479
479
|
case 1: //HEAT FLOW
|
|
480
480
|
deviceData.Device.SetHeatFlowTemperatureZone1 = value;
|
|
481
481
|
deviceData.Device.EffectiveFlags = HeatPump.EffectiveFlags.SetHeatFlowTemperatureZone1;
|
|
@@ -495,7 +495,7 @@ class DeviceAtw extends EventEmitter {
|
|
|
495
495
|
deviceData.Device.EffectiveFlags = HeatPump.EffectiveFlags.SetTankWaterTemperature;
|
|
496
496
|
break;
|
|
497
497
|
case caseZone2: //Zone 2
|
|
498
|
-
switch (
|
|
498
|
+
switch (zone.operationMode) {
|
|
499
499
|
case 1: //HEAT FLOW
|
|
500
500
|
deviceData.Device.SetHeatFlowTemperatureZone2 = value;
|
|
501
501
|
deviceData.Device.EffectiveFlags = HeatPump.EffectiveFlags.SetHeatFlowTemperatureZone2;
|
|
@@ -523,12 +523,12 @@ class DeviceAtw extends EventEmitter {
|
|
|
523
523
|
if (heatCoolModes === 0 || heatCoolModes === 1) {
|
|
524
524
|
melCloudService.getCharacteristic(Characteristic.HeatingThresholdTemperature)
|
|
525
525
|
.setProps({
|
|
526
|
-
minValue:
|
|
527
|
-
maxValue:
|
|
526
|
+
minValue: zone.temperaturesSetPropsMinValue,
|
|
527
|
+
maxValue: zone.temperaturesSetPropsMaxValue,
|
|
528
528
|
minStep: this.accessory.temperatureIncrement
|
|
529
529
|
})
|
|
530
530
|
.onGet(async () => {
|
|
531
|
-
const value =
|
|
531
|
+
const value = zone.setTemperature;
|
|
532
532
|
return value;
|
|
533
533
|
})
|
|
534
534
|
.onSet(async (value) => {
|
|
@@ -539,7 +539,7 @@ class DeviceAtw extends EventEmitter {
|
|
|
539
539
|
//deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.SetTemperatureZone1;
|
|
540
540
|
break;
|
|
541
541
|
case caseZone1: //Zone 1
|
|
542
|
-
switch (
|
|
542
|
+
switch (zone.operationMode) {
|
|
543
543
|
case 1: //HEAT FLOW
|
|
544
544
|
deviceData.Device.SetHeatFlowTemperatureZone1 = value;
|
|
545
545
|
deviceData.Device.EffectiveFlags = HeatPump.EffectiveFlags.SetHeatFlowTemperatureZone1;
|
|
@@ -559,7 +559,7 @@ class DeviceAtw extends EventEmitter {
|
|
|
559
559
|
deviceData.Device.EffectiveFlags = HeatPump.EffectiveFlags.SetTankWaterTemperature;
|
|
560
560
|
break;
|
|
561
561
|
case caseZone2: //Zone 2
|
|
562
|
-
switch (
|
|
562
|
+
switch (zone.operationMode) {
|
|
563
563
|
case 1: //HEAT FLOW
|
|
564
564
|
deviceData.Device.SetHeatFlowTemperatureZone2 = value;
|
|
565
565
|
deviceData.Device.EffectiveFlags = HeatPump.EffectiveFlags.SetHeatFlowTemperatureZone2;
|
|
@@ -585,7 +585,7 @@ class DeviceAtw extends EventEmitter {
|
|
|
585
585
|
};
|
|
586
586
|
melCloudService.getCharacteristic(Characteristic.LockPhysicalControls)
|
|
587
587
|
.onGet(async () => {
|
|
588
|
-
const value =
|
|
588
|
+
const value = zone.lockPhysicalControl;
|
|
589
589
|
return value;
|
|
590
590
|
})
|
|
591
591
|
.onSet(async (value) => {
|
|
@@ -642,17 +642,17 @@ class DeviceAtw extends EventEmitter {
|
|
|
642
642
|
melCloudServiceT.setPrimaryService(true);
|
|
643
643
|
melCloudServiceT.getCharacteristic(Characteristic.CurrentHeatingCoolingState)
|
|
644
644
|
.onGet(async () => {
|
|
645
|
-
const value =
|
|
645
|
+
const value = zone.currentOperationMode;
|
|
646
646
|
return value;
|
|
647
647
|
});
|
|
648
648
|
melCloudServiceT.getCharacteristic(Characteristic.TargetHeatingCoolingState)
|
|
649
649
|
.setProps({
|
|
650
|
-
minValue:
|
|
651
|
-
maxValue:
|
|
652
|
-
validValues:
|
|
650
|
+
minValue: zone.operationModesSetPropsMinValue,
|
|
651
|
+
maxValue: zone.operationModesSetPropsMaxValue,
|
|
652
|
+
validValues: zone.operationModesSetPropsValidValues
|
|
653
653
|
})
|
|
654
654
|
.onGet(async () => {
|
|
655
|
-
const value =
|
|
655
|
+
const value = zone.targetOperationMode;
|
|
656
656
|
return value;
|
|
657
657
|
})
|
|
658
658
|
.onSet(async (value) => {
|
|
@@ -760,17 +760,17 @@ class DeviceAtw extends EventEmitter {
|
|
|
760
760
|
minStep: 0.5
|
|
761
761
|
})
|
|
762
762
|
.onGet(async () => {
|
|
763
|
-
const value =
|
|
763
|
+
const value = zone.roomTemperature;
|
|
764
764
|
return value;
|
|
765
765
|
});
|
|
766
766
|
melCloudServiceT.getCharacteristic(Characteristic.TargetTemperature)
|
|
767
767
|
.setProps({
|
|
768
|
-
minValue:
|
|
769
|
-
maxValue:
|
|
768
|
+
minValue: zone.temperaturesSetPropsMinValue,
|
|
769
|
+
maxValue: zone.temperaturesSetPropsMaxValue,
|
|
770
770
|
minStep: this.accessory.temperatureIncrement
|
|
771
771
|
})
|
|
772
772
|
.onGet(async () => {
|
|
773
|
-
const value =
|
|
773
|
+
const value = zone.setTemperature;
|
|
774
774
|
return value;
|
|
775
775
|
})
|
|
776
776
|
.onSet(async (value) => {
|
|
@@ -823,7 +823,7 @@ class DeviceAtw extends EventEmitter {
|
|
|
823
823
|
//temperature sensor services zones
|
|
824
824
|
switch (i) {
|
|
825
825
|
case caseHeatPump: //Heat Pump
|
|
826
|
-
if (temperatureSensor &&
|
|
826
|
+
if (temperatureSensor && zone.roomTemperature !== null) {
|
|
827
827
|
const debug = this.enableDebugMode ? this.emit('debug', `${zoneName}, Prepare temperature sensor service`) : false;
|
|
828
828
|
this.roomTemperatureSensorService = new Service.TemperatureSensor(`${serviceName}`, `${zoneName} Temperature Sensor ${deviceId} ${i}`);
|
|
829
829
|
this.roomTemperatureSensorService.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
@@ -835,13 +835,13 @@ class DeviceAtw extends EventEmitter {
|
|
|
835
835
|
minStep: 0.5
|
|
836
836
|
})
|
|
837
837
|
.onGet(async () => {
|
|
838
|
-
const state =
|
|
838
|
+
const state = zone.roomTemperature;
|
|
839
839
|
return state;
|
|
840
840
|
})
|
|
841
841
|
accessory.addService(this.roomTemperatureSensorService);
|
|
842
842
|
};
|
|
843
843
|
|
|
844
|
-
if (temperatureSensorFlow &&
|
|
844
|
+
if (temperatureSensorFlow && zone.flowTemperature !== null) {
|
|
845
845
|
const debug = this.enableDebugMode ? this.emit('debug', `Prepare flow temperature sensor service`) : false;
|
|
846
846
|
this.flowTemperatureSensorService = new Service.TemperatureSensor(`${serviceName} Flow`, `${zoneName} Temperature Sensor Flow ${deviceId} ${i}`);
|
|
847
847
|
this.flowTemperatureSensorService.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
@@ -853,15 +853,14 @@ class DeviceAtw extends EventEmitter {
|
|
|
853
853
|
minStep: 0.5
|
|
854
854
|
})
|
|
855
855
|
.onGet(async () => {
|
|
856
|
-
const state =
|
|
856
|
+
const state = zone.flowTemperature;
|
|
857
857
|
return state;
|
|
858
858
|
})
|
|
859
859
|
accessory.addService(this.flowTemperatureSensorService);
|
|
860
860
|
|
|
861
861
|
};
|
|
862
862
|
|
|
863
|
-
|
|
864
|
-
if (temperatureSensorReturn && this.accessory.zones[i].returnTemperature !== null) {
|
|
863
|
+
if (temperatureSensorReturn && zone.returnTemperature !== null) {
|
|
865
864
|
const debug1 = this.enableDebugMode ? this.emit('debug', `Prepare return temperature sensor service`) : false;
|
|
866
865
|
this.returnTemperatureSensorService = new Service.TemperatureSensor(`${serviceName} Return`, `${zoneName} Temperature Sensor Return ${deviceId} ${i}`);
|
|
867
866
|
this.returnTemperatureSensorService.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
@@ -873,14 +872,14 @@ class DeviceAtw extends EventEmitter {
|
|
|
873
872
|
minStep: 0.5
|
|
874
873
|
})
|
|
875
874
|
.onGet(async () => {
|
|
876
|
-
const state =
|
|
875
|
+
const state = zone.returnTemperature;
|
|
877
876
|
return state;
|
|
878
877
|
})
|
|
879
878
|
accessory.addService(this.returnTemperatureSensorService);
|
|
880
879
|
};
|
|
881
880
|
break;
|
|
882
881
|
case caseZone1: //Zone 1
|
|
883
|
-
if (temperatureSensor &&
|
|
882
|
+
if (temperatureSensor && zone.roomTemperature !== null) {
|
|
884
883
|
const debug = this.enableDebugMode ? this.emit('debug', `${zoneName}, Prepare temperature sensor service`) : false;
|
|
885
884
|
this.roomTemperatureZone1SensorService = new Service.TemperatureSensor(`${serviceName}`, `${zoneName} Temperature Sensor ${deviceId} ${i}`);
|
|
886
885
|
this.roomTemperatureZone1SensorService.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
@@ -892,13 +891,13 @@ class DeviceAtw extends EventEmitter {
|
|
|
892
891
|
minStep: 0.5
|
|
893
892
|
})
|
|
894
893
|
.onGet(async () => {
|
|
895
|
-
const state =
|
|
894
|
+
const state = zone.roomTemperature;
|
|
896
895
|
return state;
|
|
897
896
|
})
|
|
898
897
|
accessory.addService(this.roomTemperatureZone1SensorService);
|
|
899
898
|
};
|
|
900
899
|
|
|
901
|
-
if (temperatureSensorFlowZone1 &&
|
|
900
|
+
if (temperatureSensorFlowZone1 && zone.flowTemperature !== null) {
|
|
902
901
|
const debug2 = this.enableDebugMode ? this.emit('debug', `Prepare flow temperature zone 1 sensor service`) : false;
|
|
903
902
|
this.flowTemperatureZone1SensorService = new Service.TemperatureSensor(`${serviceName} Flow`, `${zoneName} Temperature Sensor Flow ${deviceId} ${i}`);
|
|
904
903
|
this.flowTemperatureZone1SensorService.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
@@ -910,13 +909,13 @@ class DeviceAtw extends EventEmitter {
|
|
|
910
909
|
minStep: 0.5
|
|
911
910
|
})
|
|
912
911
|
.onGet(async () => {
|
|
913
|
-
const state =
|
|
912
|
+
const state = zone.flowTemperature;
|
|
914
913
|
return state;
|
|
915
914
|
})
|
|
916
915
|
accessory.addService(this.flowTemperatureZone1SensorService);
|
|
917
916
|
};
|
|
918
917
|
|
|
919
|
-
if (temperatureSensorReturnZone1 &&
|
|
918
|
+
if (temperatureSensorReturnZone1 && zone.returnTemperature !== null) {
|
|
920
919
|
const debug3 = this.enableDebugMode ? this.emit('debug', `Prepare return temperature zone 1 sensor service`) : false;
|
|
921
920
|
this.returnTemperatureZone1SensorService = new Service.TemperatureSensor(`${serviceName} Return`, `${zoneName} Temperature Sensor Return ${deviceId} ${i}`);
|
|
922
921
|
this.returnTemperatureZone1SensorService.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
@@ -928,14 +927,14 @@ class DeviceAtw extends EventEmitter {
|
|
|
928
927
|
minStep: 0.5
|
|
929
928
|
})
|
|
930
929
|
.onGet(async () => {
|
|
931
|
-
const state =
|
|
930
|
+
const state = zone.returnTemperature;
|
|
932
931
|
return state;
|
|
933
932
|
})
|
|
934
933
|
accessory.addService(this.returnTemperatureZone1SensorService);
|
|
935
934
|
};
|
|
936
935
|
break;
|
|
937
936
|
case caseHotWater: //Hot Water
|
|
938
|
-
if (temperatureSensor &&
|
|
937
|
+
if (temperatureSensor && zone.roomTemperature !== null) {
|
|
939
938
|
const debug = this.enableDebugMode ? this.emit('debug', `${zoneName}, Prepare temperature sensor service`) : false;
|
|
940
939
|
this.roomTemperatureWaterTankSensorService = new Service.TemperatureSensor(`${serviceName}`, `${zoneName} Temperature Sensor ${deviceId} ${i}`);
|
|
941
940
|
this.roomTemperatureWaterTankSensorService.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
@@ -947,13 +946,13 @@ class DeviceAtw extends EventEmitter {
|
|
|
947
946
|
minStep: 0.5
|
|
948
947
|
})
|
|
949
948
|
.onGet(async () => {
|
|
950
|
-
const state =
|
|
949
|
+
const state = zone.roomTemperature;
|
|
951
950
|
return state;
|
|
952
951
|
})
|
|
953
952
|
accessory.addService(this.roomTemperatureWaterTankSensorService);
|
|
954
953
|
};
|
|
955
954
|
|
|
956
|
-
if (temperatureSensorFlowWaterTank &&
|
|
955
|
+
if (temperatureSensorFlowWaterTank && zone.flowTemperature !== null) {
|
|
957
956
|
const debug = this.enableDebugMode ? this.emit('debug', `Prepare flow temperature water tank sensor service`) : false;
|
|
958
957
|
this.flowTemperatureWaterTankSensorService = new Service.TemperatureSensor(`${serviceName} Flow`, `${zoneName} Temperature Sensor Flow ${deviceId} ${i}`);
|
|
959
958
|
this.flowTemperatureWaterTankSensorService.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
@@ -965,13 +964,13 @@ class DeviceAtw extends EventEmitter {
|
|
|
965
964
|
minStep: 0.5
|
|
966
965
|
})
|
|
967
966
|
.onGet(async () => {
|
|
968
|
-
const state =
|
|
967
|
+
const state = zone.flowTemperature;
|
|
969
968
|
return state;
|
|
970
969
|
})
|
|
971
970
|
accessory.addService(this.flowTemperatureWaterTankSensorService);
|
|
972
971
|
};
|
|
973
972
|
|
|
974
|
-
if (temperatureSensorReturnWaterTank &&
|
|
973
|
+
if (temperatureSensorReturnWaterTank && zone.returnTemperature !== null) {
|
|
975
974
|
const debug1 = this.enableDebugMode ? this.emit('debug', `Prepare return temperature water tank sensor service`) : false;
|
|
976
975
|
this.returnTemperatureWaterTankSensorService = new Service.TemperatureSensor(`${serviceName} Return`, `${zoneName} Temperature Sensor Return ${deviceId} ${i}`);
|
|
977
976
|
this.returnTemperatureWaterTankSensorService.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
@@ -983,14 +982,14 @@ class DeviceAtw extends EventEmitter {
|
|
|
983
982
|
minStep: 0.5
|
|
984
983
|
})
|
|
985
984
|
.onGet(async () => {
|
|
986
|
-
const state =
|
|
985
|
+
const state = zone.returnTemperature;
|
|
987
986
|
return state;
|
|
988
987
|
})
|
|
989
988
|
accessory.addService(this.returnTemperatureWaterTankSensorService);
|
|
990
989
|
};
|
|
991
990
|
break;
|
|
992
991
|
case caseZone2: //Zone 2
|
|
993
|
-
if (temperatureSensor &&
|
|
992
|
+
if (temperatureSensor && zone.roomTemperature !== null) {
|
|
994
993
|
const debug = this.enableDebugMode ? this.emit('debug', `${zoneName}, Prepare temperature sensor service`) : false;
|
|
995
994
|
this.roomTemperatureZone2SensorService = new Service.TemperatureSensor(`${serviceName}`, `${zoneName} Temperature Sensor ${deviceId} ${i}`);
|
|
996
995
|
this.roomTemperatureZone2SensorService.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
@@ -1002,13 +1001,13 @@ class DeviceAtw extends EventEmitter {
|
|
|
1002
1001
|
minStep: 0.5
|
|
1003
1002
|
})
|
|
1004
1003
|
.onGet(async () => {
|
|
1005
|
-
const state =
|
|
1004
|
+
const state = zone.roomTemperature;
|
|
1006
1005
|
return state;
|
|
1007
1006
|
})
|
|
1008
1007
|
accessory.addService(this.roomTemperatureZone2SensorService);
|
|
1009
1008
|
};
|
|
1010
1009
|
|
|
1011
|
-
if (temperatureSensorFlowZone2 &&
|
|
1010
|
+
if (temperatureSensorFlowZone2 && zone.flowTemperature !== null) {
|
|
1012
1011
|
const debug = this.enableDebugMode ? this.emit('debug', `Prepare flow temperature zone 2 sensor service`) : false;
|
|
1013
1012
|
this.flowTemperatureZone2SensorService = new Service.TemperatureSensor(`${serviceName} Flow`, `${zoneName} Temperature Sensor Flow${deviceId} ${i}`);
|
|
1014
1013
|
this.flowTemperatureZone2SensorService.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
@@ -1020,13 +1019,13 @@ class DeviceAtw extends EventEmitter {
|
|
|
1020
1019
|
minStep: 0.5
|
|
1021
1020
|
})
|
|
1022
1021
|
.onGet(async () => {
|
|
1023
|
-
const state =
|
|
1022
|
+
const state = zone.flowTemperature;
|
|
1024
1023
|
return state;
|
|
1025
1024
|
})
|
|
1026
1025
|
accessory.addService(this.flowTemperatureZone2SensorService);
|
|
1027
1026
|
};
|
|
1028
1027
|
|
|
1029
|
-
if (temperatureSensorReturnZone2 &&
|
|
1028
|
+
if (temperatureSensorReturnZone2 && zone.returnTemperature !== null) {
|
|
1030
1029
|
const debug1 = this.enableDebugMode ? this.emit('debug', `Prepare return temperature zone 2 sensor service`) : false;
|
|
1031
1030
|
this.returnTemperatureZone2SensorService = new Service.TemperatureSensor(`${serviceName} Return`, `${zoneName} Temperature Sensor Return${deviceId} ${i}`);
|
|
1032
1031
|
this.returnTemperatureZone2SensorService.addOptionalCharacteristic(Characteristic.ConfiguredName);
|
|
@@ -1038,23 +1037,21 @@ class DeviceAtw extends EventEmitter {
|
|
|
1038
1037
|
minStep: 0.5
|
|
1039
1038
|
})
|
|
1040
1039
|
.onGet(async () => {
|
|
1041
|
-
const state =
|
|
1040
|
+
const state = zone.returnTemperature;
|
|
1042
1041
|
return state;
|
|
1043
1042
|
})
|
|
1044
1043
|
accessory.addService(this.returnTemperatureZone2SensorService);
|
|
1045
1044
|
};
|
|
1046
1045
|
break;
|
|
1047
1046
|
};
|
|
1048
|
-
};
|
|
1047
|
+
});
|
|
1049
1048
|
};
|
|
1050
1049
|
|
|
1051
1050
|
//presets services
|
|
1052
1051
|
if (this.presetsConfiguredCount > 0) {
|
|
1053
1052
|
const debug = this.enableDebugMode ? this.emit('debug', `Prepare presets services`) : false;
|
|
1054
1053
|
this.presetsServices = [];
|
|
1055
|
-
|
|
1056
|
-
for (let i = 0; i < this.presetsConfiguredCount; i++) {
|
|
1057
|
-
const preset = this.presetsConfigured[i];
|
|
1054
|
+
this.presetsConfigured.forEach((preset, i) => {
|
|
1058
1055
|
const presetData = presetsOnServer.find(p => p.ID === preset.Id);
|
|
1059
1056
|
|
|
1060
1057
|
//get preset name
|
|
@@ -1118,17 +1115,14 @@ class DeviceAtw extends EventEmitter {
|
|
|
1118
1115
|
});
|
|
1119
1116
|
this.presetsServices.push(presetService);
|
|
1120
1117
|
accessory.addService(presetService);
|
|
1121
|
-
};
|
|
1118
|
+
});
|
|
1122
1119
|
};
|
|
1123
1120
|
|
|
1124
1121
|
//buttons services
|
|
1125
1122
|
if (this.buttonsConfiguredCount > 0) {
|
|
1126
1123
|
const debug = this.enableDebugMode ? this.emit('debug', `Prepare buttons services`) : false;
|
|
1127
1124
|
this.buttonsServices = [];
|
|
1128
|
-
|
|
1129
|
-
for (let i = 0; i < this.buttonsConfiguredCount; i++) {
|
|
1130
|
-
const button = this.buttonsConfigured[i];
|
|
1131
|
-
|
|
1125
|
+
this.buttonsConfigured.forEach((button, i) => {
|
|
1132
1126
|
//get button mode
|
|
1133
1127
|
const mode = button.mode;
|
|
1134
1128
|
|
|
@@ -1290,7 +1284,7 @@ class DeviceAtw extends EventEmitter {
|
|
|
1290
1284
|
});
|
|
1291
1285
|
this.buttonsServices.push(buttonService);
|
|
1292
1286
|
accessory.addService(buttonService)
|
|
1293
|
-
};
|
|
1287
|
+
});
|
|
1294
1288
|
};
|
|
1295
1289
|
|
|
1296
1290
|
return accessory;
|
|
@@ -1803,8 +1797,7 @@ class DeviceAtw extends EventEmitter {
|
|
|
1803
1797
|
|
|
1804
1798
|
//update presets state
|
|
1805
1799
|
if (this.presetsConfigured.length > 0) {
|
|
1806
|
-
|
|
1807
|
-
const preset = this.presetsConfigured[i];
|
|
1800
|
+
this.presetsConfigured.forEach((preset, i) => {
|
|
1808
1801
|
const presetData = presetsOnServer.find(p => p.ID === preset.Id);
|
|
1809
1802
|
|
|
1810
1803
|
preset.state = presetData ? (presetData.Power === power
|
|
@@ -1825,7 +1818,7 @@ class DeviceAtw extends EventEmitter {
|
|
|
1825
1818
|
this.presetsServices[i]
|
|
1826
1819
|
.updateCharacteristic(characteristicType, preset.state)
|
|
1827
1820
|
};
|
|
1828
|
-
};
|
|
1821
|
+
});
|
|
1829
1822
|
};
|
|
1830
1823
|
|
|
1831
1824
|
//update buttons state
|
package/src/deviceerv.js
CHANGED
|
@@ -677,9 +677,7 @@ class DeviceErv extends EventEmitter {
|
|
|
677
677
|
if (this.presetsConfiguredCount > 0) {
|
|
678
678
|
const debug = this.enableDebugMode ? this.emit('debug', `Prepare presets services`) : false;
|
|
679
679
|
this.presetsServices = [];
|
|
680
|
-
|
|
681
|
-
for (let i = 0; i < this.presetsConfiguredCount; i++) {
|
|
682
|
-
const preset = this.presetsConfigured[i];
|
|
680
|
+
this.presetsConfigured.forEach((preset, i) => {
|
|
683
681
|
const presetData = presetsOnServer.find(p => p.ID === preset.Id);
|
|
684
682
|
|
|
685
683
|
//get preset name
|
|
@@ -727,7 +725,7 @@ class DeviceErv extends EventEmitter {
|
|
|
727
725
|
this.emit('warn', `Set preset error: ${error}`);
|
|
728
726
|
};
|
|
729
727
|
});
|
|
730
|
-
};
|
|
728
|
+
});
|
|
731
729
|
this.presetsServices.push(presetService);
|
|
732
730
|
accessory.addService(presetService);
|
|
733
731
|
};
|
|
@@ -736,10 +734,7 @@ class DeviceErv extends EventEmitter {
|
|
|
736
734
|
if (this.buttonsConfiguredCount > 0) {
|
|
737
735
|
const debug = this.enableDebugMode ? this.emit('debug', `Prepare buttons services`) : false;
|
|
738
736
|
this.buttonsServices = [];
|
|
739
|
-
|
|
740
|
-
for (let i = 0; i < this.buttonsConfiguredCount; i++) {
|
|
741
|
-
const button = this.buttonsConfigured[i];
|
|
742
|
-
|
|
737
|
+
this.buttonsConfigured.forEach((button, i) => {
|
|
743
738
|
//get button mode
|
|
744
739
|
const mode = button.mode;
|
|
745
740
|
|
|
@@ -846,7 +841,7 @@ class DeviceErv extends EventEmitter {
|
|
|
846
841
|
});
|
|
847
842
|
this.buttonsServices.push(buttonService);
|
|
848
843
|
accessory.addService(buttonService);
|
|
849
|
-
};
|
|
844
|
+
});
|
|
850
845
|
};
|
|
851
846
|
|
|
852
847
|
return accessory;
|
|
@@ -1136,8 +1131,7 @@ class DeviceErv extends EventEmitter {
|
|
|
1136
1131
|
|
|
1137
1132
|
//update presets state
|
|
1138
1133
|
if (this.presetsConfigured.length > 0) {
|
|
1139
|
-
|
|
1140
|
-
const preset = this.presetsConfigured[i];
|
|
1134
|
+
this.presetsConfigured.forEach((preset, i) => {
|
|
1141
1135
|
const presetData = presetsOnServer.find(p => p.ID === preset.Id);
|
|
1142
1136
|
|
|
1143
1137
|
preset.state = presetData ? (presetData.Power === power
|
|
@@ -1151,13 +1145,12 @@ class DeviceErv extends EventEmitter {
|
|
|
1151
1145
|
this.presetsServices[i]
|
|
1152
1146
|
.updateCharacteristic(characteristicType, preset.state)
|
|
1153
1147
|
};
|
|
1154
|
-
};
|
|
1148
|
+
});
|
|
1155
1149
|
};
|
|
1156
1150
|
|
|
1157
1151
|
//update buttons state
|
|
1158
1152
|
if (this.buttonsConfiguredCount > 0) {
|
|
1159
|
-
|
|
1160
|
-
const button = this.buttonsConfigured[i];
|
|
1153
|
+
this.buttonsConfigured.forEach((button, i) => {
|
|
1161
1154
|
const mode = button.mode;;
|
|
1162
1155
|
switch (mode) {
|
|
1163
1156
|
case 0: //POWER ON,OFF
|
|
@@ -1213,7 +1206,7 @@ class DeviceErv extends EventEmitter {
|
|
|
1213
1206
|
this.buttonsServices[i]
|
|
1214
1207
|
.updateCharacteristic(characteristicType, button.state)
|
|
1215
1208
|
};
|
|
1216
|
-
};
|
|
1209
|
+
});
|
|
1217
1210
|
};
|
|
1218
1211
|
|
|
1219
1212
|
//log current state
|