node-switchbot 2.4.0-beta.3 → 2.5.0-beta.0
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/CHANGELOG.md +1 -1
- package/dist/advertising.d.ts +14 -148
- package/dist/advertising.d.ts.map +1 -1
- package/dist/advertising.js +36 -92
- package/dist/advertising.js.map +1 -1
- package/dist/device/woblindtilt.d.ts +98 -13
- package/dist/device/woblindtilt.d.ts.map +1 -1
- package/dist/device/woblindtilt.js +192 -86
- package/dist/device/woblindtilt.js.map +1 -1
- package/dist/device/woblindtilt.test.d.ts +2 -0
- package/dist/device/woblindtilt.test.d.ts.map +1 -0
- package/dist/device/woblindtilt.test.js +26 -0
- package/dist/device/woblindtilt.test.js.map +1 -0
- package/dist/device/wobulb.d.ts +17 -34
- package/dist/device/wobulb.d.ts.map +1 -1
- package/dist/device/wobulb.js +53 -61
- package/dist/device/wobulb.js.map +1 -1
- package/dist/device/wobulb.test.d.ts +2 -0
- package/dist/device/wobulb.test.d.ts.map +1 -0
- package/dist/device/wobulb.test.js +52 -0
- package/dist/device/wobulb.test.js.map +1 -0
- package/dist/device/woceilinglight.d.ts +21 -51
- package/dist/device/woceilinglight.d.ts.map +1 -1
- package/dist/device/woceilinglight.js +53 -64
- package/dist/device/woceilinglight.js.map +1 -1
- package/dist/device/woceilinglight.test.d.ts +2 -0
- package/dist/device/woceilinglight.test.d.ts.map +1 -0
- package/dist/device/woceilinglight.test.js +63 -0
- package/dist/device/woceilinglight.test.js.map +1 -0
- package/dist/device/wocontact.d.ts +1 -14
- package/dist/device/wocontact.d.ts.map +1 -1
- package/dist/device/wocontact.js +13 -13
- package/dist/device/wocontact.js.map +1 -1
- package/dist/device/wocontact.test.d.ts +2 -0
- package/dist/device/wocontact.test.d.ts.map +1 -0
- package/dist/device/wocontact.test.js +34 -0
- package/dist/device/wocontact.test.js.map +1 -0
- package/dist/device/wocurtain.d.ts +5 -16
- package/dist/device/wocurtain.d.ts.map +1 -1
- package/dist/device/wocurtain.js +58 -47
- package/dist/device/wocurtain.js.map +1 -1
- package/dist/device/wocurtain.test.d.ts +2 -0
- package/dist/device/wocurtain.test.d.ts.map +1 -0
- package/dist/device/wocurtain.test.js +33 -0
- package/dist/device/wocurtain.test.js.map +1 -0
- package/dist/device/wohand.d.ts +2 -10
- package/dist/device/wohand.d.ts.map +1 -1
- package/dist/device/wohand.js +31 -33
- package/dist/device/wohand.js.map +1 -1
- package/dist/device/wohand.test.d.ts +2 -0
- package/dist/device/wohand.test.d.ts.map +1 -0
- package/dist/device/wohand.test.js +62 -0
- package/dist/device/wohand.test.js.map +1 -0
- package/dist/device/wohand2.test.d.ts +2 -0
- package/dist/device/wohand2.test.d.ts.map +1 -0
- package/dist/device/wohand2.test.js +50 -0
- package/dist/device/wohand2.test.js.map +1 -0
- package/dist/device/wohub2.d.ts +1 -19
- package/dist/device/wohub2.d.ts.map +1 -1
- package/dist/device/wohub2.js +6 -2
- package/dist/device/wohub2.js.map +1 -1
- package/dist/device/wohumi.d.ts +2 -11
- package/dist/device/wohumi.d.ts.map +1 -1
- package/dist/device/wohumi.js +31 -33
- package/dist/device/wohumi.js.map +1 -1
- package/dist/device/wohumi.test.d.ts +2 -0
- package/dist/device/wohumi.test.d.ts.map +1 -0
- package/dist/device/wohumi.test.js +61 -0
- package/dist/device/wohumi.test.js.map +1 -0
- package/dist/device/woiosensorth.d.ts +1 -19
- package/dist/device/woiosensorth.d.ts.map +1 -1
- package/dist/device/woiosensorth.js +14 -10
- package/dist/device/woiosensorth.js.map +1 -1
- package/dist/device/woiosensorth.test.d.ts +2 -0
- package/dist/device/woiosensorth.test.d.ts.map +1 -0
- package/dist/device/woiosensorth.test.js +39 -0
- package/dist/device/woiosensorth.test.js.map +1 -0
- package/dist/device/woplugmini.d.ts +12 -38
- package/dist/device/woplugmini.d.ts.map +1 -1
- package/dist/device/woplugmini.js +35 -40
- package/dist/device/woplugmini.js.map +1 -1
- package/dist/device/woplugmini.test.d.ts +2 -0
- package/dist/device/woplugmini.test.d.ts.map +1 -0
- package/dist/device/woplugmini.test.js +91 -0
- package/dist/device/woplugmini.test.js.map +1 -0
- package/dist/device/wopresence.d.ts +2 -14
- package/dist/device/wopresence.d.ts.map +1 -1
- package/dist/device/wopresence.js +11 -7
- package/dist/device/wopresence.js.map +1 -1
- package/dist/device/wopresence.test.d.ts +2 -0
- package/dist/device/wopresence.test.d.ts.map +1 -0
- package/dist/device/wopresence.test.js +42 -0
- package/dist/device/wopresence.test.js.map +1 -0
- package/dist/device/wosensorth.d.ts +3 -37
- package/dist/device/wosensorth.d.ts.map +1 -1
- package/dist/device/wosensorth.js +24 -20
- package/dist/device/wosensorth.js.map +1 -1
- package/dist/device/wosensorth.test.d.ts +2 -0
- package/dist/device/wosensorth.test.d.ts.map +1 -0
- package/dist/device/wosensorth.test.js +59 -0
- package/dist/device/wosensorth.test.js.map +1 -0
- package/dist/device/wosmartlock.d.ts +19 -33
- package/dist/device/wosmartlock.d.ts.map +1 -1
- package/dist/device/wosmartlock.js +104 -83
- package/dist/device/wosmartlock.js.map +1 -1
- package/dist/device/wosmartlock.test.d.ts +2 -0
- package/dist/device/wosmartlock.test.d.ts.map +1 -0
- package/dist/device/wosmartlock.test.js +84 -0
- package/dist/device/wosmartlock.test.js.map +1 -0
- package/dist/device/wosmartlockpro.d.ts +13 -27
- package/dist/device/wosmartlockpro.d.ts.map +1 -1
- package/dist/device/wosmartlockpro.js +90 -70
- package/dist/device/wosmartlockpro.js.map +1 -1
- package/dist/device/wosmartlockpro.test.d.ts +2 -0
- package/dist/device/wosmartlockpro.test.d.ts.map +1 -0
- package/dist/device/wosmartlockpro.test.js +124 -0
- package/dist/device/wosmartlockpro.test.js.map +1 -0
- package/dist/device/wostrip.d.ts +18 -32
- package/dist/device/wostrip.d.ts.map +1 -1
- package/dist/device/wostrip.js +58 -70
- package/dist/device/wostrip.js.map +1 -1
- package/dist/device/wostrip.test.d.ts +2 -0
- package/dist/device/wostrip.test.d.ts.map +1 -0
- package/dist/device/wostrip.test.js +115 -0
- package/dist/device/wostrip.test.js.map +1 -0
- package/dist/device.d.ts +237 -39
- package/dist/device.d.ts.map +1 -1
- package/dist/device.js +478 -366
- package/dist/device.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/parameter-checker.d.ts.map +1 -1
- package/dist/parameter-checker.js.map +1 -1
- package/dist/settings.d.ts +8 -0
- package/dist/settings.d.ts.map +1 -0
- package/dist/settings.js +12 -0
- package/dist/settings.js.map +1 -0
- package/dist/switchbot.d.ts +30 -10
- package/dist/switchbot.d.ts.map +1 -1
- package/dist/switchbot.js +39 -86
- package/dist/switchbot.js.map +1 -1
- package/dist/types/bledevicestatus.d.ts +288 -0
- package/dist/types/bledevicestatus.d.ts.map +1 -0
- package/dist/types/bledevicestatus.js +2 -0
- package/dist/types/bledevicestatus.js.map +1 -0
- package/dist/types/devicelist.d.ts +89 -0
- package/dist/types/devicelist.d.ts.map +1 -0
- package/dist/types/devicelist.js +6 -0
- package/dist/types/devicelist.js.map +1 -0
- package/dist/types/deviceresponse.d.ts +13 -0
- package/dist/types/deviceresponse.d.ts.map +1 -0
- package/dist/types/deviceresponse.js +2 -0
- package/dist/types/deviceresponse.js.map +1 -0
- package/dist/types/devicestatus.d.ts +149 -0
- package/dist/types/devicestatus.d.ts.map +1 -0
- package/dist/types/devicestatus.js +3 -0
- package/dist/types/devicestatus.js.map +1 -0
- package/dist/types/devicewebhookstatus.d.ts +156 -0
- package/dist/types/devicewebhookstatus.d.ts.map +1 -0
- package/dist/types/devicewebhookstatus.js +2 -0
- package/dist/types/devicewebhookstatus.js.map +1 -0
- package/dist/types/irdevicelist.d.ts +10 -0
- package/dist/types/irdevicelist.d.ts.map +1 -0
- package/dist/types/irdevicelist.js +2 -0
- package/dist/types/irdevicelist.js.map +1 -0
- package/dist/types/pushbody.d.ts +6 -0
- package/dist/types/pushbody.d.ts.map +1 -0
- package/dist/types/pushbody.js +2 -0
- package/dist/types/pushbody.js.map +1 -0
- package/dist/{types.d.ts → types/types.d.ts} +9 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/types.js.map +1 -0
- package/jest.config.js +3 -0
- package/package.json +22 -14
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- /package/dist/{types.js → types/types.js} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. This projec
|
|
|
5
5
|
## [2.4.0](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v2.4.0) (2024-09-13)
|
|
6
6
|
|
|
7
7
|
### What's Changed
|
|
8
|
-
- Added `
|
|
8
|
+
- Added `celsius` and `fahrenheit` as based values sent for Sensors
|
|
9
9
|
- Housekeeping and update dependencies
|
|
10
10
|
|
|
11
11
|
**Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v2.3.0...v2.4.0
|
package/dist/advertising.d.ts
CHANGED
|
@@ -1,161 +1,27 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import {
|
|
1
|
+
import type * as Noble from '@stoprocent/noble';
|
|
2
|
+
import { Buffer } from 'node:buffer';
|
|
3
3
|
export type Ad = {
|
|
4
4
|
id: string;
|
|
5
5
|
address: string;
|
|
6
6
|
rssi: number;
|
|
7
7
|
serviceData: Record<string, unknown>;
|
|
8
8
|
} | null;
|
|
9
|
+
export interface AdvertisementData {
|
|
10
|
+
serviceData: Buffer | null;
|
|
11
|
+
manufacturerData: Buffer | null;
|
|
12
|
+
}
|
|
9
13
|
export declare class Advertising {
|
|
10
14
|
constructor();
|
|
11
15
|
/**
|
|
12
|
-
* Parses the advertisement data
|
|
16
|
+
* Parses the advertisement data coming from SwitchBot device.
|
|
17
|
+
*
|
|
18
|
+
* This function processes advertising packets received from SwitchBot devices
|
|
19
|
+
* and extracts relevant information based on the device type.
|
|
13
20
|
*
|
|
14
|
-
* @param peripheral - The peripheral device.
|
|
15
|
-
* @param onlog -
|
|
16
|
-
* @returns
|
|
21
|
+
* @param peripheral - The peripheral device object from noble.
|
|
22
|
+
* @param onlog - A logging function for debugging purposes.
|
|
23
|
+
* @returns An object containing parsed data specific to the SwitchBot device type, or `null` if the device is not recognized.
|
|
17
24
|
*/
|
|
18
|
-
static parse(peripheral: Peripheral, onlog?: (message: string) => void):
|
|
19
|
-
id: string;
|
|
20
|
-
address: string;
|
|
21
|
-
rssi: number;
|
|
22
|
-
serviceData: {
|
|
23
|
-
model: SwitchBotBLEModel;
|
|
24
|
-
modelName: import("./types.js").SwitchBotBLEModelName;
|
|
25
|
-
modelFriendlyName: import("./types.js").SwitchBotBLEModelFriendlyName;
|
|
26
|
-
mode: boolean;
|
|
27
|
-
state: boolean;
|
|
28
|
-
battery: number;
|
|
29
|
-
} | {
|
|
30
|
-
model: string;
|
|
31
|
-
modelName: import("./types.js").SwitchBotBLEModelName;
|
|
32
|
-
modelFriendlyName: import("./types.js").SwitchBotBLEModelFriendlyName;
|
|
33
|
-
calibration: boolean;
|
|
34
|
-
battery: number;
|
|
35
|
-
inMotion: boolean;
|
|
36
|
-
position: number;
|
|
37
|
-
lightLevel: number;
|
|
38
|
-
deviceChain: number;
|
|
39
|
-
} | {
|
|
40
|
-
model: SwitchBotBLEModel;
|
|
41
|
-
modelName: import("./types.js").SwitchBotBLEModelName;
|
|
42
|
-
modelFriendlyName: import("./types.js").SwitchBotBLEModelFriendlyName;
|
|
43
|
-
onState: boolean;
|
|
44
|
-
autoMode: boolean;
|
|
45
|
-
percentage: number;
|
|
46
|
-
humidity: number;
|
|
47
|
-
} | {
|
|
48
|
-
model: SwitchBotBLEModel;
|
|
49
|
-
modelName: import("./types.js").SwitchBotBLEModelName;
|
|
50
|
-
modelFriendlyName: import("./types.js").SwitchBotBLEModelFriendlyName;
|
|
51
|
-
temperature: {
|
|
52
|
-
c: number;
|
|
53
|
-
f: number;
|
|
54
|
-
};
|
|
55
|
-
celsius: number;
|
|
56
|
-
fahrenheit: number;
|
|
57
|
-
fahrenheit_mode: boolean;
|
|
58
|
-
humidity: number;
|
|
59
|
-
battery: number;
|
|
60
|
-
} | {
|
|
61
|
-
model: SwitchBotBLEModel;
|
|
62
|
-
modelName: import("./types.js").SwitchBotBLEModelName;
|
|
63
|
-
modelfriendlyName: import("./types.js").SwitchBotBLEModelFriendlyName;
|
|
64
|
-
temperature: {
|
|
65
|
-
c: number;
|
|
66
|
-
f: number;
|
|
67
|
-
};
|
|
68
|
-
celsius: number;
|
|
69
|
-
fahrenheit: number;
|
|
70
|
-
fahrenheit_mode: boolean;
|
|
71
|
-
humidity: number;
|
|
72
|
-
battery: number;
|
|
73
|
-
} | {
|
|
74
|
-
model: SwitchBotBLEModel;
|
|
75
|
-
modelName: import("./types.js").SwitchBotBLEModelName;
|
|
76
|
-
modelFriendlyName: import("./types.js").SwitchBotBLEModelFriendlyName;
|
|
77
|
-
temperature: {
|
|
78
|
-
c: number;
|
|
79
|
-
f: number;
|
|
80
|
-
};
|
|
81
|
-
celsius: number;
|
|
82
|
-
fahrenheit: number;
|
|
83
|
-
fahrenheit_mode: boolean;
|
|
84
|
-
humidity: number;
|
|
85
|
-
lightLevel: number;
|
|
86
|
-
} | {
|
|
87
|
-
model: SwitchBotBLEModel;
|
|
88
|
-
modelName: import("./types.js").SwitchBotBLEModelName;
|
|
89
|
-
modelFriendlyName: import("./types.js").SwitchBotBLEModelFriendlyName;
|
|
90
|
-
tested: boolean;
|
|
91
|
-
movement: boolean;
|
|
92
|
-
battery: number;
|
|
93
|
-
led: number;
|
|
94
|
-
iot: number;
|
|
95
|
-
sense_distance: number;
|
|
96
|
-
lightLevel: string;
|
|
97
|
-
is_light: boolean;
|
|
98
|
-
} | {
|
|
99
|
-
model: SwitchBotBLEModel;
|
|
100
|
-
modelName: import("./types.js").SwitchBotBLEModelName;
|
|
101
|
-
modelFriendlyName: import("./types.js").SwitchBotBLEModelFriendlyName;
|
|
102
|
-
movement: boolean;
|
|
103
|
-
tested: number;
|
|
104
|
-
battery: number;
|
|
105
|
-
contact_open: boolean;
|
|
106
|
-
contact_timeout: boolean;
|
|
107
|
-
lightLevel: string;
|
|
108
|
-
button_count: number;
|
|
109
|
-
doorState: string;
|
|
110
|
-
} | {
|
|
111
|
-
model: SwitchBotBLEModel;
|
|
112
|
-
modelName: import("./types.js").SwitchBotBLEModelName;
|
|
113
|
-
modelFriendlyName: import("./types.js").SwitchBotBLEModelFriendlyName;
|
|
114
|
-
state: boolean;
|
|
115
|
-
brightness: number;
|
|
116
|
-
red: number;
|
|
117
|
-
green: number;
|
|
118
|
-
blue: number;
|
|
119
|
-
delay: number;
|
|
120
|
-
preset: number;
|
|
121
|
-
color_mode: number;
|
|
122
|
-
speed: number;
|
|
123
|
-
loop_index: number;
|
|
124
|
-
} | {
|
|
125
|
-
model: SwitchBotBLEModel;
|
|
126
|
-
modelName: import("./types.js").SwitchBotBLEModelName;
|
|
127
|
-
modelFriendlyName: import("./types.js").SwitchBotBLEModelFriendlyName;
|
|
128
|
-
state: string | null;
|
|
129
|
-
delay: boolean;
|
|
130
|
-
timer: boolean;
|
|
131
|
-
syncUtcTime: boolean;
|
|
132
|
-
wifiRssi: number;
|
|
133
|
-
overload: boolean;
|
|
134
|
-
currentPower: number;
|
|
135
|
-
} | {
|
|
136
|
-
model: SwitchBotBLEModel;
|
|
137
|
-
modelName: import("./types.js").SwitchBotBLEModelName;
|
|
138
|
-
modelFriendlyName: import("./types.js").SwitchBotBLEModelFriendlyName;
|
|
139
|
-
battery: number;
|
|
140
|
-
calibration: boolean;
|
|
141
|
-
status: string;
|
|
142
|
-
update_from_secondary_lock: boolean;
|
|
143
|
-
door_open: boolean;
|
|
144
|
-
double_lock_mode: boolean;
|
|
145
|
-
unclosed_alarm: boolean;
|
|
146
|
-
unlocked_alarm: boolean;
|
|
147
|
-
auto_lock_paused: boolean;
|
|
148
|
-
night_latch: boolean;
|
|
149
|
-
} | {
|
|
150
|
-
model: SwitchBotBLEModel;
|
|
151
|
-
modelName: import("./types.js").SwitchBotBLEModelName;
|
|
152
|
-
modelFriendlyName: import("./types.js").SwitchBotBLEModelFriendlyName;
|
|
153
|
-
calibration: boolean;
|
|
154
|
-
battery: number;
|
|
155
|
-
inMotion: boolean;
|
|
156
|
-
tilt: number;
|
|
157
|
-
lightLevel: number;
|
|
158
|
-
};
|
|
159
|
-
} | null;
|
|
25
|
+
static parse(peripheral: Noble.Peripheral, onlog?: (message: string) => void): Promise<Ad>;
|
|
160
26
|
}
|
|
161
27
|
//# sourceMappingURL=advertising.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advertising.d.ts","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"advertising.d.ts","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAmBpC,MAAM,MAAM,EAAE,GAAG;IACf,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACrC,GAAG,IAAI,CAAA;AAER,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC;AAED,qBAAa,WAAW;;IAGtB;;;;;;;;;OASG;WACU,KAAK,CAChB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC,EAAE,CAAC;CAiHf"}
|
package/dist/advertising.js
CHANGED
|
@@ -14,146 +14,90 @@ import { WoSensorTH } from './device/wosensorth.js';
|
|
|
14
14
|
import { WoSmartLock } from './device/wosmartlock.js';
|
|
15
15
|
import { WoSmartLockPro } from './device/wosmartlockpro.js';
|
|
16
16
|
import { WoStrip } from './device/wostrip.js';
|
|
17
|
-
import { SwitchBotBLEModel } from './types.js';
|
|
17
|
+
import { SwitchBotBLEModel } from './types/types.js';
|
|
18
18
|
export class Advertising {
|
|
19
19
|
constructor() { }
|
|
20
|
-
/* ------------------------------------------------------------------
|
|
21
|
-
* parse(peripheral)
|
|
22
|
-
* - Parse advertising packets coming from switchbot devices
|
|
23
|
-
*
|
|
24
|
-
* [Arguments]
|
|
25
|
-
* - peripheral | Object | Required | A `Peripheral` object of noble
|
|
26
|
-
*
|
|
27
|
-
* [Return value]
|
|
28
|
-
* - An object as follows:
|
|
29
|
-
*
|
|
30
|
-
* WoHand
|
|
31
|
-
* {
|
|
32
|
-
* id: 'c12e453e2008',
|
|
33
|
-
* address: 'c1:2e:45:3e:20:08',
|
|
34
|
-
* rssi: -43,
|
|
35
|
-
* serviceData: {
|
|
36
|
-
* model: 'H',
|
|
37
|
-
* modelName: 'WoHand',
|
|
38
|
-
* mode: false,
|
|
39
|
-
* state: false,
|
|
40
|
-
* battery: 95
|
|
41
|
-
* }
|
|
42
|
-
* }
|
|
43
|
-
*
|
|
44
|
-
* WoSensorTH
|
|
45
|
-
* {
|
|
46
|
-
* id: 'cb4eb903c96d',
|
|
47
|
-
* address: 'cb:4e:b9:03:c9:6d',
|
|
48
|
-
* rssi: -54,
|
|
49
|
-
* serviceData: {
|
|
50
|
-
* model: 'T',
|
|
51
|
-
* modelName: 'WoSensorTH',
|
|
52
|
-
* celsius: 26.2,
|
|
53
|
-
* fahrenheit: 79.2,
|
|
54
|
-
* fahrenheit_mode: false,
|
|
55
|
-
* humidity: 45,
|
|
56
|
-
* battery: 100
|
|
57
|
-
* }
|
|
58
|
-
* }
|
|
59
|
-
*
|
|
60
|
-
* WoCurtain
|
|
61
|
-
* {
|
|
62
|
-
* id: 'ec58c5d00111',
|
|
63
|
-
* address: 'ec:58:c5:d0:01:11',
|
|
64
|
-
* rssi: -39,
|
|
65
|
-
* serviceData: {
|
|
66
|
-
* model: 'c',
|
|
67
|
-
* modelName: 'WoCurtain',
|
|
68
|
-
* calibration: true,
|
|
69
|
-
* battery: 91,
|
|
70
|
-
* position: 1,
|
|
71
|
-
* lightLevel: 1
|
|
72
|
-
* }
|
|
73
|
-
* }
|
|
74
|
-
*
|
|
75
|
-
* If the specified `Peripheral` does not represent any switchbot
|
|
76
|
-
* device, this method will return `null`.
|
|
77
|
-
* ---------------------------------------------------------------- */
|
|
78
20
|
/**
|
|
79
|
-
* Parses the advertisement data
|
|
21
|
+
* Parses the advertisement data coming from SwitchBot device.
|
|
80
22
|
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
23
|
+
* This function processes advertising packets received from SwitchBot devices
|
|
24
|
+
* and extracts relevant information based on the device type.
|
|
25
|
+
*
|
|
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.
|
|
84
29
|
*/
|
|
85
|
-
static parse(peripheral, onlog) {
|
|
30
|
+
static async parse(peripheral, onlog) {
|
|
86
31
|
const ad = peripheral.advertisement;
|
|
87
32
|
if (!ad || !ad.serviceData) {
|
|
88
33
|
return null;
|
|
89
34
|
}
|
|
90
|
-
const
|
|
35
|
+
const adServiceData = ad.serviceData[0] || ad.serviceData;
|
|
91
36
|
const manufacturerData = ad.manufacturerData;
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
if (bufIsInvalid || manufacturerDataIsInvalid) {
|
|
37
|
+
const serviceData = adServiceData.data;
|
|
38
|
+
function validateBuffer(buffer) {
|
|
39
|
+
return buffer && Buffer.isBuffer(buffer) && buffer.length >= 3;
|
|
40
|
+
}
|
|
41
|
+
if (!validateBuffer(serviceData) || !validateBuffer(manufacturerData)) {
|
|
98
42
|
return null;
|
|
99
43
|
}
|
|
100
|
-
const model =
|
|
44
|
+
const model = serviceData.subarray(0, 1).toString('utf8');
|
|
101
45
|
let sd;
|
|
102
46
|
switch (model) {
|
|
103
47
|
case SwitchBotBLEModel.Bot:
|
|
104
|
-
sd = WoHand.parseServiceData(
|
|
48
|
+
sd = await WoHand.parseServiceData(serviceData, onlog);
|
|
105
49
|
break;
|
|
106
50
|
case SwitchBotBLEModel.Curtain:
|
|
107
51
|
case SwitchBotBLEModel.Curtain3:
|
|
108
|
-
sd = WoCurtain.parseServiceData(
|
|
52
|
+
sd = await WoCurtain.parseServiceData(serviceData, manufacturerData, onlog);
|
|
109
53
|
break;
|
|
110
54
|
case SwitchBotBLEModel.Humidifier:
|
|
111
|
-
sd = WoHumi.parseServiceData(
|
|
55
|
+
sd = await WoHumi.parseServiceData(serviceData, onlog);
|
|
112
56
|
break;
|
|
113
57
|
case SwitchBotBLEModel.Meter:
|
|
114
|
-
sd = WoSensorTH.parseServiceData(
|
|
58
|
+
sd = await WoSensorTH.parseServiceData(serviceData, onlog);
|
|
115
59
|
break;
|
|
116
60
|
case SwitchBotBLEModel.MeterPlus:
|
|
117
|
-
sd = WoSensorTH.parseServiceData_Plus(
|
|
61
|
+
sd = await WoSensorTH.parseServiceData_Plus(serviceData, onlog);
|
|
118
62
|
break;
|
|
119
63
|
case SwitchBotBLEModel.Hub2:
|
|
120
|
-
sd = WoHub2.parseServiceData(manufacturerData, onlog);
|
|
64
|
+
sd = await WoHub2.parseServiceData(manufacturerData, onlog);
|
|
121
65
|
break;
|
|
122
66
|
case SwitchBotBLEModel.OutdoorMeter:
|
|
123
|
-
sd = WoIOSensorTH.parseServiceData(
|
|
67
|
+
sd = await WoIOSensorTH.parseServiceData(serviceData, manufacturerData, onlog);
|
|
124
68
|
break;
|
|
125
69
|
case SwitchBotBLEModel.MotionSensor:
|
|
126
|
-
sd = WoPresence.parseServiceData(
|
|
70
|
+
sd = await WoPresence.parseServiceData(serviceData, onlog);
|
|
127
71
|
break;
|
|
128
72
|
case SwitchBotBLEModel.ContactSensor:
|
|
129
|
-
sd = WoContact.parseServiceData(
|
|
73
|
+
sd = await WoContact.parseServiceData(serviceData, onlog);
|
|
130
74
|
break;
|
|
131
75
|
case SwitchBotBLEModel.ColorBulb:
|
|
132
|
-
sd = WoBulb.parseServiceData(manufacturerData, onlog);
|
|
76
|
+
sd = await WoBulb.parseServiceData(serviceData, manufacturerData, onlog);
|
|
133
77
|
break;
|
|
134
78
|
case SwitchBotBLEModel.CeilingLight:
|
|
135
|
-
sd = WoCeilingLight.parseServiceData(manufacturerData, onlog);
|
|
79
|
+
sd = await WoCeilingLight.parseServiceData(manufacturerData, onlog);
|
|
136
80
|
break;
|
|
137
81
|
case SwitchBotBLEModel.CeilingLightPro:
|
|
138
|
-
sd = WoCeilingLight.parseServiceData_Pro(manufacturerData, onlog);
|
|
82
|
+
sd = await WoCeilingLight.parseServiceData_Pro(manufacturerData, onlog);
|
|
139
83
|
break;
|
|
140
84
|
case SwitchBotBLEModel.StripLight:
|
|
141
|
-
sd = WoStrip.parseServiceData(
|
|
85
|
+
sd = await WoStrip.parseServiceData(serviceData, onlog);
|
|
142
86
|
break;
|
|
143
87
|
case SwitchBotBLEModel.PlugMiniUS:
|
|
144
|
-
sd = WoPlugMini.parseServiceData_US(manufacturerData, onlog);
|
|
88
|
+
sd = await WoPlugMini.parseServiceData_US(manufacturerData, onlog);
|
|
145
89
|
break;
|
|
146
90
|
case SwitchBotBLEModel.PlugMiniJP:
|
|
147
|
-
sd = WoPlugMini.parseServiceData_JP(manufacturerData, onlog);
|
|
91
|
+
sd = await WoPlugMini.parseServiceData_JP(manufacturerData, onlog);
|
|
148
92
|
break;
|
|
149
93
|
case SwitchBotBLEModel.Lock:
|
|
150
|
-
sd = WoSmartLock.parseServiceData(
|
|
94
|
+
sd = await WoSmartLock.parseServiceData(serviceData, manufacturerData, onlog);
|
|
151
95
|
break;
|
|
152
96
|
case SwitchBotBLEModel.LockPro:
|
|
153
|
-
sd = WoSmartLockPro.parseServiceData(
|
|
97
|
+
sd = await WoSmartLockPro.parseServiceData(serviceData, manufacturerData, onlog);
|
|
154
98
|
break;
|
|
155
99
|
case SwitchBotBLEModel.BlindTilt:
|
|
156
|
-
sd = WoBlindTilt.parseServiceData(
|
|
100
|
+
sd = await WoBlindTilt.parseServiceData(serviceData, manufacturerData, onlog);
|
|
157
101
|
break;
|
|
158
102
|
default:
|
|
159
103
|
if (onlog && typeof onlog === 'function') {
|
|
@@ -173,9 +117,9 @@ export class Advertising {
|
|
|
173
117
|
.toString('hex')
|
|
174
118
|
.slice(4, 16);
|
|
175
119
|
if (str !== '') {
|
|
176
|
-
address = str.
|
|
120
|
+
address = str.substring(0, 2);
|
|
177
121
|
for (let i = 2; i < str.length; i += 2) {
|
|
178
|
-
address = `${address}:${str.
|
|
122
|
+
address = `${address}:${str.substring(i, i + 2)}`;
|
|
179
123
|
}
|
|
180
124
|
}
|
|
181
125
|
}
|
package/dist/advertising.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advertising.js","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"advertising.js","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,106 @@
|
|
|
1
1
|
import { Buffer } from 'node:buffer';
|
|
2
2
|
import { SwitchbotDevice } from '../device.js';
|
|
3
|
-
import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types.js';
|
|
4
3
|
export declare class WoBlindTilt extends SwitchbotDevice {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
4
|
+
private _reverse;
|
|
5
|
+
/**
|
|
6
|
+
* Parses the service data and manufacturer data for the WoBlindTilt device.
|
|
7
|
+
*
|
|
8
|
+
* @param {Buffer} serviceData - The service data buffer.
|
|
9
|
+
* @param {Buffer} manufacturerData - The manufacturer data buffer.
|
|
10
|
+
* @param {(message: string) => void} [onlog] - Optional logging function.
|
|
11
|
+
* @param {boolean} [reverse] - Whether to reverse the tilt percentage.
|
|
12
|
+
* @returns {object | null} The parsed data object or null if the data is invalid.
|
|
13
|
+
*/
|
|
14
|
+
static parseServiceData(serviceData: Buffer, manufacturerData: Buffer, onlog: ((message: string) => void) | undefined, reverse?: boolean): Promise<object | null>;
|
|
15
|
+
/**
|
|
16
|
+
* open
|
|
17
|
+
*
|
|
18
|
+
* Opens the blind tilt to the fully open position.
|
|
19
|
+
*
|
|
20
|
+
* @returns {Promise<void>} - A promise that resolves when the operation is complete. Nothing will be passed to the `resolve()`.
|
|
21
|
+
*/
|
|
15
22
|
open(): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* closeUp
|
|
25
|
+
*
|
|
26
|
+
* Closes the blind tilt up to the nearest endpoint.
|
|
27
|
+
*
|
|
28
|
+
* @returns {Promise<void>} - A promise that resolves when the operation is complete. Nothing will be passed to the `resolve()`.
|
|
29
|
+
*/
|
|
30
|
+
closeUp(): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* closeDown
|
|
33
|
+
*
|
|
34
|
+
* Closes the blind tilt down to the nearest endpoint.
|
|
35
|
+
*
|
|
36
|
+
* @returns {Promise<void>} - A promise that resolves when the operation is complete. Nothing will be passed to the `resolve()`.
|
|
37
|
+
*/
|
|
38
|
+
closeDown(): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* close
|
|
41
|
+
*
|
|
42
|
+
* Closes the blind tilt to the nearest endpoint.
|
|
43
|
+
*
|
|
44
|
+
* @returns {Promise<void>} - A promise that resolves when the operation is complete. Nothing will be passed to the `resolve()`.
|
|
45
|
+
*/
|
|
16
46
|
close(): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* getPosition
|
|
49
|
+
*
|
|
50
|
+
* Retrieves the current position of the blind tilt.
|
|
51
|
+
*
|
|
52
|
+
* @returns {number} - The current position of the blind tilt (0-100).
|
|
53
|
+
*/
|
|
54
|
+
getPosition(): Promise<number>;
|
|
55
|
+
/**
|
|
56
|
+
* _getAdvValue
|
|
57
|
+
*
|
|
58
|
+
* Retrieves the advertised value for a given key.
|
|
59
|
+
*
|
|
60
|
+
* @param {string} key - The key for the advertised value.
|
|
61
|
+
* @returns {Promise<number>} - The advertised value.
|
|
62
|
+
*/
|
|
63
|
+
private _getAdvValue;
|
|
64
|
+
/**
|
|
65
|
+
* getBasicInfo
|
|
66
|
+
*
|
|
67
|
+
* Retrieves the basic information of the blind tilt.
|
|
68
|
+
*
|
|
69
|
+
* @returns {Promise<object>} - A promise that resolves to an object containing the basic information of the blind tilt.
|
|
70
|
+
*/
|
|
71
|
+
getBasicInfo(): Promise<object | null>;
|
|
72
|
+
/**
|
|
73
|
+
* Pauses the blind tilt operation.
|
|
74
|
+
*
|
|
75
|
+
* This method sends a command to pause the current operation of the blind tilt.
|
|
76
|
+
*
|
|
77
|
+
* @returns {Promise<void>} A promise that resolves when the operation is complete.
|
|
78
|
+
* No value is passed to the `resolve()` function.
|
|
79
|
+
*/
|
|
17
80
|
pause(): Promise<void>;
|
|
18
|
-
|
|
19
|
-
|
|
81
|
+
/**
|
|
82
|
+
* runToPos the blind tilt operation.
|
|
83
|
+
*
|
|
84
|
+
* This method sends a command to run the blind tilt to the specified position.
|
|
85
|
+
*
|
|
86
|
+
* @param {number} percent - The target position percentage (0-100).
|
|
87
|
+
* @param {number} mode - The running mode (0 or 1).
|
|
88
|
+
* @returns {Promise<void>} - A promise that resolves when the operation is complete.
|
|
89
|
+
*/
|
|
90
|
+
runToPos(percent: number, mode: number): Promise<void>;
|
|
91
|
+
/**
|
|
92
|
+
* Sends a command to operate the blind tilt and handles the response.
|
|
93
|
+
*
|
|
94
|
+
* This method constructs a buffer from the provided byte array and sends it as a command to the device.
|
|
95
|
+
* It returns a promise that resolves if the device responds with a success code (0x01) and rejects if the device
|
|
96
|
+
* returns an error or if the command fails.
|
|
97
|
+
*
|
|
98
|
+
* @param {number[]} bytes - The byte array representing the command to be sent to the device.
|
|
99
|
+
* @returns {Promise<void>} A promise that resolves when the command is successfully executed or rejects with an
|
|
100
|
+
* error if the command fails.
|
|
101
|
+
*
|
|
102
|
+
* @throws {Error} Throws an error if the device returns an error code or if the command fails.
|
|
103
|
+
*/
|
|
104
|
+
operateBlindTilt(bytes: number[]): Promise<void>;
|
|
20
105
|
}
|
|
21
106
|
//# sourceMappingURL=woblindtilt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"woblindtilt.d.ts","sourceRoot":"","sources":["../../src/device/woblindtilt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"woblindtilt.d.ts","sourceRoot":"","sources":["../../src/device/woblindtilt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAMpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C,qBAAa,WAAY,SAAQ,eAAe;IAC9C,OAAO,CAAC,QAAQ,CAAiB;IACjC;;;;;;;;OAQG;WACU,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,EAC9C,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAkCzB;;;;;;OAMG;IACG,IAAI;IAIV;;;;;;OAMG;IACG,OAAO;IAIb;;;;;;OAMG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC;;;;;;OAMG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5B;;;;;;OAMG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAQpC;;;;;;;OAOG;YACW,YAAY;IAQ1B;;;;;;OAMG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA2C5C;;;;;;;OAOG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;;;;;;;OAQG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB5D;;;;;;;;;;;;OAYG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAavD"}
|