homebridge-melcloud-control 4.2.6-beta.10 → 4.2.6-beta.12
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/constants.js +1 -1
- package/src/deviceata.js +7 -11
- package/src/deviceerv.js +26 -24
- package/src/melcloudata.js +16 -17
- package/src/melcloudatw.js +1 -2
- package/src/melclouderv.js +13 -14
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"displayName": "MELCloud Control",
|
|
3
3
|
"name": "homebridge-melcloud-control",
|
|
4
|
-
"version": "4.2.6-beta.
|
|
4
|
+
"version": "4.2.6-beta.12",
|
|
5
5
|
"description": "Homebridge plugin to control Mitsubishi Air Conditioner, Heat Pump and Energy Recovery Ventilation.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "grzegorz914",
|
package/src/constants.js
CHANGED
|
@@ -27,7 +27,7 @@ export const ApiUrlsHome = {
|
|
|
27
27
|
PutErv: "/api/ervunit/deviceid",
|
|
28
28
|
PostSchedule: " /api/cloudschedule/deviceid", // POST {"days":[2],"time":"17:59:00","enabled":true,"id":"53c5e804-0663-47d0-85c2-2d8ccd2573de","power":false,"operationMode":null,"setPoint":null,"vaneVerticalDirection":null,"vaneHorizontalDirection":null,"setFanSpeed":null}
|
|
29
29
|
PostProtectionFrost: "/api/protection/frost", // POST {"enabled":true,"min":13,"max":16,"units":{"ATA":["ef333525-2699-4290-af5a-2922566676da"]}}
|
|
30
|
-
PostProtectionOverheat: "api/protection/overheat", // POST {"enabled":true,"min":32,"max":35,"units":{"ATA":["ef333525-2699-4290-af5a-2922566676da"]}}
|
|
30
|
+
PostProtectionOverheat: "/api/protection/overheat", // POST {"enabled":true,"min":32,"max":35,"units":{"ATA":["ef333525-2699-4290-af5a-2922566676da"]}}
|
|
31
31
|
PostHolidayMode: " /api/holidaymode", // POST {"enabled":true,"startDate":"2025-11-11T17:42:24.913","endDate":"2026-06-01T09:18:00","units":{"ATA":["ef333525-2699-4290-af5a-2922566676da"]}}
|
|
32
32
|
PutScheduleEnabled: "/api/cloudschedule/deviceid/enabled", // PUT {"enabled":true}
|
|
33
33
|
PutScene: {
|
package/src/deviceata.js
CHANGED
|
@@ -355,7 +355,6 @@ class DeviceAta extends EventEmitter {
|
|
|
355
355
|
.onSet(async (state) => {
|
|
356
356
|
try {
|
|
357
357
|
deviceData.Device.Power = state ? true : false;
|
|
358
|
-
|
|
359
358
|
if (this.logInfo) this.emit('info', `Set power: ${state ? 'On' : 'Off'}`);
|
|
360
359
|
await this.melCloudAta.send(this.accountType, this.displayType, deviceData, AirConditioner.EffectiveFlags.Power);
|
|
361
360
|
} catch (error) {
|
|
@@ -382,18 +381,16 @@ class DeviceAta extends EventEmitter {
|
|
|
382
381
|
switch (value) {
|
|
383
382
|
case 0: //AUTO - AUTO
|
|
384
383
|
value = autoDryFanMode;
|
|
385
|
-
deviceData.Device.OperationMode = value;
|
|
386
384
|
break;
|
|
387
385
|
case 1: //HEAT - HEAT
|
|
388
386
|
value = heatDryFanMode;
|
|
389
|
-
deviceData.Device.OperationMode = value;
|
|
390
387
|
break;
|
|
391
388
|
case 2: //COOL - COOL
|
|
392
389
|
value = coolDryFanMode;
|
|
393
|
-
deviceData.Device.OperationMode = value;
|
|
394
390
|
break;
|
|
395
391
|
};
|
|
396
392
|
|
|
393
|
+
deviceData.Device.OperationMode = value;
|
|
397
394
|
if (this.logInfo) this.emit('info', `Set operation mode: ${AirConditioner.OperationModeMapEnumToString[value]}`);
|
|
398
395
|
await this.melCloudAta.send(this.accountType, this.displayType, deviceData, AirConditioner.EffectiveFlags.OperationMode);
|
|
399
396
|
} catch (error) {
|
|
@@ -456,7 +453,7 @@ class DeviceAta extends EventEmitter {
|
|
|
456
453
|
if (this.logInfo) this.emit('info', `Set air direction mode: ${AirConditioner.AirDirectionMapEnumToString[value]}`);
|
|
457
454
|
await this.melCloudAta.send(this.accountType, this.displayType, deviceData, AirConditioner.EffectiveFlags.VaneVerticalVaneHorizontal);
|
|
458
455
|
} catch (error) {
|
|
459
|
-
if (this.logWarn) this.emit('warn', `Set
|
|
456
|
+
if (this.logWarn) this.emit('warn', `Set air direction mode error: ${error}`);
|
|
460
457
|
};
|
|
461
458
|
});
|
|
462
459
|
};
|
|
@@ -539,10 +536,11 @@ class DeviceAta extends EventEmitter {
|
|
|
539
536
|
};
|
|
540
537
|
});
|
|
541
538
|
this.melCloudService = melCloudService;
|
|
539
|
+
accessory.addService(melCloudService);
|
|
542
540
|
break;
|
|
543
541
|
case 2: //Thermostat
|
|
544
542
|
if (this.logDebug) this.emit('debug', `Prepare thermostat service`);
|
|
545
|
-
const melCloudServiceT = new Service.Thermostat(serviceName, `
|
|
543
|
+
const melCloudServiceT = new Service.Thermostat(serviceName, `Thermostat ${deviceId}`);
|
|
546
544
|
melCloudServiceT.setPrimaryService(true);
|
|
547
545
|
melCloudServiceT.getCharacteristic(Characteristic.CurrentHeatingCoolingState)
|
|
548
546
|
.onGet(async () => {
|
|
@@ -565,26 +563,23 @@ class DeviceAta extends EventEmitter {
|
|
|
565
563
|
switch (value) {
|
|
566
564
|
case 0: //OFF - POWER OFF
|
|
567
565
|
value = deviceData.Device.OperationMode;
|
|
568
|
-
deviceData.Device.Power = false;
|
|
569
566
|
flag = AirConditioner.EffectiveFlags.Power;
|
|
570
567
|
break;
|
|
571
568
|
case 1: //HEAT - HEAT
|
|
572
|
-
deviceData.Device.Power = true;
|
|
573
569
|
value = heatDryFanMode;
|
|
574
570
|
flag = AirConditioner.EffectiveFlags.PowerOperationModeSetTemperature;
|
|
575
571
|
break;
|
|
576
572
|
case 2: //COOL - COOL
|
|
577
573
|
value = coolDryFanMode;
|
|
578
|
-
deviceData.Device.Power = true;
|
|
579
574
|
flag = AirConditioner.EffectiveFlags.PowerOperationModeSetTemperature
|
|
580
575
|
break;
|
|
581
576
|
case 3: //AUTO - AUTO
|
|
582
577
|
value = autoDryFanMode;
|
|
583
|
-
deviceData.Device.Power = true;
|
|
584
578
|
flag = AirConditioner.EffectiveFlags.PowerOperationModeSetTemperature;
|
|
585
579
|
break;
|
|
586
580
|
};
|
|
587
581
|
|
|
582
|
+
deviceData.Device.Power = value > 0 ? true : false;
|
|
588
583
|
deviceData.Device.OperationMode = value;
|
|
589
584
|
if (this.logInfo) this.emit('info', `Set operation mode: ${AirConditioner.OperationModeMapEnumToString[value]}`);
|
|
590
585
|
await this.melCloudAta.send(this.accountType, this.displayType, deviceData, flag);
|
|
@@ -634,6 +629,7 @@ class DeviceAta extends EventEmitter {
|
|
|
634
629
|
};
|
|
635
630
|
});
|
|
636
631
|
this.melCloudService = melCloudServiceT;
|
|
632
|
+
accessory.addService(melCloudServiceT);
|
|
637
633
|
break;
|
|
638
634
|
};
|
|
639
635
|
|
|
@@ -1609,7 +1605,7 @@ class DeviceAta extends EventEmitter {
|
|
|
1609
1605
|
obj.operationModeSetPropsValidValues = supportsAuto && supportsHeat ? [0, 1, 2, 3] : !supportsAuto && supportsHeat ? [0, 1, 2] : supportsAuto && !supportsHeat ? [0, 2, 3] : [0, 2];
|
|
1610
1606
|
|
|
1611
1607
|
//update characteristics
|
|
1612
|
-
this.
|
|
1608
|
+
this.melCloudService
|
|
1613
1609
|
?.updateCharacteristic(Characteristic.CurrentHeatingCoolingState, obj.currentOperationMode)
|
|
1614
1610
|
.updateCharacteristic(Characteristic.TargetHeatingCoolingState, obj.targetOperationMode)
|
|
1615
1611
|
.updateCharacteristic(Characteristic.CurrentTemperature, roomTemperature)
|
package/src/deviceerv.js
CHANGED
|
@@ -316,9 +316,9 @@ class DeviceErv extends EventEmitter {
|
|
|
316
316
|
switch (this.displayType) {
|
|
317
317
|
case 1: //Heater Cooler
|
|
318
318
|
if (this.logDebug) this.emit('debug', `Prepare heather/cooler service`);
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
319
|
+
const melCloudService = new Service.HeaterCooler(serviceName, `HeaterCooler ${deviceId}`);
|
|
320
|
+
melCloudService.setPrimaryService(true);
|
|
321
|
+
melCloudService.getCharacteristic(Characteristic.Active)
|
|
322
322
|
.onGet(async () => {
|
|
323
323
|
const state = this.accessory.power;
|
|
324
324
|
return state;
|
|
@@ -332,12 +332,12 @@ class DeviceErv extends EventEmitter {
|
|
|
332
332
|
if (this.logWarn) this.emit('warn', `Set power error: ${error}`);
|
|
333
333
|
};
|
|
334
334
|
});
|
|
335
|
-
|
|
335
|
+
melCloudService.getCharacteristic(Characteristic.CurrentHeaterCoolerState)
|
|
336
336
|
.onGet(async () => {
|
|
337
337
|
const value = this.accessory.currentOperationMode;
|
|
338
338
|
return value;
|
|
339
339
|
});
|
|
340
|
-
|
|
340
|
+
melCloudService.getCharacteristic(Characteristic.TargetHeaterCoolerState)
|
|
341
341
|
.setProps({
|
|
342
342
|
minValue: this.accessory.operationModeSetPropsMinValue,
|
|
343
343
|
maxValue: this.accessory.operationModeSetPropsMaxValue,
|
|
@@ -367,13 +367,13 @@ class DeviceErv extends EventEmitter {
|
|
|
367
367
|
if (this.logWarn) this.emit('warn', `Set operation mode error: ${error}`);
|
|
368
368
|
};
|
|
369
369
|
});
|
|
370
|
-
|
|
370
|
+
melCloudService.getCharacteristic(Characteristic.CurrentTemperature)
|
|
371
371
|
.onGet(async () => {
|
|
372
372
|
const value = this.accessory.roomTemperature;
|
|
373
373
|
return value;
|
|
374
374
|
});
|
|
375
375
|
if (supportsFanSpeed) {
|
|
376
|
-
|
|
376
|
+
melCloudService.getCharacteristic(Characteristic.RotationSpeed)
|
|
377
377
|
.setProps({
|
|
378
378
|
minValue: 0,
|
|
379
379
|
maxValue: this.accessory.fanSpeedSetPropsMaxValue,
|
|
@@ -410,7 +410,7 @@ class DeviceErv extends EventEmitter {
|
|
|
410
410
|
}
|
|
411
411
|
//device can cool
|
|
412
412
|
if (supportsAutoVentilationMode && supportsCoolOperationMode) {
|
|
413
|
-
|
|
413
|
+
melCloudService.getCharacteristic(Characteristic.CoolingThresholdTemperature)
|
|
414
414
|
.setProps({
|
|
415
415
|
minValue: this.accessory.minTempCoolDry,
|
|
416
416
|
maxValue: this.accessory.maxTempCoolDry,
|
|
@@ -432,7 +432,7 @@ class DeviceErv extends EventEmitter {
|
|
|
432
432
|
};
|
|
433
433
|
//device can heat
|
|
434
434
|
if (supportsAutoVentilationMode && supportsHeatOperationMode) {
|
|
435
|
-
|
|
435
|
+
melCloudService.getCharacteristic(Characteristic.HeatingThresholdTemperature)
|
|
436
436
|
.setProps({
|
|
437
437
|
minValue: this.accessory.minTempHeat,
|
|
438
438
|
maxValue: this.accessory.maxTempHeat,
|
|
@@ -452,7 +452,7 @@ class DeviceErv extends EventEmitter {
|
|
|
452
452
|
};
|
|
453
453
|
});
|
|
454
454
|
};
|
|
455
|
-
|
|
455
|
+
melCloudService.getCharacteristic(Characteristic.TemperatureDisplayUnits)
|
|
456
456
|
.onGet(async () => {
|
|
457
457
|
const value = this.accessory.useFahrenheit;
|
|
458
458
|
return value;
|
|
@@ -469,18 +469,19 @@ class DeviceErv extends EventEmitter {
|
|
|
469
469
|
if (this.logWarn) this.emit('warn', `Set temperature display unit error: ${error}`);
|
|
470
470
|
};
|
|
471
471
|
});
|
|
472
|
-
|
|
472
|
+
this.melCloudService = melCloudService;
|
|
473
|
+
accessory.addService(melCloudService);
|
|
473
474
|
break;
|
|
474
475
|
case 2: //Thermostat
|
|
475
476
|
if (this.logDebug) this.emit('debug', `Prepare thermostat service`);
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
477
|
+
const melCloudServiceT = new Service.Thermostat(serviceName, `Thermostat ${deviceId}`);
|
|
478
|
+
melCloudServiceT.setPrimaryService(true);
|
|
479
|
+
melCloudServiceT.getCharacteristic(Characteristic.CurrentHeatingCoolingState)
|
|
479
480
|
.onGet(async () => {
|
|
480
481
|
const value = this.accessory.currentOperationMode;
|
|
481
482
|
return value;
|
|
482
483
|
});
|
|
483
|
-
|
|
484
|
+
melCloudServiceT.getCharacteristic(Characteristic.TargetHeatingCoolingState)
|
|
484
485
|
.setProps({
|
|
485
486
|
minValue: this.accessory.operationModeSetPropsMinValue,
|
|
486
487
|
maxValue: this.accessory.operationModeSetPropsMaxValue,
|
|
@@ -500,33 +501,33 @@ class DeviceErv extends EventEmitter {
|
|
|
500
501
|
break;
|
|
501
502
|
case 1: //HEAT - LOSSNAY
|
|
502
503
|
deviceData.Device.Power = true;
|
|
503
|
-
deviceData.Device.VentilationMode = 0;
|
|
504
504
|
flag = Ventilation.EffectiveFlags.Power + Ventilation.EffectiveFlags.VentilationMode;
|
|
505
505
|
break;
|
|
506
506
|
case 2: //COOL - BYPASS
|
|
507
507
|
deviceData.Device.Power = true;
|
|
508
|
-
|
|
508
|
+
value = supportsBypassVentilationMode ? 1 : 0;
|
|
509
509
|
flag = Ventilation.EffectiveFlags.Power + Ventilation.EffectiveFlags.VentilationMode;
|
|
510
510
|
break;
|
|
511
511
|
case 3: //AUTO - AUTO
|
|
512
512
|
deviceData.Device.Power = true;
|
|
513
|
-
|
|
513
|
+
value = supportsAutoVentilationMode ? 2 : 0;
|
|
514
514
|
flag = Ventilation.EffectiveFlags.Power + Ventilation.EffectiveFlags.VentilationMode;
|
|
515
515
|
break;
|
|
516
516
|
};
|
|
517
517
|
|
|
518
|
+
deviceData.Device.VentilationMode = value;
|
|
518
519
|
if (this.logInfo) this.emit('info', `Set operation mode: ${Ventilation.VentilationModeMapEnumToString[deviceData.Device.VentilationMode]}`);
|
|
519
520
|
await this.melCloudErv.send(this.accountType, this.displayType, deviceData, flag);
|
|
520
521
|
} catch (error) {
|
|
521
522
|
if (this.logWarn) this.emit('warn', `Set operation mode error: ${error}`);
|
|
522
523
|
};
|
|
523
524
|
});
|
|
524
|
-
|
|
525
|
+
melCloudServiceT.getCharacteristic(Characteristic.CurrentTemperature)
|
|
525
526
|
.onGet(async () => {
|
|
526
527
|
const value = this.accessory.roomTemperature;
|
|
527
528
|
return value;
|
|
528
529
|
});
|
|
529
|
-
|
|
530
|
+
melCloudServiceT.getCharacteristic(Characteristic.TargetTemperature)
|
|
530
531
|
.setProps({
|
|
531
532
|
minValue: this.accessory.minTempHeat,
|
|
532
533
|
maxValue: this.accessory.maxTempHeat,
|
|
@@ -545,7 +546,7 @@ class DeviceErv extends EventEmitter {
|
|
|
545
546
|
if (this.logWarn) this.emit('warn', `Set temperature error: ${error}`);
|
|
546
547
|
};
|
|
547
548
|
});
|
|
548
|
-
|
|
549
|
+
melCloudServiceT.getCharacteristic(Characteristic.TemperatureDisplayUnits)
|
|
549
550
|
.onGet(async () => {
|
|
550
551
|
const value = this.accessory.useFahrenheit;
|
|
551
552
|
return value;
|
|
@@ -562,7 +563,8 @@ class DeviceErv extends EventEmitter {
|
|
|
562
563
|
if (this.logWarn) this.emit('warn', `Set temperature display unit error: ${error}`);
|
|
563
564
|
};
|
|
564
565
|
});
|
|
565
|
-
|
|
566
|
+
this.melCloudService = melCloudServiceT;
|
|
567
|
+
accessory.addService(melCloudServiceT);
|
|
566
568
|
break;
|
|
567
569
|
};
|
|
568
570
|
|
|
@@ -1319,8 +1321,8 @@ class DeviceErv extends EventEmitter {
|
|
|
1319
1321
|
.updateCharacteristic(Characteristic.RotationSpeed, obj.fanSpeed)
|
|
1320
1322
|
.updateCharacteristic(Characteristic.LockPhysicalControls, obj.lockPhysicalControl)
|
|
1321
1323
|
.updateCharacteristic(Characteristic.TemperatureDisplayUnits, obj.useFahrenheit);
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
+
if (supportsCoolOperationMode) this.melCloudService?.updateCharacteristic(Characteristic.CoolingThresholdTemperature, defaultCoolingSetTemperature);
|
|
1325
|
+
if (supportsHeatOperationMode) this.melCloudService?.updateCharacteristic(Characteristic.HeatingThresholdTemperature, defaultHeatingSetTemperature);
|
|
1324
1326
|
break;
|
|
1325
1327
|
case 2: //Thermostat
|
|
1326
1328
|
//operation mode - 0, HEAT, 2, COOL, 4, 5, 6, FAN, AUTO
|
package/src/melcloudata.js
CHANGED
|
@@ -181,25 +181,13 @@ class MelCloudAta extends EventEmitter {
|
|
|
181
181
|
this.updateData(deviceData);
|
|
182
182
|
return true;
|
|
183
183
|
case "melcloudhome":
|
|
184
|
-
if (displayType === 1 && deviceData.Device.OperationMode === 8) {
|
|
185
|
-
deviceData.Device.SetTemperature = (deviceData.Device.DefaultCoolingSetTemperature + deviceData.Device.DefaultHeatingSetTemperature) / 2;
|
|
186
|
-
|
|
187
|
-
if (this.deviceData.Device.DefaultCoolingSetTemperature !== deviceData.Device.DefaultCoolingSetTemperature || this.deviceData.Device.DefaultHeatingSetTemperature !== deviceData.Device.DefaultHeatingSetTemperature) {
|
|
188
|
-
const temps = {
|
|
189
|
-
defaultCoolingSetTemperature: deviceData.Device.DefaultCoolingSetTemperature,
|
|
190
|
-
defaultHeatingSetTemperature: deviceData.Device.DefaultHeatingSetTemperature
|
|
191
|
-
};
|
|
192
|
-
await this.functions.saveData(this.defaultTempsFile, temps);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
|
|
196
184
|
switch (flag) {
|
|
197
185
|
case 'frostprotection':
|
|
198
186
|
payload = {
|
|
199
187
|
enabled: deviceData.FrostProtection.Enabled,
|
|
200
188
|
min: deviceData.FrostProtection.Min,
|
|
201
189
|
max: deviceData.FrostProtection.Max,
|
|
202
|
-
units: {
|
|
190
|
+
units: { ATA: [deviceData.DeviceID] }
|
|
203
191
|
};
|
|
204
192
|
method = 'POST';
|
|
205
193
|
path = ApiUrlsHome.PostProtectionFrost;
|
|
@@ -210,7 +198,7 @@ class MelCloudAta extends EventEmitter {
|
|
|
210
198
|
enabled: deviceData.OverheatProtection.Enabled,
|
|
211
199
|
min: deviceData.OverheatProtection.Min,
|
|
212
200
|
max: deviceData.OverheatProtection.Max,
|
|
213
|
-
units: {
|
|
201
|
+
units: { ATA: [deviceData.DeviceID] }
|
|
214
202
|
};
|
|
215
203
|
method = 'POST';
|
|
216
204
|
path = ApiUrlsHome.PostProtectionOverheat;
|
|
@@ -221,7 +209,7 @@ class MelCloudAta extends EventEmitter {
|
|
|
221
209
|
enabled: deviceData.HolidayMode.Enabled,
|
|
222
210
|
startDate: deviceData.HolidayMode.StartDate,
|
|
223
211
|
endDate: deviceData.HolidayMode.EndDate,
|
|
224
|
-
units: {
|
|
212
|
+
units: { ATA: [deviceData.DeviceID] }
|
|
225
213
|
};
|
|
226
214
|
method = 'POST';
|
|
227
215
|
path = ApiUrlsHome.PostHolidayMode;
|
|
@@ -235,11 +223,22 @@ class MelCloudAta extends EventEmitter {
|
|
|
235
223
|
break;
|
|
236
224
|
case 'scene':
|
|
237
225
|
method = 'PUT';
|
|
238
|
-
|
|
239
|
-
path = ApiUrlsHome.PutScene[state].replace('sceneid', flagData.Id);
|
|
226
|
+
path = ApiUrlsHome.PutScene[flagData.Enabled ? 'Enable' : 'Disable'].replace('sceneid', flagData.Id);
|
|
240
227
|
this.headers.Referer = ApiUrlsHome.Referers.GetPutScenes;
|
|
241
228
|
break;
|
|
242
229
|
default:
|
|
230
|
+
if (displayType === 1 && deviceData.Device.OperationMode === 8) {
|
|
231
|
+
deviceData.Device.SetTemperature = (deviceData.Device.DefaultCoolingSetTemperature + deviceData.Device.DefaultHeatingSetTemperature) / 2;
|
|
232
|
+
|
|
233
|
+
if (this.deviceData.Device.DefaultCoolingSetTemperature !== deviceData.Device.DefaultCoolingSetTemperature || this.deviceData.Device.DefaultHeatingSetTemperature !== deviceData.Device.DefaultHeatingSetTemperature) {
|
|
234
|
+
const temps = {
|
|
235
|
+
defaultCoolingSetTemperature: deviceData.Device.DefaultCoolingSetTemperature,
|
|
236
|
+
defaultHeatingSetTemperature: deviceData.Device.DefaultHeatingSetTemperature
|
|
237
|
+
};
|
|
238
|
+
await this.functions.saveData(this.defaultTempsFile, temps);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
|
|
243
242
|
payload = {
|
|
244
243
|
power: deviceData.Device.Power,
|
|
245
244
|
setTemperature: deviceData.Device.SetTemperature,
|
package/src/melcloudatw.js
CHANGED
|
@@ -209,8 +209,7 @@ class MelCloudAtw extends EventEmitter {
|
|
|
209
209
|
break;
|
|
210
210
|
case 'scene':
|
|
211
211
|
method = 'PUT';
|
|
212
|
-
|
|
213
|
-
path = ApiUrlsHome.PutScene[state].replace('sceneid', flagData.Id);
|
|
212
|
+
path = ApiUrlsHome.PutScene[flagData.Enabled ? 'Enable' : 'Disable'].replace('sceneid', flagData.Id);
|
|
214
213
|
this.headers.Referer = ApiUrlsHome.Referers.GetPutScenes;
|
|
215
214
|
break;
|
|
216
215
|
default:
|
package/src/melclouderv.js
CHANGED
|
@@ -192,18 +192,6 @@ class MelCloudErv extends EventEmitter {
|
|
|
192
192
|
this.updateData(deviceData);
|
|
193
193
|
return true;
|
|
194
194
|
case "melcloudhome":
|
|
195
|
-
if (displayType === 1 && deviceData.Device.VentilationMode === 2) {
|
|
196
|
-
deviceData.Device.SetTemperature = (deviceData.Device.DefaultCoolingSetTemperature + deviceData.Device.DefaultHeatingSetTemperature) / 2;
|
|
197
|
-
|
|
198
|
-
if (this.deviceData.Device.DefaultCoolingSetTemperature !== deviceData.Device.DefaultCoolingSetTemperature || this.deviceData.Device.DefaultHeatingSetTemperature !== deviceData.Device.DefaultHeatingSetTemperature) {
|
|
199
|
-
const temps = {
|
|
200
|
-
defaultCoolingSetTemperature: deviceData.Device.DefaultCoolingSetTemperature,
|
|
201
|
-
defaultHeatingSetTemperature: deviceData.Device.DefaultHeatingSetTemperature
|
|
202
|
-
};
|
|
203
|
-
await this.functions.saveData(this.defaultTempsFile, temps);
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
|
|
207
195
|
switch (flag) {
|
|
208
196
|
case 'holidaymode':
|
|
209
197
|
payload = {
|
|
@@ -224,11 +212,22 @@ class MelCloudErv extends EventEmitter {
|
|
|
224
212
|
break;
|
|
225
213
|
case 'scene':
|
|
226
214
|
method = 'PUT';
|
|
227
|
-
|
|
228
|
-
path = ApiUrlsHome.PutScene[state].replace('sceneid', flagData.Id);
|
|
215
|
+
path = ApiUrlsHome.PutScene[flagData.Enabled ? 'Enable' : 'Disable'].replace('sceneid', flagData.Id);
|
|
229
216
|
this.headers.Referer = ApiUrlsHome.Referers.GetPutScenes;
|
|
230
217
|
break;
|
|
231
218
|
default:
|
|
219
|
+
if (displayType === 1 && deviceData.Device.VentilationMode === 2) {
|
|
220
|
+
deviceData.Device.SetTemperature = (deviceData.Device.DefaultCoolingSetTemperature + deviceData.Device.DefaultHeatingSetTemperature) / 2;
|
|
221
|
+
|
|
222
|
+
if (this.deviceData.Device.DefaultCoolingSetTemperature !== deviceData.Device.DefaultCoolingSetTemperature || this.deviceData.Device.DefaultHeatingSetTemperature !== deviceData.Device.DefaultHeatingSetTemperature) {
|
|
223
|
+
const temps = {
|
|
224
|
+
defaultCoolingSetTemperature: deviceData.Device.DefaultCoolingSetTemperature,
|
|
225
|
+
defaultHeatingSetTemperature: deviceData.Device.DefaultHeatingSetTemperature
|
|
226
|
+
};
|
|
227
|
+
await this.functions.saveData(this.defaultTempsFile, temps);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
|
|
232
231
|
payload = {
|
|
233
232
|
power: deviceData.Device.Power,
|
|
234
233
|
setTemperature: deviceData.Device.SetTemperature,
|