@switchbot/homebridge-switchbot 3.0.0-beta.0 → 3.0.0-beta.1

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 (130) hide show
  1. package/dist/device/blindtilt.d.ts +2 -2
  2. package/dist/device/blindtilt.d.ts.map +1 -1
  3. package/dist/device/blindtilt.js +4 -3
  4. package/dist/device/blindtilt.js.map +1 -1
  5. package/dist/device/bot.d.ts +2 -2
  6. package/dist/device/bot.d.ts.map +1 -1
  7. package/dist/device/bot.js +2 -2
  8. package/dist/device/bot.js.map +1 -1
  9. package/dist/device/ceilinglight.d.ts +2 -2
  10. package/dist/device/ceilinglight.d.ts.map +1 -1
  11. package/dist/device/ceilinglight.js +2 -2
  12. package/dist/device/ceilinglight.js.map +1 -1
  13. package/dist/device/colorbulb.d.ts +2 -2
  14. package/dist/device/colorbulb.d.ts.map +1 -1
  15. package/dist/device/colorbulb.js +2 -2
  16. package/dist/device/colorbulb.js.map +1 -1
  17. package/dist/device/contact.d.ts +2 -2
  18. package/dist/device/contact.d.ts.map +1 -1
  19. package/dist/device/contact.js +2 -2
  20. package/dist/device/contact.js.map +1 -1
  21. package/dist/device/curtain.d.ts +2 -2
  22. package/dist/device/curtain.d.ts.map +1 -1
  23. package/dist/device/curtain.js +4 -3
  24. package/dist/device/curtain.js.map +1 -1
  25. package/dist/device/hub.d.ts +2 -2
  26. package/dist/device/hub.d.ts.map +1 -1
  27. package/dist/device/hub.js +3 -2
  28. package/dist/device/hub.js.map +1 -1
  29. package/dist/device/humidifier.d.ts +2 -2
  30. package/dist/device/humidifier.d.ts.map +1 -1
  31. package/dist/device/humidifier.js +2 -2
  32. package/dist/device/humidifier.js.map +1 -1
  33. package/dist/device/iosensor.d.ts +2 -2
  34. package/dist/device/iosensor.d.ts.map +1 -1
  35. package/dist/device/iosensor.js +4 -3
  36. package/dist/device/iosensor.js.map +1 -1
  37. package/dist/device/lightstrip.d.ts +2 -2
  38. package/dist/device/lightstrip.d.ts.map +1 -1
  39. package/dist/device/lightstrip.js +2 -2
  40. package/dist/device/lightstrip.js.map +1 -1
  41. package/dist/device/lock.d.ts +2 -2
  42. package/dist/device/lock.d.ts.map +1 -1
  43. package/dist/device/lock.js +2 -2
  44. package/dist/device/lock.js.map +1 -1
  45. package/dist/device/meter.d.ts +2 -2
  46. package/dist/device/meter.d.ts.map +1 -1
  47. package/dist/device/meter.js +4 -3
  48. package/dist/device/meter.js.map +1 -1
  49. package/dist/device/meterplus.d.ts +2 -2
  50. package/dist/device/meterplus.d.ts.map +1 -1
  51. package/dist/device/meterplus.js +4 -3
  52. package/dist/device/meterplus.js.map +1 -1
  53. package/dist/device/motion.d.ts +2 -2
  54. package/dist/device/motion.d.ts.map +1 -1
  55. package/dist/device/motion.js +2 -2
  56. package/dist/device/motion.js.map +1 -1
  57. package/dist/device/plug.d.ts +2 -2
  58. package/dist/device/plug.d.ts.map +1 -1
  59. package/dist/device/plug.js +2 -2
  60. package/dist/device/plug.js.map +1 -1
  61. package/dist/device/robotvacuumcleaner.d.ts +2 -2
  62. package/dist/device/robotvacuumcleaner.d.ts.map +1 -1
  63. package/dist/device/robotvacuumcleaner.js +2 -2
  64. package/dist/device/robotvacuumcleaner.js.map +1 -1
  65. package/dist/irdevice/airconditioner.d.ts +2 -2
  66. package/dist/irdevice/airconditioner.d.ts.map +1 -1
  67. package/dist/irdevice/airconditioner.js +1 -1
  68. package/dist/irdevice/airconditioner.js.map +1 -1
  69. package/dist/irdevice/airpurifier.d.ts +2 -2
  70. package/dist/irdevice/airpurifier.d.ts.map +1 -1
  71. package/dist/irdevice/airpurifier.js +1 -1
  72. package/dist/irdevice/airpurifier.js.map +1 -1
  73. package/dist/irdevice/camera.d.ts +2 -2
  74. package/dist/irdevice/camera.d.ts.map +1 -1
  75. package/dist/irdevice/camera.js +1 -1
  76. package/dist/irdevice/camera.js.map +1 -1
  77. package/dist/irdevice/fan.d.ts +2 -2
  78. package/dist/irdevice/fan.d.ts.map +1 -1
  79. package/dist/irdevice/fan.js +1 -1
  80. package/dist/irdevice/fan.js.map +1 -1
  81. package/dist/irdevice/light.d.ts +2 -2
  82. package/dist/irdevice/light.d.ts.map +1 -1
  83. package/dist/irdevice/light.js +1 -1
  84. package/dist/irdevice/light.js.map +1 -1
  85. package/dist/irdevice/other.d.ts +2 -2
  86. package/dist/irdevice/other.d.ts.map +1 -1
  87. package/dist/irdevice/other.js +1 -1
  88. package/dist/irdevice/other.js.map +1 -1
  89. package/dist/irdevice/tv.d.ts +2 -2
  90. package/dist/irdevice/tv.d.ts.map +1 -1
  91. package/dist/irdevice/tv.js +1 -1
  92. package/dist/irdevice/tv.js.map +1 -1
  93. package/dist/irdevice/vacuumcleaner.d.ts +2 -2
  94. package/dist/irdevice/vacuumcleaner.d.ts.map +1 -1
  95. package/dist/irdevice/vacuumcleaner.js +1 -1
  96. package/dist/irdevice/vacuumcleaner.js.map +1 -1
  97. package/dist/irdevice/waterheater.d.ts +2 -2
  98. package/dist/irdevice/waterheater.d.ts.map +1 -1
  99. package/dist/irdevice/waterheater.js +1 -1
  100. package/dist/irdevice/waterheater.js.map +1 -1
  101. package/dist/platform.d.ts.map +1 -1
  102. package/dist/platform.js +31 -27
  103. package/dist/platform.js.map +1 -1
  104. package/package.json +2 -1
  105. package/src/device/blindtilt.ts +5 -4
  106. package/src/device/bot.ts +3 -3
  107. package/src/device/ceilinglight.ts +3 -3
  108. package/src/device/colorbulb.ts +3 -3
  109. package/src/device/contact.ts +3 -3
  110. package/src/device/curtain.ts +5 -4
  111. package/src/device/hub.ts +4 -3
  112. package/src/device/humidifier.ts +3 -3
  113. package/src/device/iosensor.ts +5 -4
  114. package/src/device/lightstrip.ts +3 -3
  115. package/src/device/lock.ts +3 -3
  116. package/src/device/meter.ts +5 -4
  117. package/src/device/meterplus.ts +5 -4
  118. package/src/device/motion.ts +3 -3
  119. package/src/device/plug.ts +3 -3
  120. package/src/device/robotvacuumcleaner.ts +3 -3
  121. package/src/irdevice/airconditioner.ts +2 -2
  122. package/src/irdevice/airpurifier.ts +2 -2
  123. package/src/irdevice/camera.ts +2 -2
  124. package/src/irdevice/fan.ts +2 -2
  125. package/src/irdevice/light.ts +2 -2
  126. package/src/irdevice/other.ts +2 -2
  127. package/src/irdevice/tv.ts +2 -2
  128. package/src/irdevice/vacuumcleaner.ts +2 -2
  129. package/src/irdevice/waterheater.ts +2 -2
  130. package/src/platform.ts +31 -27
