node-switchbot 3.0.2-beta.1 → 3.0.2-beta.3

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 (84) hide show
  1. package/dist/advertising.js +1 -1
  2. package/dist/advertising.js.map +1 -1
  3. package/dist/device/woblindtilt.d.ts +5 -2
  4. package/dist/device/woblindtilt.d.ts.map +1 -1
  5. package/dist/device/woblindtilt.js +6 -6
  6. package/dist/device/woblindtilt.js.map +1 -1
  7. package/dist/device/wobulb.d.ts +5 -2
  8. package/dist/device/wobulb.d.ts.map +1 -1
  9. package/dist/device/wobulb.js +14 -12
  10. package/dist/device/wobulb.js.map +1 -1
  11. package/dist/device/woceilinglight.d.ts +7 -4
  12. package/dist/device/woceilinglight.d.ts.map +1 -1
  13. package/dist/device/woceilinglight.js +15 -14
  14. package/dist/device/woceilinglight.js.map +1 -1
  15. package/dist/device/wocontact.d.ts +5 -2
  16. package/dist/device/wocontact.d.ts.map +1 -1
  17. package/dist/device/wocontact.js +6 -2
  18. package/dist/device/wocontact.js.map +1 -1
  19. package/dist/device/wocurtain.d.ts +5 -2
  20. package/dist/device/wocurtain.d.ts.map +1 -1
  21. package/dist/device/wocurtain.js +34 -20
  22. package/dist/device/wocurtain.js.map +1 -1
  23. package/dist/device/wohand.d.ts +6 -3
  24. package/dist/device/wohand.d.ts.map +1 -1
  25. package/dist/device/wohand.js +13 -14
  26. package/dist/device/wohand.js.map +1 -1
  27. package/dist/device/wohub2.d.ts +5 -2
  28. package/dist/device/wohub2.d.ts.map +1 -1
  29. package/dist/device/wohub2.js +6 -2
  30. package/dist/device/wohub2.js.map +1 -1
  31. package/dist/device/wohumi.d.ts +5 -2
  32. package/dist/device/wohumi.d.ts.map +1 -1
  33. package/dist/device/wohumi.js +6 -6
  34. package/dist/device/wohumi.js.map +1 -1
  35. package/dist/device/woiosensorth.d.ts +5 -2
  36. package/dist/device/woiosensorth.d.ts.map +1 -1
  37. package/dist/device/woiosensorth.js +6 -2
  38. package/dist/device/woiosensorth.js.map +1 -1
  39. package/dist/device/woplugmini.d.ts +8 -5
  40. package/dist/device/woplugmini.d.ts.map +1 -1
  41. package/dist/device/woplugmini.js +10 -10
  42. package/dist/device/woplugmini.js.map +1 -1
  43. package/dist/device/wopresence.d.ts +2 -0
  44. package/dist/device/wopresence.d.ts.map +1 -1
  45. package/dist/device/wopresence.js +3 -0
  46. package/dist/device/wopresence.js.map +1 -1
  47. package/dist/device/wosensorth.d.ts +2 -0
  48. package/dist/device/wosensorth.d.ts.map +1 -1
  49. package/dist/device/wosensorth.js +3 -0
  50. package/dist/device/wosensorth.js.map +1 -1
  51. package/dist/device/wostrip.d.ts +2 -0
  52. package/dist/device/wostrip.d.ts.map +1 -1
  53. package/dist/device/wostrip.js +3 -0
  54. package/dist/device/wostrip.js.map +1 -1
  55. package/dist/device.d.ts +33 -31
  56. package/dist/device.d.ts.map +1 -1
  57. package/dist/device.js +94 -90
  58. package/dist/device.js.map +1 -1
  59. package/dist/index.d.ts +16 -0
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +16 -0
  62. package/dist/index.js.map +1 -1
  63. package/dist/parameter-checker.d.ts.map +1 -1
  64. package/dist/parameter-checker.js +1 -9
  65. package/dist/parameter-checker.js.map +1 -1
  66. package/dist/switchbot-ble.d.ts +19 -51
  67. package/dist/switchbot-ble.d.ts.map +1 -1
  68. package/dist/switchbot-ble.js +132 -276
  69. package/dist/switchbot-ble.js.map +1 -1
  70. package/dist/test/advertising.test.js +3 -3
  71. package/dist/test/advertising.test.js.map +1 -1
  72. package/dist/test/switchbot-ble.test.d.ts +2 -0
  73. package/dist/test/switchbot-ble.test.d.ts.map +1 -0
  74. package/dist/test/switchbot-ble.test.js +45 -0
  75. package/dist/test/switchbot-ble.test.js.map +1 -0
  76. package/dist/test/switchbot-openapi.test.js +10 -64
  77. package/dist/test/switchbot-openapi.test.js.map +1 -1
  78. package/dist/types/bledevicestatus.d.ts +5 -3
  79. package/dist/types/bledevicestatus.d.ts.map +1 -1
  80. package/package.json +1 -1
  81. package/dist/test/switchbot.test.d.ts +0 -2
  82. package/dist/test/switchbot.test.d.ts.map +0 -1
  83. package/dist/test/switchbot.test.js +0 -106
  84. package/dist/test/switchbot.test.js.map +0 -1
