@switchbot/homebridge-switchbot 3.6.1-beta.1 → 3.6.1-beta.2

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 (83) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/device/blindtilt.d.ts.map +1 -1
  3. package/dist/device/blindtilt.js +35 -17
  4. package/dist/device/blindtilt.js.map +1 -1
  5. package/dist/device/bot.d.ts +1 -2
  6. package/dist/device/bot.d.ts.map +1 -1
  7. package/dist/device/bot.js +186 -396
  8. package/dist/device/bot.js.map +1 -1
  9. package/dist/device/ceilinglight.d.ts.map +1 -1
  10. package/dist/device/ceilinglight.js +35 -18
  11. package/dist/device/ceilinglight.js.map +1 -1
  12. package/dist/device/colorbulb.d.ts.map +1 -1
  13. package/dist/device/colorbulb.js +35 -18
  14. package/dist/device/colorbulb.js.map +1 -1
  15. package/dist/device/contact.d.ts.map +1 -1
  16. package/dist/device/contact.js +35 -18
  17. package/dist/device/contact.js.map +1 -1
  18. package/dist/device/curtain.d.ts.map +1 -1
  19. package/dist/device/curtain.js +7 -5
  20. package/dist/device/curtain.js.map +1 -1
  21. package/dist/device/fan.d.ts.map +1 -1
  22. package/dist/device/fan.js +35 -18
  23. package/dist/device/fan.js.map +1 -1
  24. package/dist/device/hub.d.ts.map +1 -1
  25. package/dist/device/hub.js +35 -16
  26. package/dist/device/hub.js.map +1 -1
  27. package/dist/device/humidifier.d.ts.map +1 -1
  28. package/dist/device/humidifier.js +35 -16
  29. package/dist/device/humidifier.js.map +1 -1
  30. package/dist/device/iosensor.d.ts.map +1 -1
  31. package/dist/device/iosensor.js +35 -16
  32. package/dist/device/iosensor.js.map +1 -1
  33. package/dist/device/lightstrip.d.ts.map +1 -1
  34. package/dist/device/lightstrip.js +35 -16
  35. package/dist/device/lightstrip.js.map +1 -1
  36. package/dist/device/lock.d.ts.map +1 -1
  37. package/dist/device/lock.js +36 -17
  38. package/dist/device/lock.js.map +1 -1
  39. package/dist/device/meter.d.ts.map +1 -1
  40. package/dist/device/meter.js +35 -16
  41. package/dist/device/meter.js.map +1 -1
  42. package/dist/device/meterplus.d.ts.map +1 -1
  43. package/dist/device/meterplus.js +35 -16
  44. package/dist/device/meterplus.js.map +1 -1
  45. package/dist/device/motion.d.ts.map +1 -1
  46. package/dist/device/motion.js +35 -16
  47. package/dist/device/motion.js.map +1 -1
  48. package/dist/device/plug.d.ts.map +1 -1
  49. package/dist/device/plug.js +36 -17
  50. package/dist/device/plug.js.map +1 -1
  51. package/dist/device/robotvacuumcleaner.d.ts.map +1 -1
  52. package/dist/device/robotvacuumcleaner.js +35 -16
  53. package/dist/device/robotvacuumcleaner.js.map +1 -1
  54. package/dist/device/waterdetector.d.ts.map +1 -1
  55. package/dist/device/waterdetector.js +35 -16
  56. package/dist/device/waterdetector.js.map +1 -1
  57. package/dist/irdevice/other.d.ts +1 -0
  58. package/dist/irdevice/other.d.ts.map +1 -1
  59. package/dist/irdevice/other.js +186 -228
  60. package/dist/irdevice/other.js.map +1 -1
  61. package/dist/platform.js +2 -2
  62. package/dist/platform.js.map +1 -1
  63. package/package.json +1 -1
  64. package/src/device/blindtilt.ts +32 -17
  65. package/src/device/bot.ts +179 -406
  66. package/src/device/ceilinglight.ts +32 -19
  67. package/src/device/colorbulb.ts +32 -19
  68. package/src/device/contact.ts +32 -19
  69. package/src/device/curtain.ts +7 -6
  70. package/src/device/fan.ts +32 -19
  71. package/src/device/hub.ts +32 -16
  72. package/src/device/humidifier.ts +32 -16
  73. package/src/device/iosensor.ts +32 -16
  74. package/src/device/lightstrip.ts +32 -16
  75. package/src/device/lock.ts +33 -17
  76. package/src/device/meter.ts +32 -16
  77. package/src/device/meterplus.ts +32 -16
  78. package/src/device/motion.ts +32 -16
  79. package/src/device/plug.ts +33 -17
  80. package/src/device/robotvacuumcleaner.ts +32 -16
  81. package/src/device/waterdetector.ts +32 -16
  82. package/src/irdevice/other.ts +214 -283
  83. package/src/platform.ts +2 -2