package/src/device/bot.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import { request } from 'undici';
2
- import { sleep } from '../utils';
2
+ import { sleep } from '../utils.js';
3
3
  import { interval, Subject } from 'rxjs';
4
- import { SwitchBotPlatform } from '../platform';
4
+ import { SwitchBotPlatform } from '../platform.js';
5
5
  import { debounceTime, skipWhile, take, tap } from 'rxjs/operators';
6
6
  import { Service, PlatformAccessory, CharacteristicValue, API, Logging, HAP } from 'homebridge';
7
- import { device, devicesConfig, deviceStatus, ad, serviceData, Devices, SwitchBotPlatformConfig } from '../settings';
7
+ import { device, devicesConfig, deviceStatus, ad, serviceData, Devices, SwitchBotPlatformConfig } from '../settings.js';
8
8
 
9
9
  /**
10
10
  * Platform Accessory
@@ -1,9 +1,9 @@
1
1
  import { request } from 'undici';
2
- import { sleep } from '../utils';
2
+ import { sleep } from '../utils.js';
3
3
  import { interval, Subject } from 'rxjs';
4
- import { SwitchBotPlatform } from '../platform';
4
+ import { SwitchBotPlatform } from '../platform.js';
5
5
  import { debounceTime, skipWhile, take, tap } from 'rxjs/operators';
6
- import { device, devicesConfig, deviceStatus, hs2rgb, rgb2hs, m2hs, serviceData, ad, Devices, SwitchBotPlatformConfig } from '../settings';
6
+ import { device, devicesConfig, deviceStatus, hs2rgb, rgb2hs, m2hs, serviceData, ad, Devices, SwitchBotPlatformConfig } from '../settings.js';
7
7
  import {
8
8
  Service, PlatformAccessory, CharacteristicValue, ControllerConstructor, Controller, ControllerServiceMap, API, Logging, HAP,
9
9
  } from 'homebridge';
@@ -1,9 +1,9 @@
1
1
  import { request } from 'undici';
2
- import { sleep } from '../utils';
2
+ import { sleep } from '../utils.js';
3
3
  import { interval, Subject } from 'rxjs';
4
- import { SwitchBotPlatform } from '../platform';
4
+ import { SwitchBotPlatform } from '../platform.js';
5
5
  import { debounceTime, skipWhile, take, tap } from 'rxjs/operators';
6
- import { device, devicesConfig, deviceStatus, hs2rgb, rgb2hs, m2hs, serviceData, ad, Devices, SwitchBotPlatformConfig } from '../settings';
6
+ import { device, devicesConfig, deviceStatus, hs2rgb, rgb2hs, m2hs, serviceData, ad, Devices, SwitchBotPlatformConfig } from '../settings.js';
7
7
  import {
8
8
  Service, PlatformAccessory, CharacteristicValue, ControllerConstructor, Controller, ControllerServiceMap, API, Logging, HAP,
9
9
  } from 'homebridge';
@@ -1,10 +1,10 @@
1
1
  import { request } from 'undici';
2
- import { sleep } from '../utils';
2
+ import { sleep } from '../utils.js';
3
3
  import { interval, Subject } from 'rxjs';
4
4
  import { skipWhile } from 'rxjs/operators';
5
- import { SwitchBotPlatform } from '../platform';
5
+ import { SwitchBotPlatform } from '../platform.js';
6
6
  import { Service, PlatformAccessory, CharacteristicValue, API, Logging, HAP } from 'homebridge';
7
- import { device, devicesConfig, serviceData, deviceStatus, ad, Devices, SwitchBotPlatformConfig } from '../settings';
7
+ import { device, devicesConfig, serviceData, deviceStatus, ad, Devices, SwitchBotPlatformConfig } from '../settings.js';
8
8
 
9
9
  /**
10
10
  * Platform Accessory
@@ -1,12 +1,12 @@
1
1
  import { request } from 'undici';
2
- import { sleep } from '../utils';
2
+ import { sleep } from '../utils.js';
3
3
  import { MqttClient } from 'mqtt';
4
4
  import { interval, Subject } from 'rxjs';
5
- import { connectAsync } from 'async-mqtt';
6
- import { SwitchBotPlatform } from '../platform';
5
+ import asyncmqtt from 'async-mqtt';
6
+ import { SwitchBotPlatform } from '../platform.js';
7
7
  import { debounceTime, skipWhile, take, tap } from 'rxjs/operators';
8
8
  import { Service, PlatformAccessory, CharacteristicValue, CharacteristicChange, API, Logging, HAP } from 'homebridge';
9
- import { device, devicesConfig, serviceData, deviceStatus, ad, Devices, SwitchBotPlatformConfig } from '../settings';
9
+ import { device, devicesConfig, serviceData, deviceStatus, ad, Devices, SwitchBotPlatformConfig } from '../settings.js';
10
10
  import { hostname } from 'os';
11
11
 
12
12
  export class Curtain {
@@ -966,6 +966,7 @@ export class Curtain {
966
966
  async setupMqtt(device: device & devicesConfig): Promise<void> {
967
967
  if (device.mqttURL) {
968
968
  try {
969
+ const { connectAsync } = asyncmqtt;
969
970
  this.mqttClient = await connectAsync(device.mqttURL, device.mqttOptions || {});
970
971
  this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} MQTT connection has been established successfully.`);
971
972
  this.mqttClient.on('error', (e: Error) => {
package/src/device/hub.ts CHANGED
@@ -1,11 +1,11 @@
1
- import { connectAsync } from 'async-mqtt';
1
+ import asyncmqtt from 'async-mqtt';
2
2
  import { CharacteristicValue, PlatformAccessory, Service, Units, API, Logging, HAP } from 'homebridge';
3
3
  import { MqttClient } from 'mqtt';
4
4
  import { hostname } from 'os';
5
5
  import { interval } from 'rxjs';
6
6
  import { request } from 'undici';
7
- import { SwitchBotPlatform } from '../platform';
8
- import { Devices, device, deviceStatus, devicesConfig, SwitchBotPlatformConfig } from '../settings';
7
+ import { SwitchBotPlatform } from '../platform.js';
8
+ import { Devices, device, deviceStatus, devicesConfig, SwitchBotPlatformConfig } from '../settings.js';
9
9
 
10
10
  export class Hub {
11
11
  public readonly api: API;
@@ -555,6 +555,7 @@ export class Hub {
555
555
  async setupMqtt(device: device & devicesConfig): Promise<void> {
556
556
  if (device.mqttURL) {
557
557
  try {
558
+ const { connectAsync } = asyncmqtt;
558
559
  this.mqttClient = await connectAsync(device.mqttURL, device.mqttOptions || {});
559
560
  this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} MQTT connection has been established successfully.`);
560
561
  this.mqttClient.on('error', (e: Error) => {
@@ -1,10 +1,10 @@
1
1
  import { request } from 'undici';
2
- import { sleep } from '../utils';
2
+ import { sleep } from '../utils.js';
3
3
  import { interval, Subject } from 'rxjs';
4
- import { SwitchBotPlatform } from '../platform';
4
+ import { SwitchBotPlatform } from '../platform.js';
5
5
  import { debounceTime, skipWhile, take, tap } from 'rxjs/operators';
6
6
  import { Service, PlatformAccessory, CharacteristicValue, API, Logging, HAP } from 'homebridge';
7
- import { device, devicesConfig, serviceData, ad, deviceStatus, Devices, SwitchBotPlatformConfig } from '../settings';
7
+ import { device, devicesConfig, serviceData, ad, deviceStatus, Devices, SwitchBotPlatformConfig } from '../settings.js';
8
8
 
9
9
  /**
10
10
  * Platform Accessory
@@ -1,13 +1,13 @@
1
1
  import { hostname } from 'os';
2
2
  import { request } from 'undici';
3
- import { sleep } from '../utils';
3
+ import { sleep } from '../utils.js';
4
4
  import { MqttClient } from 'mqtt';
5
- import { connectAsync } from 'async-mqtt';
5
+ import asyncmqtt from 'async-mqtt';
6
6
  import { interval, Subject } from 'rxjs';
7
7
  import { skipWhile } from 'rxjs/operators';
8
- import { SwitchBotPlatform } from '../platform';
8
+ import { SwitchBotPlatform } from '../platform.js';
9
9
  import { Service, PlatformAccessory, Units, CharacteristicValue, API, Logging, HAP } from 'homebridge';
10
- import { device, devicesConfig, serviceData, ad, temperature, deviceStatus, Devices, SwitchBotPlatformConfig } from '../settings';
10
+ import { device, devicesConfig, serviceData, ad, temperature, deviceStatus, Devices, SwitchBotPlatformConfig } from '../settings.js';
11
11
 
12
12
  /**
13
13
  * Platform Accessory
@@ -503,6 +503,7 @@ export class IOSensor {
503
503
  async setupMqtt(device: device & devicesConfig): Promise<void> {
504
504
  if (device.mqttURL) {
505
505
  try {
506
+ const { connectAsync } = asyncmqtt;
506
507
  this.mqttClient = await connectAsync(device.mqttURL, device.mqttOptions || {});
507
508
  this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} MQTT connection has been established successfully.`);
508
509
  this.mqttClient.on('error', (e: Error) => {
@@ -1,12 +1,12 @@
1
1
  import { request } from 'undici';
2
- import { sleep } from '../utils';
2
+ import { sleep } from '../utils.js';
3
3
  import { interval, Subject } from 'rxjs';
4
- import { SwitchBotPlatform } from '../platform';
4
+ import { SwitchBotPlatform } from '../platform.js';
5
5
  import { debounceTime, skipWhile, take, tap } from 'rxjs/operators';
6
6
  import {
7
7
  Service, PlatformAccessory, CharacteristicValue, ControllerConstructor, Controller, ControllerServiceMap, API, Logging, HAP,
8
8
  } from 'homebridge';
9
- import { device, devicesConfig, hs2rgb, rgb2hs, deviceStatus, ad, serviceData, m2hs, Devices, SwitchBotPlatformConfig } from '../settings';
9
+ import { device, devicesConfig, hs2rgb, rgb2hs, deviceStatus, ad, serviceData, m2hs, Devices, SwitchBotPlatformConfig } from '../settings.js';
10
10
 
11
11
  /**
12
12
  * Platform Accessory
@@ -1,10 +1,10 @@
1
1
  import { request } from 'undici';
2
- import { sleep } from '../utils';
2
+ import { sleep } from '../utils.js';
3
3
  import { interval, Subject } from 'rxjs';
4
- import { SwitchBotPlatform } from '../platform';
4
+ import { SwitchBotPlatform } from '../platform.js';
5
5
  import { debounceTime, skipWhile, take, tap } from 'rxjs/operators';
6
6
  import { Service, PlatformAccessory, CharacteristicValue, API, Logging, HAP } from 'homebridge';
7
- import { device, devicesConfig, deviceStatus, ad, Devices, serviceData, SwitchBotPlatformConfig } from '../settings';
7
+ import { device, devicesConfig, deviceStatus, ad, Devices, serviceData, SwitchBotPlatformConfig } from '../settings.js';
8
8
 
9
9
  export class Lock {
10
10
  public readonly api: API;
@@ -1,12 +1,12 @@
1
- import { connectAsync } from 'async-mqtt';
1
+ import asyncmqtt from 'async-mqtt';
2
2
  import { CharacteristicValue, PlatformAccessory, Service, Units, API, Logging, HAP } from 'homebridge';
3
3
  import { MqttClient } from 'mqtt';
4
4
  import { hostname } from 'os';
5
5
  import { interval } from 'rxjs';
6
6
  import { request } from 'undici';
7
- import { SwitchBotPlatform } from '../platform';
8
- import { Devices, ad, device, deviceStatus, devicesConfig, serviceData, temperature, SwitchBotPlatformConfig } from '../settings';
9
- import { sleep } from '../utils';
7
+ import { SwitchBotPlatform } from '../platform.js';
8
+ import { Devices, ad, device, deviceStatus, devicesConfig, serviceData, temperature, SwitchBotPlatformConfig } from '../settings.js';
9
+ import { sleep } from '../utils.js';
10
10
 
11
11
  export class Meter {
12
12
  public readonly api: API;
@@ -496,6 +496,7 @@ export class Meter {
496
496
  async setupMqtt(device: device & devicesConfig): Promise<void> {
497
497
  if (device.mqttURL) {
498
498
  try {
499
+ const { connectAsync } = asyncmqtt;
499
500
  this.mqttClient = await connectAsync(device.mqttURL, device.mqttOptions || {});
500
501
  this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} MQTT connection has been established successfully.`);
501
502
  this.mqttClient.on('error', (e: Error) => {
@@ -1,12 +1,12 @@
1
- import { connectAsync } from 'async-mqtt';
1
+ import asyncmqtt from 'async-mqtt';
2
2
  import { CharacteristicValue, PlatformAccessory, Service, Units, API, Logging, HAP } from 'homebridge';
3
3
  import { MqttClient } from 'mqtt';
4
4
  import { hostname } from 'os';
5
5
  import { interval } from 'rxjs';
6
6
  import { request } from 'undici';
7
- import { SwitchBotPlatform } from '../platform';
8
- import { Devices, ad, device, deviceStatus, devicesConfig, serviceData, temperature, SwitchBotPlatformConfig } from '../settings';
9
- import { sleep } from '../utils';
7
+ import { SwitchBotPlatform } from '../platform.js';
8
+ import { Devices, ad, device, deviceStatus, devicesConfig, serviceData, temperature, SwitchBotPlatformConfig } from '../settings.js';
9
+ import { sleep } from '../utils.js';
10
10
 
11
11
  /**
12
12
  * Platform Accessory
@@ -501,6 +501,7 @@ export class MeterPlus {
501
501
  async setupMqtt(device: device & devicesConfig): Promise<void> {
502
502
  if (device.mqttURL) {
503
503
  try {
504
+ const { connectAsync } = asyncmqtt;
504
505
  this.mqttClient = await connectAsync(device.mqttURL, device.mqttOptions || {});
505
506
  this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} MQTT connection has been established successfully.`);
506
507
  this.mqttClient.on('error', (e: Error) => {
@@ -1,10 +1,10 @@
1
1
  import { request } from 'undici';
2
- import { sleep } from '../utils';
2
+ import { sleep } from '../utils.js';
3
3
  import { interval, Subject } from 'rxjs';
4
4
  import { skipWhile } from 'rxjs/operators';
5
- import { SwitchBotPlatform } from '../platform';
5
+ import { SwitchBotPlatform } from '../platform.js';
6
6
  import { Service, PlatformAccessory, CharacteristicValue, API, Logging, HAP } from 'homebridge';
7
- import { device, devicesConfig, serviceData, deviceStatus, ad, Devices, SwitchBotPlatformConfig } from '../settings';
7
+ import { device, devicesConfig, serviceData, deviceStatus, ad, Devices, SwitchBotPlatformConfig } from '../settings.js';
8
8
 
9
9
  /**
10
10
  * Platform Accessory
@@ -1,10 +1,10 @@
1
1
  import { request } from 'undici';
2
- import { sleep } from '../utils';
2
+ import { sleep } from '../utils.js';
3
3
  import { interval, Subject } from 'rxjs';
4
- import { SwitchBotPlatform } from '../platform';
4
+ import { SwitchBotPlatform } from '../platform.js';
5
5
  import { debounceTime, skipWhile, take, tap } from 'rxjs/operators';
6
6
  import { Service, PlatformAccessory, CharacteristicValue, API, Logging, HAP } from 'homebridge';
7
- import { device, devicesConfig, deviceStatus, ad, serviceData, Devices, SwitchBotPlatformConfig } from '../settings';
7
+ import { device, devicesConfig, deviceStatus, ad, serviceData, Devices, SwitchBotPlatformConfig } from '../settings.js';
8
8
 
9
9
  export class Plug {
10
10
  public readonly api: API;
@@ -1,10 +1,10 @@
1
1
  import { request } from 'undici';
2
- import { sleep } from '../utils';
2
+ import { sleep } from '../utils.js';
3
3
  import { interval, Subject } from 'rxjs';
4
- import { SwitchBotPlatform } from '../platform';
4
+ import { SwitchBotPlatform } from '../platform.js';
5
5
  import { debounceTime, skipWhile, take, tap } from 'rxjs/operators';
6
6
  import { Service, PlatformAccessory, CharacteristicValue, API, Logging, HAP } from 'homebridge';
7
- import { device, devicesConfig, deviceStatus, ad, serviceData, Devices, SwitchBotPlatformConfig } from '../settings';
7
+ import { device, devicesConfig, deviceStatus, ad, serviceData, Devices, SwitchBotPlatformConfig } from '../settings.js';
8
8
 
9
9
  export class RobotVacuumCleaner {
10
10
  public readonly api: API;
@@ -1,7 +1,7 @@
1
1
  import { CharacteristicValue, PlatformAccessory, Service, API, Logging, HAP } from 'homebridge';
2
2
  import { request } from 'undici';
3
- import { SwitchBotPlatform } from '../platform';
4
- import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings';
3
+ import { SwitchBotPlatform } from '../platform.js';
4
+ import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings.js';
5
5
 
6
6
  /**
7
7
  * Platform Accessory
@@ -1,7 +1,7 @@
1
1
  import { CharacteristicValue, PlatformAccessory, Service, API, Logging, HAP } from 'homebridge';
2
2
  import { request } from 'undici';
3
- import { SwitchBotPlatform } from '../platform';
4
- import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings';
3
+ import { SwitchBotPlatform } from '../platform.js';
4
+ import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings.js';
5
5
 
6
6
  /**
7
7
  * Platform Accessory
@@ -1,7 +1,7 @@
1
1
  import { CharacteristicValue, PlatformAccessory, Service, API, Logging, HAP } from 'homebridge';
2
2
  import { request } from 'undici';
3
- import { SwitchBotPlatform } from '../platform';
4
- import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings';
3
+ import { SwitchBotPlatform } from '../platform.js';
4
+ import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings.js';
5
5
 
6
6
  /**
7
7
  * Platform Accessory
@@ -1,7 +1,7 @@
1
1
  import { CharacteristicValue, PlatformAccessory, Service, API, Logging, HAP } from 'homebridge';
2
2
  import { request } from 'undici';
3
- import { SwitchBotPlatform } from '../platform';
4
- import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings';
3
+ import { SwitchBotPlatform } from '../platform.js';
4
+ import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings.js';
5
5
 
6
6
  /**
7
7
  * Platform Accessory
@@ -1,7 +1,7 @@
1
1
  import { CharacteristicValue, PlatformAccessory, Service, API, Logging, HAP } from 'homebridge';
2
2
  import { request } from 'undici';
3
- import { SwitchBotPlatform } from '../platform';
4
- import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings';
3
+ import { SwitchBotPlatform } from '../platform.js';
4
+ import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings.js';
5
5
 
6
6
  /**
7
7
  * Platform Accessory
@@ -1,7 +1,7 @@
1
1
  import { CharacteristicValue, PlatformAccessory, Service, API, Logging, HAP } from 'homebridge';
2
2
  import { request } from 'undici';
3
- import { SwitchBotPlatform } from '../platform';
4
- import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings';
3
+ import { SwitchBotPlatform } from '../platform.js';
4
+ import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings.js';
5
5
 
6
6
  /**
7
7
  * Platform Accessory
@@ -1,7 +1,7 @@
1
1
  import { CharacteristicValue, PlatformAccessory, Service, API, Logging, HAP } from 'homebridge';
2
2
  import { request } from 'undici';
3
- import { SwitchBotPlatform } from '../platform';
4
- import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings';
3
+ import { SwitchBotPlatform } from '../platform.js';
4
+ import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings.js';
5
5
 
6
6
  /**
7
7
  * Platform Accessory
@@ -1,7 +1,7 @@
1
1
  import { CharacteristicValue, PlatformAccessory, Service, API, Logging, HAP } from 'homebridge';
2
2
  import { request } from 'undici';
3
- import { SwitchBotPlatform } from '../platform';
4
- import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings';
3
+ import { SwitchBotPlatform } from '../platform.js';
4
+ import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings.js';
5
5
 
6
6
  /**
7
7
  * Platform Accessory
@@ -1,7 +1,7 @@
1
1
  import { CharacteristicValue, PlatformAccessory, Service, API, Logging, HAP } from 'homebridge';
2
2
  import { request } from 'undici';
3
- import { SwitchBotPlatform } from '../platform';
4
- import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings';
3
+ import { SwitchBotPlatform } from '../platform.js';
4
+ import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings.js';
5
5
 
6
6
  /**
7
7
  * Platform Accessory
package/src/platform.ts CHANGED
@@ -4,41 +4,41 @@
4
4
  */
