tsvesync 1.0.42 → 1.0.43

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.
@@ -12,10 +12,6 @@ export declare class VeSyncAirBypass extends VeSyncFan {
12
12
  protected readonly displayModes: readonly ["on", "off"];
13
13
  protected readonly childLockModes: readonly ["on", "off"];
14
14
  constructor(details: Record<string, any>, manager: VeSync);
15
- /**
16
- * Build API dictionary
17
- */
18
- protected buildApiDict(method: string): [Record<string, any>, Record<string, any>];
19
15
  /**
20
16
  * Get device details
21
17
  */
@@ -61,21 +57,17 @@ export declare class VeSyncAirBypass extends VeSyncFan {
61
57
  */
62
58
  automaticStopOff(): Promise<boolean>;
63
59
  /**
64
- * Set mode
60
+ * Set auto mode
65
61
  */
66
- mode_toggle(mode: string): Promise<boolean>;
62
+ autoMode(): Promise<boolean>;
67
63
  /**
68
64
  * Set manual mode
69
65
  */
70
- manual_mode(): Promise<boolean>;
66
+ manualMode(): Promise<boolean>;
71
67
  /**
72
68
  * Set sleep mode
73
69
  */
74
- sleep_mode(): Promise<boolean>;
75
- /**
76
- * Set auto mode
77
- */
78
- auto_mode(): Promise<boolean>;
70
+ sleepMode(): Promise<boolean>;
79
71
  /**
80
72
  * Turn off display
81
73
  */
@@ -84,10 +76,6 @@ export declare class VeSyncAirBypass extends VeSyncFan {
84
76
  * Turn on display
85
77
  */
86
78
  turnOnDisplay(): Promise<boolean>;
87
- /**
88
- * Display device info
89
- */
90
- display(): void;
91
79
  }
92
80
  /**
93
81
  * VeSync Humidifier Base Class
@@ -165,10 +153,6 @@ export declare class VeSyncHumidifier extends VeSyncFan {
165
153
  * Set manual mode
166
154
  */
167
155
  setManualMode(): Promise<boolean>;
168
- /**
169
- * Set sleep mode
170
- */
171
- sleepMode(): Promise<boolean>;
172
156
  /**
173
157
  * Turn off display
174
158
  */
@@ -251,23 +235,7 @@ export declare class VeSyncAirBaseV2 extends VeSyncAirBypass {
251
235
  /**
252
236
  * Set mode
253
237
  */
254
- mode_toggle(mode: string): Promise<boolean>;
255
- /**
256
- * Set manual mode
257
- */
258
- manual_mode(): Promise<boolean>;
259
- /**
260
- * Set sleep mode
261
- */
262
- sleep_mode(): Promise<boolean>;
263
- /**
264
- * Set auto mode
265
- */
266
- auto_mode(): Promise<boolean>;
267
- /**
268
- * Set turbo mode
269
- */
270
- turbo_mode(): Promise<boolean>;
238
+ protected mode_toggle(mode: string): Promise<boolean>;
271
239
  }
272
240
  /**
273
241
  * VeSync Tower Fan Implementation
@@ -19,23 +19,6 @@ class VeSyncAirBypass extends vesyncFan_1.VeSyncFan {
19
19
  this.childLockModes = ['on', 'off'];
20
20
  logger_1.logger.debug(`Initialized VeSyncAirBypass device: ${this.deviceName}`);
21
21
  }
22
- /**
23
- * Build API dictionary
24
- */
25
- buildApiDict(method) {
26
- const head = helpers_1.Helpers.reqHeaderBypass();
27
- const body = {
28
- ...helpers_1.Helpers.reqBody(this.manager, 'bypassV2'),
29
- deviceId: this.cid,
30
- configModule: this.configModule,
31
- payload: {
32
- method,
33
- source: 'APP',
34
- data: {}
35
- }
36
- };
37
- return [head, body];
38
- }
39
22
  /**
40
23
  * Get device details
41
24
  */
@@ -423,79 +406,37 @@ class VeSyncAirBypass extends vesyncFan_1.VeSyncFan {
423
406
  return success;
424
407
  }
425
408
  /**
426
- * Set mode
409
+ * Set auto mode
427
410
  */
428
- async mode_toggle(mode) {
429
- if (!this.modes.includes(mode.toLowerCase())) {
430
- logger_1.logger.debug(`Invalid purifier mode used - ${mode}`);
431
- return false;
432
- }
433
- const [head, body] = this.buildApiDict('setPurifierMode');
434
- if (!head || !body) {
435
- return false;
436
- }
437
- if (mode === 'manual') {
438
- body.payload = {
439
- data: {
440
- id: 0,
441
- level: 1,
442
- type: 'wind'
443
- },
444
- method: 'setLevel',
445
- type: 'APP'
446
- };
447
- }
448
- else {
449
- body.payload.data = {
450
- mode: mode.toLowerCase()
451
- };
452
- }
453
- const [response, status] = await this.callApi('/cloud/v2/deviceManaged/bypassV2', 'post', body, head);
454
- const success = this.checkResponse([response, status], 'mode_toggle');
455
- if (success) {
456
- if (mode === 'manual') {
457
- this.details.speed = 1;
458
- this.details.mode = 'manual';
459
- }
460
- else {
461
- this.details.mode = mode;
462
- this.details.speed = 0;
463
- }
464
- }
465
- else {
466
- logger_1.logger.debug('Error setting purifier mode');
411
+ async autoMode() {
412
+ logger_1.logger.debug(`Setting auto mode for device: ${this.deviceName}`);
413
+ const success = await this.setMode('auto');
414
+ if (!success) {
415
+ logger_1.logger.error(`Failed to set auto mode for device: ${this.deviceName}`);
467
416
  }
468
417
  return success;
469
418
  }
470
419
  /**
471
420
  * Set manual mode
472
421
  */
473
- async manual_mode() {
474
- if (!this.modes.includes('manual')) {
475
- logger_1.logger.debug(`${this.deviceName} does not have manual mode`);
476
- return false;
422
+ async manualMode() {
423
+ logger_1.logger.debug(`Setting manual mode for device: ${this.deviceName}`);
424
+ const success = await this.setMode('manual');
425
+ if (!success) {
426
+ logger_1.logger.error(`Failed to set manual mode for device: ${this.deviceName}`);
477
427
  }
478
- return this.mode_toggle('manual');
428
+ return success;
479
429
  }
480
430
  /**
481
431
  * Set sleep mode
482
432
  */
483
- async sleep_mode() {
484
- if (!this.modes.includes('sleep')) {
485
- logger_1.logger.debug(`${this.deviceName} does not have sleep mode`);
486
- return false;
487
- }
488
- return this.mode_toggle('sleep');
489
- }
490
- /**
491
- * Set auto mode
492
- */
493
- async auto_mode() {
494
- if (!this.modes.includes('auto')) {
495
- logger_1.logger.debug(`${this.deviceName} does not have auto mode`);
496
- return false;
433
+ async sleepMode() {
434
+ logger_1.logger.debug(`Setting sleep mode for device: ${this.deviceName}`);
435
+ const success = await this.setMode('sleep');
436
+ if (!success) {
437
+ logger_1.logger.error(`Failed to set sleep mode for device: ${this.deviceName}`);
497
438
  }
498
- return this.mode_toggle('auto');
439
+ return success;
499
440
  }
500
441
  /**
501
442
  * Turn off display
@@ -519,24 +460,6 @@ class VeSyncAirBypass extends vesyncFan_1.VeSyncFan {
519
460
  }
520
461
  return success;
521
462
  }
522
- /**
523
- * Display device info
524
- */
525
- display() {
526
- super.display();
527
- const info = [
528
- ['Mode: ', this.details.mode || ''],
529
- ['Speed: ', this.speed],
530
- ['Filter Life: ', this.filterLife || 0, '%'],
531
- ['Air Quality: ', this.details.air_quality || ''],
532
- ['Display: ', this.details.display || false],
533
- ['Child Lock: ', this.details.child_lock || false],
534
- ['Night Light: ', this.details.night_light || 'off']
535
- ];
536
- for (const [key, value, unit = ''] of info) {
537
- logger_1.logger.info(`${key.toString().padEnd(30, '.')} ${value}${unit}`);
538
- }
539
- }
540
463
  }
541
464
  exports.VeSyncAirBypass = VeSyncAirBypass;
542
465
  /**
@@ -914,17 +837,6 @@ class VeSyncHumidifier extends vesyncFan_1.VeSyncFan {
914
837
  }
915
838
  return success;
916
839
  }
917
- /**
918
- * Set sleep mode
919
- */
920
- async sleepMode() {
921
- logger_1.logger.debug(`Setting sleep mode for device: ${this.deviceName}`);
922
- const success = await this.setMode('sleep');
923
- if (!success) {
924
- logger_1.logger.error(`Failed to set sleep mode for device: ${this.deviceName}`);
925
- }
926
- return success;
927
- }
928
840
  /**
929
841
  * Turn off display
930
842
  */
@@ -1210,34 +1122,6 @@ class VeSyncAirBaseV2 extends VeSyncAirBypass {
1210
1122
  }
1211
1123
  return success;
1212
1124
  }
1213
- /**
1214
- * Set manual mode
1215
- */
1216
- async manual_mode() {
1217
- return this.mode_toggle('manual');
1218
- }
1219
- /**
1220
- * Set sleep mode
1221
- */
1222
- async sleep_mode() {
1223
- return this.mode_toggle('sleep');
1224
- }
1225
- /**
1226
- * Set auto mode
1227
- */
1228
- async auto_mode() {
1229
- if (!this.modes.includes('auto')) {
1230
- logger_1.logger.debug(`${this.deviceName} does not have auto mode`);
1231
- return false;
1232
- }
1233
- return this.mode_toggle('auto');
1234
- }
1235
- /**
1236
- * Set turbo mode
1237
- */
1238
- async turbo_mode() {
1239
- return this.mode_toggle('turbo');
1240
- }
1241
1125
  }
1242
1126
  exports.VeSyncAirBaseV2 = VeSyncAirBaseV2;
1243
1127
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tsvesync",
3
- "version": "1.0.42",
3
+ "version": "1.0.43",
4
4
  "description": "A TypeScript library for interacting with VeSync smart home devices",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -21,24 +21,6 @@ export class VeSyncAirBypass extends VeSyncFan {
21
21
  logger.debug(`Initialized VeSyncAirBypass device: ${this.deviceName}`);
22
22
  }
23
23
 
24
- /**
25
- * Build API dictionary
26
- */
27
- protected buildApiDict(method: string): [Record<string, any>, Record<string, any>] {
28
- const head = Helpers.reqHeaderBypass();
29
- const body = {
30
- ...Helpers.reqBody(this.manager, 'bypassV2'),
31
- deviceId: this.cid,
32
- configModule: this.configModule,
33
- payload: {
34
- method,
35
- source: 'APP',
36
- data: {}
37
- }
38
- };
39
- return [head, body];
40
- }
41
-
42
24
  /**
43
25
  * Get device details
44
26
  */
@@ -533,53 +515,13 @@ export class VeSyncAirBypass extends VeSyncFan {
533
515
  }
534
516
 
535
517
  /**
536
- * Set mode
518
+ * Set auto mode
537
519
  */
538
- async mode_toggle(mode: string): Promise<boolean> {
539
- if (!this.modes.includes(mode.toLowerCase() as any)) {
540
- logger.debug(`Invalid purifier mode used - ${mode}`);
541
- return false;
542
- }
543
-
544
- const [head, body] = this.buildApiDict('setPurifierMode');
545
- if (!head || !body) {
546
- return false;
547
- }
548
-
549
- if (mode === 'manual') {
550
- body.payload = {
551
- data: {
552
- id: 0,
553
- level: 1,
554
- type: 'wind'
555
- },
556
- method: 'setLevel',
557
- type: 'APP'
558
- };
559
- } else {
560
- body.payload.data = {
561
- mode: mode.toLowerCase()
562
- };
563
- }
564
-
565
- const [response, status] = await this.callApi(
566
- '/cloud/v2/deviceManaged/bypassV2',
567
- 'post',
568
- body,
569
- head
570
- );
571
-
572
- const success = this.checkResponse([response, status], 'mode_toggle');
573
- if (success) {
574
- if (mode === 'manual') {
575
- this.details.speed = 1;
576
- this.details.mode = 'manual';
577
- } else {
578
- this.details.mode = mode;
579
- this.details.speed = 0;
580
- }
581
- } else {
582
- logger.debug('Error setting purifier mode');
520
+ async autoMode(): Promise<boolean> {
521
+ logger.debug(`Setting auto mode for device: ${this.deviceName}`);
522
+ const success = await this.setMode('auto');
523
+ if (!success) {
524
+ logger.error(`Failed to set auto mode for device: ${this.deviceName}`);
583
525
  }
584
526
  return success;
585
527
  }
@@ -587,34 +529,25 @@ export class VeSyncAirBypass extends VeSyncFan {
587
529
  /**
588
530
  * Set manual mode
589
531
  */
590
- async manual_mode(): Promise<boolean> {
591
- if (!this.modes.includes('manual')) {
592
- logger.debug(`${this.deviceName} does not have manual mode`);
593
- return false;
532
+ async manualMode(): Promise<boolean> {
533
+ logger.debug(`Setting manual mode for device: ${this.deviceName}`);
534
+ const success = await this.setMode('manual');
535
+ if (!success) {
536
+ logger.error(`Failed to set manual mode for device: ${this.deviceName}`);
594
537
  }
595
- return this.mode_toggle('manual');
538
+ return success;
596
539
  }
597
540
 
598
541
  /**
599
542
  * Set sleep mode
600
543
  */
601
- async sleep_mode(): Promise<boolean> {
602
- if (!this.modes.includes('sleep')) {
603
- logger.debug(`${this.deviceName} does not have sleep mode`);
604
- return false;
605
- }
606
- return this.mode_toggle('sleep');
607
- }
608
-
609
- /**
610
- * Set auto mode
611
- */
612
- async auto_mode(): Promise<boolean> {
613
- if (!this.modes.includes('auto')) {
614
- logger.debug(`${this.deviceName} does not have auto mode`);
615
- return false;
544
+ async sleepMode(): Promise<boolean> {
545
+ logger.debug(`Setting sleep mode for device: ${this.deviceName}`);
546
+ const success = await this.setMode('sleep');
547
+ if (!success) {
548
+ logger.error(`Failed to set sleep mode for device: ${this.deviceName}`);
616
549
  }
617
- return this.mode_toggle('auto');
550
+ return success;
618
551
  }
619
552
 
620
553
  /**
@@ -640,26 +573,6 @@ export class VeSyncAirBypass extends VeSyncFan {
640
573
  }
641
574
  return success;
642
575
  }
643
-
644
- /**
645
- * Display device info
646
- */
647
- override display(): void {
648
- super.display();
649
- const info = [
650
- ['Mode: ', this.details.mode || ''],
651
- ['Speed: ', this.speed],
652
- ['Filter Life: ', this.filterLife || 0, '%'],
653
- ['Air Quality: ', this.details.air_quality || ''],
654
- ['Display: ', this.details.display || false],
655
- ['Child Lock: ', this.details.child_lock || false],
656
- ['Night Light: ', this.details.night_light || 'off']
657
- ];
658
-
659
- for (const [key, value, unit = ''] of info) {
660
- logger.info(`${key.toString().padEnd(30, '.')} ${value}${unit}`);
661
- }
662
- }
663
576
  }
664
577
 
665
578
  /**
@@ -1120,18 +1033,6 @@ export class VeSyncHumidifier extends VeSyncFan {
1120
1033
  return success;
1121
1034
  }
1122
1035
 
1123
- /**
1124
- * Set sleep mode
1125
- */
1126
- async sleepMode(): Promise<boolean> {
1127
- logger.debug(`Setting sleep mode for device: ${this.deviceName}`);
1128
- const success = await this.setMode('sleep');
1129
- if (!success) {
1130
- logger.error(`Failed to set sleep mode for device: ${this.deviceName}`);
1131
- }
1132
- return success;
1133
- }
1134
-
1135
1036
  /**
1136
1037
  * Turn off display
1137
1038
  */
@@ -1445,7 +1346,7 @@ export class VeSyncAirBaseV2 extends VeSyncAirBypass {
1445
1346
  /**
1446
1347
  * Set mode
1447
1348
  */
1448
- public async mode_toggle(mode: string): Promise<boolean> {
1349
+ protected async mode_toggle(mode: string): Promise<boolean> {
1449
1350
  const validModes = this.modes.map(m => m.toLowerCase());
1450
1351
  if (!validModes.includes(mode.toLowerCase())) {
1451
1352
  logger.debug(`Invalid mode used - ${mode}`);
@@ -1476,38 +1377,6 @@ export class VeSyncAirBaseV2 extends VeSyncAirBypass {
1476
1377
  }
1477
1378
  return success;
1478
1379
  }
1479
-
1480
- /**
1481
- * Set manual mode
1482
- */
1483
- async manual_mode(): Promise<boolean> {
1484
- return this.mode_toggle('manual');
1485
- }
1486
-
1487
- /**
1488
- * Set sleep mode
1489
- */
1490
- async sleep_mode(): Promise<boolean> {
1491
- return this.mode_toggle('sleep');
1492
- }
1493
-
1494
- /**
1495
- * Set auto mode
1496
- */
1497
- async auto_mode(): Promise<boolean> {
1498
- if (!this.modes.includes('auto')) {
1499
- logger.debug(`${this.deviceName} does not have auto mode`);
1500
- return false;
1501
- }
1502
- return this.mode_toggle('auto');
1503
- }
1504
-
1505
- /**
1506
- * Set turbo mode
1507
- */
1508
- async turbo_mode(): Promise<boolean> {
1509
- return this.mode_toggle('turbo');
1510
- }
1511
1380
  }
1512
1381
 
1513
1382
  /**