node-switchbot 2.5.0-beta.5 → 2.5.0-beta.7
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 +31 -20
- package/dist/advertising.d.ts.map +1 -1
- package/dist/advertising.js +72 -75
- package/dist/advertising.js.map +1 -1
- package/dist/device/wostrip.d.ts +35 -17
- package/dist/device/wostrip.d.ts.map +1 -1
- package/dist/device/wostrip.js +76 -123
- package/dist/device/wostrip.js.map +1 -1
- package/dist/device/wostrip.test.js +10 -10
- package/dist/device/wostrip.test.js.map +1 -1
- package/dist/switchbot.d.ts +1 -2
- package/dist/switchbot.d.ts.map +1 -1
- package/dist/switchbot.js.map +1 -1
- package/dist/types/types.d.ts +43 -120
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/types.js.map +1 -1
- package/package.json +1 -1
package/dist/advertising.d.ts
CHANGED
|
@@ -1,20 +1,8 @@
|
|
|
1
1
|
import type * as Noble from '@stoprocent/noble';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
export interface Ad {
|
|
8
|
-
id: string;
|
|
9
|
-
address: string;
|
|
10
|
-
rssi: number;
|
|
11
|
-
serviceData: ServiceData;
|
|
12
|
-
[key: string]: unknown;
|
|
13
|
-
}
|
|
14
|
-
export interface AdvertisementData {
|
|
15
|
-
serviceData: Buffer | null;
|
|
16
|
-
manufacturerData: Buffer | null;
|
|
17
|
-
}
|
|
2
|
+
import type { Ad } from './types/types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Represents the advertising data parser for SwitchBot devices.
|
|
5
|
+
*/
|
|
18
6
|
export declare class Advertising {
|
|
19
7
|
constructor();
|
|
20
8
|
/**
|
|
@@ -23,11 +11,34 @@ export declare class Advertising {
|
|
|
23
11
|
* This function processes advertising packets received from SwitchBot devices
|
|
24
12
|
* and extracts relevant information based on the device type.
|
|
25
13
|
*
|
|
26
|
-
* @param peripheral - The peripheral device object from noble.
|
|
27
|
-
* @param onlog - A logging function for debugging purposes.
|
|
28
|
-
* @returns An object containing parsed data specific to the SwitchBot device type, or `null` if the device is not recognized.
|
|
14
|
+
* @param {Noble.Peripheral} peripheral - The peripheral device object from noble.
|
|
15
|
+
* @param {(message: string) => void} [onlog] - A logging function for debugging purposes.
|
|
16
|
+
* @returns {Promise<Ad | null>} - An object containing parsed data specific to the SwitchBot device type, or `null` if the device is not recognized.
|
|
29
17
|
*/
|
|
30
18
|
static parse(peripheral: Noble.Peripheral, onlog?: (message: string) => void): Promise<Ad | null>;
|
|
19
|
+
/**
|
|
20
|
+
* Validates if the buffer is a valid Buffer object with a minimum length.
|
|
21
|
+
*
|
|
22
|
+
* @param {any} buffer - The buffer to validate.
|
|
23
|
+
* @returns {boolean} - True if the buffer is valid, false otherwise.
|
|
24
|
+
*/
|
|
25
|
+
private static validateBuffer;
|
|
26
|
+
/**
|
|
27
|
+
* Parses the service data based on the device model.
|
|
28
|
+
*
|
|
29
|
+
* @param {string} model - The device model.
|
|
30
|
+
* @param {Buffer} serviceData - The service data buffer.
|
|
31
|
+
* @param {Buffer} manufacturerData - The manufacturer data buffer.
|
|
32
|
+
* @param {(message: string) => void} [onlog] - A logging function for debugging purposes.
|
|
33
|
+
* @returns {Promise<any>} - The parsed service data.
|
|
34
|
+
*/
|
|
35
|
+
private static parseServiceData;
|
|
36
|
+
/**
|
|
37
|
+
* Formats the address of the peripheral.
|
|
38
|
+
*
|
|
39
|
+
* @param {Noble.Peripheral} peripheral - The peripheral device object from noble.
|
|
40
|
+
* @returns {string} - The formatted address.
|
|
41
|
+
*/
|
|
42
|
+
private static formatAddress;
|
|
31
43
|
}
|
|
32
|
-
export {};
|
|
33
44
|
//# 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,
|
|
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,KAAK,EAAE,EAAE,EAAe,MAAM,kBAAkB,CAAA;AAqBvD;;GAEG;AACH,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;IAgCrB;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAI7B;;;;;;;;OAQG;mBACkB,gBAAgB;IAkDrC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;CAY7B"}
|
package/dist/advertising.js
CHANGED
|
@@ -15,6 +15,9 @@ import { WoSmartLock } from './device/wosmartlock.js';
|
|
|
15
15
|
import { WoSmartLockPro } from './device/wosmartlockpro.js';
|
|
16
16
|
import { WoStrip } from './device/wostrip.js';
|
|
17
17
|
import { SwitchBotBLEModel } from './types/types.js';
|
|
18
|
+
/**
|
|
19
|
+
* Represents the advertising data parser for SwitchBot devices.
|
|
20
|
+
*/
|
|
18
21
|
export class Advertising {
|
|
19
22
|
constructor() { }
|
|
20
23
|
/**
|
|
@@ -23,122 +26,116 @@ export class Advertising {
|
|
|
23
26
|
* This function processes advertising packets received from SwitchBot devices
|
|
24
27
|
* and extracts relevant information based on the device type.
|
|
25
28
|
*
|
|
26
|
-
* @param peripheral - The peripheral device object from noble.
|
|
27
|
-
* @param onlog - A logging function for debugging purposes.
|
|
28
|
-
* @returns An object containing parsed data specific to the SwitchBot device type, or `null` if the device is not recognized.
|
|
29
|
+
* @param {Noble.Peripheral} peripheral - The peripheral device object from noble.
|
|
30
|
+
* @param {(message: string) => void} [onlog] - A logging function for debugging purposes.
|
|
31
|
+
* @returns {Promise<Ad | null>} - An object containing parsed data specific to the SwitchBot device type, or `null` if the device is not recognized.
|
|
29
32
|
*/
|
|
30
33
|
static async parse(peripheral, onlog) {
|
|
31
34
|
const ad = peripheral.advertisement;
|
|
32
35
|
if (!ad || !ad.serviceData) {
|
|
33
36
|
return null;
|
|
34
37
|
}
|
|
35
|
-
const
|
|
38
|
+
const serviceData = ad.serviceData[0]?.data;
|
|
36
39
|
const manufacturerData = ad.manufacturerData;
|
|
37
|
-
|
|
38
|
-
function validateBuffer(buffer) {
|
|
39
|
-
return buffer && Buffer.isBuffer(buffer) && buffer.length >= 3;
|
|
40
|
-
}
|
|
41
|
-
if (!validateBuffer(serviceData) || !validateBuffer(manufacturerData)) {
|
|
40
|
+
if (!Advertising.validateBuffer(serviceData) || !Advertising.validateBuffer(manufacturerData)) {
|
|
42
41
|
return null;
|
|
43
42
|
}
|
|
44
43
|
const model = serviceData.subarray(0, 1).toString('utf8');
|
|
45
|
-
|
|
44
|
+
const sd = await Advertising.parseServiceData(model, serviceData, manufacturerData, onlog);
|
|
45
|
+
if (!sd) {
|
|
46
|
+
onlog?.(`[parseAdvertising.${peripheral.id}.${model}] return null, parsed serviceData empty!`);
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
const address = Advertising.formatAddress(peripheral);
|
|
50
|
+
const data = {
|
|
51
|
+
id: peripheral.id,
|
|
52
|
+
address,
|
|
53
|
+
rssi: peripheral.rssi,
|
|
54
|
+
serviceData: { model, ...sd },
|
|
55
|
+
};
|
|
56
|
+
onlog?.(`[parseAdvertising.${peripheral.id}.${model}] return ${JSON.stringify(data)}`);
|
|
57
|
+
return data;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Validates if the buffer is a valid Buffer object with a minimum length.
|
|
61
|
+
*
|
|
62
|
+
* @param {any} buffer - The buffer to validate.
|
|
63
|
+
* @returns {boolean} - True if the buffer is valid, false otherwise.
|
|
64
|
+
*/
|
|
65
|
+
static validateBuffer(buffer) {
|
|
66
|
+
return buffer && Buffer.isBuffer(buffer) && buffer.length >= 3;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Parses the service data based on the device model.
|
|
70
|
+
*
|
|
71
|
+
* @param {string} model - The device model.
|
|
72
|
+
* @param {Buffer} serviceData - The service data buffer.
|
|
73
|
+
* @param {Buffer} manufacturerData - The manufacturer data buffer.
|
|
74
|
+
* @param {(message: string) => void} [onlog] - A logging function for debugging purposes.
|
|
75
|
+
* @returns {Promise<any>} - The parsed service data.
|
|
76
|
+
*/
|
|
77
|
+
static async parseServiceData(model, serviceData, manufacturerData, onlog) {
|
|
46
78
|
switch (model) {
|
|
47
79
|
case SwitchBotBLEModel.Bot:
|
|
48
|
-
|
|
49
|
-
break;
|
|
80
|
+
return WoHand.parseServiceData(serviceData, onlog);
|
|
50
81
|
case SwitchBotBLEModel.Curtain:
|
|
51
82
|
case SwitchBotBLEModel.Curtain3:
|
|
52
|
-
|
|
53
|
-
break;
|
|
83
|
+
return WoCurtain.parseServiceData(serviceData, manufacturerData, onlog);
|
|
54
84
|
case SwitchBotBLEModel.Humidifier:
|
|
55
|
-
|
|
56
|
-
break;
|
|
85
|
+
return WoHumi.parseServiceData(serviceData, onlog);
|
|
57
86
|
case SwitchBotBLEModel.Meter:
|
|
58
|
-
|
|
59
|
-
break;
|
|
87
|
+
return WoSensorTH.parseServiceData(serviceData, onlog);
|
|
60
88
|
case SwitchBotBLEModel.MeterPlus:
|
|
61
|
-
|
|
62
|
-
break;
|
|
89
|
+
return WoSensorTH.parseServiceData_Plus(serviceData, onlog);
|
|
63
90
|
case SwitchBotBLEModel.Hub2:
|
|
64
|
-
|
|
65
|
-
break;
|
|
91
|
+
return WoHub2.parseServiceData(manufacturerData, onlog);
|
|
66
92
|
case SwitchBotBLEModel.OutdoorMeter:
|
|
67
|
-
|
|
68
|
-
break;
|
|
93
|
+
return WoIOSensorTH.parseServiceData(serviceData, manufacturerData, onlog);
|
|
69
94
|
case SwitchBotBLEModel.MotionSensor:
|
|
70
|
-
|
|
71
|
-
break;
|
|
95
|
+
return WoPresence.parseServiceData(serviceData, onlog);
|
|
72
96
|
case SwitchBotBLEModel.ContactSensor:
|
|
73
|
-
|
|
74
|
-
break;
|
|
97
|
+
return WoContact.parseServiceData(serviceData, onlog);
|
|
75
98
|
case SwitchBotBLEModel.ColorBulb:
|
|
76
|
-
|
|
77
|
-
break;
|
|
99
|
+
return WoBulb.parseServiceData(serviceData, manufacturerData, onlog);
|
|
78
100
|
case SwitchBotBLEModel.CeilingLight:
|
|
79
|
-
|
|
80
|
-
break;
|
|
101
|
+
return WoCeilingLight.parseServiceData(manufacturerData, onlog);
|
|
81
102
|
case SwitchBotBLEModel.CeilingLightPro:
|
|
82
|
-
|
|
83
|
-
break;
|
|
103
|
+
return WoCeilingLight.parseServiceData_Pro(manufacturerData, onlog);
|
|
84
104
|
case SwitchBotBLEModel.StripLight:
|
|
85
|
-
|
|
86
|
-
break;
|
|
105
|
+
return WoStrip.parseServiceData(serviceData, onlog);
|
|
87
106
|
case SwitchBotBLEModel.PlugMiniUS:
|
|
88
|
-
|
|
89
|
-
break;
|
|
107
|
+
return WoPlugMini.parseServiceData_US(manufacturerData, onlog);
|
|
90
108
|
case SwitchBotBLEModel.PlugMiniJP:
|
|
91
|
-
|
|
92
|
-
break;
|
|
109
|
+
return WoPlugMini.parseServiceData_JP(manufacturerData, onlog);
|
|
93
110
|
case SwitchBotBLEModel.Lock:
|
|
94
|
-
|
|
95
|
-
break;
|
|
111
|
+
return WoSmartLock.parseServiceData(serviceData, manufacturerData, onlog);
|
|
96
112
|
case SwitchBotBLEModel.LockPro:
|
|
97
|
-
|
|
98
|
-
break;
|
|
113
|
+
return WoSmartLockPro.parseServiceData(serviceData, manufacturerData, onlog);
|
|
99
114
|
case SwitchBotBLEModel.BlindTilt:
|
|
100
|
-
|
|
101
|
-
break;
|
|
115
|
+
return WoBlindTilt.parseServiceData(serviceData, manufacturerData, onlog);
|
|
102
116
|
default:
|
|
103
|
-
|
|
104
|
-
onlog(`[parseAdvertising.${peripheral.id}] return null, model "${model}" not available!`);
|
|
105
|
-
}
|
|
117
|
+
onlog?.(`[parseAdvertising.${model}] return null, model "${model}" not available!`);
|
|
106
118
|
return null;
|
|
107
119
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Formats the address of the peripheral.
|
|
123
|
+
*
|
|
124
|
+
* @param {Noble.Peripheral} peripheral - The peripheral device object from noble.
|
|
125
|
+
* @returns {string} - The formatted address.
|
|
126
|
+
*/
|
|
127
|
+
static formatAddress(peripheral) {
|
|
114
128
|
let address = peripheral.address || '';
|
|
115
129
|
if (address === '') {
|
|
116
|
-
const str = peripheral.advertisement.manufacturerData
|
|
117
|
-
.toString('hex')
|
|
118
|
-
.slice(4, 16);
|
|
130
|
+
const str = peripheral.advertisement.manufacturerData?.toString('hex').slice(4, 16) || '';
|
|
119
131
|
if (str !== '') {
|
|
120
|
-
address = str.
|
|
121
|
-
for (let i = 2; i < str.length; i += 2) {
|
|
122
|
-
address = `${address}:${str.substring(i, i + 2)}`;
|
|
123
|
-
}
|
|
132
|
+
address = str.match(/.{1,2}/g)?.join(':') || '';
|
|
124
133
|
}
|
|
125
134
|
}
|
|
126
135
|
else {
|
|
127
136
|
address = address.replace(/-/g, ':');
|
|
128
137
|
}
|
|
129
|
-
|
|
130
|
-
id: peripheral.id,
|
|
131
|
-
address,
|
|
132
|
-
rssi: peripheral.rssi,
|
|
133
|
-
serviceData: {
|
|
134
|
-
model,
|
|
135
|
-
...sd,
|
|
136
|
-
},
|
|
137
|
-
};
|
|
138
|
-
if (onlog && typeof onlog === 'function') {
|
|
139
|
-
onlog(`[parseAdvertising.${peripheral.id}.${model}] return ${JSON.stringify(data)}`);
|
|
140
|
-
}
|
|
141
|
-
return data;
|
|
138
|
+
return address;
|
|
142
139
|
}
|
|
143
140
|
}
|
|
144
141
|
//# sourceMappingURL=advertising.js.map
|
package/dist/advertising.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advertising.js","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"advertising.js","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"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"}
|
package/dist/device/wostrip.d.ts
CHANGED
|
@@ -5,38 +5,56 @@ import { SwitchbotDevice } from '../device.js';
|
|
|
5
5
|
* @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/colorbulb.md
|
|
6
6
|
*/
|
|
7
7
|
export declare class WoStrip extends SwitchbotDevice {
|
|
8
|
-
static parseServiceData(serviceData: Buffer, onlog: ((message: string) => void) | undefined): Promise<stripLightServiceData | null>;
|
|
9
8
|
/**
|
|
10
|
-
*
|
|
9
|
+
* Parses the service data from the SwitchBot Strip Light.
|
|
10
|
+
* @param {Buffer} serviceData - The service data buffer.
|
|
11
|
+
* @param {(message: string) => void} [onlog] - Optional logging function.
|
|
12
|
+
* @returns {Promise<stripLightServiceData | null>} - Parsed service data or null if invalid.
|
|
11
13
|
*/
|
|
12
|
-
|
|
14
|
+
static parseServiceData(serviceData: Buffer, onlog?: (message: string) => void): Promise<stripLightServiceData | null>;
|
|
13
15
|
/**
|
|
14
|
-
*
|
|
16
|
+
* Reads the state of the strip light.
|
|
17
|
+
* @returns {Promise<boolean>} - Resolves with true if the strip light is ON, false otherwise.
|
|
15
18
|
*/
|
|
16
|
-
|
|
19
|
+
readState(): Promise<boolean>;
|
|
17
20
|
/**
|
|
18
|
-
*
|
|
21
|
+
* Sets the state of the strip light.
|
|
22
|
+
* @public
|
|
23
|
+
* @param {number[]} reqByteArray - The request byte array.
|
|
24
|
+
* @returns {Promise<boolean>} - Resolves with true if the operation was successful.
|
|
19
25
|
*/
|
|
20
|
-
|
|
26
|
+
setState(reqByteArray: number[]): Promise<boolean>;
|
|
21
27
|
/**
|
|
22
|
-
*
|
|
28
|
+
* Turns the strip light on.
|
|
29
|
+
* @returns {Promise<boolean>} - Resolves with true if the strip light is ON.
|
|
23
30
|
*/
|
|
24
|
-
|
|
31
|
+
turnOn(): Promise<boolean>;
|
|
25
32
|
/**
|
|
26
|
-
*
|
|
33
|
+
* Turns the strip light off.
|
|
34
|
+
* @returns {Promise<boolean>} - Resolves with true if the strip light is OFF.
|
|
27
35
|
*/
|
|
28
|
-
|
|
36
|
+
turnOff(): Promise<boolean>;
|
|
29
37
|
/**
|
|
30
|
-
*
|
|
38
|
+
* Sets the brightness of the strip light.
|
|
39
|
+
* @param {number} brightness - The brightness percentage (0-100).
|
|
40
|
+
* @returns {Promise<boolean>} - Resolves with true if the operation was successful.
|
|
31
41
|
*/
|
|
32
|
-
|
|
42
|
+
setBrightness(brightness: number): Promise<boolean>;
|
|
33
43
|
/**
|
|
34
|
-
*
|
|
44
|
+
* Sets the RGB values of the strip light.
|
|
45
|
+
* @param {number} brightness - The brightness percentage (0-100).
|
|
46
|
+
* @param {number} red - The red value (0-255).
|
|
47
|
+
* @param {number} green - The green value (0-255).
|
|
48
|
+
* @param {number} blue - The blue value (0-255).
|
|
49
|
+
* @returns {Promise<boolean>} - Resolves with true if the operation was successful.
|
|
35
50
|
*/
|
|
36
|
-
setRGB(brightness: number, red: number, green: number, blue: number): Promise<
|
|
51
|
+
setRGB(brightness: number, red: number, green: number, blue: number): Promise<boolean>;
|
|
37
52
|
/**
|
|
38
|
-
*
|
|
53
|
+
* Operates the strip light with the given byte array.
|
|
54
|
+
* @public
|
|
55
|
+
* @param {number[]} bytes - The byte array to send.
|
|
56
|
+
* @returns {Promise<boolean>} - Resolves with true if the operation was successful.
|
|
39
57
|
*/
|
|
40
|
-
operateStripLight(bytes: number[]): Promise<
|
|
58
|
+
operateStripLight(bytes: number[]): Promise<boolean>;
|
|
41
59
|
}
|
|
42
60
|
//# sourceMappingURL=wostrip.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wostrip.d.ts","sourceRoot":"","sources":["../../src/device/wostrip.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wostrip.d.ts","sourceRoot":"","sources":["../../src/device/wostrip.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAExE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C;;GAEG;AACH,qBAAa,OAAQ,SAAQ,eAAe;IAC1C;;;;;OAKG;WACU,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAoCxC;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAInC;;;;;OAKG;IACU,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAK/D;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAIhC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAIjC;;;;OAIG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOzD;;;;;;;OAOG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAa5F;;;;;OAKG;IACU,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAelE"}
|
package/dist/device/wostrip.js
CHANGED
|
@@ -1,174 +1,127 @@
|
|
|
1
1
|
import { Buffer } from 'node:buffer';
|
|
2
|
-
/* Copyright(C) 2024, donavanbecker (https://github.com/donavanbecker). All rights reserved.
|
|
3
|
-
*
|
|
4
|
-
* wostrip.ts: Switchbot BLE API registration.
|
|
5
|
-
*/
|
|
6
2
|
import { SwitchbotDevice } from '../device.js';
|
|
7
3
|
import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types/types.js';
|
|
8
4
|
/**
|
|
9
5
|
* @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/colorbulb.md
|
|
10
6
|
*/
|
|
11
7
|
export class WoStrip extends SwitchbotDevice {
|
|
8
|
+
/**
|
|
9
|
+
* Parses the service data from the SwitchBot Strip Light.
|
|
10
|
+
* @param {Buffer} serviceData - The service data buffer.
|
|
11
|
+
* @param {(message: string) => void} [onlog] - Optional logging function.
|
|
12
|
+
* @returns {Promise<stripLightServiceData | null>} - Parsed service data or null if invalid.
|
|
13
|
+
*/
|
|
12
14
|
static async parseServiceData(serviceData, onlog) {
|
|
13
15
|
if (serviceData.length !== 18) {
|
|
14
|
-
|
|
15
|
-
onlog(`[parseServiceDataForWoStrip] Buffer length ${serviceData.length} !== 18!`);
|
|
16
|
-
}
|
|
16
|
+
onlog?.(`[parseServiceDataForWoStrip] Buffer length ${serviceData.length} !== 18!`);
|
|
17
17
|
return null;
|
|
18
18
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
const power = !!(byte7 & 0b10000000);
|
|
29
|
-
const state = !!(byte7 & 0b10000000);
|
|
30
|
-
const brightness = byte7 & 0b01111111;
|
|
31
|
-
const red = byte3;
|
|
32
|
-
const green = byte4;
|
|
33
|
-
const blue = byte5;
|
|
34
|
-
const delay = byte8 & 0b10000000;
|
|
35
|
-
const preset = byte8 & 0b00001000;
|
|
36
|
-
const color_mode = byte8 & 0b00000111;
|
|
37
|
-
const speed = byte9 & 0b01111111;
|
|
38
|
-
const loop_index = byte10 & 0b11111110;
|
|
19
|
+
const [byte3, byte4, byte5, byte7, byte8, byte9, byte10] = [
|
|
20
|
+
serviceData.readUInt8(3),
|
|
21
|
+
serviceData.readUInt8(4),
|
|
22
|
+
serviceData.readUInt8(5),
|
|
23
|
+
serviceData.readUInt8(7),
|
|
24
|
+
serviceData.readUInt8(8),
|
|
25
|
+
serviceData.readUInt8(9),
|
|
26
|
+
serviceData.readUInt8(10),
|
|
27
|
+
];
|
|
39
28
|
const data = {
|
|
40
29
|
model: SwitchBotBLEModel.StripLight,
|
|
41
30
|
modelName: SwitchBotBLEModelName.StripLight,
|
|
42
31
|
modelFriendlyName: SwitchBotBLEModelFriendlyName.StripLight,
|
|
43
|
-
power,
|
|
44
|
-
state,
|
|
45
|
-
brightness,
|
|
46
|
-
red,
|
|
47
|
-
green,
|
|
48
|
-
blue,
|
|
49
|
-
delay,
|
|
50
|
-
preset,
|
|
51
|
-
color_mode,
|
|
52
|
-
speed,
|
|
53
|
-
loop_index,
|
|
32
|
+
power: !!(byte7 & 0b10000000),
|
|
33
|
+
state: !!(byte7 & 0b10000000),
|
|
34
|
+
brightness: byte7 & 0b01111111,
|
|
35
|
+
red: byte3,
|
|
36
|
+
green: byte4,
|
|
37
|
+
blue: byte5,
|
|
38
|
+
delay: byte8 & 0b10000000,
|
|
39
|
+
preset: byte8 & 0b00001000,
|
|
40
|
+
color_mode: byte8 & 0b00000111,
|
|
41
|
+
speed: byte9 & 0b01111111,
|
|
42
|
+
loop_index: byte10 & 0b11111110,
|
|
54
43
|
};
|
|
55
44
|
return data;
|
|
56
45
|
}
|
|
57
46
|
/**
|
|
58
|
-
*
|
|
47
|
+
* Reads the state of the strip light.
|
|
48
|
+
* @returns {Promise<boolean>} - Resolves with true if the strip light is ON, false otherwise.
|
|
59
49
|
*/
|
|
60
50
|
async readState() {
|
|
61
|
-
return
|
|
51
|
+
return this.operateStripLight([0x57, 0x0F, 0x4A, 0x01]);
|
|
62
52
|
}
|
|
63
53
|
/**
|
|
64
|
-
*
|
|
54
|
+
* Sets the state of the strip light.
|
|
55
|
+
* @public
|
|
56
|
+
* @param {number[]} reqByteArray - The request byte array.
|
|
57
|
+
* @returns {Promise<boolean>} - Resolves with true if the operation was successful.
|
|
65
58
|
*/
|
|
66
59
|
async setState(reqByteArray) {
|
|
67
60
|
const base = [0x57, 0x0F, 0x49, 0x01];
|
|
68
|
-
return
|
|
61
|
+
return this.operateStripLight([...base, ...reqByteArray]);
|
|
69
62
|
}
|
|
70
63
|
/**
|
|
71
|
-
*
|
|
64
|
+
* Turns the strip light on.
|
|
65
|
+
* @returns {Promise<boolean>} - Resolves with true if the strip light is ON.
|
|
72
66
|
*/
|
|
73
67
|
async turnOn() {
|
|
74
|
-
return
|
|
68
|
+
return this.setState([0x01, 0x01]);
|
|
75
69
|
}
|
|
76
70
|
/**
|
|
77
|
-
*
|
|
71
|
+
* Turns the strip light off.
|
|
72
|
+
* @returns {Promise<boolean>} - Resolves with true if the strip light is OFF.
|
|
78
73
|
*/
|
|
79
74
|
async turnOff() {
|
|
80
|
-
return
|
|
75
|
+
return this.setState([0x01, 0x02]);
|
|
81
76
|
}
|
|
82
77
|
/**
|
|
83
|
-
*
|
|
78
|
+
* Sets the brightness of the strip light.
|
|
79
|
+
* @param {number} brightness - The brightness percentage (0-100).
|
|
80
|
+
* @returns {Promise<boolean>} - Resolves with true if the operation was successful.
|
|
84
81
|
*/
|
|
85
82
|
async setBrightness(brightness) {
|
|
86
|
-
if (typeof brightness !== 'number') {
|
|
87
|
-
throw new TypeError(`
|
|
88
|
-
}
|
|
89
|
-
if (brightness > 100) {
|
|
90
|
-
brightness = 100;
|
|
91
|
-
}
|
|
92
|
-
else if (brightness < 0) {
|
|
93
|
-
brightness = 0;
|
|
94
|
-
}
|
|
95
|
-
return await this.setState([0x02, 0x14]);
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* @returns resolves with color temperature
|
|
99
|
-
*/
|
|
100
|
-
async setColorTemperature(color_temperature) {
|
|
101
|
-
if (color_temperature) {
|
|
102
|
-
throw new Error(`Strip Light Doesn't Support Color temperature: ${typeof color_temperature}`);
|
|
83
|
+
if (typeof brightness !== 'number' || brightness < 0 || brightness > 100) {
|
|
84
|
+
throw new TypeError(`Invalid brightness value: ${brightness}`);
|
|
103
85
|
}
|
|
86
|
+
return this.setState([0x02, 0x14, brightness]);
|
|
104
87
|
}
|
|
105
88
|
/**
|
|
106
|
-
*
|
|
89
|
+
* Sets the RGB values of the strip light.
|
|
90
|
+
* @param {number} brightness - The brightness percentage (0-100).
|
|
91
|
+
* @param {number} red - The red value (0-255).
|
|
92
|
+
* @param {number} green - The green value (0-255).
|
|
93
|
+
* @param {number} blue - The blue value (0-255).
|
|
94
|
+
* @returns {Promise<boolean>} - Resolves with true if the operation was successful.
|
|
107
95
|
*/
|
|
108
96
|
async setRGB(brightness, red, green, blue) {
|
|
109
|
-
if (typeof
|
|
110
|
-
throw new TypeError(
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
if (typeof blue !== 'number') {
|
|
119
|
-
throw new TypeError(`The type of target blue is incorrect: ${typeof blue}`);
|
|
120
|
-
}
|
|
121
|
-
if (brightness > 100) {
|
|
122
|
-
brightness = 100;
|
|
123
|
-
}
|
|
124
|
-
else if (brightness < 0) {
|
|
125
|
-
brightness = 0;
|
|
126
|
-
}
|
|
127
|
-
if (red > 255) {
|
|
128
|
-
red = 255;
|
|
129
|
-
}
|
|
130
|
-
else if (red < 0) {
|
|
131
|
-
red = 0;
|
|
132
|
-
}
|
|
133
|
-
if (green > 255) {
|
|
134
|
-
green = 255;
|
|
135
|
-
}
|
|
136
|
-
else if (green < 0) {
|
|
137
|
-
green = 0;
|
|
138
|
-
}
|
|
139
|
-
if (blue > 255) {
|
|
140
|
-
blue = 255;
|
|
141
|
-
}
|
|
142
|
-
else if (blue < 0) {
|
|
143
|
-
blue = 0;
|
|
144
|
-
}
|
|
145
|
-
return await this.setState([0x02, 0x12, brightness, red, green, blue]);
|
|
97
|
+
if (![brightness, red, green, blue].every(val => typeof val === 'number')) {
|
|
98
|
+
throw new TypeError('Invalid RGB or brightness value');
|
|
99
|
+
}
|
|
100
|
+
brightness = Math.max(0, Math.min(100, brightness));
|
|
101
|
+
red = Math.max(0, Math.min(255, red));
|
|
102
|
+
green = Math.max(0, Math.min(255, green));
|
|
103
|
+
blue = Math.max(0, Math.min(255, blue));
|
|
104
|
+
return this.setState([0x02, 0x12, brightness, red, green, blue]);
|
|
146
105
|
}
|
|
147
106
|
/**
|
|
148
|
-
*
|
|
107
|
+
* Operates the strip light with the given byte array.
|
|
108
|
+
* @public
|
|
109
|
+
* @param {number[]} bytes - The byte array to send.
|
|
110
|
+
* @returns {Promise<boolean>} - Resolves with true if the operation was successful.
|
|
149
111
|
*/
|
|
150
112
|
async operateStripLight(bytes) {
|
|
151
113
|
const req_buf = Buffer.from(bytes);
|
|
152
|
-
await this.command(req_buf)
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
else {
|
|
166
|
-
throw new Error(`Expecting a 2-byte response, got instead: 0x${res_buf.toString('hex')}`);
|
|
167
|
-
}
|
|
168
|
-
})
|
|
169
|
-
.catch((error) => {
|
|
170
|
-
throw error;
|
|
171
|
-
});
|
|
114
|
+
const res_buf = await this.command(req_buf);
|
|
115
|
+
if (res_buf.length !== 2) {
|
|
116
|
+
throw new Error(`Expecting a 2-byte response, got instead: 0x${res_buf.toString('hex')}`);
|
|
117
|
+
}
|
|
118
|
+
const code = res_buf.readUInt8(1);
|
|
119
|
+
if (code === 0x00 || code === 0x80) {
|
|
120
|
+
return code === 0x80;
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
throw new Error(`The device returned an error: 0x${res_buf.toString('hex')}`);
|
|
124
|
+
}
|
|
172
125
|
}
|
|
173
126
|
}
|
|
174
127
|
//# sourceMappingURL=wostrip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wostrip.js","sourceRoot":"","sources":["../../src/device/wostrip.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wostrip.js","sourceRoot":"","sources":["../../src/device/wostrip.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,12 +17,12 @@ describe('woStrip', () => {
|
|
|
17
17
|
modelFriendlyName: 'StripLight',
|
|
18
18
|
power: true,
|
|
19
19
|
state: true,
|
|
20
|
-
brightness:
|
|
20
|
+
brightness: 127,
|
|
21
21
|
red: 255,
|
|
22
22
|
green: 255,
|
|
23
23
|
blue: 255,
|
|
24
|
-
delay:
|
|
25
|
-
preset:
|
|
24
|
+
delay: true,
|
|
25
|
+
preset: true,
|
|
26
26
|
color_mode: 0,
|
|
27
27
|
speed: 127,
|
|
28
28
|
loop_index: 254,
|
|
@@ -34,7 +34,7 @@ describe('woStrip', () => {
|
|
|
34
34
|
const peripheral = {}; // Replace with actual peripheral object
|
|
35
35
|
const noble = {}; // Replace with actual noble object
|
|
36
36
|
const woStrip = new WoStrip(peripheral, noble);
|
|
37
|
-
woStrip.operateStripLight = async () =>
|
|
37
|
+
woStrip.operateStripLight = async () => true;
|
|
38
38
|
const result = await woStrip.readState();
|
|
39
39
|
return expect(result).to.be.true;
|
|
40
40
|
});
|
|
@@ -44,7 +44,7 @@ describe('woStrip', () => {
|
|
|
44
44
|
const peripheral = {}; // Replace with actual peripheral object
|
|
45
45
|
const noble = {}; // Replace with actual noble object
|
|
46
46
|
const woStrip = new WoStrip(peripheral, noble);
|
|
47
|
-
woStrip.setState = async () =>
|
|
47
|
+
woStrip.setState = async () => true;
|
|
48
48
|
const result = await woStrip.turnOn();
|
|
49
49
|
return expect(result).to.be.true;
|
|
50
50
|
});
|
|
@@ -54,7 +54,7 @@ describe('woStrip', () => {
|
|
|
54
54
|
const peripheral = {}; // Replace with actual peripheral object
|
|
55
55
|
const noble = {}; // Replace with actual noble object
|
|
56
56
|
const woStrip = new WoStrip(peripheral, noble);
|
|
57
|
-
woStrip.setState = async () =>
|
|
57
|
+
woStrip.setState = async () => true;
|
|
58
58
|
const result = await woStrip.turnOff();
|
|
59
59
|
return expect(result).to.be.true;
|
|
60
60
|
});
|
|
@@ -64,7 +64,7 @@ describe('woStrip', () => {
|
|
|
64
64
|
const peripheral = {}; // Replace with actual peripheral object
|
|
65
65
|
const noble = {}; // Replace with actual noble object
|
|
66
66
|
const woStrip = new WoStrip(peripheral, noble);
|
|
67
|
-
woStrip.setState = async () =>
|
|
67
|
+
woStrip.setState = async () => true;
|
|
68
68
|
const result = await woStrip.setBrightness(50);
|
|
69
69
|
return expect(result).to.be.true;
|
|
70
70
|
});
|
|
@@ -77,7 +77,7 @@ describe('woStrip', () => {
|
|
|
77
77
|
}
|
|
78
78
|
catch (error) {
|
|
79
79
|
if (error instanceof Error) {
|
|
80
|
-
expect(error.message).to.equal('
|
|
80
|
+
expect(error.message).to.equal('Invalid brightness value: 50');
|
|
81
81
|
}
|
|
82
82
|
else {
|
|
83
83
|
throw error;
|
|
@@ -90,7 +90,7 @@ describe('woStrip', () => {
|
|
|
90
90
|
const peripheral = {}; // Replace with actual peripheral object
|
|
91
91
|
const noble = {}; // Replace with actual noble object
|
|
92
92
|
const woStrip = new WoStrip(peripheral, noble);
|
|
93
|
-
woStrip.setState = async () =>
|
|
93
|
+
woStrip.setState = async () => true;
|
|
94
94
|
const result = await woStrip.setRGB(50, 255, 255, 255);
|
|
95
95
|
return expect(result).to.be.true;
|
|
96
96
|
});
|
|
@@ -103,7 +103,7 @@ describe('woStrip', () => {
|
|
|
103
103
|
}
|
|
104
104
|
catch (error) {
|
|
105
105
|
if (error instanceof Error) {
|
|
106
|
-
expect(error.message).to.equal('
|
|
106
|
+
expect(error.message).to.equal('Invalid RGB or brightness value');
|
|
107
107
|
}
|
|
108
108
|
else {
|
|
109
109
|
throw error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wostrip.test.js","sourceRoot":"","sources":["../../src/device/wostrip.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAE7B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACpC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"wostrip.test.js","sourceRoot":"","sources":["../../src/device/wostrip.test.ts"],"names":[],"mappings":"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"}
|
package/dist/switchbot.d.ts
CHANGED
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,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"switchbot.d.ts","sourceRoot":"","sources":["../src/switchbot.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAG1C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAmB7C;;GAEG;AACH,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,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,0BAA0B,SAAO;IACjC,yBAAyB,EAAE,MAAM,EAAE,CAAK;IAExC;;;;;OAKG;gBACS,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;IA2D/D;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB5B;;;;;;;OAOG;IACG,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAgC/G;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAoB7D;;;;;OAKG;IACG,SAAS,CAAC,MAAM,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCnD;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAS/B;;;;;OAKG;IACG,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAexC;AAED,OAAO,EAAE,eAAe,EAAE,CAAA"}
|
package/dist/switchbot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switchbot.js","sourceRoot":"","sources":["../src/switchbot.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"switchbot.js","sourceRoot":"","sources":["../src/switchbot.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,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,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEpD;;GAEG;AACH,MAAM,OAAO,SAAS;IACZ,KAAK,CAAe;IAC5B,KAAK,CAAe;IACpB,UAAU,CAAoC;IAC9C,eAAe,CAAmB;IAClC,KAAK,CAA4B;IACjC,0BAA0B,GAAG,IAAI,CAAA;IACjC,yBAAyB,GAAa,EAAE,CAAA;IAExC;;;;;OAKG;IACH,YAAY,MAAe;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CAAC,MAAe;QACxB,IAAI,CAAC,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,KAAK,CAAA;IACrC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,SAAiB,EAAE;QAChC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAiC,EAAE;YACtE,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE;YAClE,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE;YAClF,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;YACzD,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;SAC5C,EAAE,KAAK,CAAC,CAAA;QAET,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,KAAM,CAAC,OAAO,CAAC,CAAA;QAClD,CAAC;QAED,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC,0BAA0B,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,MAAM,CAAA;QAEjG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QAClB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC/C,CAAC;QAED,MAAM,WAAW,GAAoC,EAAE,CAAA;QACvD,IAAI,KAAqB,CAAA;QAEzB,MAAM,eAAe,GAAG,GAAG,EAAE;YAC3B,YAAY,CAAC,KAAK,CAAC,CAAA;YACnB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAA;YACzC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAA;YACzB,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QACnC,CAAC,CAAA;QAED,OAAO,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxD,IAAI,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,UAA4B,EAAE,EAAE;oBAC/D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;oBAChE,IAAI,MAAM,EAAE,CAAC;wBACX,WAAW,CAAC,MAAM,CAAC,EAAG,CAAC,GAAG,MAAM,CAAA;wBAChC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;4BACpB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;wBACzB,CAAC;wBACD,IAAI,KAAK,EAAE,CAAC;4BACV,OAAO,CAAC,eAAe,EAAE,CAAC,CAAA;wBAC5B,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAA;gBAEF,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,yBAAyB,EAAE,KAAK,CAAC;qBACjE,IAAI,CAAC,GAAG,EAAE;oBACT,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;wBACtB,OAAO,CAAC,eAAe,EAAE,CAAC,CAAA;oBAC5B,CAAC,EAAE,QAAQ,CAAC,CAAA;gBACd,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;oBACtB,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;gBAClC,CAAC,CAAC,CAAA;YACN,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAClC,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,KAAK,CAAA;QAEhB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACtC,OAAM;QACR,CAAC;QAED,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,KAA0B,EAAE,EAAE;gBAC5D,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;oBAC1B,OAAO,EAAE,CAAA;gBACX,CAAC;qBAAM,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzE,MAAM,CAAC,IAAI,KAAK,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAC,CAAA;gBACtE,CAAC;qBAAM,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpD,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC,CAAA;gBACrD,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC,CAAA;gBAC9C,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CAAC,UAA4B,EAAE,EAAU,EAAE,KAAa;QAC3E,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1D,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;YAClD,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,YAAY,GAAkF;YAClG,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM;YAC/B,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,SAAS;YACtC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,SAAS;YACvC,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,MAAM;YACtC,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,UAAU;YACrC,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,UAAU;YACzC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM;YAChC,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,YAAY;YAC9C,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,UAAU;YAC5C,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,SAAS;YAC5C,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM;YACrC,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,cAAc;YAChD,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE,cAAc;YACnD,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,OAAO;YACvC,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,UAAU;YAC1C,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,UAAU;YAC1C,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW;YACrC,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,cAAc;YAC3C,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,WAAW;SAC3C,CAAA;QAED,MAAM,WAAW,GAAG,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAA;QACjG,OAAO,IAAI,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAChD,CAAC;IAED;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAM,EAAE,EAAU,EAAE,KAAa;QACjD,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,YAAY,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YACvD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;YAC/D,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC1B,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QAED,IAAI,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,SAAiB,EAAE;QACjC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAiC,EAAE;YACtE,KAAK,EAAE;gBACL,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;aACvC;YACD,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;SAC1D,EAAE,KAAK,CAAC,CAAA;QAET,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,KAAM,CAAC,OAAO,CAAC,CAAA;QAClD,CAAC;QAED,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QAClB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;QACtD,CAAC;QAED,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,MAAM,CAAA;QAEtC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,UAA4B,EAAE,EAAE;YAC/D,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;YAC1D,IAAI,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;gBAChD,IAAI,IAAI,CAAC,eAAe,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;oBACvE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAA;IAC3E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAA;QACzC,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAA;IACtC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,IAAY;QACrB,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAClC,EAAE,IAAI,EAAE,EACR;YACE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE;SAClD,EACD,IAAI,CACL,CAAA;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,KAAM,CAAC,OAAO,CAAC,CAAA;QAClD,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;IAC1D,CAAC;CACF;AAED,OAAO,EAAE,eAAe,EAAE,CAAA"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -1,126 +1,33 @@
|
|
|
1
|
+
import type { Buffer } from 'node:buffer';
|
|
1
2
|
import type * as Noble from '@stoprocent/noble';
|
|
2
3
|
export type MacAddress = string;
|
|
4
|
+
interface DeviceInfo {
|
|
5
|
+
Model: SwitchBotModel;
|
|
6
|
+
BLEModel: SwitchBotBLEModel;
|
|
7
|
+
BLEModelName: SwitchBotBLEModelName;
|
|
8
|
+
ModelFriendlyName: SwitchBotBLEModelFriendlyName;
|
|
9
|
+
}
|
|
3
10
|
export declare interface SwitchBotBLEDevice {
|
|
4
|
-
Bot:
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
BLEModel: SwitchBotBLEModel.Humidifier;
|
|
25
|
-
BLEModelName: SwitchBotBLEModelName.Humidifier;
|
|
26
|
-
ModelFriendlyName: SwitchBotBLEModelFriendlyName.Humidifier;
|
|
27
|
-
};
|
|
28
|
-
Meter: {
|
|
29
|
-
Model: SwitchBotModel.Meter;
|
|
30
|
-
BLEModel: SwitchBotBLEModel.Meter;
|
|
31
|
-
BLEModelName: SwitchBotBLEModelName.Meter;
|
|
32
|
-
ModelFriendlyName: SwitchBotBLEModelFriendlyName.Meter;
|
|
33
|
-
};
|
|
34
|
-
MeterPlus: {
|
|
35
|
-
Model: SwitchBotModel.MeterPlusJP | SwitchBotModel.MeterPlusUS;
|
|
36
|
-
BLEModel: SwitchBotBLEModel.MeterPlus;
|
|
37
|
-
BLEModelName: SwitchBotBLEModelName.MeterPlus;
|
|
38
|
-
ModelFriendlyName: SwitchBotBLEModelFriendlyName.Meter;
|
|
39
|
-
};
|
|
40
|
-
Hub2: {
|
|
41
|
-
Model: SwitchBotModel.Hub2;
|
|
42
|
-
BLEModel: SwitchBotBLEModel.Hub2;
|
|
43
|
-
BLEModelName: SwitchBotBLEModelName.Hub2;
|
|
44
|
-
ModelFriendlyName: SwitchBotBLEModelFriendlyName.Hub2;
|
|
45
|
-
};
|
|
46
|
-
OutdoorMeter: {
|
|
47
|
-
Model: SwitchBotModel.OutdoorMeter;
|
|
48
|
-
BLEModel: SwitchBotBLEModel.OutdoorMeter;
|
|
49
|
-
BLEModelName: SwitchBotBLEModelName.OutdoorMeter;
|
|
50
|
-
ModelFriendlyName: SwitchBotBLEModelFriendlyName.OutdoorMeter;
|
|
51
|
-
};
|
|
52
|
-
MotionSensor: {
|
|
53
|
-
Model: SwitchBotModel.MotionSensor;
|
|
54
|
-
BLEModel: SwitchBotBLEModel.MotionSensor;
|
|
55
|
-
BLEModelName: SwitchBotBLEModelName.MotionSensor;
|
|
56
|
-
ModelFriendlyName: SwitchBotBLEModelFriendlyName.MotionSensor;
|
|
57
|
-
};
|
|
58
|
-
ContactSensor: {
|
|
59
|
-
Model: SwitchBotModel.ContactSensor;
|
|
60
|
-
BLEModel: SwitchBotBLEModel.ContactSensor;
|
|
61
|
-
BLEModelName: SwitchBotBLEModelName.ContactSensor;
|
|
62
|
-
ModelFriendlyName: SwitchBotBLEModelFriendlyName.ContactSensor;
|
|
63
|
-
};
|
|
64
|
-
ColorBulb: {
|
|
65
|
-
Model: SwitchBotModel.ColorBulb;
|
|
66
|
-
BLEModel: SwitchBotBLEModel.ColorBulb;
|
|
67
|
-
BLEModelName: SwitchBotBLEModelName.ColorBulb;
|
|
68
|
-
ModelFriendlyName: SwitchBotBLEModelFriendlyName.ColorBulb;
|
|
69
|
-
};
|
|
70
|
-
StripLight: {
|
|
71
|
-
Model: SwitchBotModel.StripLight;
|
|
72
|
-
BLEModel: SwitchBotBLEModel.StripLight;
|
|
73
|
-
BLEModelName: SwitchBotBLEModelName.StripLight;
|
|
74
|
-
ModelFriendlyName: SwitchBotBLEModelFriendlyName.StripLight;
|
|
75
|
-
};
|
|
76
|
-
PlugMiniUS: {
|
|
77
|
-
Model: SwitchBotModel.PlugMiniUS;
|
|
78
|
-
BLEModel: SwitchBotBLEModel.PlugMiniUS;
|
|
79
|
-
BLEModelName: SwitchBotBLEModelName.PlugMini;
|
|
80
|
-
ModelFriendlyName: SwitchBotBLEModelFriendlyName.PlugMini;
|
|
81
|
-
};
|
|
82
|
-
PlugMiniJP: {
|
|
83
|
-
Model: SwitchBotModel.PlugMiniJP;
|
|
84
|
-
BLEModel: SwitchBotBLEModel.PlugMiniJP;
|
|
85
|
-
BLEModelName: SwitchBotBLEModelName.PlugMini;
|
|
86
|
-
ModelFriendlyName: SwitchBotBLEModelFriendlyName.PlugMini;
|
|
87
|
-
};
|
|
88
|
-
Lock: {
|
|
89
|
-
Model: SwitchBotModel.Lock;
|
|
90
|
-
BLEModel: SwitchBotBLEModel.Lock;
|
|
91
|
-
BLEModelName: SwitchBotBLEModelName.Lock;
|
|
92
|
-
ModelFriendlyName: SwitchBotBLEModelFriendlyName.Lock;
|
|
93
|
-
};
|
|
94
|
-
LockPro: {
|
|
95
|
-
Model: SwitchBotModel.LockPro;
|
|
96
|
-
BLEModel: SwitchBotBLEModel.LockPro;
|
|
97
|
-
BLEModelName: SwitchBotBLEModelName.LockPro;
|
|
98
|
-
ModelFriendlyName: SwitchBotBLEModelFriendlyName.LockPro;
|
|
99
|
-
};
|
|
100
|
-
CeilingLight: {
|
|
101
|
-
Model: SwitchBotModel.CeilingLight;
|
|
102
|
-
BLEModel: SwitchBotBLEModel.CeilingLight;
|
|
103
|
-
BLEModelName: SwitchBotBLEModelName.Unknown;
|
|
104
|
-
ModelFriendlyName: SwitchBotBLEModelFriendlyName.Unknown;
|
|
105
|
-
};
|
|
106
|
-
CeilingLightPro: {
|
|
107
|
-
Model: SwitchBotModel.CeilingLightPro;
|
|
108
|
-
BLEModel: SwitchBotBLEModel.CeilingLightPro;
|
|
109
|
-
BLEModelName: SwitchBotBLEModelName.CeilingLightPro;
|
|
110
|
-
ModelFriendlyName: SwitchBotBLEModelFriendlyName.CeilingLightPro;
|
|
111
|
-
};
|
|
112
|
-
BlindTilt: {
|
|
113
|
-
Model: SwitchBotModel.BlindTilt;
|
|
114
|
-
BLEModel: SwitchBotBLEModel.BlindTilt;
|
|
115
|
-
BLEModelName: SwitchBotBLEModelName.BlindTilt;
|
|
116
|
-
ModelFriendlyName: SwitchBotBLEModelFriendlyName.BlindTilt;
|
|
117
|
-
};
|
|
118
|
-
Unknown: {
|
|
119
|
-
Model: SwitchBotModel.Unknown;
|
|
120
|
-
BLEModel: SwitchBotBLEModel.Unknown;
|
|
121
|
-
BLEModelName: SwitchBotBLEModelName.Unknown;
|
|
122
|
-
ModelFriendlyName: SwitchBotBLEModelFriendlyName.Unknown;
|
|
123
|
-
};
|
|
11
|
+
Bot: DeviceInfo;
|
|
12
|
+
Curtain: DeviceInfo;
|
|
13
|
+
Curtain3: DeviceInfo;
|
|
14
|
+
Humidifier: DeviceInfo;
|
|
15
|
+
Meter: DeviceInfo;
|
|
16
|
+
MeterPlus: DeviceInfo;
|
|
17
|
+
Hub2: DeviceInfo;
|
|
18
|
+
OutdoorMeter: DeviceInfo;
|
|
19
|
+
MotionSensor: DeviceInfo;
|
|
20
|
+
ContactSensor: DeviceInfo;
|
|
21
|
+
ColorBulb: DeviceInfo;
|
|
22
|
+
StripLight: DeviceInfo;
|
|
23
|
+
PlugMiniUS: DeviceInfo;
|
|
24
|
+
PlugMiniJP: DeviceInfo;
|
|
25
|
+
Lock: DeviceInfo;
|
|
26
|
+
LockPro: DeviceInfo;
|
|
27
|
+
CeilingLight: DeviceInfo;
|
|
28
|
+
CeilingLightPro: DeviceInfo;
|
|
29
|
+
BlindTilt: DeviceInfo;
|
|
30
|
+
Unknown: DeviceInfo;
|
|
124
31
|
}
|
|
125
32
|
export declare enum SwitchBotModel {
|
|
126
33
|
HubMini = "W0202200",
|
|
@@ -243,4 +150,20 @@ export interface Chars {
|
|
|
243
150
|
notify: Noble.Characteristic | null;
|
|
244
151
|
device: Noble.Characteristic | null;
|
|
245
152
|
}
|
|
153
|
+
export interface ServiceData {
|
|
154
|
+
model: string;
|
|
155
|
+
[key: string]: unknown;
|
|
156
|
+
}
|
|
157
|
+
export interface Ad {
|
|
158
|
+
id: string;
|
|
159
|
+
address: string;
|
|
160
|
+
rssi: number;
|
|
161
|
+
serviceData: ServiceData;
|
|
162
|
+
[key: string]: unknown;
|
|
163
|
+
}
|
|
164
|
+
export interface AdvertisementData {
|
|
165
|
+
serviceData: Buffer | null;
|
|
166
|
+
manufacturerData: Buffer | null;
|
|
167
|
+
}
|
|
168
|
+
export {};
|
|
246
169
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAE/C,MAAM,MAAM,UAAU,GAAG,MAAM,CAAA;AAE/B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,KAAK,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAE/C,MAAM,MAAM,UAAU,GAAG,MAAM,CAAA;AAE/B,UAAU,UAAU;IAClB,KAAK,EAAE,cAAc,CAAA;IACrB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,YAAY,EAAE,qBAAqB,CAAA;IACnC,iBAAiB,EAAE,6BAA6B,CAAA;CACjD;AAED,MAAM,CAAC,OAAO,WAAW,kBAAkB;IACzC,GAAG,EAAE,UAAU,CAAA;IACf,OAAO,EAAE,UAAU,CAAA;IACnB,QAAQ,EAAE,UAAU,CAAA;IACpB,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,UAAU,CAAA;IACjB,SAAS,EAAE,UAAU,CAAA;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,YAAY,EAAE,UAAU,CAAA;IACxB,YAAY,EAAE,UAAU,CAAA;IACxB,aAAa,EAAE,UAAU,CAAA;IACzB,SAAS,EAAE,UAAU,CAAA;IACrB,UAAU,EAAE,UAAU,CAAA;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,UAAU,CAAA;IACnB,YAAY,EAAE,UAAU,CAAA;IACxB,eAAe,EAAE,UAAU,CAAA;IAC3B,SAAS,EAAE,UAAU,CAAA;IACrB,OAAO,EAAE,UAAU,CAAA;CACpB;AAED,oBAAY,cAAc;IACxB,OAAO,aAAa;IACpB,OAAO,qBAAqB;IAC5B,IAAI,aAAa;IACjB,GAAG,iBAAiB;IACpB,OAAO,aAAa;IACpB,QAAQ,aAAa;IACrB,UAAU,aAAa;IACvB,IAAI,SAAS,CAAE,oCAAoC;IACnD,KAAK,yBAAyB;IAC9B,WAAW,aAAa;IACxB,WAAW,aAAa;IACxB,YAAY,aAAa;IACzB,YAAY,aAAa;IACzB,aAAa,aAAa;IAC1B,SAAS,aAAa;IACtB,UAAU,aAAa;IACvB,UAAU,sBAAsB;IAChC,UAAU,sBAAsB;IAChC,IAAI,aAAa;IACjB,OAAO,aAAa;IACpB,MAAM,aAAa;IACnB,WAAW,aAAa;IACxB,GAAG,SAAS;IACZ,SAAS,cAAc;IACvB,aAAa,kBAAkB;IAC/B,oBAAoB,aAAa,CAAE,qCAAqC;IACxE,wBAAwB,aAAa,CAAE,qCAAqC;IAC5E,qBAAqB,aAAa;IAClC,MAAM,WAAW;IACjB,eAAe,oBAAoB;IACnC,YAAY,sBAAsB,CAAE,qCAAqC;IACzE,eAAe,sBAAsB,CAAE,qCAAqC;IAC5E,SAAS,aAAa;IACtB,UAAU,aAAa;IACvB,YAAY,aAAa;IACzB,SAAS,aAAa;IACtB,oBAAoB,aAAa;IACjC,aAAa,aAAa;IAC1B,OAAO,YAAY;CACpB;AAED,oBAAY,iBAAiB;IAC3B,GAAG,MAAM;IACT,OAAO,MAAM;IACb,QAAQ,MAAM;IACd,UAAU,MAAM;IAChB,KAAK,MAAM;IACX,SAAS,MAAM;IACf,IAAI,MAAM;IACV,YAAY,MAAM;IAClB,YAAY,MAAM;IAClB,aAAa,MAAM;IACnB,SAAS,MAAM;IACf,UAAU,MAAM;IAChB,UAAU,MAAM;IAChB,UAAU,MAAM;IAChB,IAAI,MAAM;IACV,OAAO,MAAM;IACb,YAAY,MAAM,CAAE,qCAAqC;IACzD,eAAe,MAAM,CAAE,qCAAqC;IAC5D,SAAS,MAAM;IACf,OAAO,YAAY;CACpB;AAED,oBAAY,qBAAqB;IAC/B,GAAG,WAAW;IACd,IAAI,WAAW;IACf,SAAS,WAAW;IACpB,OAAO,cAAc;IACrB,QAAQ,eAAe;IACvB,UAAU,WAAW;IACrB,KAAK,eAAe;IACpB,IAAI,gBAAgB;IACpB,OAAO,mBAAmB;IAC1B,QAAQ,eAAe;IACvB,UAAU,YAAY;IACtB,SAAS,mBAAmB;IAC5B,YAAY,iBAAiB;IAC7B,aAAa,cAAc;IAC3B,YAAY,aAAa;IACzB,SAAS,gBAAgB;IACzB,YAAY,mBAAmB;IAC/B,eAAe,sBAAsB;IACrC,OAAO,YAAY;CACpB;AAED,oBAAY,6BAA6B;IACvC,GAAG,QAAQ;IACX,IAAI,UAAU;IACd,SAAS,eAAe;IACxB,OAAO,YAAY;IACnB,QAAQ,cAAc;IACtB,UAAU,eAAe;IACzB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,OAAO,aAAa;IACpB,QAAQ,cAAc;IACtB,UAAU,gBAAgB;IAC1B,SAAS,eAAe;IACxB,YAAY,kBAAkB;IAC9B,aAAa,mBAAmB;IAChC,YAAY,kBAAkB;IAC9B,SAAS,eAAe;IACxB,YAAY,kBAAkB;IAC9B,eAAe,sBAAsB;IACrC,OAAO,YAAY;CACpB;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAA;IAClC,MAAM,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAA;IACnC,MAAM,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAA;CACpC;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,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"}
|
package/dist/types/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"
|
|
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.7",
|
|
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",
|