5
5
  import { API, DynamicPlatformPlugin, Logging, PlatformAccessory } from 'homebridge';
6
6
  import { PLATFORM_NAME, PLUGIN_NAME, irdevice, device, SwitchBotPlatformConfig, devicesConfig, irDevicesConfig, Devices } from './settings.js';
7
- import { Bot } from './device/bot';
8
- import { Plug } from './device/plug';
9
- import { Lock } from './device/lock';
10
- import { Meter } from './device/meter';
11
- import { Motion } from './device/motion';
12
- import { Hub } from './device/hub';
13
- import { Contact } from './device/contact';
14
- import { Curtain } from './device/curtain';
15
- import { IOSensor } from './device/iosensor';
16
- import { MeterPlus } from './device/meterplus';
17
- import { ColorBulb } from './device/colorbulb';
18
- import { CeilingLight } from './device/ceilinglight';
19
- import { StripLight } from './device/lightstrip';
20
- import { Humidifier } from './device/humidifier';
21
- import { RobotVacuumCleaner } from './device/robotvacuumcleaner';
22
- import { TV } from './irdevice/tv';
23
- import { Fan } from './irdevice/fan';
24
- import { Light } from './irdevice/light';
25
- import { Others } from './irdevice/other';
26
- import { Camera } from './irdevice/camera';
27
- import { BlindTilt } from './device/blindtilt';
28
- import { AirPurifier } from './irdevice/airpurifier';
29
- import { WaterHeater } from './irdevice/waterheater';
30
- import { VacuumCleaner } from './irdevice/vacuumcleaner';
31
- import { AirConditioner } from './irdevice/airconditioner';
7
+ import { Bot } from './device/bot.js';
8
+ import { Plug } from './device/plug.js';
9
+ import { Lock } from './device/lock.js';
10
+ import { Meter } from './device/meter.js';
11
+ import { Motion } from './device/motion.js';
12
+ import { Hub } from './device/hub.js';
13
+ import { Contact } from './device/contact.js';
14
+ import { Curtain } from './device/curtain.js';
15
+ import { IOSensor } from './device/iosensor.js';
16
+ import { MeterPlus } from './device/meterplus.js';
17
+ import { ColorBulb } from './device/colorbulb.js';
18
+ import { CeilingLight } from './device/ceilinglight.js';
19
+ import { StripLight } from './device/lightstrip.js';
20
+ import { Humidifier } from './device/humidifier.js';
21
+ import { RobotVacuumCleaner } from './device/robotvacuumcleaner.js';
22
+ import { TV } from './irdevice/tv.js';
23
+ import { Fan } from './irdevice/fan.js';
24
+ import { Light } from './irdevice/light.js';
25
+ import { Others } from './irdevice/other.js';
26
+ import { Camera } from './irdevice/camera.js';
27
+ import { BlindTilt } from './device/blindtilt.js';
28
+ import { AirPurifier } from './irdevice/airpurifier.js';
29
+ import { WaterHeater } from './irdevice/waterheater.js';
30
+ import { VacuumCleaner } from './irdevice/vacuumcleaner.js';
31
+ import { AirConditioner } from './irdevice/airconditioner.js';
32
32
  import * as http from 'http';
