node-switchbot 2.5.0-beta.19 → 2.5.0-beta.20
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.
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { EventEmitter } from 'node:events';
|
|
2
2
|
import { createServer } from 'node:http';
|
|
3
|
-
import { LogLevel } from './types/types.js';
|
|
4
3
|
/**
|
|
5
4
|
* SwitchBotOpenAPI class to interact with SwitchBot devices via OpenAPI.
|
|
6
5
|
*/
|
|
@@ -11,21 +10,16 @@ export declare class SwitchBotOpenAPI extends EventEmitter {
|
|
|
11
10
|
webhookEventListener?: ReturnType<typeof createServer>;
|
|
12
11
|
constructor(token: string, secret: string);
|
|
13
12
|
/**
|
|
14
|
-
*
|
|
15
|
-
* @param level The log level
|
|
13
|
+
* Emit a log event.
|
|
14
|
+
* @param level The log level.
|
|
15
|
+
* @param message The log message.
|
|
16
16
|
*/
|
|
17
|
-
|
|
17
|
+
private emitLog;
|
|
18
18
|
/**
|
|
19
19
|
* Get a list of devices.
|
|
20
20
|
*/
|
|
21
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
|
-
};
|
|
22
|
+
private generateHeaders;
|
|
29
23
|
/**
|
|
30
24
|
* Control a device.
|
|
31
25
|
* @param deviceId The ID of the device to control.
|
|
@@ -1 +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
|
|
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;;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;;;;OAIG;IACH,OAAO,CAAC,OAAO;IAIf;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC;IAWhC,OAAO,CAAC,eAAe,CAiBtB;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"}
|
|
@@ -2,12 +2,8 @@ import { Buffer } from 'node:buffer';
|
|
|
2
2
|
import crypto, { randomUUID } from 'node:crypto';
|
|
3
3
|
import { EventEmitter } from 'node:events';
|
|
4
4
|
import { createServer } from 'node:http';
|
|
5
|
-
import log from 'loglevel';
|
|
6
5
|
import { request } from 'undici';
|
|
7
6
|
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
7
|
/**
|
|
12
8
|
* SwitchBotOpenAPI class to interact with SwitchBot devices via OpenAPI.
|
|
13
9
|
*/
|
|
@@ -23,11 +19,12 @@ export class SwitchBotOpenAPI extends EventEmitter {
|
|
|
23
19
|
this.baseURL = 'https://api.switch-bot.com/v1.0';
|
|
24
20
|
}
|
|
25
21
|
/**
|
|
26
|
-
*
|
|
27
|
-
* @param level The log level
|
|
22
|
+
* Emit a log event.
|
|
23
|
+
* @param level The log level.
|
|
24
|
+
* @param message The log message.
|
|
28
25
|
*/
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
emitLog(level, message) {
|
|
27
|
+
this.emit('log', { level, message });
|
|
31
28
|
}
|
|
32
29
|
/**
|
|
33
30
|
* Get a list of devices.
|
|
@@ -39,7 +36,7 @@ export class SwitchBotOpenAPI extends EventEmitter {
|
|
|
39
36
|
return { responseBody, statusCode };
|
|
40
37
|
}
|
|
41
38
|
catch (error) {
|
|
42
|
-
|
|
39
|
+
this.emitLog('error', `Failed to get devices: ${error.message}`);
|
|
43
40
|
throw new Error(`Failed to get devices: ${error.message}`);
|
|
44
41
|
}
|
|
45
42
|
}
|
|
@@ -81,7 +78,7 @@ export class SwitchBotOpenAPI extends EventEmitter {
|
|
|
81
78
|
return body.json();
|
|
82
79
|
}
|
|
83
80
|
catch (error) {
|
|
84
|
-
|
|
81
|
+
this.emitLog('error', `Failed to control device: ${error.message}`);
|
|
85
82
|
throw new Error(`Failed to control device: ${error.message}`);
|
|
86
83
|
}
|
|
87
84
|
}
|
|
@@ -98,7 +95,7 @@ export class SwitchBotOpenAPI extends EventEmitter {
|
|
|
98
95
|
return body.json();
|
|
99
96
|
}
|
|
100
97
|
catch (error) {
|
|
101
|
-
|
|
98
|
+
this.emitLog('error', `Failed to get device status: ${error.message}`);
|
|
102
99
|
throw new Error(`Failed to get device status: ${error.message}`);
|
|
103
100
|
}
|
|
104
101
|
}
|
|
@@ -120,14 +117,14 @@ export class SwitchBotOpenAPI extends EventEmitter {
|
|
|
120
117
|
request.on('end', async () => {
|
|
121
118
|
try {
|
|
122
119
|
const body = JSON.parse(data);
|
|
123
|
-
|
|
120
|
+
this.emitLog('debug', `Received Webhook: ${JSON.stringify(body)}`);
|
|
124
121
|
// Emit the webhook event
|
|
125
122
|
this.emit('webhookEvent', body);
|
|
126
123
|
response.writeHead(200, { 'Content-Type': 'text/plain' });
|
|
127
124
|
response.end('OK');
|
|
128
125
|
}
|
|
129
126
|
catch (e) {
|
|
130
|
-
|
|
127
|
+
this.emitLog('error', `Failed to handle webhook event. Error: ${e.message}`);
|
|
131
128
|
response.writeHead(500, { 'Content-Type': 'text/plain' });
|
|
132
129
|
response.end('Internal Server Error');
|
|
133
130
|
}
|
|
@@ -148,13 +145,13 @@ export class SwitchBotOpenAPI extends EventEmitter {
|
|
|
148
145
|
}),
|
|
149
146
|
});
|
|
150
147
|
const response = await body.json();
|
|
151
|
-
|
|
148
|
+
this.emitLog('info', `setupWebhook: url:${url}, body:${JSON.stringify(response)}, statusCode:${statusCode}`);
|
|
152
149
|
if (statusCode !== 200 || response?.statusCode !== 100) {
|
|
153
|
-
|
|
150
|
+
this.emitLog('error', `Failed to configure webhook. HTTP:${statusCode} API:${response?.statusCode} message:${response?.message}`);
|
|
154
151
|
}
|
|
155
152
|
}
|
|
156
153
|
catch (e) {
|
|
157
|
-
|
|
154
|
+
this.emitLog('error', `Failed to configure webhook. Error: ${e.message}`);
|
|
158
155
|
}
|
|
159
156
|
}
|
|
160
157
|
/**
|
|
@@ -175,13 +172,13 @@ export class SwitchBotOpenAPI extends EventEmitter {
|
|
|
175
172
|
}),
|
|
176
173
|
});
|
|
177
174
|
const response = await body.json();
|
|
178
|
-
|
|
175
|
+
this.emitLog('info', `updateWebhook: url:${url}, body:${JSON.stringify(response)}, statusCode:${statusCode}`);
|
|
179
176
|
if (statusCode !== 200 || response?.statusCode !== 100) {
|
|
180
|
-
|
|
177
|
+
this.emitLog('error', `Failed to update webhook. HTTP:${statusCode} API:${response?.statusCode} message:${response?.message}`);
|
|
181
178
|
}
|
|
182
179
|
}
|
|
183
180
|
catch (e) {
|
|
184
|
-
|
|
181
|
+
this.emitLog('error', `Failed to update webhook. Error: ${e.message}`);
|
|
185
182
|
}
|
|
186
183
|
}
|
|
187
184
|
/**
|
|
@@ -197,17 +194,17 @@ export class SwitchBotOpenAPI extends EventEmitter {
|
|
|
197
194
|
}),
|
|
198
195
|
});
|
|
199
196
|
const response = await body.json();
|
|
200
|
-
|
|
201
|
-
|
|
197
|
+
this.emitLog('info', `queryWebhook: body:${JSON.stringify(response)}`);
|
|
198
|
+
this.emitLog('info', `queryWebhook: statusCode:${statusCode}`);
|
|
202
199
|
if (statusCode !== 200 || response?.statusCode !== 100) {
|
|
203
|
-
|
|
200
|
+
this.emitLog('error', `Failed to query webhook. HTTP:${statusCode} API:${response?.statusCode} message:${response?.message}`);
|
|
204
201
|
}
|
|
205
202
|
else {
|
|
206
|
-
|
|
203
|
+
this.emitLog('info', `Listening webhook on ${response?.body?.urls?.[0]}`);
|
|
207
204
|
}
|
|
208
205
|
}
|
|
209
206
|
catch (e) {
|
|
210
|
-
|
|
207
|
+
this.emitLog('error', `Failed to query webhook. Error: ${e.message}`);
|
|
211
208
|
}
|
|
212
209
|
}
|
|
213
210
|
/**
|
|
@@ -225,16 +222,16 @@ export class SwitchBotOpenAPI extends EventEmitter {
|
|
|
225
222
|
}),
|
|
226
223
|
});
|
|
227
224
|
const response = await body.json();
|
|
228
|
-
|
|
225
|
+
this.emitLog('info', `deleteWebhook: url:${url}, body:${JSON.stringify(response)}, statusCode:${statusCode}`);
|
|
229
226
|
if (statusCode !== 200 || response?.statusCode !== 100) {
|
|
230
|
-
|
|
227
|
+
this.emitLog('error', `Failed to delete webhook. HTTP:${statusCode} API:${response?.statusCode} message:${response?.message}`);
|
|
231
228
|
}
|
|
232
229
|
else {
|
|
233
|
-
|
|
230
|
+
this.emitLog('info', 'Unregistered webhook to close listening.');
|
|
234
231
|
}
|
|
235
232
|
}
|
|
236
233
|
catch (e) {
|
|
237
|
-
|
|
234
|
+
this.emitLog('error', `Failed to delete webhook. Error: ${e.message}`);
|
|
238
235
|
}
|
|
239
236
|
}
|
|
240
237
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switchbot-openapi.js","sourceRoot":"","sources":["../src/switchbot-openapi.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,
|
|
1
|
+
{"version":3,"file":"switchbot-openapi.js","sourceRoot":"","sources":["../src/switchbot-openapi.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.20",
|
|
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",
|
|
@@ -51,7 +51,6 @@
|
|
|
51
51
|
"@stoprocent/noble": "^1.15.0",
|
|
52
52
|
"@types/sinon": "^17.0.3",
|
|
53
53
|
"async-mutex": "^0.5.0",
|
|
54
|
-
"loglevel": "^1.9.2",
|
|
55
54
|
"sinon": "^19.0.2",
|
|
56
55
|
"undici": "^6.19.8"
|
|
57
56
|
},
|