node-switchbot 2.5.0-beta.6 → 2.5.0-beta.8

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.
@@ -19,18 +19,64 @@ export declare class WoSmartLockPro extends SwitchbotDevice {
19
19
  SUCCESS_LOW_BATTERY: number;
20
20
  };
21
21
  static validateResponse(res: Buffer): number;
22
- static getLockStatus(code: number): "LOCKED" | "UNLOCKED" | "LOCKING" | "UNLOCKING" | "LOCKING_STOP" | "UNLOCKING_STOP" | "NOT_FULLY_LOCKED" | "UNKNOWN";
23
- static parseServiceData(serviceData: Buffer, manufacturerData: Buffer, onlog: ((message: string) => void) | undefined): Promise<lockProServiceData | null>;
22
+ static getLockStatus(code: number): string;
23
+ static parseServiceData(serviceData: Buffer, manufacturerData: Buffer, onlog?: (message: string) => void): Promise<lockProServiceData | null>;
24
24
  constructor(peripheral: Noble.Peripheral, noble: typeof Noble);
25
+ /**
26
+ * Initializes the encryption key info for valid lock communication.
27
+ * @param {string} keyId - The key ID.
28
+ * @param {string} encryptionKey - The encryption key.
29
+ */
25
30
  setKey(keyId: string, encryptionKey: string): Promise<void>;
26
- unlock(): Promise<void>;
27
- unlockNoUnlatch(): Promise<void>;
28
- lock(): Promise<void>;
29
- info(): Promise<void>;
31
+ /**
32
+ * Unlocks the Smart Lock.
33
+ * @returns {Promise<number>} - The result of the unlock operation.
34
+ */
35
+ unlock(): Promise<number>;
36
+ /**
37
+ * Unlocks the Smart Lock without unlatching the door.
38
+ * @returns {Promise<number>} - The result of the unlock operation.
39
+ */
40
+ unlockNoUnlatch(): Promise<number>;
41
+ /**
42
+ * Locks the Smart Lock.
43
+ * @returns {Promise<number>} - The result of the lock operation.
44
+ */
45
+ lock(): Promise<number>;
46
+ /**
47
+ * Gets general state info from the Smart Lock.
48
+ * @returns {Promise<object | null>} - The state object or null if an error occurred.
49
+ */
50
+ info(): Promise<object | null>;
51
+ /**
52
+ * Encrypts a string using AES-128-CTR.
53
+ * @param {string} str - The string to encrypt.
54
+ * @returns {Promise<string>} - The encrypted string in hex format.
55
+ */
30
56
  encrypt(str: string): Promise<string>;
57
+ /**
58
+ * Decrypts a buffer using AES-128-CTR.
59
+ * @param {Buffer} data - The data to decrypt.
60
+ * @returns {Promise<Buffer>} - The decrypted data.
61
+ */
31
62
  decrypt(data: Buffer): Promise<Buffer>;
63
+ /**
64
+ * Retrieves the IV from the device.
65
+ * @returns {Promise<Buffer>} - The IV buffer.
66
+ */
32
67
  getIv(): Promise<Buffer>;
68
+ /**
69
+ * Sends an encrypted command to the device.
70
+ * @param {string} key - The command key.
71
+ * @returns {Promise<Buffer>} - The response buffer.
72
+ */
33
73
  encryptedCommand(key: string): Promise<Buffer>;
34
- operateLockPro(key: string, encrypt?: boolean): Promise<Buffer | undefined>;
74
+ /**
75
+ * Operates the lock with the given command.
76
+ * @param {string} key - The command key.
77
+ * @param {boolean} [encrypt] - Whether to encrypt the command.
78
+ * @returns {Promise<Buffer>} - The response buffer.
79
+ */
80
+ operateLockPro(key: string, encrypt?: boolean): Promise<Buffer>;
35
81
  }
36
82
  //# sourceMappingURL=wosmartlockpro.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wosmartlockpro.d.ts","sourceRoot":"","sources":["../../src/device/wosmartlockpro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAErE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAOpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C,qBAAa,cAAe,SAAQ,eAAe;IACjD,GAAG,EAAE,MAAM,GAAG,IAAI,CAAO;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAE9B,MAAM,CAAC,iBAAiB,SAAa;IACrC,MAAM,CAAC,iBAAiB,SAAe;IACvC,MAAM,CAAC,cAAc,SAAqB;IAC1C,MAAM,CAAC,yBAAyB,SAAqB;IACrD,MAAM,CAAC,YAAY,SAAqB;IACxC,MAAM,CAAC,4BAA4B,SAAuB;IAC1D,MAAM,CAAC,6BAA6B,SAAW;IAE/C,MAAM,CAAC,MAAM;;;;MAIZ;IAED,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM;IAYnC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM;WAqBpB,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,GAC7C,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAgDzB,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,KAAK;IAiBvD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAiB3C,MAAM;IAyBN,eAAe;IAyBf,IAAI;IAyBJ,IAAI;IAqBJ,OAAO,CAAC,GAAG,EAAE,MAAM;IAKnB,OAAO,CAAC,IAAI,EAAE,MAAM;IAKpB,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAYxB,gBAAgB,CAAC,GAAG,EAAE,MAAM;IAkB5B,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,OAAc;CAqB1D"}