package/dist/device.d.ts CHANGED
@@ -1,23 +1,25 @@
1
1
  import type * as Noble from '@stoprocent/noble';
2
- import type { Chars, SwitchBotBLEModel, SwitchBotBLEModelName } from './types/types.js';
2
+ import type { Chars, SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from './types/types.js';
3
3
  import { Buffer } from 'node:buffer';
4
4
  import { EventEmitter } from 'node:events';
5
5
  /**
6
6
  * Represents a Switchbot Device.
7
7
  */
8
8
  export declare class SwitchbotDevice extends EventEmitter {
9
- private _noble;
10
- private _peripheral;
11
- private _characteristics;
12
- private _id;
13
- private _address;
14
- private _model;
15
- private _modelName;
16
- private _explicitly;
17
- private _connected;
18
- private onnotify_internal;
19
- private ondisconnect_internal;
20
- private onconnect_internal;
9
+ [x: string]: any;
10
+ private noble;
11
+ private peripheral;
12
+ private characteristics;
13
+ private deviceId;
14
+ private deviceAddress;
15
+ private deviceModel;
16
+ private deviceModelName;
17
+ private deviceFriendlyName;
18
+ private explicitlyConnected;
19
+ private isConnected;
20
+ private onNotify;
21
+ private onDisconnect;
22
+ private onConnect;
21
23
  /**
22
24
  * Initializes a new instance of the SwitchbotDevice class.
23
25
  * @param peripheral The peripheral object from noble.
@@ -25,21 +27,21 @@ export declare class SwitchbotDevice extends EventEmitter {
25
27
  */
26
28
  constructor(peripheral: Noble.Peripheral, noble: typeof Noble);
27
29
  /**
28
- * Emits a log event with the specified log level and message.
29
- *
30
- * @param level - The severity level of the log (e.g., 'info', 'warn', 'error').
31
- * @param message - The log message to be emitted.
30
+ * Logs a message with the specified log level.
31
+ * @param level The severity level of the log (e.g., 'info', 'warn', 'error').
32
+ * @param message The log message to be emitted.
32
33
  */
33
- emitLog(level: string, message: string): Promise<void>;
34
+ log(level: string, message: string): Promise<void>;
34
35
  get id(): string;
35
36
  get address(): string;
36
37
  get model(): SwitchBotBLEModel;
37
38
  get modelName(): SwitchBotBLEModelName;
39
+ get friendlyName(): SwitchBotBLEModelFriendlyName;
38
40
  get connectionState(): string;
39
- get onconnect(): () => Promise<void>;
40
- set onconnect(func: () => Promise<void>);
41
- get ondisconnect(): () => Promise<void>;
42
- set ondisconnect(func: () => Promise<void>);
41
+ get onConnectHandler(): () => Promise<void>;
42
+ set onConnectHandler(func: () => Promise<void>);
43
+ get onDisconnectHandler(): () => Promise<void>;
44
+ set onDisconnectHandler(func: () => Promise<void>);
43
45
  /**
44
46
  * Connects to the device.
45
47
  * @returns A Promise that resolves when the connection is complete.
@@ -49,7 +51,7 @@ export declare class SwitchbotDevice extends EventEmitter {
49
51
  * Internal method to handle the connection process.
50
52
  * @returns A Promise that resolves when the connection is complete.
51
53
  */
52
- private connect_internal;
54
+ private internalConnect;
53
55
  /**
54
56
  * Retrieves the device characteristics.
55
57
  * @returns A Promise that resolves with the device characteristics.
@@ -70,12 +72,12 @@ export declare class SwitchbotDevice extends EventEmitter {
70
72
  * Subscribes to the notify characteristic.
71
73
  * @returns A Promise that resolves when the subscription is complete.
72
74
  */
73
- private subscribe;
75
+ private subscribeToNotify;
74
76
  /**
75
77
  * Unsubscribes from the notify characteristic.
76
78
  * @returns A Promise that resolves when the unsubscription is complete.
77
79
  */
78
- unsubscribe(): Promise<void>;
80
+ unsubscribeFromNotify(): Promise<void>;
79
81
  /**
80
82
  * Disconnects from the device.
81
83
  * @returns A Promise that resolves when the disconnection is complete.
@@ -85,7 +87,7 @@ export declare class SwitchbotDevice extends EventEmitter {
85
87
  * Internal method to handle disconnection if not explicitly initiated.
86
88
  * @returns A Promise that resolves when the disconnection is complete.
87
89
  */
88
- private disconnect_internal;
90
+ private internalDisconnect;
89
91
  /**
90
92
  * Retrieves the device name.
91
93
  * @returns A Promise that resolves with the device name.
@@ -99,27 +101,27 @@ export declare class SwitchbotDevice extends EventEmitter {
99
101
  setDeviceName(name: string): Promise<void>;
100
102
  /**
101
103
  * Sends a command to the device and awaits a response.
102
- * @param req_buf The command buffer.
104
+ * @param reqBuf The command buffer.
103
105
  * @returns A Promise that resolves with the response buffer.
104
106
  */
105
- command(req_buf: Buffer): Promise<Buffer>;
107
+ command(reqBuf: Buffer): Promise<Buffer>;
106
108
  /**
107
109
  * Waits for a response from the device after sending a command.
108
110
  * @returns A Promise that resolves with the response buffer.
109
111
  */
110
- private _waitCommandResponseAsync;
112
+ private waitForCommandResponse;
111
113
  /**
112
114
  * Reads data from a characteristic with a timeout.
113
115
  * @param char The characteristic to read from.
114
116
  * @returns A Promise that resolves with the data buffer.
115
117
  */
116
- private read;
118
+ private readCharacteristic;
117
119
  /**
118
120
  * Writes data to a characteristic with a timeout.
119
121
  * @param char The characteristic to write to.
120
122
  * @param buf The data buffer.
121
123
  * @returns A Promise that resolves when the write is complete.
122
124
  */
123
- private write;
125
+ private writeCharacteristic;
124
126
  }
125
127
  //# sourceMappingURL=device.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../src/device.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAEvF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAa1C;;GAEG;AACH,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,iBAAiB,CAAkC;IAE3D,OAAO,CAAC,qBAAqB,CAAsC;IACnE,OAAO,CAAC,kBAAkB,CAAsC;IAEhE;;;;OAIG;gBACS,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,KAAK;IAa7D;;;;;OAKG;IACU,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnE,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,KAAK,IAAI,iBAAiB,CAE7B;IAED,IAAI,SAAS,IAAI,qBAAqB,CAErC;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,SAAS,IAAI,MAAM,OAAO,CAAC,IAAI,CAAC,CAEnC;IAED,IAAI,SAAS,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAOtC;IAED,IAAI,YAAY,IAAI,MAAM,OAAO,CAAC,IAAI,CAAC,CAEtC;IAED,IAAI,YAAY,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAOzC;IAED;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B;;;OAGG;YACW,gBAAgB;IA8B9B;;;OAGG;IACU,kBAAkB,IAAI,OAAO,CAAC,KAAK,CAAC;IAkCjD;;;OAGG;IACU,gBAAgB,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IAczD;;;;OAIG;YACW,uBAAuB;IAIrC;;;OAGG;YACW,SAAS;IASvB;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IASlC;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAejC;;;OAGG;YACW,mBAAmB;IAOjC;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAUtC;;;;OAIG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBhD;;;;OAIG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiB/C;;;OAGG;YACW,yBAAyB;IAoBvC;;;;OAIG;YACW,IAAI;IAelB;;;;;OAKG;YACW,KAAK;CAapB"}
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../src/device.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAEtH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAM1C;;GAEG;AACH,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;IAChB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,kBAAkB,CAAgC;IAC1D,OAAO,CAAC,mBAAmB,CAAQ;IACnC,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,SAAS,CAAsC;IAEvD;;;;OAIG;gBACS,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,KAAK;IAc7D;;;;OAIG;IACU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/D,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,KAAK,IAAI,iBAAiB,CAE7B;IAED,IAAI,SAAS,IAAI,qBAAqB,CAErC;IAED,IAAI,YAAY,IAAI,6BAA6B,CAEhD;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,gBAAgB,IAAI,MAAM,OAAO,CAAC,IAAI,CAAC,CAE1C;IAED,IAAI,gBAAgB,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAO7C;IAED,IAAI,mBAAmB,IAAI,MAAM,OAAO,CAAC,IAAI,CAAC,CAE7C;IAED,IAAI,mBAAmB,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAOhD;IAED;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B;;;OAGG;YACW,eAAe;IA8B7B;;;OAGG;IACU,kBAAkB,IAAI,OAAO,CAAC,KAAK,CAAC;IAkCjD;;;OAGG;IACU,gBAAgB,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IAczD;;;;OAIG;YACW,uBAAuB;IAIrC;;;OAGG;YACW,iBAAiB;IAS/B;;;OAGG;IACG,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5C;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAejC;;;OAGG;YACW,kBAAkB;IAOhC;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAUtC;;;;OAIG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBhD;;;;OAIG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiB9C;;;OAGG;YACW,sBAAsB;IAoBpC;;;;OAIG;YACW,kBAAkB;IAehC;;;;;OAKG;YACW,mBAAmB;CAalC"}
package/dist/device.js CHANGED
@@ -2,23 +2,24 @@ import { Buffer } from 'node:buffer';
2
2
  import { EventEmitter } from 'node:events';
3
3
  import { Advertising } from './advertising.js';
4
4
  import { parameterChecker } from './parameter-checker.js';
5
- import { CHAR_UUID_DEVICE, CHAR_UUID_NOTIFY, CHAR_UUID_WRITE, READ_TIMEOUT_MSEC, SERV_UUID_PRIMARY, WRITE_TIMEOUT_MSEC, } from './settings.js';
5
+ import { CHAR_UUID_DEVICE, CHAR_UUID_NOTIFY, CHAR_UUID_WRITE, READ_TIMEOUT_MSEC, SERV_UUID_PRIMARY, WRITE_TIMEOUT_MSEC } from './settings.js';
6
6
  /**
7
7
  * Represents a Switchbot Device.
8
8
  */
9
9
  export class SwitchbotDevice extends EventEmitter {
10
- _noble;
11
- _peripheral;
12
- _characteristics = null;
13
- _id;
14
- _address;
15
- _model;
16
- _modelName;
17
- _explicitly = false;
18
- _connected = false;
19
- onnotify_internal = () => { };
20
- ondisconnect_internal = async () => { };
21
- onconnect_internal = async () => { };
10
+ noble;
11
+ peripheral;
12
+ characteristics = null;
13
+ deviceId;
14
+ deviceAddress;
15
+ deviceModel;
16
+ deviceModelName;
17
+ deviceFriendlyName;
18
+ explicitlyConnected = false;
19
+ isConnected = false;
20
+ onNotify = () => { };
21
+ onDisconnect = async () => { };
22
+ onConnect = async () => { };
22
23
  /**
23
24
  * Initializes a new instance of the SwitchbotDevice class.
24
25
  * @param peripheral The peripheral object from noble.
@@ -26,59 +27,62 @@ export class SwitchbotDevice extends EventEmitter {
26
27
  */
27
28
  constructor(peripheral, noble) {
28
29
  super();
29
- this._peripheral = peripheral;
30
- this._noble = noble;
31
- Advertising.parse(peripheral, this.emitLog.bind(this)).then((ad) => {
32
- this._id = ad?.id ?? '';
33
- this._address = ad?.address ?? '';
34
- this._model = ad?.serviceData.model ?? '';
35
- this._modelName = ad?.serviceData.modelName ?? '';
30
+ this.peripheral = peripheral;
31
+ this.noble = noble;
32
+ Advertising.parse(peripheral, this.log.bind(this)).then((ad) => {
33
+ this.deviceId = ad?.id ?? '';
34
+ this.deviceAddress = ad?.address ?? '';
35
+ this.deviceModel = ad?.serviceData.model ?? '';
36
+ this.deviceModelName = ad?.serviceData.modelName ?? '';
37
+ this.deviceFriendlyName = ad?.serviceData.modelFriendlyName ?? '';
36
38
  });
37
39
  }
38
40
  /**
39
- * Emits a log event with the specified log level and message.
40
- *
41
- * @param level - The severity level of the log (e.g., 'info', 'warn', 'error').
42
- * @param message - The log message to be emitted.
41
+ * Logs a message with the specified log level.
42
+ * @param level The severity level of the log (e.g., 'info', 'warn', 'error').
43
+ * @param message The log message to be emitted.
43
44
  */
44
- async emitLog(level, message) {
45
+ async log(level, message) {
45
46
  this.emit('log', { level, message });
46
47
  }
47
48
  // Getters
48
49
  get id() {
49
- return this._id;
50
+ return this.deviceId;
50
51
  }
51
52
  get address() {
52
- return this._address;
53
+ return this.deviceAddress;
53
54
  }
54
55
  get model() {
55
- return this._model;
56
+ return this.deviceModel;
56
57
  }
57
58
  get modelName() {
58
- return this._modelName;
59
+ return this.deviceModelName;
60
+ }
61
+ get friendlyName() {
62
+ return this.deviceFriendlyName;
59
63
  }
60
64
  get connectionState() {
61
- return this._connected ? 'connected' : this._peripheral.state;
65
+ return this.isConnected ? 'connected' : this.peripheral.state;
62
66
  }
63
- get onconnect() {
64
- return this.onconnect_internal;
67
+ get onConnectHandler() {
68
+ return this.onConnect;
65
69
  }
66
- set onconnect(func) {
70
+ set onConnectHandler(func) {
67
71
  if (typeof func !== 'function') {
68
- throw new TypeError('The `onconnect` must be a function that returns a Promise<void>.');
72
+ throw new TypeError('The `onConnectHandler` must be a function that returns a Promise<void>.');
69
73
  }
70
- this.onconnect_internal = async () => {
74
+ this.onConnect = async () => {
71
75
  await func();
72
76
  };
73
77
  }
74
- get ondisconnect() {
75
- return this.ondisconnect_internal;
78
+ get onDisconnectHandler() {
79
+ return this.onDisconnect;
76
80
  }
77
- set ondisconnect(func) {
81
+ set onDisconnectHandler(func) {
78
82
  if (typeof func !== 'function') {
79
- throw new TypeError('The `ondisconnect` must be a function that returns a Promise<void>.');
83
+ throw new TypeError('The `onDisconnectHandler` must be a function that returns a Promise<void>.');
80
84
  }
81
- this.ondisconnect_internal = async () => {
85
+ this.onDisconnect = async () => {
82
86
  await func();
83
87
  };
84
88
  }
@@ -87,16 +91,16 @@ export class SwitchbotDevice extends EventEmitter {
87
91
  * @returns A Promise that resolves when the connection is complete.
88
92
  */
89
93
  async connect() {
90
- this._explicitly = true;
91
- await this.connect_internal();
94
+ this.explicitlyConnected = true;
95
+ await this.internalConnect();
92
96
  }
93
97
  /**
94
98
  * Internal method to handle the connection process.
95
99
  * @returns A Promise that resolves when the connection is complete.
96
100
  */
97
- async connect_internal() {
98
- if (this._noble._state !== 'poweredOn') {
99
- throw new Error(`The Bluetooth status is ${this._noble._state}, not poweredOn.`);
101
+ async internalConnect() {
102
+ if (this.noble._state !== 'poweredOn') {
103
+ throw new Error(`The Bluetooth status is ${this.noble._state}, not poweredOn.`);
100
104
  }
101
105
  const state = this.connectionState;
102
106
  if (state === 'connected') {
@@ -105,19 +109,19 @@ export class SwitchbotDevice extends EventEmitter {
105
109
  if (state === 'connecting' || state === 'disconnecting') {
106
110
  throw new Error(`Now ${state}. Wait for a few seconds then try again.`);
107
111
  }
108
- this._peripheral.once('connect', async () => {
109
- this._connected = true;
110
- await this.onconnect();
112
+ this.peripheral.once('connect', async () => {
113
+ this.isConnected = true;
114
+ await this.onConnect();
111
115
  });
112
- this._peripheral.once('disconnect', async () => {
113
- this._connected = false;
114
- this._characteristics = null;
115
- this._peripheral.removeAllListeners();
116
- await this.ondisconnect_internal();
116
+ this.peripheral.once('disconnect', async () => {
117
+ this.isConnected = false;
118
+ this.characteristics = null;
119
+ this.peripheral.removeAllListeners();
120
+ await this.onDisconnect();
117
121
  });
118
- await this._peripheral.connectAsync();
119
- this._characteristics = await this.getCharacteristics();
120
- await this.subscribe();
122
+ await this.peripheral.connectAsync();
123
+ this.characteristics = await this.getCharacteristics();
124
+ await this.subscribeToNotify();
121
125
  }
122
126
  /**
123
127
  * Retrieves the device characteristics.
@@ -159,7 +163,7 @@ export class SwitchbotDevice extends EventEmitter {
159
163
  */
160
164
  async discoverServices() {
161
165
  try {
162
- const services = await this._peripheral.discoverServicesAsync([]);
166
+ const services = await this.peripheral.discoverServicesAsync([]);
163
167
  const primaryServices = services.filter(s => s.uuid === SERV_UUID_PRIMARY);
164
168
  if (primaryServices.length === 0) {
165
169
  throw new Error('No service was found.');
@@ -182,20 +186,20 @@ export class SwitchbotDevice extends EventEmitter {
182
186
  * Subscribes to the notify characteristic.
183
187
  * @returns A Promise that resolves when the subscription is complete.
184
188
  */
185
- async subscribe() {
186
- const char = this._characteristics?.notify;
189
+ async subscribeToNotify() {
190
+ const char = this.characteristics?.notify;
187
191
  if (!char) {
188
192
  throw new Error('No notify characteristic was found.');
189
193
  }
190
194
  await char.subscribeAsync();
191
- char.on('data', this.onnotify_internal);
195
+ char.on('data', this.onNotify);
192
196
  }
193
197
  /**
194
198
  * Unsubscribes from the notify characteristic.
195
199
  * @returns A Promise that resolves when the unsubscription is complete.
196
200
  */
197
- async unsubscribe() {
198
- const char = this._characteristics?.notify;
201
+ async unsubscribeFromNotify() {
202
+ const char = this.characteristics?.notify;
199
203
  if (!char) {
200
204
  return;
201
205
  }
@@ -207,25 +211,25 @@ export class SwitchbotDevice extends EventEmitter {
207
211
  * @returns A Promise that resolves when the disconnection is complete.
208
212
  */
209
213
  async disconnect() {
210
- this._explicitly = false;
211
- const state = this._peripheral.state;
214
+ this.explicitlyConnected = false;
215
+ const state = this.peripheral.state;
212
216
  if (state === 'disconnected') {
213
217
  return;
214
218
  }
215
219
  if (state === 'connecting' || state === 'disconnecting') {
216
220
  throw new Error(`Now ${state}. Wait for a few seconds then try again.`);
217
221
  }
218
- await this.unsubscribe();
219
- await this._peripheral.disconnectAsync();
222
+ await this.unsubscribeFromNotify();
223
+ await this.peripheral.disconnectAsync();
220
224
  }
221
225
  /**
222
226
  * Internal method to handle disconnection if not explicitly initiated.
223
227
  * @returns A Promise that resolves when the disconnection is complete.
224
228
  */
225
- async disconnect_internal() {
226
- if (!this._explicitly) {
229
+ async internalDisconnect() {
230
+ if (!this.explicitlyConnected) {
227
231
  await this.disconnect();
228
- this._explicitly = true;
232
+ this.explicitlyConnected = true;
229
233
  }
230
234
  }
231
235
  /**
@@ -233,12 +237,12 @@ export class SwitchbotDevice extends EventEmitter {
233
237
  * @returns A Promise that resolves with the device name.
234
238
  */
235
239
  async getDeviceName() {
236
- await this.connect_internal();
237
- if (!this._characteristics?.device) {
240
+ await this.internalConnect();
241
+ if (!this.characteristics?.device) {
238
242
  throw new Error(`The device does not support the characteristic UUID 0x${CHAR_UUID_DEVICE}.`);
239
243
  }
240
- const buf = await this.read(this._characteristics.device);
241
- await this.disconnect_internal();
244
+ const buf = await this.readCharacteristic(this.characteristics.device);
245
+ await this.internalDisconnect();
242
246
  return buf.toString('utf8');
243
247
  }
244
248
  /**
@@ -252,43 +256,43 @@ export class SwitchbotDevice extends EventEmitter {
252
256
  throw new Error(parameterChecker.error.message);
253
257
  }
254
258
  const buf = Buffer.from(name, 'utf8');
255
- await this.connect_internal();
256
- if (!this._characteristics?.device) {
259
+ await this.internalConnect();
260
+ if (!this.characteristics?.device) {
257
261
  throw new Error(`The device does not support the characteristic UUID 0x${CHAR_UUID_DEVICE}.`);
258
262
  }
259
- await this.write(this._characteristics.device, buf);
260
- await this.disconnect_internal();
263
+ await this.writeCharacteristic(this.characteristics.device, buf);
264
+ await this.internalDisconnect();
261
265
  }
262
266
  /**
263
267
  * Sends a command to the device and awaits a response.
264
- * @param req_buf The command buffer.
268
+ * @param reqBuf The command buffer.
265
269
  * @returns A Promise that resolves with the response buffer.
266
270
  */
267
- async command(req_buf) {
268
- if (!Buffer.isBuffer(req_buf)) {
271
+ async command(reqBuf) {
272
+ if (!Buffer.isBuffer(reqBuf)) {
269
273
  throw new TypeError('The specified data is not acceptable for writing.');
270
274
  }
271
- await this.connect_internal();
272
- if (!this._characteristics?.write) {
275
+ await this.internalConnect();
276
+ if (!this.characteristics?.write) {
273
277
  throw new Error('No characteristics available.');
274
278
  }
275
- await this.write(this._characteristics.write, req_buf);
276
- const res_buf = await this._waitCommandResponseAsync();
277
- await this.disconnect_internal();
278
- return res_buf;
279
+ await this.writeCharacteristic(this.characteristics.write, reqBuf);
280
+ const resBuf = await this.waitForCommandResponse();
281
+ await this.internalDisconnect();
282
+ return resBuf;
279
283
  }
280
284
  /**
281
285
  * Waits for a response from the device after sending a command.
282
286
  * @returns A Promise that resolves with the response buffer.
283
287
  */
284
- async _waitCommandResponseAsync() {
288
+ async waitForCommandResponse() {
285
289
  const timeout = READ_TIMEOUT_MSEC;
286
290
  let timer = null;
287
291
  const timeoutPromise = new Promise((_, reject) => {
288
292
  timer = setTimeout(() => reject(new Error('READ_TIMEOUT')), timeout);
289
293
  });
290
294
  const readPromise = new Promise((resolve) => {
291
- this.onnotify_internal = (buf) => {
295
+ this.onNotify = (buf) => {
292
296
  if (timer) {
293
297
  clearTimeout(timer);
294
298
  }
@@ -302,7 +306,7 @@ export class SwitchbotDevice extends EventEmitter {
302
306
  * @param char The characteristic to read from.
303
307
  * @returns A Promise that resolves with the data buffer.
304
308
  */
305
- async read(char) {
309
+ async readCharacteristic(char) {
306
310
  const timer = setTimeout(() => {
307
311
  throw new Error('READ_TIMEOUT');
308
312
  }, READ_TIMEOUT_MSEC);
@@ -322,7 +326,7 @@ export class SwitchbotDevice extends EventEmitter {
322
326
  * @param buf The data buffer.
323
327
  * @returns A Promise that resolves when the write is complete.
324
328
  */
325
- async write(char, buf) {
329
+ async writeCharacteristic(char, buf) {
326
330
  const timer = setTimeout(() => {
327
331
  throw new Error('WRITE_TIMEOUT');
328
332
  }, WRITE_TIMEOUT_MSEC);
@@ -1 +1 @@
1
- {"version":3,"file":"device.js","sourceRoot":"","sources":["../src/device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../src/device.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,20 @@
1
+ export * from './advertising.js';
1
2
  export * from './device.js';
3
+ export * from './device/woblindtilt.js';
4
+ export * from './device/wobulb.js';
5
+ export * from './device/woceilinglight.js';
6
+ export * from './device/wocontact.js';
7
+ export * from './device/wocurtain.js';
8
+ export * from './device/wohand.js';
9
+ export * from './device/wohub2.js';
10
+ export * from './device/wohumi.js';
11
+ export * from './device/woiosensorth.js';
12
+ export * from './device/woplugmini.js';
13
+ export * from './device/wopresence.js';
14
+ export * from './device/wosensorth.js';
15
+ export * from './device/wosmartlock.js';
16
+ export * from './device/wosmartlockpro.js';
17
+ export * from './device/wostrip.js';
2
18
  export * from './switchbot-ble.js';
3
19
  export * from './switchbot-openapi.js';
4
20
  export * from './types/bledevicestatus.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,yBAAyB,CAAA;AACvC,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,yBAAyB,CAAA;AACvC,cAAc,kBAAkB,CAAA"}
package/dist/index.js CHANGED
@@ -2,7 +2,23 @@
2
2
  *
3
3
  * index.ts: Switchbot BLE API registration.
4
4
  */
5
+ export * from './advertising.js';
5
6
  export * from './device.js';
7
+ export * from './device/woblindtilt.js';
8
+ export * from './device/wobulb.js';
9
+ export * from './device/woceilinglight.js';
10
+ export * from './device/wocontact.js';
11
+ export * from './device/wocurtain.js';
12
+ export * from './device/wohand.js';
13
+ export * from './device/wohub2.js';
14
+ export * from './device/wohumi.js';
15
+ export * from './device/woiosensorth.js';
16
+ export * from './device/woplugmini.js';
17
+ export * from './device/wopresence.js';
18
+ export * from './device/wosensorth.js';
19
+ export * from './device/wosmartlock.js';
20
+ export * from './device/wosmartlockpro.js';
21
+ export * from './device/wostrip.js';
6
22
  export * from './switchbot-ble.js';
7
23
  export * from './switchbot-openapi.js';
8
24
  export * from './types/bledevicestatus.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,yBAAyB,CAAA;AACvC,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,yBAAyB,CAAA;AACvC,cAAc,kBAAkB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"parameter-checker.d.ts","sourceRoot":"","sources":["../src/parameter-checker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAOzD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,MAAM,CAA2B;IAEzC;;;;;OAKG;YACW,OAAO;IAIrB;;;;OAIG;IACH,IAAI,KAAK,IAAI,WAAW,GAAG,IAAI,CAE9B;IAED;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAIpC;;;;;;;OAOG;IACG,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IA6DnH;;;;;;;OAOG;IACG,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAE,MAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IA8BnF;;;;;;;OAOG;IACG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAE,MAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAerF;;;;;;;OAOG;IACG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAE,MAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAerF;;;;;;;OAOG;IACG,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAE,MAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAepF;;;;;;;OAOG;IACG,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAE,MAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBnF;;;;;;;OAOG;IACG,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAE,MAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;CAkDrF;AAED,eAAO,MAAM,gBAAgB,kBAAyB,CAAA"}
1
+ {"version":3,"file":"parameter-checker.d.ts","sourceRoot":"","sources":["../src/parameter-checker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAOzD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,MAAM,CAA2B;IAEzC;;;;;OAKG;YACW,OAAO;IAIrB;;;;OAIG;IACH,IAAI,KAAK,IAAI,WAAW,GAAG,IAAI,CAE9B;IAED;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAIpC;;;;;;;OAOG;IACG,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAqDnH;;;;;;;OAOG;IACG,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAE,MAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IA8BnF;;;;;;;OAOG;IACG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAE,MAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAerF;;;;;;;OAOG;IACG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAE,MAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAerF;;;;;;;OAOG;IACG,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAE,MAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAepF;;;;;;;OAOG;IACG,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAE,MAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBnF;;;;;;;OAOG;IACG,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAE,MAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;CAkDrF;AAED,eAAO,MAAM,gBAAgB,kBAAyB,CAAA"}
@@ -42,15 +42,7 @@ export class ParameterChecker extends EventEmitter {
42
42
  */
43
43
  async check(obj, rules, required = false) {
44
44
  this._error = null;
45
- // eslint-disable-next-line no-console
46
- console.log('Checking object:', obj);
47
- // eslint-disable-next-line no-console
48
- console.log('With rules:', rules);
49
- // eslint-disable-next-line no-console
50
- console.log('Is required:', required);
51
- this.emitLog('debug', `Checking object: ${JSON.stringify(obj)}`);
52
- this.emitLog('debug', `With rules: ${JSON.stringify(rules)}`);
53
- this.emitLog('debug', `Is required: ${JSON.stringify(required)}`);
45
+ this.emitLog('debug', `Using rules: ${JSON.stringify(rules)}`);
54
46
  if (required && !this.isSpecified(obj)) {
55
47
  this._error = { code: 'MISSING_REQUIRED', message: 'The first argument is missing.' };
56
48
  return false;