node-switchbot 3.0.2-beta.1 → 3.0.2-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/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/parameter-checker.d.ts.map +1 -1
- package/dist/parameter-checker.js +1 -9
- package/dist/parameter-checker.js.map +1 -1
- package/dist/switchbot-ble.d.ts +0 -40
- package/dist/switchbot-ble.d.ts.map +1 -1
- package/dist/switchbot-ble.js +160 -170
- package/dist/switchbot-ble.js.map +1 -1
- package/dist/test/advertising.test.js +3 -3
- package/dist/test/advertising.test.js.map +1 -1
- package/dist/test/switchbot-openapi.test.js +10 -64
- package/dist/test/switchbot-openapi.test.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,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
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,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,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;
|
|
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
|
-
|
|
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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameter-checker.js","sourceRoot":"","sources":["../src/parameter-checker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC;;;GAGG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IACxC,MAAM,GAAuB,IAAI,CAAA;IAEzC;;;;;OAKG;IACK,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,OAAe;QAClD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;IACtC,CAAC;IAED;;;;OAIG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,KAAc;QACxB,OAAO,KAAK,KAAK,SAAS,CAAA;IAC5B,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,CAAC,GAA4B,EAAE,KAA2B,EAAE,WAAoB,KAAK;QAC9F,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,
|
|
1
|
+
{"version":3,"file":"parameter-checker.js","sourceRoot":"","sources":["../src/parameter-checker.ts"],"names":[],"mappings":"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"}
|
package/dist/switchbot-ble.d.ts
CHANGED
|
@@ -37,12 +37,6 @@ export declare class SwitchBotBLE extends EventEmitter {
|
|
|
37
37
|
* @returns {Promise<SwitchbotDevice[]>} - A promise that resolves with a list of discovered devices.
|
|
38
38
|
*/
|
|
39
39
|
discover(params?: Params): Promise<SwitchbotDevice[]>;
|
|
40
|
-
/**
|
|
41
|
-
* Initializes the noble object and waits for it to be powered on.
|
|
42
|
-
*
|
|
43
|
-
* @returns {Promise<void>} - Resolves when the noble object is powered on.
|
|
44
|
-
*/
|
|
45
|
-
initNoble(): Promise<void>;
|
|
46
40
|
/**
|
|
47
41
|
* Initializes the noble object and waits for it to be powered on.
|
|
48
42
|
*
|
|
@@ -67,40 +61,6 @@ export declare class SwitchBotBLE extends EventEmitter {
|
|
|
67
61
|
* @returns {boolean} - True if the advertising data matches the id and model, false otherwise.
|
|
68
62
|
*/
|
|
69
63
|
filterAdvertising(ad: Ad, id: string, model: string): Promise<boolean>;
|
|
70
|
-
/**
|
|
71
|
-
* Validates the provided parameters against a predefined schema.
|
|
72
|
-
*
|
|
73
|
-
* @param params - The parameters to validate.
|
|
74
|
-
* @returns A promise that resolves if the parameters are valid, otherwise it throws an error.
|
|
75
|
-
*
|
|
76
|
-
* @throws {Error} If the parameters do not conform to the expected schema.
|
|
77
|
-
*
|
|
78
|
-
* The expected schema for `params` is:
|
|
79
|
-
* - `duration` (optional): An integer between 1 and 60000.
|
|
80
|
-
* - `model` (optional): A string that must be one of the following values:
|
|
81
|
-
* - `SwitchBotBLEModel.Bot`
|
|
82
|
-
* - `SwitchBotBLEModel.Curtain`
|
|
83
|
-
* - `SwitchBotBLEModel.Curtain3`
|
|
84
|
-
* - `SwitchBotBLEModel.Humidifier`
|
|
85
|
-
* - `SwitchBotBLEModel.Meter`
|
|
86
|
-
* - `SwitchBotBLEModel.MeterPlus`
|
|
87
|
-
* - `SwitchBotBLEModel.Hub2`
|
|
88
|
-
* - `SwitchBotBLEModel.OutdoorMeter`
|
|
89
|
-
* - `SwitchBotBLEModel.MotionSensor`
|
|
90
|
-
* - `SwitchBotBLEModel.ContactSensor`
|
|
91
|
-
* - `SwitchBotBLEModel.ColorBulb`
|
|
92
|
-
* - `SwitchBotBLEModel.CeilingLight`
|
|
93
|
-
* - `SwitchBotBLEModel.CeilingLightPro`
|
|
94
|
-
* - `SwitchBotBLEModel.StripLight`
|
|
95
|
-
* - `SwitchBotBLEModel.PlugMiniUS`
|
|
96
|
-
* - `SwitchBotBLEModel.PlugMiniJP`
|
|
97
|
-
* - `SwitchBotBLEModel.Lock`
|
|
98
|
-
* - `SwitchBotBLEModel.LockPro`
|
|
99
|
-
* - `SwitchBotBLEModel.BlindTilt`
|
|
100
|
-
* - `id` (optional): A string with a length between 12 and 17 characters.
|
|
101
|
-
* - `quick` (optional): A boolean value.
|
|
102
|
-
*/
|
|
103
|
-
validateParams(params: Params): Promise<void>;
|
|
104
64
|
/**
|
|
105
65
|
* Starts scanning for SwitchBot devices.
|
|
106
66
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switchbot-ble.d.ts","sourceRoot":"","sources":["../src/switchbot-ble.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"switchbot-ble.d.ts","sourceRoot":"","sources":["../src/switchbot-ble.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAM1C,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAG1C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAmB7C;;GAEG;AACH,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,CAAC,KAAK,CAAe;IACrB,KAAK,EAAG,OAAO,KAAK,CAAA;IAC3B,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC9D,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAElD;;;;OAIG;gBACS,MAAM,CAAC,EAAE,MAAM;IAK3B;;;;;OAKG;IACU,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE;;;;;OAKG;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;IAoH/D;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B5B;;;;;;;OAOG;IACG,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAqE/G;;;;;;;OAOG;IACG,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB5E;;;;;OAKG;IACG,SAAS,CAAC,MAAM,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAsFnD;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAU/B;;;;;OAKG;IACG,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAsBxC;AAED,OAAO,EAAE,eAAe,EAAE,CAAA"}
|
package/dist/switchbot-ble.js
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { EventEmitter } from 'node:events';
|
|
2
|
+
/* Copyright(C) 2024, donavanbecker (https://github.com/donavanbecker). All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* switchbot.ts: Switchbot BLE API registration.
|
|
5
|
+
*/
|
|
2
6
|
import * as Noble from '@stoprocent/noble';
|
|
3
7
|
import { Advertising } from './advertising.js';
|
|
4
8
|
import { SwitchbotDevice } from './device.js';
|
|
@@ -53,7 +57,7 @@ export class SwitchBotBLE extends EventEmitter {
|
|
|
53
57
|
* @returns {Promise<void>} - Resolves when initialization is complete
|
|
54
58
|
*/
|
|
55
59
|
async init(params) {
|
|
56
|
-
this.noble = params && params.noble ? params.noble : Noble;
|
|
60
|
+
this.noble = params && params.noble ? params.noble : Noble.default;
|
|
57
61
|
}
|
|
58
62
|
/**
|
|
59
63
|
* Discover SwitchBot devices based on the provided parameters.
|
|
@@ -62,105 +66,102 @@ export class SwitchBotBLE extends EventEmitter {
|
|
|
62
66
|
* @returns {Promise<SwitchbotDevice[]>} - A promise that resolves with a list of discovered devices.
|
|
63
67
|
*/
|
|
64
68
|
async discover(params = {}) {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
69
|
+
const promise = new Promise((resolve, reject) => {
|
|
70
|
+
// Check the parameters
|
|
71
|
+
const valid = parameterChecker.check(params, {
|
|
72
|
+
duration: { required: false, type: 'integer', min: 1, max: 60000 },
|
|
73
|
+
model: {
|
|
74
|
+
required: false,
|
|
75
|
+
type: 'string',
|
|
76
|
+
enum: [
|
|
77
|
+
SwitchBotBLEModel.Bot,
|
|
78
|
+
SwitchBotBLEModel.Curtain,
|
|
79
|
+
SwitchBotBLEModel.Curtain3,
|
|
80
|
+
SwitchBotBLEModel.Humidifier,
|
|
81
|
+
SwitchBotBLEModel.Meter,
|
|
82
|
+
SwitchBotBLEModel.MeterPlus,
|
|
83
|
+
SwitchBotBLEModel.Hub2,
|
|
84
|
+
SwitchBotBLEModel.OutdoorMeter,
|
|
85
|
+
SwitchBotBLEModel.MotionSensor,
|
|
86
|
+
SwitchBotBLEModel.ContactSensor,
|
|
87
|
+
SwitchBotBLEModel.ColorBulb,
|
|
88
|
+
SwitchBotBLEModel.CeilingLight,
|
|
89
|
+
SwitchBotBLEModel.CeilingLightPro,
|
|
90
|
+
SwitchBotBLEModel.StripLight,
|
|
91
|
+
SwitchBotBLEModel.PlugMiniUS,
|
|
92
|
+
SwitchBotBLEModel.PlugMiniJP,
|
|
93
|
+
SwitchBotBLEModel.Lock,
|
|
94
|
+
SwitchBotBLEModel.LockPro,
|
|
95
|
+
SwitchBotBLEModel.BlindTilt,
|
|
96
|
+
],
|
|
97
|
+
},
|
|
98
|
+
id: { required: false, type: 'string', min: 12, max: 17 },
|
|
99
|
+
quick: { required: false, type: 'boolean' },
|
|
100
|
+
}, false);
|
|
101
|
+
if (!valid) {
|
|
102
|
+
this.emitLog('error', `parameterChecker: ${JSON.stringify(parameterChecker.error.message)}`);
|
|
103
|
+
reject(new Error(parameterChecker.error.message));
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
if (!params) {
|
|
107
|
+
params = {};
|
|
108
|
+
}
|
|
109
|
+
// Determine the values of the parameters
|
|
68
110
|
const p = {
|
|
69
111
|
duration: params.duration ?? DEFAULT_DISCOVERY_DURATION,
|
|
70
112
|
model: params.model ?? '',
|
|
71
113
|
id: params.id ?? '',
|
|
72
114
|
quick: !!params.quick,
|
|
73
115
|
};
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
let timer;
|
|
80
|
-
const finishDiscovery = () => {
|
|
81
|
-
if (timer) {
|
|
82
|
-
clearTimeout(timer);
|
|
83
|
-
}
|
|
84
|
-
this.noble.removeAllListeners('discover');
|
|
85
|
-
this.noble.stopScanningAsync();
|
|
86
|
-
const deviceList = Object.values(peripherals);
|
|
87
|
-
return deviceList;
|
|
88
|
-
};
|
|
89
|
-
this.noble.on('discover', async (peripheral) => {
|
|
90
|
-
const device = await this.getDeviceObject(peripheral, p.id, p.model);
|
|
91
|
-
if (!device) {
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
const id = device.id;
|
|
95
|
-
peripherals[id] = device;
|
|
96
|
-
if (this.ondiscover && typeof this.ondiscover === 'function') {
|
|
97
|
-
this.ondiscover(device);
|
|
116
|
+
// Initialize the noble object
|
|
117
|
+
this._init()
|
|
118
|
+
.then(() => {
|
|
119
|
+
if (this.noble === null) {
|
|
120
|
+
return reject(new Error('noble failed to initialize'));
|
|
98
121
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
122
|
+
const peripherals = {};
|
|
123
|
+
let timer = setTimeout(() => { }, 0);
|
|
124
|
+
const finishDiscovery = () => {
|
|
125
|
+
if (timer) {
|
|
126
|
+
clearTimeout(timer);
|
|
127
|
+
}
|
|
128
|
+
this.noble.removeAllListeners('discover');
|
|
129
|
+
this.noble.stopScanningAsync();
|
|
130
|
+
const device_list = [];
|
|
131
|
+
for (const addr in peripherals) {
|
|
132
|
+
device_list.push(peripherals[addr]);
|
|
133
|
+
}
|
|
134
|
+
resolve(device_list);
|
|
135
|
+
};
|
|
136
|
+
// Set a handler for the 'discover' event
|
|
137
|
+
this.noble.on('discover', async (peripheral) => {
|
|
138
|
+
const device = await this.getDeviceObject(peripheral, p.id, p.model);
|
|
139
|
+
if (!device) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
const id = device.id;
|
|
143
|
+
peripherals[id] = device;
|
|
144
|
+
if (this.ondiscover && typeof this.ondiscover === 'function') {
|
|
145
|
+
this.ondiscover(device);
|
|
146
|
+
}
|
|
147
|
+
if (p.quick) {
|
|
148
|
+
finishDiscovery();
|
|
124
149
|
}
|
|
125
150
|
});
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
* @returns {Promise<void>} - Resolves when the noble object is powered on.
|
|
138
|
-
*/
|
|
139
|
-
async initNoble() {
|
|
140
|
-
await this.ready;
|
|
141
|
-
if (this.noble._state === 'poweredOn') {
|
|
142
|
-
return;
|
|
143
|
-
}
|
|
144
|
-
return new Promise((resolve, reject) => {
|
|
145
|
-
this.noble.once('stateChange', (state) => {
|
|
146
|
-
switch (state) {
|
|
147
|
-
case 'unsupported':
|
|
148
|
-
case 'unauthorized':
|
|
149
|
-
case 'poweredOff':
|
|
150
|
-
reject(new Error(`Failed to initialize the Noble object: ${state}`));
|
|
151
|
-
break;
|
|
152
|
-
case 'resetting':
|
|
153
|
-
case 'unknown':
|
|
154
|
-
reject(new Error(`Adapter is not ready: ${state}`));
|
|
155
|
-
break;
|
|
156
|
-
case 'poweredOn':
|
|
157
|
-
resolve();
|
|
158
|
-
break;
|
|
159
|
-
default:
|
|
160
|
-
reject(new Error(`Unknown state: ${state}`));
|
|
161
|
-
}
|
|
151
|
+
// Start scanning
|
|
152
|
+
this.noble.startScanningAsync(PRIMARY_SERVICE_UUID_LIST, false).then(() => {
|
|
153
|
+
timer = setTimeout(() => {
|
|
154
|
+
finishDiscovery();
|
|
155
|
+
}, p.duration);
|
|
156
|
+
}).catch((error) => {
|
|
157
|
+
reject(error);
|
|
158
|
+
});
|
|
159
|
+
})
|
|
160
|
+
.catch((error) => {
|
|
161
|
+
reject(error);
|
|
162
162
|
});
|
|
163
163
|
});
|
|
164
|
+
return promise;
|
|
164
165
|
}
|
|
165
166
|
/**
|
|
166
167
|
* Initializes the noble object and waits for it to be powered on.
|
|
@@ -186,6 +187,7 @@ export class SwitchBotBLE extends EventEmitter {
|
|
|
186
187
|
reject(new Error(`Adapter is not ready: ${this.noble._state}`));
|
|
187
188
|
return;
|
|
188
189
|
case 'poweredOn':
|
|
190
|
+
resolve();
|
|
189
191
|
return;
|
|
190
192
|
default:
|
|
191
193
|
reject(new Error(`Unknown state: ${this.noble._state}`));
|
|
@@ -297,75 +299,6 @@ export class SwitchBotBLE extends EventEmitter {
|
|
|
297
299
|
}
|
|
298
300
|
return true;
|
|
299
301
|
}
|
|
300
|
-
/**
|
|
301
|
-
* Validates the provided parameters against a predefined schema.
|
|
302
|
-
*
|
|
303
|
-
* @param params - The parameters to validate.
|
|
304
|
-
* @returns A promise that resolves if the parameters are valid, otherwise it throws an error.
|
|
305
|
-
*
|
|
306
|
-
* @throws {Error} If the parameters do not conform to the expected schema.
|
|
307
|
-
*
|
|
308
|
-
* The expected schema for `params` is:
|
|
309
|
-
* - `duration` (optional): An integer between 1 and 60000.
|
|
310
|
-
* - `model` (optional): A string that must be one of the following values:
|
|
311
|
-
* - `SwitchBotBLEModel.Bot`
|
|
312
|
-
* - `SwitchBotBLEModel.Curtain`
|
|
313
|
-
* - `SwitchBotBLEModel.Curtain3`
|
|
314
|
-
* - `SwitchBotBLEModel.Humidifier`
|
|
315
|
-
* - `SwitchBotBLEModel.Meter`
|
|
316
|
-
* - `SwitchBotBLEModel.MeterPlus`
|
|
317
|
-
* - `SwitchBotBLEModel.Hub2`
|
|
318
|
-
* - `SwitchBotBLEModel.OutdoorMeter`
|
|
319
|
-
* - `SwitchBotBLEModel.MotionSensor`
|
|
320
|
-
* - `SwitchBotBLEModel.ContactSensor`
|
|
321
|
-
* - `SwitchBotBLEModel.ColorBulb`
|
|
322
|
-
* - `SwitchBotBLEModel.CeilingLight`
|
|
323
|
-
* - `SwitchBotBLEModel.CeilingLightPro`
|
|
324
|
-
* - `SwitchBotBLEModel.StripLight`
|
|
325
|
-
* - `SwitchBotBLEModel.PlugMiniUS`
|
|
326
|
-
* - `SwitchBotBLEModel.PlugMiniJP`
|
|
327
|
-
* - `SwitchBotBLEModel.Lock`
|
|
328
|
-
* - `SwitchBotBLEModel.LockPro`
|
|
329
|
-
* - `SwitchBotBLEModel.BlindTilt`
|
|
330
|
-
* - `id` (optional): A string with a length between 12 and 17 characters.
|
|
331
|
-
* - `quick` (optional): A boolean value.
|
|
332
|
-
*/
|
|
333
|
-
async validateParams(params) {
|
|
334
|
-
const valid = parameterChecker.check(params, {
|
|
335
|
-
duration: { required: false, type: 'integer', min: 1, max: 60000 },
|
|
336
|
-
model: {
|
|
337
|
-
required: false,
|
|
338
|
-
type: 'string',
|
|
339
|
-
enum: [
|
|
340
|
-
SwitchBotBLEModel.Bot,
|
|
341
|
-
SwitchBotBLEModel.Curtain,
|
|
342
|
-
SwitchBotBLEModel.Curtain3,
|
|
343
|
-
SwitchBotBLEModel.Humidifier,
|
|
344
|
-
SwitchBotBLEModel.Meter,
|
|
345
|
-
SwitchBotBLEModel.MeterPlus,
|
|
346
|
-
SwitchBotBLEModel.Hub2,
|
|
347
|
-
SwitchBotBLEModel.OutdoorMeter,
|
|
348
|
-
SwitchBotBLEModel.MotionSensor,
|
|
349
|
-
SwitchBotBLEModel.ContactSensor,
|
|
350
|
-
SwitchBotBLEModel.ColorBulb,
|
|
351
|
-
SwitchBotBLEModel.CeilingLight,
|
|
352
|
-
SwitchBotBLEModel.CeilingLightPro,
|
|
353
|
-
SwitchBotBLEModel.StripLight,
|
|
354
|
-
SwitchBotBLEModel.PlugMiniUS,
|
|
355
|
-
SwitchBotBLEModel.PlugMiniJP,
|
|
356
|
-
SwitchBotBLEModel.Lock,
|
|
357
|
-
SwitchBotBLEModel.LockPro,
|
|
358
|
-
SwitchBotBLEModel.BlindTilt,
|
|
359
|
-
],
|
|
360
|
-
},
|
|
361
|
-
id: { required: false, type: 'string', min: 12, max: 17 },
|
|
362
|
-
quick: { required: false, type: 'boolean' },
|
|
363
|
-
}, false);
|
|
364
|
-
if (!valid) {
|
|
365
|
-
this.emitLog('error', `parameterChecker: ${JSON.stringify(parameterChecker.error.message)}`);
|
|
366
|
-
throw new Error(parameterChecker.error.message);
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
302
|
/**
|
|
370
303
|
* Starts scanning for SwitchBot devices.
|
|
371
304
|
*
|
|
@@ -373,20 +306,77 @@ export class SwitchBotBLE extends EventEmitter {
|
|
|
373
306
|
* @returns {Promise<void>} - Resolves when scanning starts successfully.
|
|
374
307
|
*/
|
|
375
308
|
async startScan(params = {}) {
|
|
376
|
-
const
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
309
|
+
const promise = new Promise((resolve, reject) => {
|
|
310
|
+
// Check the parameters
|
|
311
|
+
const valid = parameterChecker.check(params, {
|
|
312
|
+
model: {
|
|
313
|
+
required: false,
|
|
314
|
+
type: 'string',
|
|
315
|
+
enum: [
|
|
316
|
+
SwitchBotBLEModel.Bot,
|
|
317
|
+
SwitchBotBLEModel.Curtain,
|
|
318
|
+
SwitchBotBLEModel.Curtain3,
|
|
319
|
+
SwitchBotBLEModel.Humidifier,
|
|
320
|
+
SwitchBotBLEModel.Meter,
|
|
321
|
+
SwitchBotBLEModel.MeterPlus,
|
|
322
|
+
SwitchBotBLEModel.Hub2,
|
|
323
|
+
SwitchBotBLEModel.OutdoorMeter,
|
|
324
|
+
SwitchBotBLEModel.MotionSensor,
|
|
325
|
+
SwitchBotBLEModel.ContactSensor,
|
|
326
|
+
SwitchBotBLEModel.ColorBulb,
|
|
327
|
+
SwitchBotBLEModel.CeilingLight,
|
|
328
|
+
SwitchBotBLEModel.CeilingLightPro,
|
|
329
|
+
SwitchBotBLEModel.StripLight,
|
|
330
|
+
SwitchBotBLEModel.PlugMiniUS,
|
|
331
|
+
SwitchBotBLEModel.PlugMiniJP,
|
|
332
|
+
SwitchBotBLEModel.Lock,
|
|
333
|
+
SwitchBotBLEModel.LockPro,
|
|
334
|
+
SwitchBotBLEModel.BlindTilt,
|
|
335
|
+
],
|
|
336
|
+
},
|
|
337
|
+
id: { required: false, type: 'string', min: 12, max: 17 },
|
|
338
|
+
}, false);
|
|
339
|
+
if (!valid) {
|
|
340
|
+
this.emitLog('error', `parameterChecker: ${JSON.stringify(parameterChecker.error.message)}`);
|
|
341
|
+
reject(new Error(parameterChecker.error.message));
|
|
342
|
+
return;
|
|
386
343
|
}
|
|
344
|
+
// Initialize the noble object
|
|
345
|
+
this._init()
|
|
346
|
+
.then(() => {
|
|
347
|
+
if (this.noble === null) {
|
|
348
|
+
return reject(new Error('noble object failed to initialize'));
|
|
349
|
+
}
|
|
350
|
+
// Determine the values of the parameters
|
|
351
|
+
const p = {
|
|
352
|
+
model: params.model || '',
|
|
353
|
+
id: params.id || '',
|
|
354
|
+
};
|
|
355
|
+
// Set a handler for the 'discover' event
|
|
356
|
+
this.noble.on('discover', async (peripheral) => {
|
|
357
|
+
const ad = await Advertising.parse(peripheral, this.emitLog.bind(this));
|
|
358
|
+
if (ad && await this.filterAdvertising(ad, p.id, p.model)) {
|
|
359
|
+
if (this.onadvertisement
|
|
360
|
+
&& typeof this.onadvertisement === 'function') {
|
|
361
|
+
this.onadvertisement(ad);
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
});
|
|
365
|
+
// Start scanning
|
|
366
|
+
this.noble.startScanningAsync(PRIMARY_SERVICE_UUID_LIST, true).then(() => {
|
|
367
|
+
this.emitLog('info', 'Started Scanning for SwitchBot BLE devices.');
|
|
368
|
+
resolve();
|
|
369
|
+
}).catch((error) => {
|
|
370
|
+
this.emitLog('error', `startScanning error: ${JSON.stringify(error.message)}`);
|
|
371
|
+
reject(error);
|
|
372
|
+
});
|
|
373
|
+
})
|
|
374
|
+
.catch((error) => {
|
|
375
|
+
this.emitLog('error', `startScanning error: ${JSON.stringify(error.message)}`);
|
|
376
|
+
reject(error);
|
|
377
|
+
});
|
|
387
378
|
});
|
|
388
|
-
|
|
389
|
-
this.emitLog('info', 'Started Scanning for SwitchBot BLE devices.');
|
|
379
|
+
return promise;
|
|
390
380
|
}
|
|
391
381
|
/**
|
|
392
382
|
* Stops scanning for SwitchBot devices.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switchbot-ble.js","sourceRoot":"","sources":["../src/switchbot-ble.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"switchbot-ble.js","sourceRoot":"","sources":["../src/switchbot-ble.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,7 +61,7 @@ describe('advertising', () => {
|
|
|
61
61
|
vi.spyOn(Advertising, 'parseServiceData').mockResolvedValue(null);
|
|
62
62
|
const result = await Advertising.parse(peripheral, mockLog);
|
|
63
63
|
expect(result).toBeNull();
|
|
64
|
-
expect(mockLog).toHaveBeenCalledWith('
|
|
64
|
+
expect(mockLog).toHaveBeenCalledWith('[parseAdvertising.test-id.\x01] return null, parsed serviceData empty!');
|
|
65
65
|
});
|
|
66
66
|
});
|
|
67
67
|
describe('validateBuffer', () => {
|
|
@@ -70,10 +70,10 @@ describe('advertising', () => {
|
|
|
70
70
|
const result = Advertising.validateBuffer(buffer);
|
|
71
71
|
expect(result).toBe(true);
|
|
72
72
|
});
|
|
73
|
-
it('should return
|
|
73
|
+
it('should return false for invalid buffer', () => {
|
|
74
74
|
const buffer = null;
|
|
75
75
|
const result = Advertising.validateBuffer(buffer);
|
|
76
|
-
expect(result).toBe(
|
|
76
|
+
expect(result).toBe(false);
|
|
77
77
|
});
|
|
78
78
|
});
|
|
79
79
|
describe('formatAddress', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advertising.test.js","sourceRoot":"","sources":["../../src/test/advertising.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"advertising.test.js","sourceRoot":"","sources":["../../src/test/advertising.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +1,25 @@
|
|
|
1
|
-
import { createServer } from 'node:http';
|
|
2
1
|
import { request } from 'undici';
|
|
3
|
-
import {
|
|
2
|
+
import { describe, expect, it } from 'vitest';
|
|
4
3
|
import { SwitchBotOpenAPI } from '../switchbot-openapi.js';
|
|
5
|
-
|
|
6
|
-
request:
|
|
4
|
+
jest.mock('undici', () => ({
|
|
5
|
+
request: jest.fn(),
|
|
7
6
|
}));
|
|
8
7
|
describe('switchBotOpenAPI', () => {
|
|
9
8
|
let switchBotAPI;
|
|
10
9
|
const token = 'test-token';
|
|
11
10
|
const secret = 'test-secret';
|
|
12
|
-
const port = 3000;
|
|
13
|
-
let server;
|
|
14
11
|
beforeEach(() => {
|
|
15
12
|
switchBotAPI = new SwitchBotOpenAPI(token, secret);
|
|
16
|
-
if (server && typeof server.close === 'function') {
|
|
17
|
-
server.close();
|
|
18
|
-
}
|
|
19
|
-
server = startServer(port);
|
|
20
13
|
});
|
|
21
14
|
afterEach(() => {
|
|
22
|
-
|
|
23
|
-
if (server && typeof server.close === 'function') {
|
|
24
|
-
server.close();
|
|
25
|
-
}
|
|
15
|
+
jest.clearAllMocks();
|
|
26
16
|
});
|
|
27
17
|
describe('getDevices', () => {
|
|
28
18
|
it('should retrieve the list of devices', async () => {
|
|
29
19
|
const mockDevicesResponse = { body: { devices: [] }, statusCode: 200 };
|
|
30
20
|
request.mockResolvedValue({
|
|
31
21
|
body: {
|
|
32
|
-
json:
|
|
22
|
+
json: jest.fn().mockResolvedValue(mockDevicesResponse.body),
|
|
33
23
|
},
|
|
34
24
|
statusCode: mockDevicesResponse.statusCode,
|
|
35
25
|
});
|
|
@@ -48,7 +38,7 @@ describe('switchBotOpenAPI', () => {
|
|
|
48
38
|
const mockControlResponse = { body: {}, statusCode: 200 };
|
|
49
39
|
request.mockResolvedValue({
|
|
50
40
|
body: {
|
|
51
|
-
json:
|
|
41
|
+
json: jest.fn().mockResolvedValue(mockControlResponse.body),
|
|
52
42
|
},
|
|
53
43
|
statusCode: mockControlResponse.statusCode,
|
|
54
44
|
});
|
|
@@ -67,7 +57,7 @@ describe('switchBotOpenAPI', () => {
|
|
|
67
57
|
const mockStatusResponse = { body: {}, statusCode: 200 };
|
|
68
58
|
request.mockResolvedValue({
|
|
69
59
|
body: {
|
|
70
|
-
json:
|
|
60
|
+
json: jest.fn().mockResolvedValue(mockStatusResponse.body),
|
|
71
61
|
},
|
|
72
62
|
statusCode: mockStatusResponse.statusCode,
|
|
73
63
|
});
|
|
@@ -86,65 +76,21 @@ describe('switchBotOpenAPI', () => {
|
|
|
86
76
|
const mockWebhookResponse = { body: {}, statusCode: 200 };
|
|
87
77
|
request.mockResolvedValue({
|
|
88
78
|
body: {
|
|
89
|
-
json:
|
|
79
|
+
json: jest.fn().mockResolvedValue(mockWebhookResponse.body),
|
|
90
80
|
},
|
|
91
81
|
statusCode: mockWebhookResponse.statusCode,
|
|
92
82
|
});
|
|
93
|
-
const url =
|
|
83
|
+
const url = 'http://localhost:3000/webhook';
|
|
94
84
|
await switchBotAPI.setupWebhook(url);
|
|
95
85
|
expect(request).toHaveBeenCalledWith(expect.any(String), expect.any(Object));
|
|
96
86
|
});
|
|
97
87
|
it('should log an error if the webhook setup fails', async () => {
|
|
98
88
|
const errorMessage = 'Failed to create webhook listener';
|
|
99
89
|
request.mockRejectedValue(new Error(errorMessage));
|
|
100
|
-
const url =
|
|
90
|
+
const url = 'http://localhost:3000/webhook';
|
|
101
91
|
await switchBotAPI.setupWebhook(url);
|
|
102
92
|
expect(request).toHaveBeenCalledWith(expect.any(String), expect.any(Object));
|
|
103
93
|
});
|
|
104
94
|
});
|
|
105
|
-
describe('deleteWebhook', () => {
|
|
106
|
-
it('should delete the webhook listener and remove the webhook from the server', async () => {
|
|
107
|
-
const mockDeleteResponse = { body: {}, statusCode: 200 };
|
|
108
|
-
request.mockResolvedValue({
|
|
109
|
-
body: {
|
|
110
|
-
json: vi.fn().mockResolvedValue(mockDeleteResponse.body),
|
|
111
|
-
},
|
|
112
|
-
statusCode: mockDeleteResponse.statusCode,
|
|
113
|
-
});
|
|
114
|
-
const url = `http://localhost:${port}/webhook`;
|
|
115
|
-
await switchBotAPI.deleteWebhook(url);
|
|
116
|
-
expect(request).toHaveBeenCalledWith(expect.any(String), expect.any(Object));
|
|
117
|
-
});
|
|
118
|
-
it('should log an error if the webhook deletion fails', async () => {
|
|
119
|
-
const errorMessage = 'Failed to delete webhook listener';
|
|
120
|
-
request.mockRejectedValue(new Error(errorMessage));
|
|
121
|
-
const url = `http://localhost:${port}/webhook`;
|
|
122
|
-
await switchBotAPI.deleteWebhook(url);
|
|
123
|
-
expect(request).toHaveBeenCalledWith(expect.any(String), expect.any(Object));
|
|
124
|
-
});
|
|
125
|
-
});
|
|
126
95
|
});
|
|
127
|
-
function startServer(port) {
|
|
128
|
-
const server = createServer((req, res) => {
|
|
129
|
-
if (req.method === 'POST' && req.url === '/webhook') {
|
|
130
|
-
req.on('data', () => {
|
|
131
|
-
// Process the chunk if needed
|
|
132
|
-
});
|
|
133
|
-
req.on('end', () => {
|
|
134
|
-
// Log the webhook received event
|
|
135
|
-
// console.log('Webhook received:', body)
|
|
136
|
-
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
137
|
-
res.end(JSON.stringify({ message: 'Webhook received' }));
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
else {
|
|
141
|
-
res.writeHead(404, { 'Content-Type': 'application/json' });
|
|
142
|
-
res.end(JSON.stringify({ message: 'Not Found' }));
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
server.listen(port, () => {
|
|
146
|
-
// Server is listening on port ${port}
|
|
147
|
-
});
|
|
148
|
-
return server;
|
|
149
|
-
}
|
|
150
96
|
//# sourceMappingURL=switchbot-openapi.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switchbot-openapi.test.js","sourceRoot":"","sources":["../../src/test/switchbot-openapi.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"switchbot-openapi.test.js","sourceRoot":"","sources":["../../src/test/switchbot-openapi.test.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": "3.0.2-beta.
|
|
4
|
+
"version": "3.0.2-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",
|