node-switchbot 2.5.0-beta.0 → 2.5.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/advertising.d.ts +10 -4
- package/dist/advertising.d.ts.map +1 -1
- package/dist/advertising.js +4 -1
- package/dist/advertising.js.map +1 -1
- package/dist/switchbot.d.ts +37 -28
- package/dist/switchbot.d.ts.map +1 -1
- package/dist/switchbot.js +191 -354
- package/dist/switchbot.js.map +1 -1
- package/package.json +1 -1
package/dist/advertising.d.ts
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import type * as Noble from '@stoprocent/noble';
|
|
2
2
|
import { Buffer } from 'node:buffer';
|
|
3
|
-
|
|
3
|
+
interface ServiceData {
|
|
4
|
+
model: string;
|
|
5
|
+
[key: string]: unknown;
|
|
6
|
+
}
|
|
7
|
+
export interface Ad {
|
|
4
8
|
id: string;
|
|
5
9
|
address: string;
|
|
6
10
|
rssi: number;
|
|
7
|
-
serviceData:
|
|
8
|
-
|
|
11
|
+
serviceData: ServiceData;
|
|
12
|
+
[key: string]: unknown;
|
|
13
|
+
}
|
|
9
14
|
export interface AdvertisementData {
|
|
10
15
|
serviceData: Buffer | null;
|
|
11
16
|
manufacturerData: Buffer | null;
|
|
@@ -22,6 +27,7 @@ export declare class Advertising {
|
|
|
22
27
|
* @param onlog - A logging function for debugging purposes.
|
|
23
28
|
* @returns An object containing parsed data specific to the SwitchBot device type, or `null` if the device is not recognized.
|
|
24
29
|
*/
|
|
25
|
-
static parse(peripheral: Noble.Peripheral, onlog?: (message: string) => void): Promise<Ad>;
|
|
30
|
+
static parse(peripheral: Noble.Peripheral, onlog?: (message: string) => void): Promise<Ad | null>;
|
|
26
31
|
}
|
|
32
|
+
export {};
|
|
27
33
|
//# sourceMappingURL=advertising.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advertising.d.ts","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAmBpC,
|
|
1
|
+
{"version":3,"file":"advertising.d.ts","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAmBpC,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AACD,MAAM,WAAW,EAAE;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,WAAW,CAAA;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC;AAED,qBAAa,WAAW;;IAGtB;;;;;;;;;OASG;WACU,KAAK,CAChB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;CAoHtB"}
|
package/dist/advertising.js
CHANGED
|
@@ -130,7 +130,10 @@ export class Advertising {
|
|
|
130
130
|
id: peripheral.id,
|
|
131
131
|
address,
|
|
132
132
|
rssi: peripheral.rssi,
|
|
133
|
-
serviceData:
|
|
133
|
+
serviceData: {
|
|
134
|
+
model,
|
|
135
|
+
...sd,
|
|
136
|
+
},
|
|
134
137
|
};
|
|
135
138
|
if (onlog && typeof onlog === 'function') {
|
|
136
139
|
onlog(`[parseAdvertising.${peripheral.id}.${model}] return ${JSON.stringify(data)}`);
|
package/dist/advertising.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advertising.js","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"advertising.js","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"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"}
|
package/dist/switchbot.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type * as Noble from '@stoprocent/noble';
|
|
2
1
|
import type { Ad } from './advertising.js';
|
|
3
2
|
import type { Params } from './types/types.js';
|
|
3
|
+
import * as Noble from '@stoprocent/noble';
|
|
4
4
|
import { SwitchbotDevice } from './device.js';
|
|
5
5
|
export declare class SwitchBot {
|
|
6
6
|
private ready;
|
|
@@ -11,40 +11,49 @@ export declare class SwitchBot {
|
|
|
11
11
|
DEFAULT_DISCOVERY_DURATION: number;
|
|
12
12
|
PRIMARY_SERVICE_UUID_LIST: never[];
|
|
13
13
|
constructor(params?: Params);
|
|
14
|
-
init(params?: Params): Promise<void>;
|
|
15
14
|
/**
|
|
16
|
-
*
|
|
17
|
-
* This async operation looks for devices by model or ID within a set duration.
|
|
18
|
-
*
|
|
19
|
-
* @param params An optional object with properties:
|
|
20
|
-
* - duration: Discovery time in milliseconds (1 to 60000, default 5000).
|
|
21
|
-
* - model: String specifying device type to discover, with each character representing a model:
|
|
22
|
-
* - "H": Bots
|
|
23
|
-
* - "T": Meters
|
|
24
|
-
* - "e": Humidifiers
|
|
25
|
-
* - "s": Motion Sensors
|
|
26
|
-
* - "d": Contact Sensors
|
|
27
|
-
* - "c": Curtains
|
|
28
|
-
* - "{": Curtain 3
|
|
29
|
-
* - "u": Color Bulbs
|
|
30
|
-
* - "g": Plugs
|
|
31
|
-
* - "o": Locks
|
|
32
|
-
* - "$": Lock Pros
|
|
33
|
-
* - "i": Meter Pluses
|
|
34
|
-
* - "r": Locks (Duplicate, possibly an error)
|
|
35
|
-
* - id: Optional device ID (MAC address) to discover, case-insensitive, ignores colons.
|
|
36
|
-
* - quick: If true, stops discovery upon first match, not waiting full duration. Defaults to false.
|
|
15
|
+
* Initializes the noble object.
|
|
37
16
|
*
|
|
38
|
-
* @
|
|
17
|
+
* @param {Params} [params] - Optional parameters
|
|
18
|
+
* @param {typeof Noble} [params.noble] - Optional noble instance
|
|
19
|
+
* @returns {Promise<void>} - Resolves when initialization is complete
|
|
20
|
+
*/
|
|
21
|
+
init(params?: Params): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Discover SwitchBot devices based on the provided parameters.
|
|
39
24
|
*
|
|
40
|
-
* @
|
|
25
|
+
* @param {Params} params - The parameters for discovery.
|
|
26
|
+
* @returns {Promise<SwitchbotDevice[]>} - A promise that resolves with a list of discovered devices.
|
|
41
27
|
*/
|
|
42
|
-
discover(params?: Params): Promise<
|
|
28
|
+
discover(params?: Params): Promise<SwitchbotDevice[]>;
|
|
43
29
|
_init(): Promise<void>;
|
|
44
|
-
getDeviceObject(peripheral: Noble.Peripheral, id: string, model: string): Promise<SwitchbotDevice | null
|
|
30
|
+
getDeviceObject(peripheral: Noble.Peripheral, id: string, model: string): Promise<SwitchbotDevice | null>;
|
|
45
31
|
filterAdvertising(ad: Ad, id: string, model: string): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* startScan([params])
|
|
34
|
+
* - Start to monitor advertising packets coming from switchbot devices
|
|
35
|
+
*
|
|
36
|
+
* @param {object} params - Optional parameters
|
|
37
|
+
* @param {string} [params.model] - Optional model filter ("H", "T", "e", "s", "d", "c", "{", "u", "g", "o", "i", "x", "r")
|
|
38
|
+
* @param {string} [params.id] - Optional ID filter (MAC address, case-insensitive, colons ignored)
|
|
39
|
+
* @returns {Promise<void>} - Resolves when scanning starts successfully
|
|
40
|
+
*/
|
|
46
41
|
startScan(params?: Params): Promise<void>;
|
|
47
|
-
|
|
42
|
+
/**
|
|
43
|
+
* stopScan()
|
|
44
|
+
* - Stop monitoring advertising packets from SwitchBot devices
|
|
45
|
+
*
|
|
46
|
+
* @returns {Promise<void>} - Resolves when scanning stops successfully
|
|
47
|
+
*/
|
|
48
|
+
stopScan(): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* wait
|
|
51
|
+
* - Wait for the specified time (msec)
|
|
52
|
+
*
|
|
53
|
+
* @param {number} msec - The time to wait in milliseconds
|
|
54
|
+
* @returns {Promise<void>} - Resolves after the specified time
|
|
55
|
+
*/
|
|
56
|
+
wait(msec: number): Promise<void>;
|
|
48
57
|
}
|
|
49
58
|
export { SwitchbotDevice };
|
|
50
59
|
//# sourceMappingURL=switchbot.d.ts.map
|
package/dist/switchbot.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switchbot.d.ts","sourceRoot":"","sources":["../src/switchbot.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"switchbot.d.ts","sourceRoot":"","sources":["../src/switchbot.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAE9C,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAG1C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAmB7C,qBAAa,SAAS;IACpB,OAAO,CAAC,KAAK,CAAe;IAC5B,KAAK,EAAG,OAAO,KAAK,CAAA;IACpB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAA;IAC9C,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,IAAI,CAAA;IAClC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;IAC9C,0BAA0B,SAAO;IACjC,yBAAyB,UAAK;gBAYlB,MAAM,CAAC,EAAE,MAAM;IAI3B;;;;;;OAMG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C;;;;;OAKG;IACG,QAAQ,CAAC,MAAM,GAAE,MAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IA+DzD,KAAK;IAsBL,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAoC/G,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAoB7D;;;;;;;;OAQG;IACG,SAAS,CAAC,MAAM,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAyDnD;;;;;OAKG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAS/B;;;;;;OAMG;IACG,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAiBxC;AAED,OAAO,EAAE,eAAe,EAAE,CAAA"}
|
package/dist/switchbot.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as Noble from '@stoprocent/noble';
|
|
1
2
|
import { Advertising } from './advertising.js';
|
|
2
3
|
import { SwitchbotDevice } from './device.js';
|
|
3
4
|
import { WoBlindTilt } from './device/woblindtilt.js';
|
|
@@ -38,402 +39,238 @@ export class SwitchBot {
|
|
|
38
39
|
constructor(params) {
|
|
39
40
|
this.ready = this.init(params);
|
|
40
41
|
}
|
|
41
|
-
|
|
42
|
+
/**
|
|
43
|
+
* Initializes the noble object.
|
|
44
|
+
*
|
|
45
|
+
* @param {Params} [params] - Optional parameters
|
|
46
|
+
* @param {typeof Noble} [params.noble] - Optional noble instance
|
|
47
|
+
* @returns {Promise<void>} - Resolves when initialization is complete
|
|
48
|
+
*/
|
|
42
49
|
async init(params) {
|
|
43
|
-
|
|
44
|
-
if (params && params.noble) {
|
|
45
|
-
noble = params.noble;
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
noble = (await import('@stoprocent/noble')).default;
|
|
49
|
-
}
|
|
50
|
-
// Public properties
|
|
51
|
-
this.noble = noble;
|
|
50
|
+
this.noble = params?.noble ?? Noble;
|
|
52
51
|
}
|
|
53
52
|
/**
|
|
54
|
-
*
|
|
55
|
-
* This async operation looks for devices by model or ID within a set duration.
|
|
53
|
+
* Discover SwitchBot devices based on the provided parameters.
|
|
56
54
|
*
|
|
57
|
-
* @param params
|
|
58
|
-
* -
|
|
59
|
-
* - model: String specifying device type to discover, with each character representing a model:
|
|
60
|
-
* - "H": Bots
|
|
61
|
-
* - "T": Meters
|
|
62
|
-
* - "e": Humidifiers
|
|
63
|
-
* - "s": Motion Sensors
|
|
64
|
-
* - "d": Contact Sensors
|
|
65
|
-
* - "c": Curtains
|
|
66
|
-
* - "{": Curtain 3
|
|
67
|
-
* - "u": Color Bulbs
|
|
68
|
-
* - "g": Plugs
|
|
69
|
-
* - "o": Locks
|
|
70
|
-
* - "$": Lock Pros
|
|
71
|
-
* - "i": Meter Pluses
|
|
72
|
-
* - "r": Locks (Duplicate, possibly an error)
|
|
73
|
-
* - id: Optional device ID (MAC address) to discover, case-insensitive, ignores colons.
|
|
74
|
-
* - quick: If true, stops discovery upon first match, not waiting full duration. Defaults to false.
|
|
75
|
-
*
|
|
76
|
-
* @returns Promise resolving to an array of `SwitchbotDevice` objects for discovered devices.
|
|
77
|
-
*
|
|
78
|
-
* @deprecated since version 2.4.0. Will be removed in version 3.0.0. Use getDeviceObjectAsync() instead.
|
|
55
|
+
* @param {Params} params - The parameters for discovery.
|
|
56
|
+
* @returns {Promise<SwitchbotDevice[]>} - A promise that resolves with a list of discovered devices.
|
|
79
57
|
*/
|
|
80
|
-
discover(params = {}) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
// Initialize the noble object
|
|
108
|
-
this._init()
|
|
109
|
-
.then(() => {
|
|
110
|
-
if (this.noble === null) {
|
|
111
|
-
return reject(new Error('noble failed to initialize'));
|
|
112
|
-
}
|
|
113
|
-
const peripherals = {};
|
|
114
|
-
let timer = setTimeout(() => { }, 0);
|
|
115
|
-
const finishDiscovery = () => {
|
|
116
|
-
if (timer) {
|
|
117
|
-
clearTimeout(timer);
|
|
118
|
-
}
|
|
119
|
-
this.noble.removeAllListeners('discover');
|
|
120
|
-
this.noble.stopScanning();
|
|
121
|
-
const device_list = [];
|
|
122
|
-
for (const addr in peripherals) {
|
|
123
|
-
device_list.push(peripherals[addr]);
|
|
124
|
-
}
|
|
125
|
-
resolve(device_list);
|
|
126
|
-
};
|
|
58
|
+
async discover(params = {}) {
|
|
59
|
+
// Validate parameters
|
|
60
|
+
const valid = parameterChecker.check(params, {
|
|
61
|
+
duration: { required: false, type: 'integer', min: 1, max: 60000 },
|
|
62
|
+
model: { required: false, type: 'string', enum: Object.values(SwitchBotBLEModel) },
|
|
63
|
+
id: { required: false, type: 'string', min: 12, max: 17 },
|
|
64
|
+
quick: { required: false, type: 'boolean' },
|
|
65
|
+
}, false);
|
|
66
|
+
if (!valid) {
|
|
67
|
+
throw new Error(parameterChecker.error.message);
|
|
68
|
+
}
|
|
69
|
+
const { duration = this.DEFAULT_DISCOVERY_DURATION, model = '', id = '', quick = false } = params;
|
|
70
|
+
// Initialize the noble object
|
|
71
|
+
await this._init();
|
|
72
|
+
if (!this.noble) {
|
|
73
|
+
throw new Error('noble failed to initialize');
|
|
74
|
+
}
|
|
75
|
+
const peripherals = {};
|
|
76
|
+
let timer;
|
|
77
|
+
const finishDiscovery = () => {
|
|
78
|
+
clearTimeout(timer);
|
|
79
|
+
this.noble.removeAllListeners('discover');
|
|
80
|
+
this.noble.stopScanning();
|
|
81
|
+
return Object.values(peripherals);
|
|
82
|
+
};
|
|
83
|
+
return new Promise((resolve, reject) => {
|
|
84
|
+
try {
|
|
127
85
|
// Set a handler for the 'discover' event
|
|
128
86
|
this.noble.on('discover', async (peripheral) => {
|
|
129
|
-
const device = await this.getDeviceObject(peripheral,
|
|
130
|
-
if (!device) {
|
|
131
|
-
return;
|
|
132
|
-
}
|
|
133
|
-
const id = device.id;
|
|
87
|
+
const device = await this.getDeviceObject(peripheral, id, model);
|
|
134
88
|
if (device) {
|
|
135
|
-
peripherals[id] = device;
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
89
|
+
peripherals[device.id] = device;
|
|
90
|
+
if (this.ondiscover) {
|
|
91
|
+
this.ondiscover(device);
|
|
92
|
+
}
|
|
93
|
+
if (quick) {
|
|
94
|
+
resolve(finishDiscovery());
|
|
95
|
+
}
|
|
142
96
|
}
|
|
143
97
|
});
|
|
144
98
|
// Start scanning
|
|
145
|
-
this.noble.
|
|
146
|
-
|
|
147
|
-
reject(error);
|
|
148
|
-
return;
|
|
149
|
-
}
|
|
99
|
+
this.noble.startScanningAsync(this.PRIMARY_SERVICE_UUID_LIST, false)
|
|
100
|
+
.then(() => {
|
|
150
101
|
timer = setTimeout(() => {
|
|
151
|
-
finishDiscovery();
|
|
152
|
-
},
|
|
102
|
+
resolve(finishDiscovery());
|
|
103
|
+
}, duration);
|
|
104
|
+
})
|
|
105
|
+
.catch((error) => {
|
|
106
|
+
reject(new Error(error.message));
|
|
153
107
|
});
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
reject(error);
|
|
157
|
-
}
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
reject(new Error(String(error)));
|
|
111
|
+
}
|
|
158
112
|
});
|
|
159
|
-
return promise;
|
|
160
113
|
}
|
|
161
114
|
async _init() {
|
|
162
115
|
await this.ready;
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
return;
|
|
168
|
-
}
|
|
116
|
+
if (this.noble._state === 'poweredOn') {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
return new Promise((resolve, reject) => {
|
|
169
120
|
this.noble.once('stateChange', (state) => {
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
return;
|
|
182
|
-
case 'poweredOn':
|
|
183
|
-
resolve();
|
|
184
|
-
return;
|
|
185
|
-
default:
|
|
186
|
-
err = new Error(`Unknown state: ${this.noble._state}`);
|
|
187
|
-
reject(err);
|
|
121
|
+
if (state === 'poweredOn') {
|
|
122
|
+
resolve();
|
|
123
|
+
}
|
|
124
|
+
else if (['unsupported', 'unauthorized', 'poweredOff'].includes(state)) {
|
|
125
|
+
reject(new Error(`Failed to initialize the Noble object: ${state}`));
|
|
126
|
+
}
|
|
127
|
+
else if (['resetting', 'unknown'].includes(state)) {
|
|
128
|
+
reject(new Error(`Adapter is not ready: ${state}`));
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
reject(new Error(`Unknown state: ${state}`));
|
|
188
132
|
}
|
|
189
133
|
});
|
|
190
134
|
});
|
|
191
|
-
return promise;
|
|
192
135
|
}
|
|
193
136
|
async getDeviceObject(peripheral, id, model) {
|
|
194
137
|
const ad = await Advertising.parse(peripheral, this.onlog);
|
|
195
|
-
if (
|
|
196
|
-
|
|
197
|
-
if (ad && ad.serviceData && ad.serviceData.model) {
|
|
198
|
-
switch (ad.serviceData.model) {
|
|
199
|
-
case SwitchBotBLEModel.Bot:
|
|
200
|
-
device = new WoHand(peripheral, this.noble);
|
|
201
|
-
break;
|
|
202
|
-
case SwitchBotBLEModel.Curtain:
|
|
203
|
-
case SwitchBotBLEModel.Curtain3:
|
|
204
|
-
device = new WoCurtain(peripheral, this.noble);
|
|
205
|
-
break;
|
|
206
|
-
case SwitchBotBLEModel.Humidifier:
|
|
207
|
-
device = new WoHumi(peripheral, this.noble);
|
|
208
|
-
break;
|
|
209
|
-
case SwitchBotBLEModel.Meter:
|
|
210
|
-
device = new WoSensorTH(peripheral, this.noble);
|
|
211
|
-
break;
|
|
212
|
-
case SwitchBotBLEModel.MeterPlus:
|
|
213
|
-
device = new WoSensorTH(peripheral, this.noble);
|
|
214
|
-
break;
|
|
215
|
-
case SwitchBotBLEModel.Hub2:
|
|
216
|
-
device = new WoHub2(peripheral, this.noble);
|
|
217
|
-
break;
|
|
218
|
-
case SwitchBotBLEModel.OutdoorMeter:
|
|
219
|
-
device = new WoIOSensorTH(peripheral, this.noble);
|
|
220
|
-
break;
|
|
221
|
-
case SwitchBotBLEModel.MotionSensor:
|
|
222
|
-
device = new WoPresence(peripheral, this.noble);
|
|
223
|
-
break;
|
|
224
|
-
case SwitchBotBLEModel.ContactSensor:
|
|
225
|
-
device = new WoContact(peripheral, this.noble);
|
|
226
|
-
break;
|
|
227
|
-
case SwitchBotBLEModel.ColorBulb:
|
|
228
|
-
device = new WoBulb(peripheral, this.noble);
|
|
229
|
-
break;
|
|
230
|
-
case SwitchBotBLEModel.CeilingLight:
|
|
231
|
-
device = new WoCeilingLight(peripheral, this.noble);
|
|
232
|
-
break;
|
|
233
|
-
case SwitchBotBLEModel.CeilingLightPro:
|
|
234
|
-
device = new WoCeilingLight(peripheral, this.noble);
|
|
235
|
-
break;
|
|
236
|
-
case SwitchBotBLEModel.StripLight:
|
|
237
|
-
device = new WoStrip(peripheral, this.noble);
|
|
238
|
-
break;
|
|
239
|
-
case SwitchBotBLEModel.PlugMiniUS:
|
|
240
|
-
case SwitchBotBLEModel.PlugMiniJP:
|
|
241
|
-
device = new WoPlugMini(peripheral, this.noble);
|
|
242
|
-
break;
|
|
243
|
-
case SwitchBotBLEModel.Lock:
|
|
244
|
-
device = new WoSmartLock(peripheral, this.noble);
|
|
245
|
-
break;
|
|
246
|
-
case SwitchBotBLEModel.LockPro:
|
|
247
|
-
device = new WoSmartLockPro(peripheral, this.noble);
|
|
248
|
-
break;
|
|
249
|
-
case SwitchBotBLEModel.BlindTilt:
|
|
250
|
-
device = new WoBlindTilt(peripheral, this.noble);
|
|
251
|
-
break;
|
|
252
|
-
default: // 'resetting', 'unknown'
|
|
253
|
-
device = new SwitchbotDevice(peripheral, this.noble);
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
return device;
|
|
138
|
+
if (!ad) {
|
|
139
|
+
return null;
|
|
257
140
|
}
|
|
258
|
-
|
|
141
|
+
if (!this.filterAdvertising(ad, id, model)) {
|
|
259
142
|
return null;
|
|
260
143
|
}
|
|
144
|
+
const modelMapping = {
|
|
145
|
+
[SwitchBotBLEModel.Bot]: WoHand,
|
|
146
|
+
[SwitchBotBLEModel.Curtain]: WoCurtain,
|
|
147
|
+
[SwitchBotBLEModel.Curtain3]: WoCurtain,
|
|
148
|
+
[SwitchBotBLEModel.Humidifier]: WoHumi,
|
|
149
|
+
[SwitchBotBLEModel.Meter]: WoSensorTH,
|
|
150
|
+
[SwitchBotBLEModel.MeterPlus]: WoSensorTH,
|
|
151
|
+
[SwitchBotBLEModel.Hub2]: WoHub2,
|
|
152
|
+
[SwitchBotBLEModel.OutdoorMeter]: WoIOSensorTH,
|
|
153
|
+
[SwitchBotBLEModel.MotionSensor]: WoPresence,
|
|
154
|
+
[SwitchBotBLEModel.ContactSensor]: WoContact,
|
|
155
|
+
[SwitchBotBLEModel.ColorBulb]: WoBulb,
|
|
156
|
+
[SwitchBotBLEModel.CeilingLight]: WoCeilingLight,
|
|
157
|
+
[SwitchBotBLEModel.CeilingLightPro]: WoCeilingLight,
|
|
158
|
+
[SwitchBotBLEModel.StripLight]: WoStrip,
|
|
159
|
+
[SwitchBotBLEModel.PlugMiniUS]: WoPlugMini,
|
|
160
|
+
[SwitchBotBLEModel.PlugMiniJP]: WoPlugMini,
|
|
161
|
+
[SwitchBotBLEModel.Lock]: WoSmartLock,
|
|
162
|
+
[SwitchBotBLEModel.LockPro]: WoSmartLockPro,
|
|
163
|
+
[SwitchBotBLEModel.BlindTilt]: WoBlindTilt,
|
|
164
|
+
};
|
|
165
|
+
const DeviceClass = ad?.serviceData?.model ? modelMapping[ad.serviceData.model] : SwitchbotDevice;
|
|
166
|
+
return new DeviceClass(peripheral, this.noble);
|
|
261
167
|
}
|
|
262
168
|
filterAdvertising(ad, id, model) {
|
|
263
169
|
if (!ad) {
|
|
264
170
|
return false;
|
|
265
171
|
}
|
|
266
172
|
if (id) {
|
|
267
|
-
|
|
268
|
-
const
|
|
269
|
-
if (
|
|
173
|
+
const normalizedId = id.toLowerCase().replace(/:/g, '');
|
|
174
|
+
const adId = ad.address.toLowerCase().replace(/[^a-z0-9]/g, '');
|
|
175
|
+
if (adId !== normalizedId) {
|
|
270
176
|
return false;
|
|
271
177
|
}
|
|
272
178
|
}
|
|
273
|
-
if (model) {
|
|
274
|
-
|
|
275
|
-
return false;
|
|
276
|
-
}
|
|
179
|
+
if (model && ad.serviceData.model !== model) {
|
|
180
|
+
return false;
|
|
277
181
|
}
|
|
278
182
|
return true;
|
|
279
183
|
}
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
* | | | This parameter is case-insensitive, and
|
|
335
|
-
* | | | colons are ignored.
|
|
336
|
-
*
|
|
337
|
-
* [Return value]
|
|
338
|
-
* - Promise object
|
|
339
|
-
* Nothing will be passed to the `resolve()`.
|
|
340
|
-
* ---------------------------------------------------------------- */
|
|
341
|
-
startScan(params = {}) {
|
|
342
|
-
const promise = new Promise((resolve, reject) => {
|
|
343
|
-
// Check the parameters
|
|
344
|
-
const valid = parameterChecker.check(params, {
|
|
345
|
-
model: {
|
|
346
|
-
required: false,
|
|
347
|
-
type: 'string',
|
|
348
|
-
enum: [
|
|
349
|
-
SwitchBotBLEModel.Bot,
|
|
350
|
-
SwitchBotBLEModel.Curtain,
|
|
351
|
-
SwitchBotBLEModel.Curtain3,
|
|
352
|
-
SwitchBotBLEModel.Humidifier,
|
|
353
|
-
SwitchBotBLEModel.Meter,
|
|
354
|
-
SwitchBotBLEModel.MeterPlus,
|
|
355
|
-
SwitchBotBLEModel.Hub2,
|
|
356
|
-
SwitchBotBLEModel.OutdoorMeter,
|
|
357
|
-
SwitchBotBLEModel.MotionSensor,
|
|
358
|
-
SwitchBotBLEModel.ContactSensor,
|
|
359
|
-
SwitchBotBLEModel.ColorBulb,
|
|
360
|
-
SwitchBotBLEModel.CeilingLight,
|
|
361
|
-
SwitchBotBLEModel.CeilingLightPro,
|
|
362
|
-
SwitchBotBLEModel.StripLight,
|
|
363
|
-
SwitchBotBLEModel.PlugMiniUS,
|
|
364
|
-
SwitchBotBLEModel.PlugMiniJP,
|
|
365
|
-
SwitchBotBLEModel.Lock,
|
|
366
|
-
SwitchBotBLEModel.LockPro,
|
|
367
|
-
SwitchBotBLEModel.BlindTilt,
|
|
368
|
-
],
|
|
369
|
-
},
|
|
370
|
-
id: { required: false, type: 'string', min: 12, max: 17 },
|
|
371
|
-
}, false);
|
|
372
|
-
if (!valid) {
|
|
373
|
-
reject(new Error(parameterChecker.error.message));
|
|
374
|
-
return;
|
|
375
|
-
}
|
|
376
|
-
// Initialize the noble object
|
|
377
|
-
this._init()
|
|
378
|
-
.then(() => {
|
|
379
|
-
if (this.noble === null) {
|
|
380
|
-
return reject(new Error('noble object failed to initialize'));
|
|
184
|
+
/**
|
|
185
|
+
* startScan([params])
|
|
186
|
+
* - Start to monitor advertising packets coming from switchbot devices
|
|
187
|
+
*
|
|
188
|
+
* @param {object} params - Optional parameters
|
|
189
|
+
* @param {string} [params.model] - Optional model filter ("H", "T", "e", "s", "d", "c", "{", "u", "g", "o", "i", "x", "r")
|
|
190
|
+
* @param {string} [params.id] - Optional ID filter (MAC address, case-insensitive, colons ignored)
|
|
191
|
+
* @returns {Promise<void>} - Resolves when scanning starts successfully
|
|
192
|
+
*/
|
|
193
|
+
async startScan(params = {}) {
|
|
194
|
+
// Validate parameters
|
|
195
|
+
const valid = parameterChecker.check(params, {
|
|
196
|
+
model: {
|
|
197
|
+
required: false,
|
|
198
|
+
type: 'string',
|
|
199
|
+
enum: [
|
|
200
|
+
SwitchBotBLEModel.Bot,
|
|
201
|
+
SwitchBotBLEModel.Curtain,
|
|
202
|
+
SwitchBotBLEModel.Curtain3,
|
|
203
|
+
SwitchBotBLEModel.Humidifier,
|
|
204
|
+
SwitchBotBLEModel.Meter,
|
|
205
|
+
SwitchBotBLEModel.MeterPlus,
|
|
206
|
+
SwitchBotBLEModel.Hub2,
|
|
207
|
+
SwitchBotBLEModel.OutdoorMeter,
|
|
208
|
+
SwitchBotBLEModel.MotionSensor,
|
|
209
|
+
SwitchBotBLEModel.ContactSensor,
|
|
210
|
+
SwitchBotBLEModel.ColorBulb,
|
|
211
|
+
SwitchBotBLEModel.CeilingLight,
|
|
212
|
+
SwitchBotBLEModel.CeilingLightPro,
|
|
213
|
+
SwitchBotBLEModel.StripLight,
|
|
214
|
+
SwitchBotBLEModel.PlugMiniUS,
|
|
215
|
+
SwitchBotBLEModel.PlugMiniJP,
|
|
216
|
+
SwitchBotBLEModel.Lock,
|
|
217
|
+
SwitchBotBLEModel.LockPro,
|
|
218
|
+
SwitchBotBLEModel.BlindTilt,
|
|
219
|
+
],
|
|
220
|
+
},
|
|
221
|
+
id: { required: false, type: 'string', min: 12, max: 17 },
|
|
222
|
+
}, false);
|
|
223
|
+
if (!valid) {
|
|
224
|
+
throw new Error(parameterChecker.error.message);
|
|
225
|
+
}
|
|
226
|
+
// Initialize the noble object
|
|
227
|
+
await this._init();
|
|
228
|
+
if (this.noble === null) {
|
|
229
|
+
throw new Error('noble object failed to initialize');
|
|
230
|
+
}
|
|
231
|
+
const { model = '', id = '' } = params;
|
|
232
|
+
// Set a handler for the 'discover' event
|
|
233
|
+
this.noble.on('discover', async (peripheral) => {
|
|
234
|
+
const ad = await Advertising.parse(peripheral, this.onlog);
|
|
235
|
+
if (ad && this.filterAdvertising(ad, id, model)) {
|
|
236
|
+
if (this.onadvertisement && typeof this.onadvertisement === 'function') {
|
|
237
|
+
this.onadvertisement(ad);
|
|
381
238
|
}
|
|
382
|
-
// Determine the values of the parameters
|
|
383
|
-
const p = {
|
|
384
|
-
model: params.model || '',
|
|
385
|
-
id: params.id || '',
|
|
386
|
-
};
|
|
387
|
-
// Set a handler for the 'discover' event
|
|
388
|
-
this.noble.on('discover', async (peripheral) => {
|
|
389
|
-
const ad = await Advertising.parse(peripheral, this.onlog);
|
|
390
|
-
if (this.filterAdvertising(ad, p.id, p.model)) {
|
|
391
|
-
if (this.onadvertisement
|
|
392
|
-
&& typeof this.onadvertisement === 'function') {
|
|
393
|
-
this.onadvertisement(ad);
|
|
394
|
-
}
|
|
395
|
-
}
|
|
396
|
-
});
|
|
397
|
-
// Start scanning
|
|
398
|
-
this.noble.startScanning(this.PRIMARY_SERVICE_UUID_LIST, true, (error) => {
|
|
399
|
-
if (error) {
|
|
400
|
-
reject(error);
|
|
401
|
-
}
|
|
402
|
-
else {
|
|
403
|
-
resolve();
|
|
404
|
-
}
|
|
405
|
-
});
|
|
406
|
-
})
|
|
407
|
-
.catch((error) => {
|
|
408
|
-
throw new Error(error);
|
|
409
|
-
});
|
|
410
|
-
});
|
|
411
|
-
return promise;
|
|
412
|
-
}
|
|
413
|
-
/* ------------------------------------------------------------------
|
|
414
|
-
* wait(msec) {
|
|
415
|
-
* - Wait for the specified time (msec)
|
|
416
|
-
*
|
|
417
|
-
* [Arguments]
|
|
418
|
-
* - msec | Integer | Required | Msec.
|
|
419
|
-
*
|
|
420
|
-
* [Return value]
|
|
421
|
-
* - Promise object
|
|
422
|
-
* Nothing will be passed to the `resolve()`.
|
|
423
|
-
* ---------------------------------------------------------------- */
|
|
424
|
-
wait(msec) {
|
|
425
|
-
return new Promise((resolve, reject) => {
|
|
426
|
-
// Check the parameters
|
|
427
|
-
const valid = parameterChecker.check({ msec }, {
|
|
428
|
-
msec: { required: true, type: 'integer', min: 0 },
|
|
429
|
-
}, true);
|
|
430
|
-
if (!valid) {
|
|
431
|
-
reject(new Error(parameterChecker.error.message));
|
|
432
|
-
return;
|
|
433
239
|
}
|
|
434
|
-
// Set a timer
|
|
435
|
-
setTimeout(resolve, msec);
|
|
436
240
|
});
|
|
241
|
+
// Start scanning
|
|
242
|
+
await this.noble.startScanningAsync(this.PRIMARY_SERVICE_UUID_LIST, true);
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* stopScan()
|
|
246
|
+
* - Stop monitoring advertising packets from SwitchBot devices
|
|
247
|
+
*
|
|
248
|
+
* @returns {Promise<void>} - Resolves when scanning stops successfully
|
|
249
|
+
*/
|
|
250
|
+
async stopScan() {
|
|
251
|
+
if (!this.noble) {
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
this.noble.removeAllListeners('discover');
|
|
255
|
+
await this.noble.stopScanningAsync();
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* wait
|
|
259
|
+
* - Wait for the specified time (msec)
|
|
260
|
+
*
|
|
261
|
+
* @param {number} msec - The time to wait in milliseconds
|
|
262
|
+
* @returns {Promise<void>} - Resolves after the specified time
|
|
263
|
+
*/
|
|
264
|
+
async wait(msec) {
|
|
265
|
+
// Validate parameters
|
|
266
|
+
const valid = parameterChecker.check({ msec }, {
|
|
267
|
+
msec: { required: true, type: 'integer', min: 0 },
|
|
268
|
+
}, true);
|
|
269
|
+
if (!valid) {
|
|
270
|
+
throw new Error(parameterChecker.error.message);
|
|
271
|
+
}
|
|
272
|
+
// Return a promise that resolves after the specified time
|
|
273
|
+
return new Promise(resolve => setTimeout(resolve, msec));
|
|
437
274
|
}
|
|
438
275
|
}
|
|
439
276
|
export { SwitchbotDevice };
|
package/dist/switchbot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switchbot.js","sourceRoot":"","sources":["../src/switchbot.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"switchbot.js","sourceRoot":"","sources":["../src/switchbot.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.
|
|
4
|
+
"version": "2.5.0-beta.2",
|
|
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",
|