homebridge-melcloud-control 3.2.4 → 3.2.5
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 +50 -49
- package/src/deviceatw.js +17 -17
- package/src/deviceerv.js +11 -11
- package/src/melcloudata.js +6 -3
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"displayName": "MELCloud Control",
|
|
3
3
|
"name": "homebridge-melcloud-control",
|
|
4
|
-
"version": "3.2.
|
|
4
|
+
"version": "3.2.5",
|
|
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
|
@@ -84,7 +84,7 @@ class DeviceAta extends EventEmitter {
|
|
|
84
84
|
button.serviceType = buttonServiceType;
|
|
85
85
|
button.characteristicType = buttonCharacteristicType;
|
|
86
86
|
button.state = false;
|
|
87
|
-
button.previousValue =
|
|
87
|
+
button.previousValue = null;
|
|
88
88
|
this.buttonsConfigured.push(button);
|
|
89
89
|
} else {
|
|
90
90
|
const log = buttonDisplayType === 0 ? false : this.emit('warn', `Button Name: ${buttonName ? buttonName : 'Missing'}, Mode: ${buttonMode ? buttonMode : 'Missing'}.`);
|
|
@@ -311,8 +311,8 @@ class DeviceAta extends EventEmitter {
|
|
|
311
311
|
this.accessory.targetOperationMode = 2;
|
|
312
312
|
break;
|
|
313
313
|
default:
|
|
314
|
-
this.emit('warn', `
|
|
315
|
-
|
|
314
|
+
this.emit('warn', `Received unknown operating mode: ${operationMode}`);
|
|
315
|
+
return
|
|
316
316
|
};
|
|
317
317
|
break;
|
|
318
318
|
case false:
|
|
@@ -462,7 +462,7 @@ class DeviceAta extends EventEmitter {
|
|
|
462
462
|
&& presetData.SetTemperature === setTemperature
|
|
463
463
|
&& presetData.OperationMode === operationMode
|
|
464
464
|
&& presetData.VaneHorizontal === vaneHorizontalDirection
|
|
465
|
-
&& presetData.VaneVertical ===
|
|
465
|
+
&& presetData.VaneVertical === vaneVerticalDirection
|
|
466
466
|
&& presetData.FanSpeed === fanSpeed) : false;
|
|
467
467
|
|
|
468
468
|
if (this.presetsServices) {
|
|
@@ -477,19 +477,20 @@ class DeviceAta extends EventEmitter {
|
|
|
477
477
|
if (this.buttonsConfiguredCount > 0) {
|
|
478
478
|
for (let i = 0; i < this.buttonsConfiguredCount; i++) {
|
|
479
479
|
const button = this.buttonsConfigured[i];
|
|
480
|
-
const mode =
|
|
480
|
+
const mode = button.mode;
|
|
481
|
+
let setPreviousValue = false;
|
|
481
482
|
switch (mode) {
|
|
482
483
|
case 0: //POWER ON,OFF
|
|
483
484
|
button.state = (power === true);
|
|
484
485
|
break;
|
|
485
486
|
case 1: //OPERATING MODE HEAT
|
|
486
|
-
button.state = power ? (operationMode === 1) : false;
|
|
487
|
+
button.state = power ? (operationMode === 1 || operationMode === 9) : false;
|
|
487
488
|
break;
|
|
488
489
|
case 2: //OPERATING MODE DRY
|
|
489
|
-
button.state = power ? (operationMode === 2) : false;
|
|
490
|
+
button.state = power ? (operationMode === 2 || operationMode === 10) : false;
|
|
490
491
|
break
|
|
491
492
|
case 3: //OPERATING MODE COOL
|
|
492
|
-
button.state = power ? (operationMode === 3) : false;
|
|
493
|
+
button.state = power ? (operationMode === 3 || operationMode === 11) : false;
|
|
493
494
|
break;
|
|
494
495
|
case 4: //OPERATING MODE FAN
|
|
495
496
|
button.state = power ? (operationMode === 7) : false;
|
|
@@ -498,7 +499,7 @@ class DeviceAta extends EventEmitter {
|
|
|
498
499
|
button.state = power ? (operationMode === 8) : false;
|
|
499
500
|
break;
|
|
500
501
|
case 6: //OPERATING MODE PURIFY
|
|
501
|
-
button.state = power ? (operationMode ===
|
|
502
|
+
button.state = power ? (operationMode === 12) : false;
|
|
502
503
|
break;
|
|
503
504
|
case 7: //OPERATING MODE DRY CONTROL HIDE
|
|
504
505
|
button.state = power ? (hideDryModeControl === true) : false;
|
|
@@ -528,25 +529,25 @@ class DeviceAta extends EventEmitter {
|
|
|
528
529
|
button.state = power ? (vaneHorizontalDirection === 12) : false;
|
|
529
530
|
break;
|
|
530
531
|
case 20: //VANE V SWING MODE AUTO
|
|
531
|
-
button.state = power ? (
|
|
532
|
+
button.state = power ? (vaneVerticalDirection === 0) : false;
|
|
532
533
|
break;
|
|
533
534
|
case 21: //VANE V SWING MODE 1
|
|
534
|
-
button.state = power ? (
|
|
535
|
+
button.state = power ? (vaneVerticalDirection === 1) : false;
|
|
535
536
|
break;
|
|
536
537
|
case 22: //VANE V SWING MODE 2
|
|
537
|
-
button.state = power ? (
|
|
538
|
+
button.state = power ? (vaneVerticalDirection === 2) : false;
|
|
538
539
|
break;
|
|
539
540
|
case 23: //VANE V SWING MODE 3
|
|
540
|
-
button.state = power ? (
|
|
541
|
+
button.state = power ? (vaneVerticalDirection === 3) : false;
|
|
541
542
|
break;
|
|
542
543
|
case 24: //VANE V SWING MODE 4
|
|
543
|
-
button.state = power ? (
|
|
544
|
+
button.state = power ? (vaneVerticalDirection === 4) : false;
|
|
544
545
|
break;
|
|
545
546
|
case 25: //VANE V SWING MODE 5
|
|
546
|
-
button.state = power ? (
|
|
547
|
+
button.state = power ? (vaneVerticalDirection === 5) : false;
|
|
547
548
|
break;
|
|
548
549
|
case 26: //VANE V SWING MODE SWING
|
|
549
|
-
button.state = power ? (
|
|
550
|
+
button.state = power ? (vaneVerticalDirection === 7) : false;
|
|
550
551
|
break;
|
|
551
552
|
case 27: //VANE H/V CONTROLS HIDE
|
|
552
553
|
button.state = power ? (hideVaneControls === true) : false;
|
|
@@ -1192,130 +1193,130 @@ class DeviceAta extends EventEmitter {
|
|
|
1192
1193
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power;
|
|
1193
1194
|
break;
|
|
1194
1195
|
case 1: //OPERATING MODE HEAT
|
|
1195
|
-
button.previousValue = state ? deviceData.Device.OperationMode : button.previousValue;
|
|
1196
|
+
button.previousValue = state ? deviceData.Device.OperationMode : button.previousValue ?? deviceData.Device.OperationMode;
|
|
1196
1197
|
deviceData.Device.Power = true;
|
|
1197
|
-
deviceData.Device.OperationMode = state ? 1 : button.previousValue;
|
|
1198
|
+
deviceData.Device.OperationMode = state ? 1 : button.previousValue === 9 ? 1 : button.previousValue;
|
|
1198
1199
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.OperationMode;
|
|
1199
1200
|
break;
|
|
1200
1201
|
case 2: //OPERATING MODE DRY
|
|
1201
|
-
button.previousValue = state ? deviceData.Device.OperationMode : button.previousValue;
|
|
1202
|
+
button.previousValue = state ? deviceData.Device.OperationMode : button.previousValue ?? deviceData.Device.OperationMode;
|
|
1202
1203
|
deviceData.Device.Power = true;
|
|
1203
|
-
deviceData.Device.OperationMode = state ? 2 : button.previousValue;
|
|
1204
|
+
deviceData.Device.OperationMode = state ? 2 : button.previousValue === 10 ? 2 : button.previousValue;
|
|
1204
1205
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.OperationMode;
|
|
1205
1206
|
break
|
|
1206
1207
|
case 3: //OPERATING MODE COOL
|
|
1207
|
-
button.previousValue = state ? deviceData.Device.OperationMode : button.previousValue;
|
|
1208
|
+
button.previousValue = state ? deviceData.Device.OperationMode : button.previousValue ?? deviceData.Device.OperationMode;
|
|
1208
1209
|
deviceData.Device.Power = true;
|
|
1209
|
-
deviceData.Device.OperationMode = state ? 3 : button.previousValue;
|
|
1210
|
+
deviceData.Device.OperationMode = state ? 3 : button.previousValue === 11 ? 3 : button.previousValue;
|
|
1210
1211
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.OperationMode;
|
|
1211
1212
|
break;
|
|
1212
1213
|
case 4: //OPERATING MODE FAN
|
|
1213
|
-
button.previousValue = state ? deviceData.Device.OperationMode : button.previousValue;
|
|
1214
|
+
button.previousValue = state ? deviceData.Device.OperationMode : button.previousValue ?? deviceData.Device.OperationMode;
|
|
1214
1215
|
deviceData.Device.Power = true;
|
|
1215
1216
|
deviceData.Device.OperationMode = state ? 7 : button.previousValue;
|
|
1216
1217
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.OperationMode;
|
|
1217
1218
|
break;
|
|
1218
1219
|
case 5: //OPERATING MODE AUTO
|
|
1219
|
-
button.previousValue = state ? deviceData.Device.OperationMode : button.previousValue;
|
|
1220
|
+
button.previousValue = state ? deviceData.Device.OperationMode : button.previousValue ?? deviceData.Device.OperationMode;
|
|
1220
1221
|
deviceData.Device.Power = true;
|
|
1221
1222
|
deviceData.Device.OperationMode = state ? 8 : button.previousValue;
|
|
1222
1223
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.OperationMode;
|
|
1223
1224
|
break;
|
|
1224
1225
|
case 6: //OPERATING MODE PURIFY
|
|
1225
|
-
button.previousValue = state ? deviceData.Device.OperationMode : button.previousValue;
|
|
1226
|
+
button.previousValue = state ? deviceData.Device.OperationMode : button.previousValue ?? deviceData.Device.OperationMode;
|
|
1226
1227
|
deviceData.Device.Power = true;
|
|
1227
|
-
deviceData.Device.OperationMode = state ?
|
|
1228
|
+
deviceData.Device.OperationMode = state ? 12 : button.previousValue;
|
|
1228
1229
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.OperationMode;
|
|
1229
1230
|
break;
|
|
1230
1231
|
case 7: //OPERATING MODE DRY CONTROL HIDE
|
|
1231
1232
|
deviceData.Device.HideDryModeControl = state;
|
|
1232
1233
|
break;
|
|
1233
1234
|
case 10: //VANE H SWING MODE AUTO
|
|
1234
|
-
button.previousValue = state ? deviceData.Device.VaneHorizontalDirection : button.previousValue;
|
|
1235
|
+
button.previousValue = state ? deviceData.Device.VaneHorizontalDirection : button.previousValue ?? deviceData.Device.VaneHorizontalDirection;
|
|
1235
1236
|
deviceData.Device.Power = true;
|
|
1236
1237
|
deviceData.Device.VaneHorizontalDirection = state ? 0 : button.previousValue;
|
|
1237
1238
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.VaneHorizontal;
|
|
1238
1239
|
break;
|
|
1239
1240
|
case 11: //VANE H SWING MODE 1
|
|
1240
|
-
button.previousValue = state ? deviceData.Device.VaneHorizontalDirection : button.previousValue;
|
|
1241
|
+
button.previousValue = state ? deviceData.Device.VaneHorizontalDirection : button.previousValue ?? deviceData.Device.VaneHorizontalDirection;
|
|
1241
1242
|
deviceData.Device.Power = true;
|
|
1242
1243
|
deviceData.Device.VaneHorizontalDirection = state ? 1 : button.previousValue;
|
|
1243
1244
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.VaneHorizontal;
|
|
1244
1245
|
break;
|
|
1245
1246
|
case 12: //VANE H SWING MODE 2
|
|
1246
|
-
button.previousValue = state ? deviceData.Device.VaneHorizontalDirection : button.previousValue;
|
|
1247
|
+
button.previousValue = state ? deviceData.Device.VaneHorizontalDirection : button.previousValue ?? deviceData.Device.VaneHorizontalDirection;
|
|
1247
1248
|
deviceData.Device.Power = true;
|
|
1248
1249
|
deviceData.Device.VaneHorizontalDirection = state ? 2 : button.previousValue;
|
|
1249
1250
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.VaneHorizontal;
|
|
1250
1251
|
break;
|
|
1251
1252
|
case 13: //VANE H SWING MODE 3
|
|
1252
|
-
button.previousValue = state ? deviceData.Device.VaneHorizontalDirection : button.previousValue;
|
|
1253
|
+
button.previousValue = state ? deviceData.Device.VaneHorizontalDirection : button.previousValue ?? deviceData.Device.VaneHorizontalDirection;
|
|
1253
1254
|
deviceData.Device.Power = true;
|
|
1254
1255
|
deviceData.Device.VaneHorizontalDirection = state ? 3 : button.previousValue;
|
|
1255
1256
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.VaneHorizontal;
|
|
1256
1257
|
break;
|
|
1257
1258
|
case 14: //VANE H SWING MODE 4
|
|
1258
|
-
button.previousValue = state ? deviceData.Device.VaneHorizontalDirection : button.previousValue;
|
|
1259
|
+
button.previousValue = state ? deviceData.Device.VaneHorizontalDirection : button.previousValue ?? deviceData.Device.VaneHorizontalDirection;
|
|
1259
1260
|
deviceData.Device.Power = true;
|
|
1260
1261
|
deviceData.Device.VaneHorizontalDirection = state ? 4 : button.previousValue;
|
|
1261
1262
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.VaneHorizontal;
|
|
1262
1263
|
break;
|
|
1263
1264
|
case 15: //VANE H SWING MODE 5
|
|
1264
|
-
button.previousValue = state ? deviceData.Device.VaneHorizontalDirection : button.previousValue;
|
|
1265
|
+
button.previousValue = state ? deviceData.Device.VaneHorizontalDirection : button.previousValue ?? deviceData.Device.VaneHorizontalDirection;
|
|
1265
1266
|
deviceData.Device.Power = true;
|
|
1266
1267
|
deviceData.Device.VaneHorizontalDirection = state ? 5 : button.previousValue;
|
|
1267
1268
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.VaneHorizontal;
|
|
1268
1269
|
break;
|
|
1269
1270
|
case 16: //VANE H SWING MODE SPLIT
|
|
1270
|
-
button.previousValue = state ? deviceData.Device.VaneHorizontalDirection : button.previousValue;
|
|
1271
|
+
button.previousValue = state ? deviceData.Device.VaneHorizontalDirection : button.previousValue ?? deviceData.Device.VaneHorizontalDirection;
|
|
1271
1272
|
deviceData.Device.Power = true;
|
|
1272
1273
|
deviceData.Device.VaneHorizontalDirection = state ? 8 : button.previousValue;
|
|
1273
1274
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.VaneHorizontal;
|
|
1274
1275
|
break;
|
|
1275
1276
|
case 17: //VANE H SWING MODE SWING
|
|
1276
|
-
button.previousValue = state ? deviceData.Device.VaneHorizontalDirection : button.previousValue;
|
|
1277
|
+
button.previousValue = state ? deviceData.Device.VaneHorizontalDirection : button.previousValue ?? deviceData.Device.VaneHorizontalDirection;
|
|
1277
1278
|
deviceData.Device.Power = true;
|
|
1278
1279
|
deviceData.Device.VaneHorizontalDirection = state ? 12 : button.previousValue;
|
|
1279
1280
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.VaneHorizontal;
|
|
1280
1281
|
break;
|
|
1281
1282
|
case 20: //VANE V SWING MODE AUTO
|
|
1282
|
-
button.previousValue = state ? deviceData.Device.VaneVerticalDirection : button.previousValue;
|
|
1283
|
+
button.previousValue = state ? deviceData.Device.VaneVerticalDirection : button.previousValue ?? deviceData.Device.VaneVerticalDirection;
|
|
1283
1284
|
deviceData.Device.Power = true;
|
|
1284
1285
|
deviceData.Device.VaneVerticalDirection = state ? 0 : button.previousValue;
|
|
1285
1286
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.VaneVertical;
|
|
1286
1287
|
break;
|
|
1287
1288
|
case 21: //VANE V SWING MODE 1
|
|
1288
|
-
button.previousValue = state ? deviceData.Device.VaneVerticalDirection : button.previousValue;
|
|
1289
|
+
button.previousValue = state ? deviceData.Device.VaneVerticalDirection : button.previousValue ?? deviceData.Device.VaneVerticalDirection;
|
|
1289
1290
|
deviceData.Device.Power = true;
|
|
1290
1291
|
deviceData.Device.VaneVerticalDirection = state ? 1 : button.previousValue;
|
|
1291
1292
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.VaneVertical;
|
|
1292
1293
|
break;
|
|
1293
1294
|
case 22: //VANE V SWING MODE 2
|
|
1294
|
-
button.previousValue = state ? deviceData.Device.VaneVerticalDirection : button.previousValue;
|
|
1295
|
+
button.previousValue = state ? deviceData.Device.VaneVerticalDirection : button.previousValue ?? deviceData.Device.VaneVerticalDirection;
|
|
1295
1296
|
deviceData.Device.Power = true;
|
|
1296
1297
|
deviceData.Device.VaneVerticalDirection = state ? 2 : button.previousValue;
|
|
1297
1298
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.VaneVertical;
|
|
1298
1299
|
break;
|
|
1299
1300
|
case 23: //VANE V SWING MODE 3
|
|
1300
|
-
button.previousValue = state ? deviceData.Device.VaneVerticalDirection : button.previousValue;
|
|
1301
|
+
button.previousValue = state ? deviceData.Device.VaneVerticalDirection : button.previousValue ?? deviceData.Device.VaneVerticalDirection;
|
|
1301
1302
|
deviceData.Device.Power = true;
|
|
1302
1303
|
deviceData.Device.VaneVerticalDirection = state ? 3 : button.previousValue;
|
|
1303
1304
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.VaneVertical;
|
|
1304
1305
|
break;
|
|
1305
1306
|
case 24: //VANE V SWING MODE 4
|
|
1306
|
-
button.previousValue = state ? deviceData.Device.VaneVerticalDirection : button.previousValue;
|
|
1307
|
+
button.previousValue = state ? deviceData.Device.VaneVerticalDirection : button.previousValue ?? deviceData.Device.VaneVerticalDirection;
|
|
1307
1308
|
deviceData.Device.Power = true;
|
|
1308
1309
|
deviceData.Device.VaneVerticalDirection = state ? 4 : button.previousValue;
|
|
1309
1310
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.VaneVertical;
|
|
1310
1311
|
break;
|
|
1311
1312
|
case 25: //VANE V SWING MODE 5
|
|
1312
|
-
button.previousValue = state ? deviceData.Device.VaneVerticalDirection : button.previousValue;
|
|
1313
|
+
button.previousValue = state ? deviceData.Device.VaneVerticalDirection : button.previousValue ?? deviceData.Device.VaneVerticalDirection;
|
|
1313
1314
|
deviceData.Device.Power = true;
|
|
1314
1315
|
deviceData.Device.VaneVerticalDirection = state ? 5 : button.previousValue;
|
|
1315
1316
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.VaneVertical;
|
|
1316
1317
|
break;
|
|
1317
1318
|
case 26: //VANE V SWING MODE SWING
|
|
1318
|
-
button.previousValue = state ? deviceData.Device.VaneVerticalDirection : button.previousValue;
|
|
1319
|
+
button.previousValue = state ? deviceData.Device.VaneVerticalDirection : button.previousValue ?? deviceData.Device.VaneVerticalDirection;
|
|
1319
1320
|
deviceData.Device.Power = true;
|
|
1320
1321
|
deviceData.Device.VaneVerticalDirection = state ? 7 : button.previousValue;
|
|
1321
1322
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.VaneVertical;
|
|
@@ -1324,43 +1325,43 @@ class DeviceAta extends EventEmitter {
|
|
|
1324
1325
|
deviceData.Device.HideVaneControls = state;
|
|
1325
1326
|
break;
|
|
1326
1327
|
case 30: //FAN SPEED MODE AUTO
|
|
1327
|
-
button.previousValue = state ? deviceData.Device.FanSpeed : button.previousValue;
|
|
1328
|
+
button.previousValue = state ? deviceData.Device.FanSpeed : button.previousValue ?? deviceData.Device.FanSpeed;
|
|
1328
1329
|
deviceData.Device.Power = true;
|
|
1329
1330
|
deviceData.Device.FanSpeed = state ? 0 : button.previousValue;
|
|
1330
1331
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.SetFanSpeed;
|
|
1331
1332
|
break;
|
|
1332
1333
|
case 31: //FAN SPEED MODE 1
|
|
1333
|
-
button.previousValue = state ? deviceData.Device.FanSpeed : button.previousValue;
|
|
1334
|
+
button.previousValue = state ? deviceData.Device.FanSpeed : button.previousValue ?? deviceData.Device.FanSpeed;
|
|
1334
1335
|
deviceData.Device.Power = true;
|
|
1335
1336
|
deviceData.Device.FanSpeed = state ? 1 : button.previousValue;
|
|
1336
1337
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.SetFanSpeed;
|
|
1337
1338
|
break;
|
|
1338
1339
|
case 32: //FAN SPEED MODE 2
|
|
1339
|
-
button.previousValue = state ? deviceData.Device.FanSpeed : button.previousValue;
|
|
1340
|
+
button.previousValue = state ? deviceData.Device.FanSpeed : button.previousValue ?? deviceData.Device.FanSpeed;
|
|
1340
1341
|
deviceData.Device.Power = true;
|
|
1341
1342
|
deviceData.Device.FanSpeed = state ? 2 : button.previousValue;
|
|
1342
1343
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.SetFanSpeed;
|
|
1343
1344
|
break;
|
|
1344
1345
|
case 33: //FAN SPEED MODE 3
|
|
1345
|
-
button.previousValue = state ? deviceData.Device.FanSpeed : button.previousValue;
|
|
1346
|
+
button.previousValue = state ? deviceData.Device.FanSpeed : button.previousValue ?? deviceData.Device.FanSpeed;
|
|
1346
1347
|
deviceData.Device.Power = true;
|
|
1347
1348
|
deviceData.Device.FanSpeed = state ? 3 : button.previousValue;
|
|
1348
1349
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.SetFanSpeed;
|
|
1349
1350
|
break;
|
|
1350
1351
|
case 34: //FAN MODE 4
|
|
1351
|
-
button.previousValue = state ? deviceData.Device.FanSpeed : button.previousValue;
|
|
1352
|
+
button.previousValue = state ? deviceData.Device.FanSpeed : button.previousValue ?? deviceData.Device.FanSpeed;
|
|
1352
1353
|
deviceData.Device.Power = true;
|
|
1353
1354
|
deviceData.Device.FanSpeed = state ? 4 : button.previousValue;
|
|
1354
1355
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.SetFanSpeed;
|
|
1355
1356
|
break;
|
|
1356
1357
|
case 35: //FAN SPEED MODE 5
|
|
1357
|
-
button.previousValue = state ? deviceData.Device.FanSpeed : button.previousValue;
|
|
1358
|
+
button.previousValue = state ? deviceData.Device.FanSpeed : button.previousValue ?? deviceData.Device.FanSpeed;
|
|
1358
1359
|
deviceData.Device.Power = true;
|
|
1359
1360
|
deviceData.Device.FanSpeed = state ? 5 : button.previousValue;
|
|
1360
1361
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.SetFanSpeed;
|
|
1361
1362
|
break;
|
|
1362
1363
|
case 36: //FAN SPEED MODE 6
|
|
1363
|
-
button.previousValue = state ? deviceData.Device.FanSpeed : button.previousValue;
|
|
1364
|
+
button.previousValue = state ? deviceData.Device.FanSpeed : button.previousValue ?? deviceData.Device.FanSpeed;
|
|
1364
1365
|
deviceData.Device.Power = true;
|
|
1365
1366
|
deviceData.Device.FanSpeed = state ? 6 : button.previousValue;
|
|
1366
1367
|
deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.SetFanSpeed;
|
|
@@ -1389,7 +1390,7 @@ class DeviceAta extends EventEmitter {
|
|
|
1389
1390
|
};
|
|
1390
1391
|
|
|
1391
1392
|
await this.melCloudAta.send(deviceData);
|
|
1392
|
-
const info = this.disableLogInfo ? false : this.emit('message', `${state ?
|
|
1393
|
+
const info = this.disableLogInfo ? false : this.emit('message', `${state ? `Set: ${buttonName}` : `Unset: ${buttonName}, Set: ${button.previousValue}`}`);
|
|
1393
1394
|
} catch (error) {
|
|
1394
1395
|
this.emit('warn', `Set button error: ${error}`);
|
|
1395
1396
|
};
|
package/src/deviceatw.js
CHANGED
|
@@ -88,7 +88,7 @@ class DeviceAtw extends EventEmitter {
|
|
|
88
88
|
button.serviceType = buttonServiceType;
|
|
89
89
|
button.characteristicType = buttonCharacteristicType;
|
|
90
90
|
button.state = false;
|
|
91
|
-
button.previousValue =
|
|
91
|
+
button.previousValue = null;
|
|
92
92
|
this.buttonsConfigured.push(button);
|
|
93
93
|
} else {
|
|
94
94
|
const log = buttonDisplayType === 0 ? false : this.emit('warn', `Button Name: ${buttonName ? buttonName : 'Missing'}, Mode: ${buttonMode ? buttonMode : 'Missing'}.`);
|
|
@@ -632,7 +632,7 @@ class DeviceAtw extends EventEmitter {
|
|
|
632
632
|
if (this.buttonsConfiguredCount > 0) {
|
|
633
633
|
for (let i = 0; i < this.buttonsConfiguredCount; i++) {
|
|
634
634
|
const button = this.buttonsConfigured[i];
|
|
635
|
-
const mode =
|
|
635
|
+
const mode = button.mode;
|
|
636
636
|
switch (mode) {
|
|
637
637
|
case 0: //POWER ON,OFF
|
|
638
638
|
button.state = (power === true);
|
|
@@ -1674,13 +1674,13 @@ class DeviceAtw extends EventEmitter {
|
|
|
1674
1674
|
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.Power;
|
|
1675
1675
|
break;
|
|
1676
1676
|
case 1: //HEAT PUMP HEAT
|
|
1677
|
-
button.previousValue = state ? deviceData.Device.UnitStatus : button.previousValue;
|
|
1677
|
+
button.previousValue = state ? deviceData.Device.UnitStatus : button.previousValue ?? deviceData.Device.UnitStatus;
|
|
1678
1678
|
deviceData.Device.Power = true;
|
|
1679
1679
|
deviceData.Device.UnitStatus = state ? 0 : button.previousValue;
|
|
1680
1680
|
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.Power + CONSTANTS.HeatPump.EffectiveFlags.OperationMode;
|
|
1681
1681
|
break;
|
|
1682
1682
|
case 2: //COOL
|
|
1683
|
-
button.previousValue = state ? deviceData.Device.UnitStatus : button.previousValue;
|
|
1683
|
+
button.previousValue = state ? deviceData.Device.UnitStatus : button.previousValue ?? deviceData.Device.UnitStatus;
|
|
1684
1684
|
deviceData.Device.Power = true;
|
|
1685
1685
|
deviceData.Device.UnitStatus = state ? 1 : button.previousValue;
|
|
1686
1686
|
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.Power + CONSTANTS.HeatPump.EffectiveFlags.OperationMode;
|
|
@@ -1696,37 +1696,37 @@ class DeviceAtw extends EventEmitter {
|
|
|
1696
1696
|
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.ProhibitHeatingZone1 + CONSTANTS.HeatPump.EffectiveFlags.ProhibitHotWater + CONSTANTS.HeatPump.EffectiveFlags.ProhibitHeatingZone2;
|
|
1697
1697
|
break;
|
|
1698
1698
|
case 20: //ZONE 1 HEAT THERMOSTAT
|
|
1699
|
-
button.previousValue = state ? deviceData.Device.OperationModeZone1 : button.previousValue;
|
|
1699
|
+
button.previousValue = state ? deviceData.Device.OperationModeZone1 : button.previousValue ?? deviceData.Device.OperationModeZone1;
|
|
1700
1700
|
deviceData.Device.Power = true;
|
|
1701
1701
|
deviceData.Device.OperationModeZone1 = state ? 0 : button.previousValue;
|
|
1702
1702
|
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.Power + CONSTANTS.HeatPump.EffectiveFlags.OperationModeZone1;
|
|
1703
1703
|
break;
|
|
1704
1704
|
case 21: //HEAT FLOW
|
|
1705
|
-
button.previousValue = state ? deviceData.Device.OperationModeZone1 : button.previousValue;
|
|
1705
|
+
button.previousValue = state ? deviceData.Device.OperationModeZone1 : button.previousValue ?? deviceData.Device.OperationModeZone1;
|
|
1706
1706
|
deviceData.Device.Power = true;
|
|
1707
1707
|
deviceData.Device.OperationModeZone1 = state ? 1 : button.previousValue;
|
|
1708
1708
|
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.Power + CONSTANTS.HeatPump.EffectiveFlags.OperationModeZone1;
|
|
1709
1709
|
break;
|
|
1710
1710
|
case 22: //HEAT CURVE
|
|
1711
|
-
button.previousValue = state ? deviceData.Device.OperationModeZone1 : button.previousValue;
|
|
1711
|
+
button.previousValue = state ? deviceData.Device.OperationModeZone1 : button.previousValue ?? deviceData.Device.OperationModeZone1;
|
|
1712
1712
|
deviceData.Device.Power = true;
|
|
1713
1713
|
deviceData.Device.OperationModeZone1 = state ? 2 : button.previousValue;
|
|
1714
1714
|
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.Power + CONSTANTS.HeatPump.EffectiveFlags.OperationModeZone1;
|
|
1715
1715
|
break;
|
|
1716
1716
|
case 23: //COOL THERMOSTAT
|
|
1717
|
-
button.previousValue = state ? deviceData.Device.OperationModeZone1 : button.previousValue;
|
|
1717
|
+
button.previousValue = state ? deviceData.Device.OperationModeZone1 : button.previousValue ?? deviceData.Device.OperationModeZone1;
|
|
1718
1718
|
deviceData.Device.Power = true;
|
|
1719
1719
|
deviceData.Device.OperationModeZone1 = state ? 3 : button.previousValue;
|
|
1720
1720
|
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.Power + CONSTANTS.HeatPump.EffectiveFlags.OperationModeZone1;
|
|
1721
1721
|
break;
|
|
1722
1722
|
case 24: //COOL FLOW
|
|
1723
|
-
button.previousValue = state ? deviceData.Device.OperationModeZone1 : button.previousValue;
|
|
1723
|
+
button.previousValue = state ? deviceData.Device.OperationModeZone1 : button.previousValue ?? deviceData.Device.OperationModeZone1;
|
|
1724
1724
|
deviceData.Device.Power = true;
|
|
1725
1725
|
deviceData.Device.OperationModeZone1 = state ? 4 : button.previousValue;
|
|
1726
1726
|
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.Power + CONSTANTS.HeatPump.EffectiveFlags.OperationModeZone1;
|
|
1727
1727
|
break;
|
|
1728
1728
|
case 25: //FLOOR DRY UP
|
|
1729
|
-
button.previousValue = state ? deviceData.Device.OperationModeZone1 : button.previousValue;
|
|
1729
|
+
button.previousValue = state ? deviceData.Device.OperationModeZone1 : button.previousValue ?? deviceData.Device.OperationModeZone1;
|
|
1730
1730
|
deviceData.Device.Power = true;
|
|
1731
1731
|
deviceData.Device.OperationModeZone1 = state ? 5 : button.previousValue;
|
|
1732
1732
|
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.Power + CONSTANTS.HeatPump.EffectiveFlags.OperationModeZone1;
|
|
@@ -1750,37 +1750,37 @@ class DeviceAtw extends EventEmitter {
|
|
|
1750
1750
|
CONSTANTS.HeatPump.EffectiveFlags.ProhibitHotWater;
|
|
1751
1751
|
break;
|
|
1752
1752
|
case 60: //ZONE 2 HEAT THERMOSTAT
|
|
1753
|
-
button.previousValue = state ? deviceData.Device.OperationModeZone2 : button.previousValue;
|
|
1753
|
+
button.previousValue = state ? deviceData.Device.OperationModeZone2 : button.previousValue ?? deviceData.Device.OperationModeZone2;
|
|
1754
1754
|
deviceData.Device.Power = true;
|
|
1755
1755
|
deviceData.Device.OperationModeZone2 = state ? 0 : button.previousValue;
|
|
1756
1756
|
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.Power + CONSTANTS.HeatPump.EffectiveFlags.OperationModeZone2;
|
|
1757
1757
|
break;
|
|
1758
1758
|
case 61: // HEAT FLOW
|
|
1759
|
-
button.previousValue = state ? deviceData.Device.OperationModeZone2 : button.previousValue;
|
|
1759
|
+
button.previousValue = state ? deviceData.Device.OperationModeZone2 : button.previousValue ?? deviceData.Device.OperationModeZone2;
|
|
1760
1760
|
deviceData.Device.Power = true;
|
|
1761
1761
|
deviceData.Device.OperationModeZone2 = state ? 1 : button.previousValue;
|
|
1762
1762
|
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.Power + CONSTANTS.HeatPump.EffectiveFlags.OperationModeZone2;
|
|
1763
1763
|
break;
|
|
1764
1764
|
case 62: //HEAT CURVE
|
|
1765
|
-
button.previousValue = state ? deviceData.Device.OperationModeZone2 : button.previousValue;
|
|
1765
|
+
button.previousValue = state ? deviceData.Device.OperationModeZone2 : button.previousValue ?? deviceData.Device.OperationModeZone2;
|
|
1766
1766
|
deviceData.Device.Power = true;
|
|
1767
1767
|
deviceData.Device.OperationModeZone2 = state ? 2 : button.previousValue;
|
|
1768
1768
|
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.Power + CONSTANTS.HeatPump.EffectiveFlags.OperationModeZone2;
|
|
1769
1769
|
break;
|
|
1770
1770
|
case 63: //COOL THERMOSTAT
|
|
1771
|
-
button.previousValue = state ? deviceData.Device.OperationModeZone2 : button.previousValue;
|
|
1771
|
+
button.previousValue = state ? deviceData.Device.OperationModeZone2 : button.previousValue ?? deviceData.Device.OperationModeZone2;
|
|
1772
1772
|
deviceData.Device.Power = true;
|
|
1773
1773
|
deviceData.Device.OperationModeZone2 = state ? 3 : button.previousValue;
|
|
1774
1774
|
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.Power + CONSTANTS.HeatPump.EffectiveFlags.OperationModeZone2;
|
|
1775
1775
|
break;
|
|
1776
1776
|
case 64: //COOL FLOW
|
|
1777
|
-
button.previousValue = state ? deviceData.Device.OperationModeZone2 : button.previousValue;
|
|
1777
|
+
button.previousValue = state ? deviceData.Device.OperationModeZone2 : button.previousValue ?? deviceData.Device.OperationModeZone2;
|
|
1778
1778
|
deviceData.Device.Power = true;
|
|
1779
1779
|
deviceData.Device.OperationModeZone2 = state ? 4 : button.previousValue;
|
|
1780
1780
|
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.Power + CONSTANTS.HeatPump.EffectiveFlags.OperationModeZone2;
|
|
1781
1781
|
break;
|
|
1782
1782
|
case 65: //FLOOR DRY UP
|
|
1783
|
-
button.previousValue = state ? deviceData.Device.OperationModeZone2 : button.previousValue;
|
|
1783
|
+
button.previousValue = state ? deviceData.Device.OperationModeZone2 : button.previousValue ?? deviceData.Device.OperationModeZone2;
|
|
1784
1784
|
deviceData.Device.Power = true;
|
|
1785
1785
|
deviceData.Device.OperationModeZone2 = state ? 5 : button.previousValue;
|
|
1786
1786
|
deviceData.Device.EffectiveFlags = CONSTANTS.HeatPump.EffectiveFlags.Power + CONSTANTS.HeatPump.EffectiveFlags.OperationModeZone2;
|
|
@@ -1795,7 +1795,7 @@ class DeviceAtw extends EventEmitter {
|
|
|
1795
1795
|
};
|
|
1796
1796
|
|
|
1797
1797
|
await this.melCloudAtw.send(deviceData);
|
|
1798
|
-
const info = this.disableLogInfo ? false : this.emit('message', `${state ?
|
|
1798
|
+
const info = this.disableLogInfo ? false : this.emit('message', `${state ? `Set: ${buttonName}` : `Unset: ${buttonName}, Set: ${button.previousValue}`}`);
|
|
1799
1799
|
} catch (error) {
|
|
1800
1800
|
this.emit('warn', `Set button error: ${error}`);
|
|
1801
1801
|
};
|
package/src/deviceerv.js
CHANGED
|
@@ -82,7 +82,7 @@ class DeviceErv extends EventEmitter {
|
|
|
82
82
|
button.serviceType = buttonServiceType;
|
|
83
83
|
button.characteristicType = buttonCharacteristicType;
|
|
84
84
|
button.state = false;
|
|
85
|
-
button.previousValue =
|
|
85
|
+
button.previousValue = null;
|
|
86
86
|
this.buttonsConfigured.push(button);
|
|
87
87
|
} else {
|
|
88
88
|
const log = buttonDisplayType === 0 ? false : this.emit('warn', `Button Name: ${buttonName ? buttonName : 'Missing'}, Mode: ${buttonMode ? buttonMode : 'Missing'}.`);
|
|
@@ -482,7 +482,7 @@ class DeviceErv extends EventEmitter {
|
|
|
482
482
|
if (this.buttonsConfiguredCount > 0) {
|
|
483
483
|
for (let i = 0; i < this.buttonsConfiguredCount; i++) {
|
|
484
484
|
const button = this.buttonsConfigured[i];
|
|
485
|
-
const mode =
|
|
485
|
+
const mode = button.mode;;
|
|
486
486
|
switch (mode) {
|
|
487
487
|
case 0: //POWER ON,OFF
|
|
488
488
|
button.state = (power === true);
|
|
@@ -1186,19 +1186,19 @@ class DeviceErv extends EventEmitter {
|
|
|
1186
1186
|
deviceData.Device.EffectiveFlags = CONSTANTS.Ventilation.EffectiveFlags.Power;
|
|
1187
1187
|
break;
|
|
1188
1188
|
case 1: //OPERATING MODE RECOVERY
|
|
1189
|
-
button.previousValue = state ? deviceData.Device.VentilationMode : button.previousValue;
|
|
1189
|
+
button.previousValue = state ? deviceData.Device.VentilationMode : button.previousValue ?? deviceData.Device.VentilationMode;
|
|
1190
1190
|
deviceData.Device.Power = true;
|
|
1191
1191
|
deviceData.Device.VentilationMode = state ? 0 : button.previousValue;
|
|
1192
1192
|
deviceData.Device.EffectiveFlags = CONSTANTS.Ventilation.EffectiveFlags.Power + CONSTANTS.Ventilation.EffectiveFlags.VentilationMode;
|
|
1193
1193
|
break;
|
|
1194
1194
|
case 2: //OPERATING MODE BYPASS
|
|
1195
|
-
button.previousValue = state ? deviceData.Device.VentilationMode : button.previousValue;
|
|
1195
|
+
button.previousValue = state ? deviceData.Device.VentilationMode : button.previousValue ?? deviceData.Device.VentilationMode;
|
|
1196
1196
|
deviceData.Device.Power = true;
|
|
1197
1197
|
deviceData.Device.VentilationMode = state ? 1 : button.previousValue;
|
|
1198
1198
|
deviceData.Device.EffectiveFlags = CONSTANTS.Ventilation.EffectiveFlags.Power + CONSTANTS.Ventilation.EffectiveFlags.VentilationMode;
|
|
1199
1199
|
break
|
|
1200
1200
|
case 3: //OPERATING MODE AUTO
|
|
1201
|
-
button.previousValue = state ? deviceData.Device.VentilationMode : button.previousValue;
|
|
1201
|
+
button.previousValue = state ? deviceData.Device.VentilationMode : button.previousValue ?? deviceData.Device.VentilationMode;
|
|
1202
1202
|
deviceData.Device.Power = true;
|
|
1203
1203
|
deviceData.Device.VentilationMode = state ? 2 : button.previousValue;
|
|
1204
1204
|
deviceData.Device.EffectiveFlags = CONSTANTS.Ventilation.EffectiveFlags.Power + CONSTANTS.Ventilation.EffectiveFlags.VentilationMode;
|
|
@@ -1209,31 +1209,31 @@ class DeviceErv extends EventEmitter {
|
|
|
1209
1209
|
deviceData.Device.EffectiveFlags = CONSTANTS.Ventilation.EffectiveFlags.Power
|
|
1210
1210
|
break;
|
|
1211
1211
|
case 10: //FAN SPEED MODE AUTO
|
|
1212
|
-
button.previousValue = state ? deviceData.Device.SetFanSpeed : button.previousValue;
|
|
1212
|
+
button.previousValue = state ? deviceData.Device.SetFanSpeed : button.previousValue ?? deviceData.Device.SetFanSpeed;
|
|
1213
1213
|
deviceData.Device.Power = true;
|
|
1214
1214
|
deviceData.Device.SetFanSpeed = state ? 0 : button.previousValue;
|
|
1215
1215
|
deviceData.Device.EffectiveFlags = CONSTANTS.Ventilation.EffectiveFlags.Power + CONSTANTS.Ventilation.EffectiveFlags.SetFanSpeed;
|
|
1216
1216
|
break;
|
|
1217
1217
|
case 11: //FAN SPEED MODE 1
|
|
1218
|
-
button.previousValue = state ? deviceData.Device.SetFanSpeed : button.previousValue;
|
|
1218
|
+
button.previousValue = state ? deviceData.Device.SetFanSpeed : button.previousValue ?? deviceData.Device.SetFanSpeed;
|
|
1219
1219
|
deviceData.Device.Power = true;
|
|
1220
1220
|
deviceData.Device.SetFanSpeed = state ? 1 : button.previousValue;
|
|
1221
1221
|
deviceData.Device.EffectiveFlags = CONSTANTS.Ventilation.EffectiveFlags.Power + CONSTANTS.Ventilation.EffectiveFlags.SetFanSpeed;
|
|
1222
1222
|
break;
|
|
1223
1223
|
case 12: //FAN SPEED MODE 2
|
|
1224
|
-
button.previousValue = state ? deviceData.Device.SetFanSpeed : button.previousValue;
|
|
1224
|
+
button.previousValue = state ? deviceData.Device.SetFanSpeed : button.previousValue ?? deviceData.Device.SetFanSpeed;
|
|
1225
1225
|
deviceData.Device.Power = true;
|
|
1226
1226
|
deviceData.Device.SetFanSpeed = state ? 2 : button.previousValue;
|
|
1227
1227
|
deviceData.Device.EffectiveFlags = CONSTANTS.Ventilation.EffectiveFlags.Power + CONSTANTS.Ventilation.EffectiveFlags.SetFanSpeed;
|
|
1228
1228
|
break;
|
|
1229
1229
|
case 13: //FAN SPEED MODE 3
|
|
1230
|
-
button.previousValue = state ? deviceData.Device.SetFanSpeed : button.previousValue;
|
|
1230
|
+
button.previousValue = state ? deviceData.Device.SetFanSpeed : button.previousValue ?? deviceData.Device.SetFanSpeed;
|
|
1231
1231
|
deviceData.Device.Power = true;
|
|
1232
1232
|
deviceData.Device.SetFanSpeed = state ? 3 : button.previousValue;
|
|
1233
1233
|
deviceData.Device.EffectiveFlags = CONSTANTS.Ventilation.EffectiveFlags.Power + CONSTANTS.Ventilation.EffectiveFlags.SetFanSpeed;
|
|
1234
1234
|
break;
|
|
1235
1235
|
case 14: //FAN MODE 4
|
|
1236
|
-
button.previousValue = state ? deviceData.Device.SetFanSpeed : button.previousValue;
|
|
1236
|
+
button.previousValue = state ? deviceData.Device.SetFanSpeed : button.previousValue ?? deviceData.Device.SetFanSpeed;
|
|
1237
1237
|
deviceData.Device.Power = true;
|
|
1238
1238
|
deviceData.Device.SetFanSpeed = state ? 4 : button.previousValue;
|
|
1239
1239
|
deviceData.Device.EffectiveFlags = CONSTANTS.Ventilation.EffectiveFlags.Power + CONSTANTS.Ventilation.EffectiveFlags.SetFanSpeed;
|
|
@@ -1257,7 +1257,7 @@ class DeviceErv extends EventEmitter {
|
|
|
1257
1257
|
};
|
|
1258
1258
|
|
|
1259
1259
|
await this.melCloudErv.send(deviceData);
|
|
1260
|
-
const info = this.disableLogInfo ? false : this.emit('message', `${state ?
|
|
1260
|
+
const info = this.disableLogInfo ? false : this.emit('message', `${state ? `Set: ${buttonName}` : `Unset: ${buttonName}, Set: ${button.previousValue}`}`);
|
|
1261
1261
|
} catch (error) {
|
|
1262
1262
|
this.emit('warn', `Set button error: ${error}`);
|
|
1263
1263
|
};
|
package/src/melcloudata.js
CHANGED
|
@@ -380,14 +380,17 @@ class MelCloudAta extends EventEmitter {
|
|
|
380
380
|
deviceData.Device.SetTemperature = deviceData.Device.SetTemperature < minTempCoolDry ? minTempCoolDry : deviceData.Device.SetTemperature;
|
|
381
381
|
deviceData.Device.SetTemperature = deviceData.Device.SetTemperature > maxTempCoolDry ? maxTempCoolDry : deviceData.Device.SetTemperature;
|
|
382
382
|
break;
|
|
383
|
+
case 7:
|
|
384
|
+
deviceData.Device.SetTemperature = deviceData.Device.SetTemperature < 10 ? 10 : deviceData.Device.SetTemperature;
|
|
385
|
+
deviceData.Device.SetTemperature = deviceData.Device.SetTemperature > 31 ? 31 : deviceData.Device.SetTemperature;
|
|
386
|
+
break;
|
|
383
387
|
case 8:
|
|
384
388
|
deviceData.Device.SetTemperature = deviceData.Device.SetTemperature < minTempAutomatic ? minTempAutomatic : deviceData.Device.SetTemperature;
|
|
385
389
|
deviceData.Device.SetTemperature = deviceData.Device.SetTemperature > maxTempAutomatic ? maxTempAutomatic : deviceData.Device.SetTemperature;
|
|
386
390
|
break;
|
|
387
391
|
default:
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
break;
|
|
392
|
+
this.emit('warn', `Trying to set nknown operating mode: ${deviceData.Device.OperationMode}`);
|
|
393
|
+
return;
|
|
391
394
|
};
|
|
392
395
|
|
|
393
396
|
const payload = {
|