@@ -392,26 +392,41 @@ export class BlindTilt extends deviceBase {
392
392
  }
393
393
 
394
394
  async BLERefreshStatus(): Promise<void> {
395
- await this.debugLog('BLERefreshStatus');
396
- const switchbot = await this.switchbotBLE();
397
-
398
- if (switchbot === undefined) {
399
- await this.BLERefreshConnection(switchbot);
400
- } else {
401
- // Start to monitor advertisement packets
402
- (async () => {
403
- // Start to monitor advertisement packets
404
- const serviceData = await this.monitorAdvertisementPackets(switchbot) as blindTiltServiceData;
405
- // Update HomeKit
406
- if (serviceData.model === SwitchBotBLEModel.BlindTilt && serviceData.modelName === SwitchBotBLEModelName.BlindTilt) {
407
- this.serviceData = serviceData;
395
+ if (this.config.options?.BLE) {
396
+ await this.debugLog('is listening to Platform BLE.');
397
+ this.device.bleMac = this.device.deviceId!.match(/.{1,2}/g)!.join(':').toLowerCase();
398
+ await this.debugLog(`bleMac: ${this.device.bleMac}`);
399
+ this.platform.bleEventHandler[this.device.bleMac] = async (context: blindTiltServiceData) => {
400
+ try {
401
+ await this.debugLog(`received BLE: ${JSON.stringify(context)}`);
402
+ this.serviceData = context;
408
403
  await this.BLEparseStatus();
409
404
  await this.updateHomeKitCharacteristics();
410
- } else {
411
- await this.errorLog(`failed to get serviceData, serviceData: ${serviceData}`);
412
- await this.BLERefreshConnection(switchbot);
405
+ } catch (e: any) {
406
+ await this.errorLog(`failed to handle BLE. Received: ${JSON.stringify(context)} Error: ${e}`);
413
407
  }
414
- })();
408
+ };
409
+ } else {
410
+ await this.debugLog('is using Device BLE Scanning.');
411
+ const switchbot = await this.switchbotBLE();
412
+ if (switchbot === undefined) {
413
+ await this.BLERefreshConnection(switchbot);
414
+ } else {
415
+ // Start to monitor advertisement packets
416
+ (async () => {
417
+ // Start to monitor advertisement packets
418
+ const serviceData = await this.monitorAdvertisementPackets(switchbot) as blindTiltServiceData;
419
+ // Update HomeKit
420
+ if (serviceData.model === SwitchBotBLEModel.BlindTilt && serviceData.modelName === SwitchBotBLEModelName.BlindTilt) {
421
+ this.serviceData = serviceData;
422
+ await this.BLEparseStatus();
423
+ await this.updateHomeKitCharacteristics();
424
+ } else {
425
+ await this.errorLog(`failed to get serviceData, serviceData: ${serviceData}`);
426
+ await this.BLERefreshConnection(switchbot);
427
+ }
428
+ })();
429
+ }
415
430
  }
416
431
  }
417
432