1
+ {"version":3,"file":"wosmartlockpro.d.ts","sourceRoot":"","sources":["../../src/device/wosmartlockpro.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAErE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C,qBAAa,cAAe,SAAQ,eAAe;IAC1C,GAAG,EAAE,MAAM,GAAG,IAAI,CAAO;IACzB,OAAO,EAAE,MAAM,CAAK;IACpB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAO;IAE5C,MAAM,CAAC,iBAAiB,SAAa;IACrC,MAAM,CAAC,iBAAiB,SAAe;IACvC,MAAM,CAAC,cAAc,SAAqB;IAC1C,MAAM,CAAC,yBAAyB,SAAqB;IACrD,MAAM,CAAC,YAAY,SAAqB;IACxC,MAAM,CAAC,4BAA4B,SAAuB;IAC1D,MAAM,CAAC,6BAA6B,SAAW;IAE/C,MAAM,CAAC,MAAM;;;;MAIZ;IAED,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM;IAUnC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM;WAapB,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBA+BzB,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,KAAK;IAI7D;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAMjD;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAK/B;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAKxC;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAK7B;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAcpC;;;;OAIG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK3C;;;;OAIG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK5C;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAY9B;;;;OAIG;IACG,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBpD;;;;;OAKG;IACG,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,OAAc,GAAG,OAAO,CAAC,MAAM,CAAC;CAc5E"}
@@ -1,15 +1,11 @@
1
1
  import { Buffer } from 'node:buffer';
2
2
  import * as Crypto from 'node:crypto';
3
- /*
4
- * wosmartlock.ts: Switchbot BLE API registration.
5
- * adapted off the work done by [pySwitchbot](https://github.com/Danielhiversen/pySwitchbot)
6
- */
7
3
  import { SwitchbotDevice } from '../device.js';
8
4
  import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types/types.js';
9
5
  export class WoSmartLockPro extends SwitchbotDevice {
10
6
  _iv = null;
11
- _key_id;
12
- _encryption_key;
7
+ _key_id = '';
8
+ _encryption_key = null;
13
9
  static COMMAND_GET_CK_IV = '570f2103';
14
10
  static COMMAND_LOCK_INFO = '570f4f8102';
15
11
  static COMMAND_UNLOCK = '570f4e0101000080';
@@ -24,216 +20,130 @@ export class WoSmartLockPro extends SwitchbotDevice {
24
20
  };
25
21
  static validateResponse(res) {
26
22
  if (res.length >= 3) {
27
- switch (res.readUInt8(0)) {
28
- case WoSmartLockPro.Result.SUCCESS:
29
- return WoSmartLockPro.Result.SUCCESS;
30
- case WoSmartLockPro.Result.SUCCESS_LOW_BATTERY:
31
- return WoSmartLockPro.Result.SUCCESS_LOW_BATTERY;
23
+ const result = res.readUInt8(0);
24
+ if (result === WoSmartLockPro.Result.SUCCESS || result === WoSmartLockPro.Result.SUCCESS_LOW_BATTERY) {
25
+ return result;
32
26
  }
33
27
  }
34
28
  return WoSmartLockPro.Result.ERROR;
35
29
  }
36
30
  static getLockStatus(code) {
37
- switch (code) {
38
- case 0b0000000:
39
- return 'LOCKED';
40
- case 0b0010000:
41
- return 'UNLOCKED';
42
- case 0b0100000:
43
- return 'LOCKING';
44
- case 0b0110000:
45
- return 'UNLOCKING';
46
- case 0b1000000:
47
- return 'LOCKING_STOP';
48
- case 0b1010000:
49
- return 'UNLOCKING_STOP';
50
- case 0b01100000: // Only EU lock type
51
- return 'NOT_FULLY_LOCKED';
52
- default:
53
- return 'UNKNOWN';
54
- }
31
+ const statusMap = {
32
+ 0b0000000: 'LOCKED',
33
+ 0b0010000: 'UNLOCKED',
34
+ 0b0100000: 'LOCKING',
35
+ 0b0110000: 'UNLOCKING',
36
+ 0b1000000: 'LOCKING_STOP',
37
+ 0b1010000: 'UNLOCKING_STOP',
38
+ 0b01100000: 'NOT_FULLY_LOCKED', // Only EU lock type
39
+ };
40
+ return statusMap[code] || 'UNKNOWN';
55
41
  }
56
42
  static async parseServiceData(serviceData, manufacturerData, onlog) {
57
43
  if (manufacturerData.length < 11) {
58
- if (onlog && typeof onlog === 'function') {
59
- onlog(`[parseServiceDataForWoSmartLockPro] Buffer length ${manufacturerData.length} is too short!`);
60
- }
44
+ onlog?.(`[parseServiceDataForWoSmartLockPro] Buffer length ${manufacturerData.length} is too short!`);
61
45
  return null;
62
46
  }
63
- // adv data needs both service data and manufacturer data
64
- // byte var names based on documentation
65
47
  const byte2 = serviceData.readUInt8(2);
66
48
  const byte7 = manufacturerData.readUInt8(7);
67
49
  const byte8 = manufacturerData.readUInt8(8);
68
50
  const byte9 = manufacturerData.readUInt8(9);
69
51
  const byte11 = manufacturerData.readUInt8(11);
70
- const battery = byte2 & 0b01111111; // %
71
- const calibration = !!(byte7 & 0b10000000);
72
- const status = WoSmartLockPro.getLockStatus((byte7 & 0b00111000) >> 3);
73
- const door_open = !!(byte8 & 0b01100000);
74
- // Double lock mode is not supported on Lock Pro
75
- const update_from_secondary_lock = false; // !!(byte7 & 0b00001000)
76
- const double_lock_mode = false; // !!(byte8 & 0b10000000)
77
- const unclosed_alarm = !!(byte11 & 0b10000000);
78
- const unlocked_alarm = !!(byte11 & 0b01000000);
79
- const auto_lock_paused = !!(byte8 & 0b100000);
80
- const night_latch = !!(byte9 & 0b00000001);
81
- // const manual = byte7 & 0b100000;
82
52
  const data = {
83
53
  model: SwitchBotBLEModel.LockPro,
84
54
  modelName: SwitchBotBLEModelName.LockPro,
85
55
  modelFriendlyName: SwitchBotBLEModelFriendlyName.LockPro,
86
- battery,
87
- calibration,
88
- status,
89
- update_from_secondary_lock,
90
- door_open,
91
- double_lock_mode,
92
- unclosed_alarm,
93
- unlocked_alarm,
94
- auto_lock_paused,
95
- night_latch,
56
+ battery: byte2 & 0b01111111,
57
+ calibration: !!(byte7 & 0b10000000),
58
+ status: WoSmartLockPro.getLockStatus((byte7 & 0b00111000) >> 3),
59
+ door_open: !!(byte8 & 0b01100000),
60
+ update_from_secondary_lock: false,
61
+ double_lock_mode: false,
62
+ unclosed_alarm: !!(byte11 & 0b10000000),
63
+ unlocked_alarm: !!(byte11 & 0b01000000),
64
+ auto_lock_paused: !!(byte8 & 0b100000),
65
+ night_latch: !!(byte9 & 0b00000001),
96
66
  };
97
67
  return data;
98
68
  }
99
69
  constructor(peripheral, noble) {
100
70
  super(peripheral, noble);
101
- this._iv = null;
102
- this._key_id = '';
103
- this._encryption_key = null;
104
71
  }
105
- /* ------------------------------------------------------------------
106
- * setKey()
107
- * - initialise the encryption key info for valid lock communication, this currently must be retrived externally
108
- *
109
- * [Arguments]
110
- * - keyId, encryptionKey
111
- *
112
- * [Return value]
113
- * - void
114
- * ---------------------------------------------------------------- */
72
+ /**
73
+ * Initializes the encryption key info for valid lock communication.
74
+ * @param {string} keyId - The key ID.
75
+ * @param {string} encryptionKey - The encryption key.
76
+ */
115
77
  async setKey(keyId, encryptionKey) {
116
78
  this._iv = null;
117
79
  this._key_id = keyId;
118
80
  this._encryption_key = Buffer.from(encryptionKey, 'hex');
119
81
  }
120
- /* ------------------------------------------------------------------
121
- * unlock()
122
- * - Unlock the Smart Lock
123
- *
124
- * [Arguments]
125
- * - none
126
- *
127
- * [Return value]
128
- * - Promise object
129
- * WoSmartLockPro.LockResult will be passed to the `resolve()`.
130
- * ---------------------------------------------------------------- */
82
+ /**
83
+ * Unlocks the Smart Lock.
84
+ * @returns {Promise<number>} - The result of the unlock operation.
85
+ */
131
86
  async unlock() {
132
- await this.operateLockPro(WoSmartLockPro.COMMAND_UNLOCK)
133
- .then((resBuf) => {
134
- if (resBuf) {
135
- return WoSmartLockPro.validateResponse(resBuf);
136
- }
137
- else {
138
- return WoSmartLockPro.Result.ERROR;
139
- }
140
- })
141
- .catch((error) => {
142
- throw error;
143
- });
87
+ const resBuf = await this.operateLockPro(WoSmartLockPro.COMMAND_UNLOCK);
88
+ return resBuf ? WoSmartLockPro.validateResponse(resBuf) : WoSmartLockPro.Result.ERROR;
144
89
  }
145
- /* ------------------------------------------------------------------
146
- * unlockNoUnlatch()
147
- * - Unlock the Smart Lock without unlatching door
148
- *
149
- * [Arguments]
150
- * - none
151
- *
152
- * [Return value]
153
- * - Promise object
154
- * WoSmartLockPro.LockResult will be passed to the `resolve()`.
155
- * ---------------------------------------------------------------- */
90
+ /**
91
+ * Unlocks the Smart Lock without unlatching the door.
92
+ * @returns {Promise<number>} - The result of the unlock operation.
93
+ */
156
94
  async unlockNoUnlatch() {
157
- await this.operateLockPro(WoSmartLockPro.COMMAND_UNLOCK_NO_UNLATCH)
158
- .then((resBuf) => {
159
- if (resBuf) {
160
- return WoSmartLockPro.validateResponse(resBuf);
161
- }
162
- else {
163
- return WoSmartLockPro.Result.ERROR;
164
- }
165
- })
166
- .catch((error) => {
167
- throw error;
168
- });
95
+ const resBuf = await this.operateLockPro(WoSmartLockPro.COMMAND_UNLOCK_NO_UNLATCH);
96
+ return resBuf ? WoSmartLockPro.validateResponse(resBuf) : WoSmartLockPro.Result.ERROR;
169
97
  }
170
- /* ------------------------------------------------------------------
171
- * lock()
172
- * - Lock the Smart Lock
173
- *
174
- * [Arguments]
175
- * - none
176
- *
177
- * [Return value]
178
- * - Promise object
179
- * WoSmartLockPro.LockResult will be passed to the `resolve()`.
180
- * ---------------------------------------------------------------- */
98
+ /**
99
+ * Locks the Smart Lock.
100
+ * @returns {Promise<number>} - The result of the lock operation.
101
+ */
181
102
  async lock() {
182
- this.operateLockPro(WoSmartLockPro.COMMAND_LOCK)
183
- .then((resBuf) => {
184
- if (resBuf) {
185
- return WoSmartLockPro.validateResponse(resBuf);
186
- }
187
- else {
188
- return WoSmartLockPro.Result.ERROR;
189
- }
190
- })
191
- .catch((error) => {
192
- throw error;
193
- });
103
+ const resBuf = await this.operateLockPro(WoSmartLockPro.COMMAND_LOCK);
104
+ return resBuf ? WoSmartLockPro.validateResponse(resBuf) : WoSmartLockPro.Result.ERROR;
194
105
  }
195
- /* ------------------------------------------------------------------
196
- * info()
197
- * - Get general state info from the Smart Lock
198
- *
199
- * [Arguments]
200
- * - none
201
- *
202
- * [Return value]
203
- * - Promise object
204
- * state object will be passed to the `resolve()`
205
- * ---------------------------------------------------------------- */
106
+ /**
107
+ * Gets general state info from the Smart Lock.
108
+ * @returns {Promise<object | null>} - The state object or null if an error occurred.
109
+ */
206
110
  async info() {
207
- await this.operateLockPro(WoSmartLockPro.COMMAND_LOCK_INFO)
208
- .then((resBuf) => {
209
- if (resBuf) {
210
- const data = {
211
- calibration: Boolean(resBuf[0] & 0b10000000),
212
- status: WoSmartLockPro.getLockStatus((resBuf[0] & 0b01110000) >> 4),
213
- door_open: Boolean(resBuf[0] & 0b00000100),
214
- unclosed_alarm: Boolean(resBuf[1] & 0b00100000),
215
- unlocked_alarm: Boolean(resBuf[1] & 0b00010000),
216
- };
217
- return data;
218
- }
219
- else {
220
- return null;
221
- }
222
- })
223
- .catch((error) => {
224
- throw error;
225
- });
111
+ const resBuf = await this.operateLockPro(WoSmartLockPro.COMMAND_LOCK_INFO);
112
+ if (resBuf) {
113
+ return {
114
+ calibration: Boolean(resBuf[0] & 0b10000000),
115
+ status: WoSmartLockPro.getLockStatus((resBuf[0] & 0b01110000) >> 4),
116
+ door_open: Boolean(resBuf[0] & 0b00000100),
117
+ unclosed_alarm: Boolean(resBuf[1] & 0b00100000),
118
+ unlocked_alarm: Boolean(resBuf[1] & 0b00010000),
119
+ };
120
+ }
121
+ return null;
226
122
  }
123
+ /**
124
+ * Encrypts a string using AES-128-CTR.
125
+ * @param {string} str - The string to encrypt.
126
+ * @returns {Promise<string>} - The encrypted string in hex format.
127
+ */
227
128
  async encrypt(str) {
228
129
  const cipher = Crypto.createCipheriv('aes-128-ctr', this._encryption_key, this._iv);
229
130
  return Buffer.concat([cipher.update(str, 'hex'), cipher.final()]).toString('hex');
230
131
  }
132
+ /**
133
+ * Decrypts a buffer using AES-128-CTR.
134
+ * @param {Buffer} data - The data to decrypt.
135
+ * @returns {Promise<Buffer>} - The decrypted data.
136
+ */
231
137
  async decrypt(data) {
232
138
  const decipher = Crypto.createDecipheriv('aes-128-ctr', this._encryption_key, this._iv);
233
139
  return Buffer.concat([decipher.update(data), decipher.final()]);
234
140
  }
141
+ /**
142
+ * Retrieves the IV from the device.
143
+ * @returns {Promise<Buffer>} - The IV buffer.
144
+ */
235
145
  async getIv() {
236
- if (this._iv === null) {
146
+ if (!this._iv) {
237
147
  const res = await this.operateLockPro(WoSmartLockPro.COMMAND_GET_CK_IV + this._key_id, false);
238
148
  if (res) {
239
149
  this._iv = res.subarray(4);
@@ -244,6 +154,11 @@ export class WoSmartLockPro extends SwitchbotDevice {
244
154
  }
245
155
  return this._iv;
246
156
  }
157
+ /**
158
+ * Sends an encrypted command to the device.
159
+ * @param {string} key - The command key.
160
+ * @returns {Promise<Buffer>} - The response buffer.
161
+ */
247
162
  async encryptedCommand(key) {
248
163
  const iv = await this.getIv();
249
164
  const req = Buffer.from(key.substring(0, 2) + this._key_id + Buffer.from(iv.subarray(0, 2)).toString('hex') + await this.encrypt(key.substring(2)), 'hex');
@@ -257,26 +172,24 @@ export class WoSmartLockPro extends SwitchbotDevice {
257
172
  throw new Error(`The device returned an error: 0x${buf.toString('hex')}`);
258
173
  }
259
174
  }
175
+ /**
176
+ * Operates the lock with the given command.
177
+ * @param {string} key - The command key.
178
+ * @param {boolean} [encrypt] - Whether to encrypt the command.
179
+ * @returns {Promise<Buffer>} - The response buffer.
180
+ */
260
181
  async operateLockPro(key, encrypt = true) {
261
- // encrypted command
262
182
  if (encrypt) {
263
183
  return this.encryptedCommand(key);
264
184
  }
265
185
  const req = Buffer.from(`${key.substring(0, 2)}000000${key.substring(2)}`, 'hex');
266
- await this.command(req)
267
- .then((bytes) => {
268
- const buf = Buffer.from(bytes);
269
- const code = WoSmartLockPro.validateResponse(buf);
270
- if (code === WoSmartLockPro.Result.ERROR) {
271
- throw new Error(`The device returned an error: 0x${buf.toString('hex')}`);
272
- }
273
- else {
274
- return buf;
275
- }
276
- })
277
- .catch((error) => {
278
- throw error;
279
- });
186
+ const bytes = await this.command(req);
187
+ const buf = Buffer.from(bytes);
188
+ const code = WoSmartLockPro.validateResponse(buf);
189
+ if (code === WoSmartLockPro.Result.ERROR) {
190
+ throw new Error(`The device returned an error: 0x${buf.toString('hex')}`);
191
+ }
192
+ return buf;
280
193
  }
281
194
  }
282
195
  //# sourceMappingURL=wosmartlockpro.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wosmartlockpro.js","sourceRoot":"","sources":["../../src/device/wosmartlockpro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wosmartlockpro.js","sourceRoot":"","sources":["../../src/device/wosmartlockpro.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAE3G,MAAM,OAAO,cAAe,SAAQ,eAAe;IAC1C,GAAG,GAAkB,IAAI,CAAA;IACzB,OAAO,GAAW,EAAE,CAAA;IACpB,eAAe,GAAkB,IAAI,CAAA;IAE5C,MAAM,CAAC,iBAAiB,GAAG,UAAU,CAAA;IACrC,MAAM,CAAC,iBAAiB,GAAG,YAAY,CAAA;IACvC,MAAM,CAAC,cAAc,GAAG,kBAAkB,CAAA;IAC1C,MAAM,CAAC,yBAAyB,GAAG,kBAAkB,CAAA;IACrD,MAAM,CAAC,YAAY,GAAG,kBAAkB,CAAA;IACxC,MAAM,CAAC,4BAA4B,GAAG,oBAAoB,CAAA;IAC1D,MAAM,CAAC,6BAA6B,GAAG,QAAQ,CAAA;IAE/C,MAAM,CAAC,MAAM,GAAG;QACd,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,IAAI;QACb,mBAAmB,EAAE,IAAI;KAC1B,CAAA;IAED,MAAM,CAAC,gBAAgB,CAAC,GAAW;QACjC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YAC/B,IAAI,MAAM,KAAK,cAAc,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,KAAK,cAAc,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;gBACrG,OAAO,MAAM,CAAA;YACf,CAAC;QACH,CAAC;QACD,OAAO,cAAc,CAAC,MAAM,CAAC,KAAK,CAAA;IACpC,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,IAAY;QAC/B,MAAM,SAAS,GAA8B;YAC3C,SAAS,EAAE,QAAQ;YACnB,SAAS,EAAE,UAAU;YACrB,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,WAAW;YACtB,SAAS,EAAE,cAAc;YACzB,SAAS,EAAE,gBAAgB;YAC3B,UAAU,EAAE,kBAAkB,EAAE,oBAAoB;SACrD,CAAA;QACD,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS,CAAA;IACrC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAC3B,WAAmB,EACnB,gBAAwB,EACxB,KAAiC;QAEjC,IAAI,gBAAgB,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACjC,KAAK,EAAE,CAAC,qDAAqD,gBAAgB,CAAC,MAAM,gBAAgB,CAAC,CAAA;YACrG,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QACtC,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC3C,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAE7C,MAAM,IAAI,GAAuB;YAC/B,KAAK,EAAE,iBAAiB,CAAC,OAAO;YAChC,SAAS,EAAE,qBAAqB,CAAC,OAAO;YACxC,iBAAiB,EAAE,6BAA6B,CAAC,OAAO;YACxD,OAAO,EAAE,KAAK,GAAG,UAAU;YAC3B,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC;YACnC,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAC/D,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC;YACjC,0BAA0B,EAAE,KAAK;YACjC,gBAAgB,EAAE,KAAK;YACvB,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC;YACvC,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC;YACvC,gBAAgB,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC;YACtC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC;SACpC,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY,UAA4B,EAAE,KAAmB;QAC3D,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;IAC1B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,aAAqB;QAC/C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAA;QACf,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;IAC1D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM;QACV,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;QACvE,OAAO,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAA;IACvF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe;QACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAA;QAClF,OAAO,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAA;IACvF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;QACrE,OAAO,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAA;IACvF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAA;QAC1E,IAAI,MAAM,EAAE,CAAC;YACX,OAAO;gBACL,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;gBAC5C,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;gBACnE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;gBAC1C,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;gBAC/C,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;aAChD,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,GAAW;QACvB,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,eAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QACpF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnF,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,IAAY;QACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,eAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QACxF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IACjE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAC7F,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;YAC3D,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,GAAW;QAChC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CACrB,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC1H,KAAK,CACN,CAAA;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACrC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAmB,CAAC,CAAA;QAC5C,MAAM,IAAI,GAAG,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;QAEjD,IAAI,IAAI,KAAK,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACzC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACjF,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC3E,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,GAAW,EAAE,UAAmB,IAAI;QACvD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;QACnC,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QACjF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACrC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAmB,CAAC,CAAA;QAC5C,MAAM,IAAI,GAAG,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;QAEjD,IAAI,IAAI,KAAK,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC3E,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC"}
@@ -74,11 +74,11 @@ describe('woSmartLockPro', () => {
74
74
  });
75
75
  describe('decrypt', () => {
76
76
  it('should decrypt a buffer', async () => {
77
- const data = Buffer.from('test', 'hex');
77
+ const data = Buffer.from('74657374', 'hex'); // 'test' in hex
78
78
  lock._encryption_key = Buffer.from('0123456789abcdef0123456789abcdef', 'hex');
79
79
  lock._iv = Buffer.from('0123456789abcdef', 'hex');
80
80
  const decrypted = await lock.decrypt(data);
81
- expect(decrypted).to.be.instanceOf(Buffer);
81
+ expect(decrypted.toString()).to.equal('test');
82
82
  });
83
83
  });
84
84
  describe('getIv', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"wosmartlockpro.test.js","sourceRoot":"","sources":["../../src/device/wosmartlockpro.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wosmartlockpro.test.js","sourceRoot":"","sources":["../../src/device/wosmartlockpro.test.ts"],"names":[],"mappings":"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"}
@@ -5,38 +5,56 @@ import { SwitchbotDevice } from '../device.js';
5
5
  * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/colorbulb.md
6
6
  */
7
7
  export declare class WoStrip extends SwitchbotDevice {
8
- static parseServiceData(serviceData: Buffer, onlog: ((message: string) => void) | undefined): Promise<stripLightServiceData | null>;
9
8
  /**
10
- * @returns resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
9
+ * Parses the service data from the SwitchBot Strip Light.
10
+ * @param {Buffer} serviceData - The service data buffer.
11
+ * @param {(message: string) => void} [onlog] - Optional logging function.
12
+ * @returns {Promise<stripLightServiceData | null>} - Parsed service data or null if invalid.
11
13
  */
12
- readState(): Promise<void>;
14
+ static parseServiceData(serviceData: Buffer, onlog?: (message: string) => void): Promise<stripLightServiceData | null>;
13
15
  /**
14
- * @private
16
+ * Reads the state of the strip light.
17
+ * @returns {Promise<boolean>} - Resolves with true if the strip light is ON, false otherwise.
15
18
  */
16
- setState(reqByteArray: number[]): Promise<void>;
19
+ readState(): Promise<boolean>;
17
20
  /**
18
- * @returns resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
21
+ * Sets the state of the strip light.
22
+ * @public
23
+ * @param {number[]} reqByteArray - The request byte array.
24
+ * @returns {Promise<boolean>} - Resolves with true if the operation was successful.
19
25
  */
20
- turnOn(): Promise<void>;
26
+ setState(reqByteArray: number[]): Promise<boolean>;
21
27
  /**
22
- * @returns resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
28
+ * Turns the strip light on.
29
+ * @returns {Promise<boolean>} - Resolves with true if the strip light is ON.
23
30
  */
24
- turnOff(): Promise<void>;
31
+ turnOn(): Promise<boolean>;
25
32
  /**
26
- * @returns resolves with brightness percent
33
+ * Turns the strip light off.
34
+ * @returns {Promise<boolean>} - Resolves with true if the strip light is OFF.
27
35
  */
28
- setBrightness(brightness: number): Promise<void>;
36
+ turnOff(): Promise<boolean>;
29
37
  /**
30
- * @returns resolves with color temperature
38
+ * Sets the brightness of the strip light.
39
+ * @param {number} brightness - The brightness percentage (0-100).
40
+ * @returns {Promise<boolean>} - Resolves with true if the operation was successful.
31
41
  */
32
- setColorTemperature(color_temperature: unknown): Promise<void>;
42
+ setBrightness(brightness: number): Promise<boolean>;
33
43
  /**
34
- * @returns resolves with brightness + rgb
44
+ * Sets the RGB values of the strip light.
45
+ * @param {number} brightness - The brightness percentage (0-100).
46
+ * @param {number} red - The red value (0-255).
47
+ * @param {number} green - The green value (0-255).
48
+ * @param {number} blue - The blue value (0-255).
49
+ * @returns {Promise<boolean>} - Resolves with true if the operation was successful.
35
50
  */
36
- setRGB(brightness: number, red: number, green: number, blue: number): Promise<void>;
51
+ setRGB(brightness: number, red: number, green: number, blue: number): Promise<boolean>;
37
52
  /**
38
- * @private
53
+ * Operates the strip light with the given byte array.
54
+ * @public
55
+ * @param {number[]} bytes - The byte array to send.
56
+ * @returns {Promise<boolean>} - Resolves with true if the operation was successful.
39
57
  */
40
- operateStripLight(bytes: number[]): Promise<void>;
58
+ operateStripLight(bytes: number[]): Promise<boolean>;
41
59
  }
42
60
  //# sourceMappingURL=wostrip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wostrip.d.ts","sourceRoot":"","sources":["../../src/device/wostrip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAExE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAMpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C;;GAEG;AACH,qBAAa,OAAQ,SAAQ,eAAe;WAC7B,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,GAC7C,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAkDxC;;OAEG;IACG,SAAS;IAIf;;OAEG;IACG,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE;IAKrC;;OAEG;IACG,MAAM;IAIZ;;OAEG;IACG,OAAO;IAIb;;OAEG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM;IAYtC;;OAEG;IACG,mBAAmB,CAAC,iBAAiB,EAAE,OAAO;IAMpD;;OAEG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAoCzE;;OAEG;IACG,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE;CAqBxC"}
1
+ {"version":3,"file":"wostrip.d.ts","sourceRoot":"","sources":["../../src/device/wostrip.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAExE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C;;GAEG;AACH,qBAAa,OAAQ,SAAQ,eAAe;IAC1C;;;;;OAKG;WACU,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAoCxC;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAInC;;;;;OAKG;IACU,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAK/D;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAIhC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAIjC;;;;OAIG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOzD;;;;;;;OAOG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAa5F;;;;;OAKG;IACU,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAelE"}
@@ -1,174 +1,127 @@
1
1
  import { Buffer } from 'node:buffer';
2
- /* Copyright(C) 2024, donavanbecker (https://github.com/donavanbecker). All rights reserved.
3
- *
4
- * wostrip.ts: Switchbot BLE API registration.
5
- */
6
2
  import { SwitchbotDevice } from '../device.js';
7
3
  import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types/types.js';
8
4
  /**
9
5
  * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/colorbulb.md
10
6
  */
11
7
  export class WoStrip extends SwitchbotDevice {
8
+ /**
9
+ * Parses the service data from the SwitchBot Strip Light.
10
+ * @param {Buffer} serviceData - The service data buffer.
11
+ * @param {(message: string) => void} [onlog] - Optional logging function.
12
+ * @returns {Promise<stripLightServiceData | null>} - Parsed service data or null if invalid.
13
+ */
12
14
  static async parseServiceData(serviceData, onlog) {
13
15
  if (serviceData.length !== 18) {
14
- if (onlog && typeof onlog === 'function') {
15
- onlog(`[parseServiceDataForWoStrip] Buffer length ${serviceData.length} !== 18!`);
16
- }
16
+ onlog?.(`[parseServiceDataForWoStrip] Buffer length ${serviceData.length} !== 18!`);
17
17
  return null;
18
18
  }
19
- // const byte1 = serviceData.readUInt8(1)// power and light status
20
- // const byte2 = serviceData.readUInt8(2)// bulb brightness
21
- const byte3 = serviceData.readUInt8(3); // bulb R
22
- const byte4 = serviceData.readUInt8(4); // bulb G
23
- const byte5 = serviceData.readUInt8(5); // bulb B
24
- const byte7 = serviceData.readUInt8(7);
25
- const byte8 = serviceData.readUInt8(8);
26
- const byte9 = serviceData.readUInt8(9);
27
- const byte10 = serviceData.readUInt8(10);
28
- const power = !!(byte7 & 0b10000000);
29
- const state = !!(byte7 & 0b10000000);
30
- const brightness = byte7 & 0b01111111;
31
- const red = byte3;
32
- const green = byte4;
33
- const blue = byte5;
34
- const delay = byte8 & 0b10000000;
35
- const preset = byte8 & 0b00001000;
36
- const color_mode = byte8 & 0b00000111;
37
- const speed = byte9 & 0b01111111;
38
- const loop_index = byte10 & 0b11111110;
19
+ const [byte3, byte4, byte5, byte7, byte8, byte9, byte10] = [
20
+ serviceData.readUInt8(3),
21
+ serviceData.readUInt8(4),
22
+ serviceData.readUInt8(5),
23
+ serviceData.readUInt8(7),
24
+ serviceData.readUInt8(8),
25
+ serviceData.readUInt8(9),
26
+ serviceData.readUInt8(10),
27
+ ];
39
28
  const data = {
40
29
  model: SwitchBotBLEModel.StripLight,
41
30
  modelName: SwitchBotBLEModelName.StripLight,
42
31
  modelFriendlyName: SwitchBotBLEModelFriendlyName.StripLight,
43
- power,
44
- state,
45
- brightness,
46
- red,
47
- green,
48
- blue,
49
- delay,
50
- preset,
51
- color_mode,
52
- speed,
53
- loop_index,
32
+ power: !!(byte7 & 0b10000000),
33
+ state: !!(byte7 & 0b10000000),
34
+ brightness: byte7 & 0b01111111,
35
+ red: byte3,
36
+ green: byte4,
37
+ blue: byte5,
38
+ delay: byte8 & 0b10000000,
39
+ preset: byte8 & 0b00001000,
40
+ color_mode: byte8 & 0b00000111,
41
+ speed: byte9 & 0b01111111,
42
+ loop_index: byte10 & 0b11111110,
54
43
  };
55
44
  return data;
56
45
  }
57
46
  /**
58
- * @returns resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
47
+ * Reads the state of the strip light.
48
+ * @returns {Promise<boolean>} - Resolves with true if the strip light is ON, false otherwise.
59
49
  */
60
50
  async readState() {
61
- return await this.operateStripLight([0x57, 0x0F, 0x4A, 0x01]);
51
+ return this.operateStripLight([0x57, 0x0F, 0x4A, 0x01]);
62
52
  }
63
53
  /**
64
- * @private
54
+ * Sets the state of the strip light.
55
+ * @public
56
+ * @param {number[]} reqByteArray - The request byte array.
57
+ * @returns {Promise<boolean>} - Resolves with true if the operation was successful.
65
58
  */
66
59
  async setState(reqByteArray) {
67
60
  const base = [0x57, 0x0F, 0x49, 0x01];
68
- return await this.operateStripLight([...base, ...reqByteArray]);
61
+ return this.operateStripLight([...base, ...reqByteArray]);
69
62
  }
70
63
  /**
71
- * @returns resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
64
+ * Turns the strip light on.
65
+ * @returns {Promise<boolean>} - Resolves with true if the strip light is ON.
72
66
  */
73
67
  async turnOn() {
74
- return await this.setState([0x01, 0x01]);
68
+ return this.setState([0x01, 0x01]);
75
69
  }
76
70
  /**
77
- * @returns resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
71
+ * Turns the strip light off.
72
+ * @returns {Promise<boolean>} - Resolves with true if the strip light is OFF.
78
73
  */
79
74
  async turnOff() {
80
- return await this.setState([0x01, 0x02]);
75
+ return this.setState([0x01, 0x02]);
81
76
  }
82
77
  /**
83
- * @returns resolves with brightness percent
78
+ * Sets the brightness of the strip light.
79
+ * @param {number} brightness - The brightness percentage (0-100).
80
+ * @returns {Promise<boolean>} - Resolves with true if the operation was successful.
84
81
  */
85
82
  async setBrightness(brightness) {
86
- if (typeof brightness !== 'number') {
87
- throw new TypeError(`The type of target brightness percentage is incorrect: ${typeof brightness}`);
88
- }
89
- if (brightness > 100) {
90
- brightness = 100;
91
- }
92
- else if (brightness < 0) {
93
- brightness = 0;
94
- }
95
- return await this.setState([0x02, 0x14]);
96
- }
97
- /**
98
- * @returns resolves with color temperature
99
- */
100
- async setColorTemperature(color_temperature) {
101
- if (color_temperature) {
102
- throw new Error(`Strip Light Doesn't Support Color temperature: ${typeof color_temperature}`);
83
+ if (typeof brightness !== 'number' || brightness < 0 || brightness > 100) {
84
+ throw new TypeError(`Invalid brightness value: ${brightness}`);
103
85
  }
86
+ return this.setState([0x02, 0x14, brightness]);
104
87
  }
105
88
  /**
106
- * @returns resolves with brightness + rgb
89
+ * Sets the RGB values of the strip light.
90
+ * @param {number} brightness - The brightness percentage (0-100).
91
+ * @param {number} red - The red value (0-255).
92
+ * @param {number} green - The green value (0-255).
93
+ * @param {number} blue - The blue value (0-255).
94
+ * @returns {Promise<boolean>} - Resolves with true if the operation was successful.
107
95
  */
108
96
  async setRGB(brightness, red, green, blue) {
109
- if (typeof brightness !== 'number') {
110
- throw new TypeError(`The type of target brightness percentage is incorrect: ${typeof brightness}`);
111
- }
112
- if (typeof red !== 'number') {
113
- throw new TypeError(`The type of target red is incorrect: ${typeof red}`);
114
- }
115
- if (typeof green !== 'number') {
116
- throw new TypeError(`The type of target green is incorrect: ${typeof green}`);
117
- }
118
- if (typeof blue !== 'number') {
119
- throw new TypeError(`The type of target blue is incorrect: ${typeof blue}`);
120
- }
121
- if (brightness > 100) {
122
- brightness = 100;
123
- }
124
- else if (brightness < 0) {
125
- brightness = 0;
126
- }
127
- if (red > 255) {
128
- red = 255;
129
- }
130
- else if (red < 0) {
131
- red = 0;
132
- }
133
- if (green > 255) {
134
- green = 255;
135
- }
136
- else if (green < 0) {
137
- green = 0;
138
- }
139
- if (blue > 255) {
140
- blue = 255;
141
- }
142
- else if (blue < 0) {
143
- blue = 0;
144
- }
145
- return await this.setState([0x02, 0x12, brightness, red, green, blue]);
97
+ if (![brightness, red, green, blue].every(val => typeof val === 'number')) {
98
+ throw new TypeError('Invalid RGB or brightness value');
99
+ }
100
+ brightness = Math.max(0, Math.min(100, brightness));
101
+ red = Math.max(0, Math.min(255, red));
102
+ green = Math.max(0, Math.min(255, green));
103
+ blue = Math.max(0, Math.min(255, blue));
104
+ return this.setState([0x02, 0x12, brightness, red, green, blue]);
146
105
  }
147
106
  /**
148
- * @private
107
+ * Operates the strip light with the given byte array.
108
+ * @public
109
+ * @param {number[]} bytes - The byte array to send.
110
+ * @returns {Promise<boolean>} - Resolves with true if the operation was successful.
149
111
  */
150
112
  async operateStripLight(bytes) {
151
113
  const req_buf = Buffer.from(bytes);
152
- await this.command(req_buf)
153
- .then((res_bytes) => {
154
- const res_buf = Buffer.from(res_bytes);
155
- if (res_buf.length === 2) {
156
- const code = res_buf.readUInt8(1);
157
- if (code === 0x00 || code === 0x80) {
158
- const is_on = code === 0x80;
159
- return is_on;
160
- }
161
- else {
162
- throw new Error(`The device returned an error: 0x${res_buf.toString('hex')}`);
163
- }
164
- }
165
- else {
166
- throw new Error(`Expecting a 2-byte response, got instead: 0x${res_buf.toString('hex')}`);
167
- }
168
- })
169
- .catch((error) => {
170
- throw error;
171
- });
114
+ const res_buf = await this.command(req_buf);
115
+ if (res_buf.length !== 2) {
116
+ throw new Error(`Expecting a 2-byte response, got instead: 0x${res_buf.toString('hex')}`);
117
+ }
118
+ const code = res_buf.readUInt8(1);
119
+ if (code === 0x00 || code === 0x80) {
120
+ return code === 0x80;
121
+ }
122
+ else {
123
+ throw new Error(`The device returned an error: 0x${res_buf.toString('hex')}`);
124
+ }
172
125
  }
173
126
  }
174
127
  //# sourceMappingURL=wostrip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wostrip.js","sourceRoot":"","sources":["../../src/device/wostrip.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wostrip.js","sourceRoot":"","sources":["../../src/device/wostrip.ts"],"names":[],"mappings":"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"}
@@ -17,12 +17,12 @@ describe('woStrip', () => {
17
17
  modelFriendlyName: 'StripLight',
18
18
  power: true,
19
19
  state: true,
20
- brightness: 0,
20
+ brightness: 127,
21
21
  red: 255,
22
22
  green: 255,
23
23
  blue: 255,
24
- delay: 128,
25
- preset: 8,
24
+ delay: true,
25
+ preset: true,
26
26
  color_mode: 0,
27
27
  speed: 127,
28
28
  loop_index: 254,
@@ -34,7 +34,7 @@ describe('woStrip', () => {
34
34
  const peripheral = {}; // Replace with actual peripheral object
35
35
  const noble = {}; // Replace with actual noble object
36
36
  const woStrip = new WoStrip(peripheral, noble);
37
- woStrip.operateStripLight = async () => { };
37
+ woStrip.operateStripLight = async () => true;
38
38
  const result = await woStrip.readState();
39
39
  return expect(result).to.be.true;
40
40
  });
@@ -44,7 +44,7 @@ describe('woStrip', () => {
44
44
  const peripheral = {}; // Replace with actual peripheral object
45
45
  const noble = {}; // Replace with actual noble object
46
46
  const woStrip = new WoStrip(peripheral, noble);
47
- woStrip.setState = async () => { };
47
+ woStrip.setState = async () => true;
48
48
  const result = await woStrip.turnOn();
49
49
  return expect(result).to.be.true;
50
50
  });
@@ -54,7 +54,7 @@ describe('woStrip', () => {
54
54
  const peripheral = {}; // Replace with actual peripheral object
55
55
  const noble = {}; // Replace with actual noble object
56
56
  const woStrip = new WoStrip(peripheral, noble);
57
- woStrip.setState = async () => { };
57
+ woStrip.setState = async () => true;
58
58
  const result = await woStrip.turnOff();
59
59
  return expect(result).to.be.true;
60
60
  });
@@ -64,7 +64,7 @@ describe('woStrip', () => {
64
64
  const peripheral = {}; // Replace with actual peripheral object
65
65
  const noble = {}; // Replace with actual noble object
66
66
  const woStrip = new WoStrip(peripheral, noble);
67
- woStrip.setState = async () => { };
67
+ woStrip.setState = async () => true;
68
68
  const result = await woStrip.setBrightness(50);
69
69
  return expect(result).to.be.true;
70
70
  });
@@ -77,7 +77,7 @@ describe('woStrip', () => {
77
77
  }
78
78
  catch (error) {
79
79
  if (error instanceof Error) {
80
- expect(error.message).to.equal('The type of target brightness percentage is incorrect: string');
80
+ expect(error.message).to.equal('Invalid brightness value: 50');
81
81
  }
82
82
  else {
83
83
  throw error;
@@ -90,7 +90,7 @@ describe('woStrip', () => {
90
90
  const peripheral = {}; // Replace with actual peripheral object
91
91
  const noble = {}; // Replace with actual noble object
92
92
  const woStrip = new WoStrip(peripheral, noble);
93
- woStrip.setState = async () => { };
93
+ woStrip.setState = async () => true;
94
94
  const result = await woStrip.setRGB(50, 255, 255, 255);
95
95
  return expect(result).to.be.true;
96
96
  });
@@ -103,7 +103,7 @@ describe('woStrip', () => {
103
103
  }
104
104
  catch (error) {
105
105
  if (error instanceof Error) {
106
- expect(error.message).to.equal('The type of target red is incorrect: string');
106
+ expect(error.message).to.equal('Invalid RGB or brightness value');
107
107
  }
108
108
  else {
109
109
  throw error;
@@ -1 +1 @@
1
- {"version":3,"file":"wostrip.test.js","sourceRoot":"","sources":["../../src/device/wostrip.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wostrip.test.js","sourceRoot":"","sources":["../../src/device/wostrip.test.ts"],"names":[],"mappings":"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"}
@@ -1,127 +1,33 @@
1
1
  import type { Buffer } from 'node:buffer';
2
2
  import type * as Noble from '@stoprocent/noble';
3
3
  export type MacAddress = string;
4
+ interface DeviceInfo {
5
+ Model: SwitchBotModel;
6
+ BLEModel: SwitchBotBLEModel;
7
+ BLEModelName: SwitchBotBLEModelName;
8
+ ModelFriendlyName: SwitchBotBLEModelFriendlyName;
9
+ }
4
10
  export declare interface SwitchBotBLEDevice {
5
- Bot: {
6
- Model: SwitchBotModel.Bot;
7
- BLEModel: SwitchBotBLEModel.Bot;
8
- BLEModelName: SwitchBotBLEModelName.Bot;
9
- ModelFriendlyName: SwitchBotBLEModelFriendlyName.Bot;
10
- };
11
- Curtain: {
12
- Model: SwitchBotModel.Curtain;
13
- BLEModel: SwitchBotBLEModel.Curtain;
14
- BLEModelName: SwitchBotBLEModelName.Curtain;
15
- ModelFriendlyName: SwitchBotBLEModelFriendlyName.Curtain;
16
- };
17
- Curtain3: {
18
- Model: SwitchBotModel.Curtain3;
19
- BLEModel: SwitchBotBLEModel.Curtain3;
20
- BLEModelName: SwitchBotBLEModelName.Curtain3;
21
- ModelFriendlyName: SwitchBotBLEModelFriendlyName.Curtain3;
22
- };
23
- Humidifier: {
24
- Model: SwitchBotModel.Humidifier;
25
- BLEModel: SwitchBotBLEModel.Humidifier;
26
- BLEModelName: SwitchBotBLEModelName.Humidifier;
27
- ModelFriendlyName: SwitchBotBLEModelFriendlyName.Humidifier;
28
- };
29
- Meter: {
30
- Model: SwitchBotModel.Meter;
31
- BLEModel: SwitchBotBLEModel.Meter;
32
- BLEModelName: SwitchBotBLEModelName.Meter;
33
- ModelFriendlyName: SwitchBotBLEModelFriendlyName.Meter;
34
- };
35
- MeterPlus: {
36
- Model: SwitchBotModel.MeterPlusJP | SwitchBotModel.MeterPlusUS;
37
- BLEModel: SwitchBotBLEModel.MeterPlus;
38
- BLEModelName: SwitchBotBLEModelName.MeterPlus;
39
- ModelFriendlyName: SwitchBotBLEModelFriendlyName.Meter;
40
- };
41
- Hub2: {
42
- Model: SwitchBotModel.Hub2;
43
- BLEModel: SwitchBotBLEModel.Hub2;
44
- BLEModelName: SwitchBotBLEModelName.Hub2;
45
- ModelFriendlyName: SwitchBotBLEModelFriendlyName.Hub2;
46
- };
47
- OutdoorMeter: {
48
- Model: SwitchBotModel.OutdoorMeter;
49
- BLEModel: SwitchBotBLEModel.OutdoorMeter;
50
- BLEModelName: SwitchBotBLEModelName.OutdoorMeter;
51
- ModelFriendlyName: SwitchBotBLEModelFriendlyName.OutdoorMeter;
52
- };
53
- MotionSensor: {
54
- Model: SwitchBotModel.MotionSensor;
55
- BLEModel: SwitchBotBLEModel.MotionSensor;
56
- BLEModelName: SwitchBotBLEModelName.MotionSensor;
57
- ModelFriendlyName: SwitchBotBLEModelFriendlyName.MotionSensor;
58
- };
59
- ContactSensor: {
60
- Model: SwitchBotModel.ContactSensor;
61
- BLEModel: SwitchBotBLEModel.ContactSensor;
62
- BLEModelName: SwitchBotBLEModelName.ContactSensor;
63
- ModelFriendlyName: SwitchBotBLEModelFriendlyName.ContactSensor;
64
- };
65
- ColorBulb: {
66
- Model: SwitchBotModel.ColorBulb;
67
- BLEModel: SwitchBotBLEModel.ColorBulb;
68
- BLEModelName: SwitchBotBLEModelName.ColorBulb;
69
- ModelFriendlyName: SwitchBotBLEModelFriendlyName.ColorBulb;
70
- };
71
- StripLight: {
72
- Model: SwitchBotModel.StripLight;
73
- BLEModel: SwitchBotBLEModel.StripLight;
74
- BLEModelName: SwitchBotBLEModelName.StripLight;
75
- ModelFriendlyName: SwitchBotBLEModelFriendlyName.StripLight;
76
- };
77
- PlugMiniUS: {
78
- Model: SwitchBotModel.PlugMiniUS;
79
- BLEModel: SwitchBotBLEModel.PlugMiniUS;
80
- BLEModelName: SwitchBotBLEModelName.PlugMini;
81
- ModelFriendlyName: SwitchBotBLEModelFriendlyName.PlugMini;
82
- };
83
- PlugMiniJP: {
84
- Model: SwitchBotModel.PlugMiniJP;
85
- BLEModel: SwitchBotBLEModel.PlugMiniJP;
86
- BLEModelName: SwitchBotBLEModelName.PlugMini;
87
- ModelFriendlyName: SwitchBotBLEModelFriendlyName.PlugMini;
88
- };
89
- Lock: {
90
- Model: SwitchBotModel.Lock;
91
- BLEModel: SwitchBotBLEModel.Lock;
92
- BLEModelName: SwitchBotBLEModelName.Lock;
93
- ModelFriendlyName: SwitchBotBLEModelFriendlyName.Lock;
94
- };
95
- LockPro: {
96
- Model: SwitchBotModel.LockPro;
97
- BLEModel: SwitchBotBLEModel.LockPro;
98
- BLEModelName: SwitchBotBLEModelName.LockPro;
99
- ModelFriendlyName: SwitchBotBLEModelFriendlyName.LockPro;
100
- };
101
- CeilingLight: {
102
- Model: SwitchBotModel.CeilingLight;
103
- BLEModel: SwitchBotBLEModel.CeilingLight;
104
- BLEModelName: SwitchBotBLEModelName.Unknown;
105
- ModelFriendlyName: SwitchBotBLEModelFriendlyName.Unknown;
106
- };
107
- CeilingLightPro: {
108
- Model: SwitchBotModel.CeilingLightPro;
109
- BLEModel: SwitchBotBLEModel.CeilingLightPro;
110
- BLEModelName: SwitchBotBLEModelName.CeilingLightPro;
111
- ModelFriendlyName: SwitchBotBLEModelFriendlyName.CeilingLightPro;
112
- };
113
- BlindTilt: {
114
- Model: SwitchBotModel.BlindTilt;
115
- BLEModel: SwitchBotBLEModel.BlindTilt;
116
- BLEModelName: SwitchBotBLEModelName.BlindTilt;
117
- ModelFriendlyName: SwitchBotBLEModelFriendlyName.BlindTilt;
118
- };
119
- Unknown: {
120
- Model: SwitchBotModel.Unknown;
121
- BLEModel: SwitchBotBLEModel.Unknown;
122
- BLEModelName: SwitchBotBLEModelName.Unknown;
123
- ModelFriendlyName: SwitchBotBLEModelFriendlyName.Unknown;
124
- };
11
+ Bot: DeviceInfo;
12
+ Curtain: DeviceInfo;
13
+ Curtain3: DeviceInfo;
14
+ Humidifier: DeviceInfo;
15
+ Meter: DeviceInfo;
16
+ MeterPlus: DeviceInfo;
17
+ Hub2: DeviceInfo;
18
+ OutdoorMeter: DeviceInfo;
19
+ MotionSensor: DeviceInfo;
20
+ ContactSensor: DeviceInfo;
21
+ ColorBulb: DeviceInfo;
22
+ StripLight: DeviceInfo;
23
+ PlugMiniUS: DeviceInfo;
24
+ PlugMiniJP: DeviceInfo;
25
+ Lock: DeviceInfo;
26
+ LockPro: DeviceInfo;
27
+ CeilingLight: DeviceInfo;
28
+ CeilingLightPro: DeviceInfo;
29
+ BlindTilt: DeviceInfo;
30
+ Unknown: DeviceInfo;
125
31
  }
126
32
  export declare enum SwitchBotModel {
127
33
  HubMini = "W0202200",
@@ -259,4 +165,5 @@ export interface AdvertisementData {
259
165
  serviceData: Buffer | null;
260
166
  manufacturerData: Buffer | null;
261
167
  }
168
+ export {};
262
169
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"AAqIA,MAAM,CAAN,IAAY,cAwCX;AAxCD,WAAY,cAAc;IACxB,sCAAoB,CAAA;IACpB,8CAA4B,CAAA;IAC5B,mCAAiB,CAAA;IACjB,sCAAoB,CAAA;IACpB,sCAAoB,CAAA;IACpB,uCAAqB,CAAA;IACrB,yCAAuB,CAAA;IACvB,+BAAa,CAAA;IACb,gDAA8B,CAAA;IAC9B,0CAAwB,CAAA;IACxB,0CAAwB,CAAA;IACxB,2CAAyB,CAAA;IACzB,2CAAyB,CAAA;IACzB,4CAA0B,CAAA;IAC1B,wCAAsB,CAAA;IACtB,yCAAuB,CAAA;IACvB,kDAAgC,CAAA;IAChC,kDAAgC,CAAA;IAChC,mCAAiB,CAAA;IACjB,sCAAoB,CAAA;IACpB,qCAAmB,CAAA;IACnB,0CAAwB,CAAA;IACxB,8BAAY,CAAA;IACZ,yCAAuB,CAAA;IACvB,iDAA+B,CAAA;IAC/B,mDAAiC,CAAA;IACjC,uDAAqC,CAAA;IACrC,oDAAkC,CAAA;IAClC,mCAAiB,CAAA;IACjB,qDAAmC,CAAA;IACnC,oDAAkC,CAAA;IAClC,uDAAqC,CAAA;IACrC,wCAAsB,CAAA;IACtB,yCAAuB,CAAA;IACvB,2CAAyB,CAAA;IACzB,wCAAsB,CAAA;IACtB,mDAAiC,CAAA;IACjC,4CAA0B,CAAA;IAC1B,qCAAmB,CAAA;AACrB,CAAC,EAxCW,cAAc,KAAd,cAAc,QAwCzB;AAED,MAAM,CAAN,IAAY,iBAqBX;AArBD,WAAY,iBAAiB;IAC3B,8BAAS,CAAA;IACT,kCAAa,CAAA;IACb,mCAAc,CAAA;IACd,qCAAgB,CAAA;IAChB,gCAAW,CAAA;IACX,oCAAe,CAAA;IACf,+BAAU,CAAA;IACV,uCAAkB,CAAA;IAClB,uCAAkB,CAAA;IAClB,wCAAmB,CAAA;IACnB,oCAAe,CAAA;IACf,qCAAgB,CAAA;IAChB,qCAAgB,CAAA;IAChB,qCAAgB,CAAA;IAChB,+BAAU,CAAA;IACV,kCAAa,CAAA;IACb,uCAAkB,CAAA;IAClB,0CAAqB,CAAA;IACrB,oCAAe,CAAA;IACf,wCAAmB,CAAA;AACrB,CAAC,EArBW,iBAAiB,KAAjB,iBAAiB,QAqB5B;AAED,MAAM,CAAN,IAAY,qBAoBX;AApBD,WAAY,qBAAqB;IAC/B,uCAAc,CAAA;IACd,wCAAe,CAAA;IACf,6CAAoB,CAAA;IACpB,8CAAqB,CAAA;IACrB,gDAAuB,CAAA;IACvB,8CAAqB,CAAA;IACrB,6CAAoB,CAAA;IACpB,6CAAoB,CAAA;IACpB,mDAA0B,CAAA;IAC1B,gDAAuB,CAAA;IACvB,+CAAsB,CAAA;IACtB,qDAA4B,CAAA;IAC5B,sDAA6B,CAAA;IAC7B,oDAA2B,CAAA;IAC3B,kDAAyB,CAAA;IACzB,kDAAyB,CAAA;IACzB,wDAA+B,CAAA;IAC/B,8DAAqC,CAAA;IACrC,4CAAmB,CAAA;AACrB,CAAC,EApBW,qBAAqB,KAArB,qBAAqB,QAoBhC;AAED,MAAM,CAAN,IAAY,6BAoBX;AApBD,WAAY,6BAA6B;IACvC,4CAAW,CAAA;IACX,+CAAc,CAAA;IACd,yDAAwB,CAAA;IACxB,oDAAmB,CAAA;IACnB,uDAAsB,CAAA;IACtB,0DAAyB,CAAA;IACzB,gDAAe,CAAA;IACf,8CAAa,CAAA;IACb,qDAAoB,CAAA;IACpB,uDAAsB,CAAA;IACtB,2DAA0B,CAAA;IAC1B,yDAAwB,CAAA;IACxB,+DAA8B,CAAA;IAC9B,iEAAgC,CAAA;IAChC,+DAA8B,CAAA;IAC9B,yDAAwB,CAAA;IACxB,+DAA8B,CAAA;IAC9B,sEAAqC,CAAA;IACrC,oDAAmB,CAAA;AACrB,CAAC,EApBW,6BAA6B,KAA7B,6BAA6B,QAoBxC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "node-switchbot",
3
3
  "type": "module",
4
- "version": "2.5.0-beta.6",
4
+ "version": "2.5.0-beta.8",
5
5
  "description": "The node-switchbot is a Node.js module which allows you to control your Switchbot Devices through Bluetooth (BLE).",
6
6
  "author": "OpenWonderLabs (https://github.com/OpenWonderLabs)",
7
7
  "license": "MIT",