node-switchbot 2.5.0-beta.16 → 2.5.0-beta.18
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 +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/settings.d.ts +23 -0
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +23 -0
- package/dist/settings.js.map +1 -1
- package/dist/switchbot-openapi.d.ts +62 -0
- package/dist/switchbot-openapi.d.ts.map +1 -0
- package/dist/switchbot-openapi.js +241 -0
- package/dist/switchbot-openapi.js.map +1 -0
- package/dist/types/types.d.ts +19 -0
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/types.js +10 -0
- package/dist/types/types.js.map +1 -1
- package/package.json +7 -4
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,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AACtC,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,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA"}
|
package/dist/settings.d.ts
CHANGED
|
@@ -3,6 +3,29 @@
|
|
|
3
3
|
*
|
|
4
4
|
* © 2024, donavanbecker (https://github.com/donavanbecker). All rights reserved.
|
|
5
5
|
*/
|
|
6
|
+
/**
|
|
7
|
+
* This is the main url used to access SwitchBot API
|
|
8
|
+
*/
|
|
9
|
+
export declare const Devices = "https://api.switch-bot.com/v1.1/devices";
|
|
10
|
+
/**
|
|
11
|
+
* This is the updateWebhook url used to access SwitchBot API
|
|
12
|
+
*/
|
|
13
|
+
export declare const setupWebhook = "https://api.switch-bot.com/v1.1/webhook/setupWebhook";
|
|
14
|
+
/**
|
|
15
|
+
* This is the updateWebhook url used to access SwitchBot API
|
|
16
|
+
*/
|
|
17
|
+
export declare const queryWebhook = "https://api.switch-bot.com/v1.1/webhook/queryWebhook";
|
|
18
|
+
/**
|
|
19
|
+
* This is the updateWebhook url used to access SwitchBot API
|
|
20
|
+
*/
|
|
21
|
+
export declare const updateWebhook = "https://api.switch-bot.com/v1.1/webhook/updateWebhook";
|
|
22
|
+
/**
|
|
23
|
+
* This is the deleteWebhook url used to access SwitchBot API
|
|
24
|
+
*/
|
|
25
|
+
export declare const deleteWebhook = "https://api.switch-bot.com/v1.1/webhook/deleteWebhook";
|
|
26
|
+
/**
|
|
27
|
+
* constants used to access SwitchBot BLE API
|
|
28
|
+
*/
|
|
6
29
|
export declare const SERV_UUID_PRIMARY = "cba20d00224d11e69fb80002a5d5c51b";
|
|
7
30
|
export declare const CHAR_UUID_WRITE = "cba20002224d11e69fb80002a5d5c51b";
|
|
8
31
|
export declare const CHAR_UUID_NOTIFY = "cba20003224d11e69fb80002a5d5c51b";
|
package/dist/settings.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,qCAAqC,CAAA;AACnE,eAAO,MAAM,eAAe,qCAAqC,CAAA;AACjE,eAAO,MAAM,gBAAgB,qCAAqC,CAAA;AAClE,eAAO,MAAM,gBAAgB,SAAS,CAAA;AAEtC,eAAO,MAAM,iBAAiB,OAAO,CAAA;AACrC,eAAO,MAAM,kBAAkB,OAAO,CAAA;AACtC,eAAO,MAAM,oBAAoB,OAAO,CAAA;AAExC,oBAAY,sBAAsB;IAChC,QAAQ,aAAa;IACrB,SAAS,eAAe;IACxB,MAAM,qBAAqB;IAC3B,iBAAiB,qBAAqB;IACtC,IAAI,qBAAqB;IACzB,oBAAoB,uBAAuB;IAC3C,qBAAqB,WAAW;CACjC;AAED,oBAAY,mBAAmB;IAC7B,QAAQ,aAAa;IACrB,SAAS,eAAe;IACxB,MAAM,mBAAmB;IACzB,iBAAiB,mBAAmB;IACpC,IAAI,mBAAmB;IACvB,oBAAoB,uBAAuB;IAC3C,qBAAqB,WAAW;CACjC"}
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,eAAO,MAAM,OAAO,4CAA4C,CAAA;AAEhE;;GAEG;AACH,eAAO,MAAM,YAAY,yDAAyD,CAAA;AAElF;;GAEG;AACH,eAAO,MAAM,YAAY,yDAAyD,CAAA;AAElF;;GAEG;AACH,eAAO,MAAM,aAAa,0DAA0D,CAAA;AAEpF;;GAEG;AACH,eAAO,MAAM,aAAa,0DAA0D,CAAA;AAEpF;;GAEG;AACH,eAAO,MAAM,iBAAiB,qCAAqC,CAAA;AACnE,eAAO,MAAM,eAAe,qCAAqC,CAAA;AACjE,eAAO,MAAM,gBAAgB,qCAAqC,CAAA;AAClE,eAAO,MAAM,gBAAgB,SAAS,CAAA;AAEtC,eAAO,MAAM,iBAAiB,OAAO,CAAA;AACrC,eAAO,MAAM,kBAAkB,OAAO,CAAA;AACtC,eAAO,MAAM,oBAAoB,OAAO,CAAA;AAExC,oBAAY,sBAAsB;IAChC,QAAQ,aAAa;IACrB,SAAS,eAAe;IACxB,MAAM,qBAAqB;IAC3B,iBAAiB,qBAAqB;IACtC,IAAI,qBAAqB;IACzB,oBAAoB,uBAAuB;IAC3C,qBAAqB,WAAW;CACjC;AAED,oBAAY,mBAAmB;IAC7B,QAAQ,aAAa;IACrB,SAAS,eAAe;IACxB,MAAM,mBAAmB;IACzB,iBAAiB,mBAAmB;IACpC,IAAI,mBAAmB;IACvB,oBAAoB,uBAAuB;IAC3C,qBAAqB,WAAW;CACjC"}
|
package/dist/settings.js
CHANGED
|
@@ -3,6 +3,29 @@
|
|
|
3
3
|
*
|
|
4
4
|
* © 2024, donavanbecker (https://github.com/donavanbecker). All rights reserved.
|
|
5
5
|
*/
|
|
6
|
+
/**
|
|
7
|
+
* This is the main url used to access SwitchBot API
|
|
8
|
+
*/
|
|
9
|
+
export const Devices = 'https://api.switch-bot.com/v1.1/devices';
|
|
10
|
+
/**
|
|
11
|
+
* This is the updateWebhook url used to access SwitchBot API
|
|
12
|
+
*/
|
|
13
|
+
export const setupWebhook = 'https://api.switch-bot.com/v1.1/webhook/setupWebhook';
|
|
14
|
+
/**
|
|
15
|
+
* This is the updateWebhook url used to access SwitchBot API
|
|
16
|
+
*/
|
|
17
|
+
export const queryWebhook = 'https://api.switch-bot.com/v1.1/webhook/queryWebhook';
|
|
18
|
+
/**
|
|
19
|
+
* This is the updateWebhook url used to access SwitchBot API
|
|
20
|
+
*/
|
|
21
|
+
export const updateWebhook = 'https://api.switch-bot.com/v1.1/webhook/updateWebhook';
|
|
22
|
+
/**
|
|
23
|
+
* This is the deleteWebhook url used to access SwitchBot API
|
|
24
|
+
*/
|
|
25
|
+
export const deleteWebhook = 'https://api.switch-bot.com/v1.1/webhook/deleteWebhook';
|
|
26
|
+
/**
|
|
27
|
+
* constants used to access SwitchBot BLE API
|
|
28
|
+
*/
|
|
6
29
|
export const SERV_UUID_PRIMARY = 'cba20d00224d11e69fb80002a5d5c51b';
|
|
7
30
|
export const CHAR_UUID_WRITE = 'cba20002224d11e69fb80002a5d5c51b';
|
|
8
31
|
export const CHAR_UUID_NOTIFY = 'cba20003224d11e69fb80002a5d5c51b';
|
package/dist/settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,kCAAkC,CAAA;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,kCAAkC,CAAA;AACjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,kCAAkC,CAAA;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAA;AAEtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAA;AACrC,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAA;AACtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAA;AAExC,MAAM,CAAN,IAAY,sBAQX;AARD,WAAY,sBAAsB;IAChC,+CAAqB,CAAA;IACrB,kDAAwB,CAAA;IACxB,qDAA2B,CAAA;IAC3B,gEAAsC,CAAA;IACtC,mDAAyB,CAAA;IACzB,qEAA2C,CAAA;IAC3C,0DAAgC,CAAA;AAClC,CAAC,EARW,sBAAsB,KAAtB,sBAAsB,QAQjC;AAED,MAAM,CAAN,IAAY,mBAQX;AARD,WAAY,mBAAmB;IAC7B,4CAAqB,CAAA;IACrB,+CAAwB,CAAA;IACxB,gDAAyB,CAAA;IACzB,2DAAoC,CAAA;IACpC,8CAAuB,CAAA;IACvB,kEAA2C,CAAA;IAC3C,uDAAgC,CAAA;AAClC,CAAC,EARW,mBAAmB,KAAnB,mBAAmB,QAQ9B"}
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,yCAAyC,CAAA;AAEhE;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,sDAAsD,CAAA;AAElF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,sDAAsD,CAAA;AAElF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,uDAAuD,CAAA;AAEpF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,uDAAuD,CAAA;AAEpF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,kCAAkC,CAAA;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,kCAAkC,CAAA;AACjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,kCAAkC,CAAA;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAA;AAEtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAA;AACrC,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAA;AACtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAA;AAExC,MAAM,CAAN,IAAY,sBAQX;AARD,WAAY,sBAAsB;IAChC,+CAAqB,CAAA;IACrB,kDAAwB,CAAA;IACxB,qDAA2B,CAAA;IAC3B,gEAAsC,CAAA;IACtC,mDAAyB,CAAA;IACzB,qEAA2C,CAAA;IAC3C,0DAAgC,CAAA;AAClC,CAAC,EARW,sBAAsB,KAAtB,sBAAsB,QAQjC;AAED,MAAM,CAAN,IAAY,mBAQX;AARD,WAAY,mBAAmB;IAC7B,4CAAqB,CAAA;IACrB,+CAAwB,CAAA;IACxB,gDAAyB,CAAA;IACzB,2DAAoC,CAAA;IACpC,8CAAuB,CAAA;IACvB,kEAA2C,CAAA;IAC3C,uDAAgC,CAAA;AAClC,CAAC,EARW,mBAAmB,KAAnB,mBAAmB,QAQ9B"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { EventEmitter } from 'node:events';
|
|
2
|
+
import { createServer } from 'node:http';
|
|
3
|
+
import { LogLevel } from './types/types.js';
|
|
4
|
+
/**
|
|
5
|
+
* SwitchBotOpenAPI class to interact with SwitchBot devices via OpenAPI.
|
|
6
|
+
*/
|
|
7
|
+
export declare class SwitchBotOpenAPI extends EventEmitter {
|
|
8
|
+
private token;
|
|
9
|
+
private secret;
|
|
10
|
+
private baseURL;
|
|
11
|
+
webhookEventListener?: ReturnType<typeof createServer>;
|
|
12
|
+
constructor(token: string, secret: string);
|
|
13
|
+
/**
|
|
14
|
+
* Set the log level.
|
|
15
|
+
* @param level The log level to set.
|
|
16
|
+
*/
|
|
17
|
+
setLogLevel(level: LogLevel): void;
|
|
18
|
+
/**
|
|
19
|
+
* Get a list of devices.
|
|
20
|
+
*/
|
|
21
|
+
getDevices(): Promise<any>;
|
|
22
|
+
generateHeaders: () => {
|
|
23
|
+
Authorization: string;
|
|
24
|
+
sign: string;
|
|
25
|
+
nonce: `${string}-${string}-${string}-${string}-${string}`;
|
|
26
|
+
t: string;
|
|
27
|
+
'Content-Type': string;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Control a device.
|
|
31
|
+
* @param deviceId The ID of the device to control.
|
|
32
|
+
* @param command The command to send to the device.
|
|
33
|
+
* @param parameter The parameter for the command.
|
|
34
|
+
* @param commandType The type of command (e.g., "command", "customize").
|
|
35
|
+
*/
|
|
36
|
+
controlDevice(deviceId: string, command: string, parameter: string, commandType?: string): Promise<any>;
|
|
37
|
+
/**
|
|
38
|
+
* Get the status of a device.
|
|
39
|
+
* @param deviceId The ID of the device.
|
|
40
|
+
*/
|
|
41
|
+
getDeviceStatus(deviceId: string): Promise<any>;
|
|
42
|
+
/**
|
|
43
|
+
* Setup webhook for receiving events.
|
|
44
|
+
* @param url The webhook URL.
|
|
45
|
+
*/
|
|
46
|
+
setupWebhook(url: string): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Update webhook configuration.
|
|
49
|
+
* @param url The webhook URL.
|
|
50
|
+
*/
|
|
51
|
+
updateWebhook(url: string): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* Query webhook configuration.
|
|
54
|
+
*/
|
|
55
|
+
queryWebhook(): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Delete webhook configuration.
|
|
58
|
+
* @param url The webhook URL.
|
|
59
|
+
*/
|
|
60
|
+
deleteWebhook(url: string): Promise<void>;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=switchbot-openapi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switchbot-openapi.d.ts","sourceRoot":"","sources":["../src/switchbot-openapi.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAMxC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAK3C;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,OAAO,CAAQ;IAEvB,oBAAoB,CAAC,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA;gBAE1C,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAOzC;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAIlC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC;IAWhC,eAAe;;;;;;MAiBd;IAED;;;;;;OAMG;IACG,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAE,MAAkB,GAAG,OAAO,CAAC,GAAG,CAAC;IAkBxH;;;OAGG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAarD;;;OAGG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuD9C;;;OAGG;IACG,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB/C;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBnC;;;OAGG;IACG,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAqBhD"}
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import { Buffer } from 'node:buffer';
|
|
2
|
+
import crypto, { randomUUID } from 'node:crypto';
|
|
3
|
+
import { EventEmitter } from 'node:events';
|
|
4
|
+
import { createServer } from 'node:http';
|
|
5
|
+
import log from 'loglevel';
|
|
6
|
+
import { request } from 'undici';
|
|
7
|
+
import { deleteWebhook, Devices, queryWebhook, setupWebhook, updateWebhook } from './settings.js';
|
|
8
|
+
import { LogLevel } from './types/types.js';
|
|
9
|
+
// Set the default log level (can be adjusted as needed)
|
|
10
|
+
log.setLevel(LogLevel.INFO);
|
|
11
|
+
/**
|
|
12
|
+
* SwitchBotOpenAPI class to interact with SwitchBot devices via OpenAPI.
|
|
13
|
+
*/
|
|
14
|
+
export class SwitchBotOpenAPI extends EventEmitter {
|
|
15
|
+
token;
|
|
16
|
+
secret;
|
|
17
|
+
baseURL;
|
|
18
|
+
webhookEventListener;
|
|
19
|
+
constructor(token, secret) {
|
|
20
|
+
super();
|
|
21
|
+
this.token = token;
|
|
22
|
+
this.secret = secret;
|
|
23
|
+
this.baseURL = 'https://api.switch-bot.com/v1.0';
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Set the log level.
|
|
27
|
+
* @param level The log level to set.
|
|
28
|
+
*/
|
|
29
|
+
setLogLevel(level) {
|
|
30
|
+
log.setLevel(level);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Get a list of devices.
|
|
34
|
+
*/
|
|
35
|
+
async getDevices() {
|
|
36
|
+
try {
|
|
37
|
+
const { body, statusCode } = await request(Devices, { headers: this.generateHeaders() });
|
|
38
|
+
const responseBody = await body.json();
|
|
39
|
+
return { responseBody, statusCode };
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
log.error(`Failed to get devices: ${error.message}`);
|
|
43
|
+
throw new Error(`Failed to get devices: ${error.message}`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
generateHeaders = () => {
|
|
47
|
+
const t = `${Date.now()}`;
|
|
48
|
+
const nonce = randomUUID();
|
|
49
|
+
const data = this.token + t + nonce;
|
|
50
|
+
const signTerm = crypto
|
|
51
|
+
.createHmac('sha256', this.secret)
|
|
52
|
+
.update(Buffer.from(data, 'utf-8'))
|
|
53
|
+
.digest();
|
|
54
|
+
const sign = signTerm.toString('base64');
|
|
55
|
+
return {
|
|
56
|
+
'Authorization': this.token,
|
|
57
|
+
'sign': sign,
|
|
58
|
+
'nonce': nonce,
|
|
59
|
+
't': t,
|
|
60
|
+
'Content-Type': 'application/json',
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Control a device.
|
|
65
|
+
* @param deviceId The ID of the device to control.
|
|
66
|
+
* @param command The command to send to the device.
|
|
67
|
+
* @param parameter The parameter for the command.
|
|
68
|
+
* @param commandType The type of command (e.g., "command", "customize").
|
|
69
|
+
*/
|
|
70
|
+
async controlDevice(deviceId, command, parameter, commandType = 'command') {
|
|
71
|
+
try {
|
|
72
|
+
const { body } = await request(`${this.baseURL}/devices/${deviceId}/commands`, {
|
|
73
|
+
method: 'POST',
|
|
74
|
+
headers: this.generateHeaders(),
|
|
75
|
+
body: JSON.stringify({
|
|
76
|
+
command,
|
|
77
|
+
parameter,
|
|
78
|
+
commandType,
|
|
79
|
+
}),
|
|
80
|
+
});
|
|
81
|
+
return body.json();
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
log.error(`Failed to control device: ${error.message}`);
|
|
85
|
+
throw new Error(`Failed to control device: ${error.message}`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Get the status of a device.
|
|
90
|
+
* @param deviceId The ID of the device.
|
|
91
|
+
*/
|
|
92
|
+
async getDeviceStatus(deviceId) {
|
|
93
|
+
try {
|
|
94
|
+
const { body } = await request(`${this.baseURL}/devices/${deviceId}/status`, {
|
|
95
|
+
method: 'GET',
|
|
96
|
+
headers: this.generateHeaders(),
|
|
97
|
+
});
|
|
98
|
+
return body.json();
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
log.error(`Failed to get device status: ${error.message}`);
|
|
102
|
+
throw new Error(`Failed to get device status: ${error.message}`);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Setup webhook for receiving events.
|
|
107
|
+
* @param url The webhook URL.
|
|
108
|
+
*/
|
|
109
|
+
async setupWebhook(url) {
|
|
110
|
+
try {
|
|
111
|
+
const xurl = new URL(url);
|
|
112
|
+
const port = Number(xurl.port) || 80;
|
|
113
|
+
const path = xurl.pathname;
|
|
114
|
+
this.webhookEventListener = createServer((request, response) => {
|
|
115
|
+
if (request.url === path && request.method === 'POST') {
|
|
116
|
+
let data = '';
|
|
117
|
+
request.on('data', (chunk) => {
|
|
118
|
+
data += chunk;
|
|
119
|
+
});
|
|
120
|
+
request.on('end', async () => {
|
|
121
|
+
try {
|
|
122
|
+
const body = JSON.parse(data);
|
|
123
|
+
log.info(`Received Webhook: ${JSON.stringify(body)}`);
|
|
124
|
+
// Emit the webhook event
|
|
125
|
+
this.emit('webhookEvent', body);
|
|
126
|
+
response.writeHead(200, { 'Content-Type': 'text/plain' });
|
|
127
|
+
response.end('OK');
|
|
128
|
+
}
|
|
129
|
+
catch (e) {
|
|
130
|
+
log.error(`Failed to handle webhook event. Error: ${e.message}`);
|
|
131
|
+
response.writeHead(500, { 'Content-Type': 'text/plain' });
|
|
132
|
+
response.end('Internal Server Error');
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
response.writeHead(403, { 'Content-Type': 'text/plain' });
|
|
138
|
+
response.end('NG');
|
|
139
|
+
}
|
|
140
|
+
}).listen(port);
|
|
141
|
+
const { body, statusCode } = await request(setupWebhook, {
|
|
142
|
+
method: 'POST',
|
|
143
|
+
headers: this.generateHeaders(),
|
|
144
|
+
body: JSON.stringify({
|
|
145
|
+
action: 'setupWebhook',
|
|
146
|
+
url,
|
|
147
|
+
deviceList: 'ALL',
|
|
148
|
+
}),
|
|
149
|
+
});
|
|
150
|
+
const response = await body.json();
|
|
151
|
+
log.info(`setupWebhook: url:${url}, body:${JSON.stringify(response)}, statusCode:${statusCode}`);
|
|
152
|
+
if (statusCode !== 200 || response?.statusCode !== 100) {
|
|
153
|
+
log.error(`Failed to configure webhook. HTTP:${statusCode} API:${response?.statusCode} message:${response?.message}`);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
catch (e) {
|
|
157
|
+
log.error(`Failed to configure webhook. Error: ${e.message}`);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Update webhook configuration.
|
|
162
|
+
* @param url The webhook URL.
|
|
163
|
+
*/
|
|
164
|
+
async updateWebhook(url) {
|
|
165
|
+
try {
|
|
166
|
+
const { body, statusCode } = await request(updateWebhook, {
|
|
167
|
+
method: 'POST',
|
|
168
|
+
headers: this.generateHeaders(),
|
|
169
|
+
body: JSON.stringify({
|
|
170
|
+
action: 'updateWebhook',
|
|
171
|
+
config: {
|
|
172
|
+
url,
|
|
173
|
+
enable: true,
|
|
174
|
+
},
|
|
175
|
+
}),
|
|
176
|
+
});
|
|
177
|
+
const response = await body.json();
|
|
178
|
+
log.info(`updateWebhook: url:${url}, body:${JSON.stringify(response)}, statusCode:${statusCode}`);
|
|
179
|
+
if (statusCode !== 200 || response?.statusCode !== 100) {
|
|
180
|
+
log.error(`Failed to update webhook. HTTP:${statusCode} API:${response?.statusCode} message:${response?.message}`);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
catch (e) {
|
|
184
|
+
log.error(`Failed to update webhook. Error: ${e.message}`);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Query webhook configuration.
|
|
189
|
+
*/
|
|
190
|
+
async queryWebhook() {
|
|
191
|
+
try {
|
|
192
|
+
const { body, statusCode } = await request(queryWebhook, {
|
|
193
|
+
method: 'POST',
|
|
194
|
+
headers: this.generateHeaders(),
|
|
195
|
+
body: JSON.stringify({
|
|
196
|
+
action: 'queryUrl',
|
|
197
|
+
}),
|
|
198
|
+
});
|
|
199
|
+
const response = await body.json();
|
|
200
|
+
log.info(`queryWebhook: body:${JSON.stringify(response)}`);
|
|
201
|
+
log.info(`queryWebhook: statusCode:${statusCode}`);
|
|
202
|
+
if (statusCode !== 200 || response?.statusCode !== 100) {
|
|
203
|
+
log.error(`Failed to query webhook. HTTP:${statusCode} API:${response?.statusCode} message:${response?.message}`);
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
log.info(`Listening webhook on ${response?.body?.urls?.[0]}`);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
catch (e) {
|
|
210
|
+
log.error(`Failed to query webhook. Error: ${e.message}`);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Delete webhook configuration.
|
|
215
|
+
* @param url The webhook URL.
|
|
216
|
+
*/
|
|
217
|
+
async deleteWebhook(url) {
|
|
218
|
+
try {
|
|
219
|
+
const { body, statusCode } = await request(deleteWebhook, {
|
|
220
|
+
method: 'POST',
|
|
221
|
+
headers: this.generateHeaders(),
|
|
222
|
+
body: JSON.stringify({
|
|
223
|
+
action: 'deleteWebhook',
|
|
224
|
+
url,
|
|
225
|
+
}),
|
|
226
|
+
});
|
|
227
|
+
const response = await body.json();
|
|
228
|
+
log.info(`deleteWebhook: url:${url}, body:${JSON.stringify(response)}, statusCode:${statusCode}`);
|
|
229
|
+
if (statusCode !== 200 || response?.statusCode !== 100) {
|
|
230
|
+
log.error(`Failed to delete webhook. HTTP:${statusCode} API:${response?.statusCode} message:${response?.message}`);
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
log.info('Unregistered webhook to close listening.');
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
catch (e) {
|
|
237
|
+
log.error(`Failed to delete webhook. Error: ${e.message}`);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
//# sourceMappingURL=switchbot-openapi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switchbot-openapi.js","sourceRoot":"","sources":["../src/switchbot-openapi.ts"],"names":[],"mappings":"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"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -165,5 +165,24 @@ export interface AdvertisementData {
|
|
|
165
165
|
serviceData: Buffer | null;
|
|
166
166
|
manufacturerData: Buffer | null;
|
|
167
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* Interface for API response.
|
|
170
|
+
*/
|
|
171
|
+
export interface ApiResponse {
|
|
172
|
+
statusCode?: number;
|
|
173
|
+
message?: string;
|
|
174
|
+
body?: {
|
|
175
|
+
urls?: string[];
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Enum for log levels.
|
|
180
|
+
*/
|
|
181
|
+
export declare enum LogLevel {
|
|
182
|
+
ERROR = "error",
|
|
183
|
+
WARN = "warn",
|
|
184
|
+
INFO = "info",
|
|
185
|
+
DEBUG = "debug"
|
|
186
|
+
}
|
|
168
187
|
export {};
|
|
169
188
|
//# 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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"}
|
package/dist/types/types.js
CHANGED
|
@@ -107,4 +107,14 @@ export var SwitchBotBLEModelFriendlyName;
|
|
|
107
107
|
SwitchBotBLEModelFriendlyName["CeilingLightPro"] = "Ceiling Light Pro";
|
|
108
108
|
SwitchBotBLEModelFriendlyName["Unknown"] = "Unknown";
|
|
109
109
|
})(SwitchBotBLEModelFriendlyName || (SwitchBotBLEModelFriendlyName = {}));
|
|
110
|
+
/**
|
|
111
|
+
* Enum for log levels.
|
|
112
|
+
*/
|
|
113
|
+
export var LogLevel;
|
|
114
|
+
(function (LogLevel) {
|
|
115
|
+
LogLevel["ERROR"] = "error";
|
|
116
|
+
LogLevel["WARN"] = "warn";
|
|
117
|
+
LogLevel["INFO"] = "info";
|
|
118
|
+
LogLevel["DEBUG"] = "debug";
|
|
119
|
+
})(LogLevel || (LogLevel = {}));
|
|
110
120
|
//# sourceMappingURL=types.js.map
|
package/dist/types/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"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"}
|
|
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.
|
|
4
|
+
"version": "2.5.0-beta.18",
|
|
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",
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
"Bluetooth"
|
|
28
28
|
],
|
|
29
29
|
"main": "dist/index.js",
|
|
30
|
+
"types": "dist/index.d.ts",
|
|
30
31
|
"engines": {
|
|
31
32
|
"node": "^18 || ^20 || ^22"
|
|
32
33
|
},
|
|
@@ -47,13 +48,15 @@
|
|
|
47
48
|
},
|
|
48
49
|
"readmeFilename": "README.md",
|
|
49
50
|
"dependencies": {
|
|
51
|
+
"@stoprocent/noble": "^1.15.0",
|
|
50
52
|
"@types/sinon": "^17.0.3",
|
|
51
53
|
"async-mutex": "^0.5.0",
|
|
52
|
-
"
|
|
54
|
+
"loglevel": "^1.9.2",
|
|
55
|
+
"sinon": "^19.0.2",
|
|
56
|
+
"undici": "^6.19.8"
|
|
53
57
|
},
|
|
54
58
|
"optionalDependencies": {
|
|
55
|
-
"@stoprocent/bluetooth-hci-socket": "^1.4.0"
|
|
56
|
-
"@stoprocent/noble": "^1.15.0"
|
|
59
|
+
"@stoprocent/bluetooth-hci-socket": "^1.4.0"
|
|
57
60
|
},
|
|
58
61
|
"devDependencies": {
|
|
59
62
|
"@antfu/eslint-config": "^3.7.3",
|