@switchbot/homebridge-switchbot 2.6.0-beta.4 → 2.6.0

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.
Files changed (143) hide show
  1. package/.vscode/tasks.json +13 -0
  2. package/CHANGELOG.md +4 -2
  3. package/README.md +18 -9
  4. package/dist/device/blindtilt.d.ts +1 -5
  5. package/dist/device/blindtilt.d.ts.map +1 -1
  6. package/dist/device/blindtilt.js +80 -140
  7. package/dist/device/blindtilt.js.map +1 -1
  8. package/dist/device/bot.d.ts +1 -5
  9. package/dist/device/bot.d.ts.map +1 -1
  10. package/dist/device/bot.js +79 -138
  11. package/dist/device/bot.js.map +1 -1
  12. package/dist/device/ceilinglight.d.ts +2 -6
  13. package/dist/device/ceilinglight.d.ts.map +1 -1
  14. package/dist/device/ceilinglight.js +157 -304
  15. package/dist/device/ceilinglight.js.map +1 -1
  16. package/dist/device/colorbulb.d.ts +2 -6
  17. package/dist/device/colorbulb.d.ts.map +1 -1
  18. package/dist/device/colorbulb.js +164 -311
  19. package/dist/device/colorbulb.js.map +1 -1
  20. package/dist/device/contact.d.ts +1 -5
  21. package/dist/device/contact.d.ts.map +1 -1
  22. package/dist/device/contact.js +36 -72
  23. package/dist/device/contact.js.map +1 -1
  24. package/dist/device/curtain.d.ts +1 -5
  25. package/dist/device/curtain.d.ts.map +1 -1
  26. package/dist/device/curtain.js +78 -138
  27. package/dist/device/curtain.js.map +1 -1
  28. package/dist/device/hub.d.ts +2 -6
  29. package/dist/device/hub.d.ts.map +1 -1
  30. package/dist/device/hub.js +30 -63
  31. package/dist/device/hub.js.map +1 -1
  32. package/dist/device/humidifier.d.ts +1 -5
  33. package/dist/device/humidifier.d.ts.map +1 -1
  34. package/dist/device/humidifier.js +115 -228
  35. package/dist/device/humidifier.js.map +1 -1
  36. package/dist/device/iosensor.d.ts +1 -5
  37. package/dist/device/iosensor.d.ts.map +1 -1
  38. package/dist/device/iosensor.js +38 -74
  39. package/dist/device/iosensor.js.map +1 -1
  40. package/dist/device/{striplight.d.ts → lightstrip.d.ts} +2 -10
  41. package/dist/device/lightstrip.d.ts.map +1 -0
  42. package/dist/device/{striplight.js → lightstrip.js} +138 -194
  43. package/dist/device/lightstrip.js.map +1 -0
  44. package/dist/device/lock.d.ts +1 -5
  45. package/dist/device/lock.d.ts.map +1 -1
  46. package/dist/device/lock.js +66 -126
  47. package/dist/device/lock.js.map +1 -1
  48. package/dist/device/meter.d.ts +1 -5
  49. package/dist/device/meter.d.ts.map +1 -1
  50. package/dist/device/meter.js +38 -74
  51. package/dist/device/meter.js.map +1 -1
  52. package/dist/device/meterplus.d.ts +1 -5
  53. package/dist/device/meterplus.d.ts.map +1 -1
  54. package/dist/device/meterplus.js +39 -75
  55. package/dist/device/meterplus.js.map +1 -1
  56. package/dist/device/motion.d.ts +1 -5
  57. package/dist/device/motion.d.ts.map +1 -1
  58. package/dist/device/motion.js +35 -72
  59. package/dist/device/motion.js.map +1 -1
  60. package/dist/device/plug.d.ts +1 -5
  61. package/dist/device/plug.d.ts.map +1 -1
  62. package/dist/device/plug.js +65 -126
  63. package/dist/device/plug.js.map +1 -1
  64. package/dist/device/robotvacuumcleaner.d.ts +1 -5
  65. package/dist/device/robotvacuumcleaner.d.ts.map +1 -1
  66. package/dist/device/robotvacuumcleaner.js +79 -151
  67. package/dist/device/robotvacuumcleaner.js.map +1 -1
  68. package/dist/irdevice/airconditioner.d.ts +3 -7
  69. package/dist/irdevice/airconditioner.d.ts.map +1 -1
  70. package/dist/irdevice/airconditioner.js +34 -62
  71. package/dist/irdevice/airconditioner.js.map +1 -1
  72. package/dist/irdevice/airpurifier.d.ts +3 -7
  73. package/dist/irdevice/airpurifier.d.ts.map +1 -1
  74. package/dist/irdevice/airpurifier.js +31 -59
  75. package/dist/irdevice/airpurifier.js.map +1 -1
  76. package/dist/irdevice/camera.d.ts +1 -5
  77. package/dist/irdevice/camera.d.ts.map +1 -1
  78. package/dist/irdevice/camera.js +30 -57
  79. package/dist/irdevice/camera.js.map +1 -1
  80. package/dist/irdevice/fan.d.ts +2 -6
  81. package/dist/irdevice/fan.d.ts.map +1 -1
  82. package/dist/irdevice/fan.js +39 -66
  83. package/dist/irdevice/fan.js.map +1 -1
  84. package/dist/irdevice/light.d.ts +1 -5
  85. package/dist/irdevice/light.d.ts.map +1 -1
  86. package/dist/irdevice/light.js +32 -59
  87. package/dist/irdevice/light.js.map +1 -1
  88. package/dist/irdevice/other.d.ts +1 -5
  89. package/dist/irdevice/other.d.ts.map +1 -1
  90. package/dist/irdevice/other.js +30 -57
  91. package/dist/irdevice/other.js.map +1 -1
  92. package/dist/irdevice/tv.d.ts +3 -7
  93. package/dist/irdevice/tv.d.ts.map +1 -1
  94. package/dist/irdevice/tv.js +46 -76
  95. package/dist/irdevice/tv.js.map +1 -1
  96. package/dist/irdevice/vacuumcleaner.d.ts +2 -6
  97. package/dist/irdevice/vacuumcleaner.d.ts.map +1 -1
  98. package/dist/irdevice/vacuumcleaner.js +30 -58
  99. package/dist/irdevice/vacuumcleaner.js.map +1 -1
  100. package/dist/irdevice/waterheater.d.ts +7 -23
  101. package/dist/irdevice/waterheater.d.ts.map +1 -1
  102. package/dist/irdevice/waterheater.js +41 -74
  103. package/dist/irdevice/waterheater.js.map +1 -1
  104. package/dist/platform.d.ts +14 -5
  105. package/dist/platform.d.ts.map +1 -1
  106. package/dist/platform.js +156 -149
  107. package/dist/platform.js.map +1 -1
  108. package/dist/settings.d.ts +4 -0
  109. package/dist/settings.d.ts.map +1 -1
  110. package/dist/settings.js +5 -1
  111. package/dist/settings.js.map +1 -1
  112. package/nodemon.json +1 -1
  113. package/package.json +10 -10
  114. package/src/device/blindtilt.ts +122 -181
  115. package/src/device/bot.ts +96 -149
  116. package/src/device/ceilinglight.ts +172 -315
  117. package/src/device/colorbulb.ts +178 -324
  118. package/src/device/contact.ts +48 -78
  119. package/src/device/curtain.ts +93 -148
  120. package/src/device/hub.ts +34 -63
  121. package/src/device/humidifier.ts +135 -243
  122. package/src/device/iosensor.ts +49 -79
  123. package/src/device/{striplight.ts → lightstrip.ts} +148 -200
  124. package/src/device/lock.ts +78 -134
  125. package/src/device/meter.ts +48 -78
  126. package/src/device/meterplus.ts +50 -80
  127. package/src/device/motion.ts +46 -77
  128. package/src/device/plug.ts +76 -134
  129. package/src/device/robotvacuumcleaner.ts +91 -159
  130. package/src/irdevice/airconditioner.ts +56 -81
  131. package/src/irdevice/airpurifier.ts +41 -67
  132. package/src/irdevice/camera.ts +35 -60
  133. package/src/irdevice/fan.ts +46 -71
  134. package/src/irdevice/light.ts +38 -63
  135. package/src/irdevice/other.ts +35 -60
  136. package/src/irdevice/tv.ts +52 -80
  137. package/src/irdevice/vacuumcleaner.ts +36 -62
  138. package/src/irdevice/waterheater.ts +46 -76
  139. package/src/platform.ts +144 -158
  140. package/src/settings.ts +5 -0
  141. package/.github/npm-version-script.js +0 -81
  142. package/dist/device/striplight.d.ts.map +0 -1
  143. package/dist/device/striplight.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"blindtilt.js","sourceRoot":"","sources":["../../src/device/blindtilt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blindtilt.js","sourceRoot":"","sources":["../../src/device/blindtilt.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,5 @@
1
1
  /// <reference types="node" />
2
- /// <reference types="node" />
3
2
  import { Context } from 'vm';
4
- import { IncomingMessage } from 'http';
5
3
  import { Subject } from 'rxjs';
6
4
  import { SwitchBotPlatform } from '../platform';
7
5
  import { Service, PlatformAccessory, CharacteristicValue } from 'homebridge';
@@ -107,9 +105,7 @@ export declare class Bot {
107
105
  PressOrSwitch(device: device & devicesConfig): Promise<void>;
108
106
  allowPushChanges(device: device & devicesConfig): Promise<void>;
109
107
  scan(device: device & devicesConfig): Promise<void>;
110
- statusCode({ res }: {
111
- res: IncomingMessage;
112
- }): Promise<void>;
108
+ statusCode(statusCode: number): Promise<void>;
113
109
  offlineOff(): Promise<void>;
114
110
  apiError(e: any): Promise<void>;
115
111
  FirmwareRevision(accessory: PlatformAccessory<Context>, device: device & devicesConfig): CharacteristicValue;
@@ -1 +1 @@
1
- {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../../src/device/bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../../src/device/bot.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,11 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.Bot = void 0;
7
- const https_1 = __importDefault(require("https"));
8
- const crypto_1 = __importDefault(require("crypto"));
4
+ const undici_1 = require("undici");
5
+ const utils_1 = require("../utils");
9
6
  const rxjs_1 = require("rxjs");
10
- const super_stringify_1 = __importDefault(require("super-stringify"));
11
7
  const operators_1 = require("rxjs/operators");
12
8
  const settings_1 = require("../settings");
13
- const utils_1 = require("../utils");
14
9
  /**
15
10
  * Platform Accessory
16
11
  * An instance of this class is created for each accessory your platform registers
@@ -332,7 +327,7 @@ class Bot {
332
327
  catch (e) {
333
328
  this.apiError(e);
334
329
  this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} failed pushChanges with ${this.device.connectionType} Connection,`
335
- + ` Error Message: ${(0, super_stringify_1.default)(e.message)}`);
330
+ + ` Error Message: ${JSON.stringify(e.message)}`);
336
331
  }
337
332
  this.botUpdateInProgress = false;
338
333
  });
@@ -443,7 +438,7 @@ class Bot {
443
438
  this.mode = ad.serviceData.mode;
444
439
  this.state = ad.serviceData.state;
445
440
  this.battery = ad.serviceData.battery;
446
- this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} serviceData: ${(0, super_stringify_1.default)(ad.serviceData)}`);
441
+ this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} serviceData: ${JSON.stringify(ad.serviceData)}`);
447
442
  this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName}, model: ${ad.serviceData.model}, modelName: `
448
443
  + `${ad.serviceData.modelName}, mode: ${ad.serviceData.mode}, state: ${ad.serviceData.state}, battery: ${ad.serviceData.battery}`);
449
444
  if (this.serviceData) {
@@ -466,7 +461,7 @@ class Bot {
466
461
  .catch(async (e) => {
467
462
  this.apiError(e);
468
463
  this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} failed BLERefreshStatus with ${this.device.connectionType}`
469
- + ` Connection, Error Message: ${(0, super_stringify_1.default)(e.message)}`);
464
+ + ` Connection, Error Message: ${JSON.stringify(e.message)}`);
470
465
  await this.BLERefreshConnection(switchbot);
471
466
  });
472
467
  }
@@ -475,55 +470,24 @@ class Bot {
475
470
  }
476
471
  }
477
472
  async openAPIRefreshStatus() {
473
+ this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} openAPIRefreshStatus`);
478
474
  try {
479
- const t = Date.now();
480
- const nonce = 'requestID';
481
- const data = this.platform.config.credentials?.token + t + nonce;
482
- const signTerm = crypto_1.default.createHmac('sha256', this.platform.config.credentials?.secret).update(Buffer.from(data, 'utf-8')).digest();
483
- const sign = signTerm.toString('base64');
484
- this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} sign: ${sign}`);
485
- const options = {
486
- hostname: settings_1.HostDomain,
487
- port: 443,
488
- path: `${settings_1.DevicePath}/${this.device.deviceId}/status`,
489
- method: 'GET',
490
- headers: {
491
- Authorization: this.platform.config.credentials?.token,
492
- sign: sign,
493
- nonce: nonce,
494
- t: t,
495
- 'Content-Type': 'application/json',
496
- },
497
- };
498
- const req = https_1.default.request(options, (res) => {
499
- this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} openAPIRefreshStatus statusCode: ${res.statusCode}`);
500
- let rawData = '';
501
- res.on('data', (d) => {
502
- rawData += d;
503
- this.debugLog(`d: ${d}`);
504
- });
505
- res.on('end', () => {
506
- try {
507
- this.deviceStatus = JSON.parse(rawData);
508
- this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} openAPIRefreshStatus: ${(0, super_stringify_1.default)(this.deviceStatus)}`);
509
- this.power = this.deviceStatus.body.power;
510
- this.openAPIparseStatus();
511
- this.updateHomeKitCharacteristics();
512
- }
513
- catch (e) {
514
- this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} error message: ${e.message}`);
515
- }
516
- });
517
- });
518
- req.on('error', (e) => {
519
- this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} error message: ${e.message}`);
475
+ const { body, statusCode, headers } = await (0, undici_1.request)(`${settings_1.Devices}/${this.device.deviceId}/status`, {
476
+ headers: this.platform.generateHeaders(),
520
477
  });
521
- req.end();
478
+ const deviceStatus = await body.json();
479
+ this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} Devices: ${JSON.stringify(deviceStatus.body)}`);
480
+ this.statusCode(statusCode);
481
+ this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} Headers: ${JSON.stringify(headers)}`);
482
+ this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} refreshStatus: ${JSON.stringify(deviceStatus)}`);
483
+ this.power = deviceStatus.body.power;
484
+ this.openAPIparseStatus();
485
+ this.updateHomeKitCharacteristics();
522
486
  }
523
487
  catch (e) {
524
488
  this.apiError(e);
525
489
  this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} failed openAPIRefreshStatus with ${this.device.connectionType}`
526
- + ` Connection, Error Message: ${(0, super_stringify_1.default)(e.message)}`);
490
+ + ` Connection, Error Message: ${JSON.stringify(e.message)}`);
527
491
  }
528
492
  }
529
493
  /**
@@ -592,7 +556,7 @@ class Bot {
592
556
  .catch(async (e) => {
593
557
  this.apiError(e);
594
558
  this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} failed BLEpushChanges with ${this.device.connectionType}`
595
- + ` Connection & botMode: ${this.botMode}, Error Message: ${(0, super_stringify_1.default)(e.message)}`);
559
+ + ` Connection & botMode: ${this.botMode}, Error Message: ${JSON.stringify(e.message)}`);
596
560
  await this.BLEPushConnection();
597
561
  });
598
562
  }
@@ -621,7 +585,7 @@ class Bot {
621
585
  .catch(async (e) => {
622
586
  this.apiError(e);
623
587
  this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} failed BLEpushChanges with ${this.device.connectionType}`
624
- + ` Connection & botMode: ${this.botMode}, Error Message: ${(0, super_stringify_1.default)(e.message)}`);
588
+ + ` Connection & botMode: ${this.botMode}, Error Message: ${JSON.stringify(e.message)}`);
625
589
  await this.BLEPushConnection();
626
590
  });
627
591
  }
@@ -635,74 +599,46 @@ class Bot {
635
599
  }
636
600
  }
637
601
  async openAPIpushChanges() {
602
+ this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} OpenAPI pushChanges`);
638
603
  if (this.multiPressCount > 0) {
639
604
  this.debugLog(`${this.device.deviceType}: ${this.multiPressCount} request(s) queued.`);
640
605
  this.On = true;
641
606
  }
642
- try {
643
- this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} openAPIpushChanges`);
644
- if ((this.On !== this.accessory.context.On || this.allowPush) || this.multiPressCount > 0) {
645
- // Make Push On request to the API
646
- const t = Date.now();
647
- const nonce = 'requestID';
648
- const data = this.platform.config.credentials?.token + t + nonce;
649
- const signTerm = crypto_1.default.createHmac('sha256', this.platform.config.credentials?.secret)
650
- .update(Buffer.from(data, 'utf-8'))
651
- .digest();
652
- const sign = signTerm.toString('base64');
653
- this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} sign: ${sign}`);
654
- let command = '';
655
- if (this.botMode === 'switch' && this.On) {
656
- command = 'turnOn';
657
- this.On = true;
658
- this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} Switch Mode, Turning ${this.On}`);
659
- }
660
- else if (this.botMode === 'switch' && !this.On) {
661
- command = 'turnOff';
662
- this.On = false;
663
- this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} Switch Mode, Turning ${this.On}`);
664
- }
665
- else if (this.botMode === 'press' || this.botMode === 'multipress') {
666
- command = 'press';
667
- this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} Press Mode`);
668
- this.On = false;
669
- }
670
- else {
671
- throw new Error(`${this.device.deviceType}: ${this.accessory.displayName} Device Paramters not set for this Bot.`);
672
- }
673
- const body = (0, super_stringify_1.default)({
674
- 'command': `${command}`,
675
- 'parameter': 'default',
676
- 'commandType': 'command',
677
- });
678
- this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} Sending request to SwitchBot API, body: ${body},`);
679
- const options = {
680
- hostname: settings_1.HostDomain,
681
- port: 443,
682
- path: `${settings_1.DevicePath}/${this.device.deviceId}/commands`,
607
+ if ((this.On !== this.accessory.context.On || this.allowPush) || this.multiPressCount > 0) {
608
+ let command = '';
609
+ if (this.botMode === 'switch' && this.On) {
610
+ command = 'turnOn';
611
+ this.On = true;
612
+ this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} Switch Mode, Turning ${this.On}`);
613
+ }
614
+ else if (this.botMode === 'switch' && !this.On) {
615
+ command = 'turnOff';
616
+ this.On = false;
617
+ this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} Switch Mode, Turning ${this.On}`);
618
+ }
619
+ else if (this.botMode === 'press' || this.botMode === 'multipress') {
620
+ command = 'press';
621
+ this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} Press Mode`);
622
+ this.On = false;
623
+ }
624
+ else {
625
+ throw new Error(`${this.device.deviceType}: ${this.accessory.displayName} Device Paramters not set for this Bot.`);
626
+ }
627
+ const body = JSON.stringify({
628
+ 'command': `${command}`,
629
+ 'parameter': 'default',
630
+ 'commandType': 'command',
631
+ });
632
+ this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} Sending request to SwitchBot API, body: ${body},`);
633
+ try {
634
+ const { body, statusCode, headers } = await (0, undici_1.request)(`${settings_1.Devices}/${this.device.deviceId}/commands`, {
683
635
  method: 'POST',
684
- headers: {
685
- 'Authorization': this.platform.config.credentials?.token,
686
- 'sign': sign,
687
- 'nonce': nonce,
688
- 't': t,
689
- 'Content-Type': 'application/json',
690
- 'Content-Length': body.length,
691
- },
692
- };
693
- const req = https_1.default.request(options, res => {
694
- this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} openAPIpushChanges statusCode: ${res.statusCode}`);
695
- this.statusCode({ res });
696
- res.on('data', d => {
697
- this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} d: ${d}`);
698
- });
699
- });
700
- req.on('error', (e) => {
701
- this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} error message: ${e.message}`);
636
+ headers: this.platform.generateHeaders(),
702
637
  });
703
- req.write(body);
704
- req.end();
705
- this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} openAPIpushChanges: ${(0, super_stringify_1.default)(req)}`);
638
+ const deviceStatus = await body.json();
639
+ this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} Devices: ${JSON.stringify(deviceStatus.body)}`);
640
+ this.statusCode(statusCode);
641
+ this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} Headers: ${JSON.stringify(headers)}`);
706
642
  if (this.device.bot?.mode === 'multipress') {
707
643
  this.multiPressCount--;
708
644
  if (this.multiPressCount > 0) {
@@ -712,15 +648,15 @@ class Bot {
712
648
  }
713
649
  }
714
650
  }
715
- else {
716
- this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} No openAPIpushChanges.` + `On: ${this.On}, `
717
- + `OnCached: ${this.accessory.context.On}`);
651
+ catch (e) {
652
+ this.apiError(e);
653
+ this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} failed openAPIpushChanges with ${this.device.connectionType}`
654
+ + ` Connection, Error Message: ${JSON.stringify(e.message)}`);
718
655
  }
719
656
  }
720
- catch (e) {
721
- this.apiError(e);
722
- this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} failed openAPIpushChanges with ${this.device.connectionType}`
723
- + ` Connection, Error Message: ${(0, super_stringify_1.default)(e.message)}`);
657
+ else {
658
+ this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} No openAPIpushChanges.` + `On: ${this.On}, `
659
+ + `OnCached: ${this.accessory.context.On}`);
724
660
  }
725
661
  }
726
662
  /**
@@ -1088,7 +1024,7 @@ class Bot {
1088
1024
  });
1089
1025
  // Set an event handler
1090
1026
  switchbot.onadvertisement = (ad) => {
1091
- this.warnLog(`${this.device.deviceType}: ${this.accessory.displayName} ad: ${(0, super_stringify_1.default)(ad, null, ' ')}`);
1027
+ this.warnLog(`${this.device.deviceType}: ${this.accessory.displayName} ad: ${JSON.stringify(ad, null, ' ')}`);
1092
1028
  };
1093
1029
  await (0, utils_1.sleep)(10000);
1094
1030
  // Stop to monitor
@@ -1173,34 +1109,39 @@ class Bot {
1173
1109
  }
1174
1110
  }
1175
1111
  }
1176
- async statusCode({ res }) {
1177
- switch (res.statusCode) {
1112
+ async statusCode(statusCode) {
1113
+ switch (statusCode) {
1178
1114
  case 151:
1179
- this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} Command not supported by this device type.`);
1115
+ this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} Command not supported by this deviceType, statusCode: ${statusCode}`);
1180
1116
  break;
1181
1117
  case 152:
1182
- this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} Device not found.`);
1118
+ this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} Device not found, statusCode: ${statusCode}`);
1183
1119
  break;
1184
1120
  case 160:
1185
- this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} Command is not supported.`);
1121
+ this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} Command is not supported, statusCode: ${statusCode}`);
1186
1122
  break;
1187
1123
  case 161:
1188
- this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} Device is offline.`);
1189
- await this.offlineOff();
1124
+ this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} Device is offline, statusCode: ${statusCode}`);
1125
+ this.offlineOff();
1190
1126
  break;
1191
1127
  case 171:
1192
- this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} Hub Device is offline. Hub: ${this.device.hubDeviceId}`);
1193
- await this.offlineOff();
1128
+ this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} Hub Device is offline, statusCode: ${statusCode}. `
1129
+ + `Hub: ${this.device.hubDeviceId}`);
1130
+ this.offlineOff();
1194
1131
  break;
1195
1132
  case 190:
1196
1133
  this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} Device internal error due to device states not synchronized with server,` +
1197
- ` Or command: ${(0, super_stringify_1.default)(res)} format is invalid`);
1134
+ ` Or command format is invalid, statusCode: ${statusCode}`);
1198
1135
  break;
1199
1136
  case 100:
1200
- this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} Command successfully sent.`);
1137
+ this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} Command successfully sent, statusCode: ${statusCode}`);
1138
+ break;
1139
+ case 200:
1140
+ this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} Request successful, statusCode: ${statusCode}`);
1201
1141
  break;
1202
1142
  default:
1203
- this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} Unknown statusCode.`);
1143
+ this.infoLog(`${this.device.deviceType}: ${this.accessory.displayName} Unknown statusCode: `
1144
+ + `${statusCode}, Submit Bugs Here: ' + 'https://tinyurl.com/SwitchBotBug`);
1204
1145
  }
1205
1146
  }
1206
1147
  async offlineOff() {
@@ -1340,7 +1281,7 @@ class Bot {
1340
1281
  config['maxRetry'] = device.maxRetry;
1341
1282
  }
1342
1283
  if (Object.entries(config).length !== 0) {
1343
- this.infoLog(`${this.device.deviceType}: ${this.accessory.displayName} Config: ${(0, super_stringify_1.default)(config)}`);
1284
+ this.infoLog(`${this.device.deviceType}: ${this.accessory.displayName} Config: ${JSON.stringify(config)}`);
1344
1285
  }
1345
1286
  }
1346
1287
  async logs(device) {