33
33
  import { Buffer } from 'buffer';
34
34
  import { request } from 'undici';
35
35
  import { MqttClient } from 'mqtt';
36
36
  import { queueScheduler } from 'rxjs';
37
37
  import fakegato from 'fakegato-history';
38
- import { connectAsync } from 'async-mqtt';
38
+ import asyncmqtt from 'async-mqtt';
39
39
  import crypto, { randomUUID } from 'crypto';
40
40
  import { readFileSync, writeFileSync } from 'fs';
41
- import { EveHomeKitTypes } from 'homebridge-lib';
41
+ import hbLib from 'homebridge-lib';
42
42
 
43
43
 
44
44
  /**
@@ -75,6 +75,8 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
75
75
  // Plugin options into our config variables.
76
76
  this.config = {
77
77
  platform: 'SwitchBotPlatform',
78
+ name: config.name,
79
+ credentials: config.credentials as object,
78
80
  url: config.url as string,
79
81
  port: config.port as number,
80
82
  hostname: config.hostname as string,
@@ -104,6 +106,7 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
104
106
  }
105
107
 
106
108
  // import fakegato-history module and EVE characteristics
109
+ const { EveHomeKitTypes } = hbLib;
107
110
  this.fakegatoAPI = fakegato(api);
108
111
  this.eve = new EveHomeKitTypes(api);
109
112
 
@@ -136,6 +139,7 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
136
139
  async setupMqtt(): Promise<void> {
137
140
  if (this.config.options?.mqttURL) {
138
141
  try {
142
+ const { connectAsync } = asyncmqtt;
139
143
  this.mqttClient = await connectAsync(this.config.options?.mqttURL, this.config.options.mqttOptions || {});
140
144
  this.debugLog('MQTT connection has been established successfully.');
141
145
  this.mqttClient.on('error', (e: Error) => {