node-switchbot 2.3.1-beta.2 → 2.4.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 +8 -0
- package/dist/advertising.d.ts +137 -6
- package/dist/advertising.d.ts.map +1 -1
- package/dist/advertising.js +19 -17
- package/dist/advertising.js.map +1 -1
- package/dist/device/woblindtilt.d.ts +3 -25
- package/dist/device/woblindtilt.d.ts.map +1 -1
- package/dist/device/woblindtilt.js +31 -135
- package/dist/device/woblindtilt.js.map +1 -1
- package/dist/device/wobulb.d.ts +1 -0
- package/dist/device/wobulb.d.ts.map +1 -1
- package/dist/device/wobulb.js +31 -37
- package/dist/device/wobulb.js.map +1 -1
- package/dist/device/woceilinglight.d.ts +1 -0
- package/dist/device/woceilinglight.d.ts.map +1 -1
- package/dist/device/woceilinglight.js +51 -57
- package/dist/device/woceilinglight.js.map +1 -1
- package/dist/device/wocontact.d.ts +1 -0
- package/dist/device/wocontact.d.ts.map +1 -1
- package/dist/device/wocontact.js +7 -11
- package/dist/device/wocontact.js.map +1 -1
- package/dist/device/wocurtain.d.ts +13 -1
- package/dist/device/wocurtain.d.ts.map +1 -1
- package/dist/device/wocurtain.js +31 -46
- package/dist/device/wocurtain.js.map +1 -1
- package/dist/device/wohand.d.ts +1 -0
- package/dist/device/wohand.d.ts.map +1 -1
- package/dist/device/wohand.js +7 -6
- package/dist/device/wohand.js.map +1 -1
- package/dist/device/wohub2.d.ts +1 -0
- package/dist/device/wohub2.d.ts.map +1 -1
- package/dist/device/wohub2.js +1 -5
- package/dist/device/wohub2.js.map +1 -1
- package/dist/device/wohumi.d.ts +1 -0
- package/dist/device/wohumi.d.ts.map +1 -1
- package/dist/device/wohumi.js +7 -6
- package/dist/device/wohumi.js.map +1 -1
- package/dist/device/woiosensorth.d.ts +4 -1
- package/dist/device/woiosensorth.d.ts.map +1 -1
- package/dist/device/woiosensorth.js +3 -5
- package/dist/device/woiosensorth.js.map +1 -1
- package/dist/device/woplugmini.d.ts +1 -0
- package/dist/device/woplugmini.d.ts.map +1 -1
- package/dist/device/woplugmini.js +19 -19
- package/dist/device/woplugmini.js.map +1 -1
- package/dist/device/wopresence.d.ts +1 -0
- package/dist/device/wopresence.d.ts.map +1 -1
- package/dist/device/wopresence.js +10 -14
- package/dist/device/wopresence.js.map +1 -1
- package/dist/device/wosensorth.d.ts +7 -2
- package/dist/device/wosensorth.d.ts.map +1 -1
- package/dist/device/wosensorth.js +6 -6
- package/dist/device/wosensorth.js.map +1 -1
- package/dist/device/wosmartlock.d.ts +2 -1
- package/dist/device/wosmartlock.d.ts.map +1 -1
- package/dist/device/wosmartlock.js +42 -41
- package/dist/device/wosmartlock.js.map +1 -1
- package/dist/device/wosmartlockpro.d.ts +3 -2
- package/dist/device/wosmartlockpro.d.ts.map +1 -1
- package/dist/device/wosmartlockpro.js +41 -40
- package/dist/device/wosmartlockpro.js.map +1 -1
- package/dist/device/wostrip.d.ts +3 -2
- package/dist/device/wostrip.d.ts.map +1 -1
- package/dist/device/wostrip.js +29 -35
- package/dist/device/wostrip.js.map +1 -1
- package/dist/device.d.ts +12 -9
- package/dist/device.d.ts.map +1 -1
- package/dist/device.js +17 -14
- package/dist/device.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/parameter-checker.d.ts +3 -3
- package/dist/parameter-checker.d.ts.map +1 -1
- package/dist/parameter-checker.js +25 -67
- package/dist/parameter-checker.js.map +1 -1
- package/dist/switchbot.d.ts +4 -4
- package/dist/switchbot.d.ts.map +1 -1
- package/dist/switchbot.js +16 -18
- package/dist/switchbot.js.map +1 -1
- package/dist/types.d.ts +2 -2
- package/dist/types.d.ts.map +1 -1
- package/eslint.config.js +41 -76
- package/package.json +38 -38
package/dist/device/wocurtain.js
CHANGED
|
@@ -2,54 +2,40 @@
|
|
|
2
2
|
*
|
|
3
3
|
* wocurtain.ts: Switchbot BLE API registration.
|
|
4
4
|
*/
|
|
5
|
+
import { Buffer } from 'node:buffer';
|
|
5
6
|
import { SwitchbotDevice } from '../device.js';
|
|
6
7
|
import { SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types.js';
|
|
7
8
|
export class WoCurtain extends SwitchbotDevice {
|
|
8
|
-
static parseServiceData(
|
|
9
|
-
if (
|
|
9
|
+
static parseServiceData(buf, onlog) {
|
|
10
|
+
if (buf.length !== 5 && buf.length !== 6) {
|
|
10
11
|
if (onlog && typeof onlog === 'function') {
|
|
11
|
-
onlog(`[parseServiceDataForWoCurtain] Buffer length ${
|
|
12
|
+
onlog(`[parseServiceDataForWoCurtain] Buffer length ${buf.length} !== 5 or 6!`);
|
|
12
13
|
}
|
|
13
14
|
return null;
|
|
14
15
|
}
|
|
15
|
-
const byte1 =
|
|
16
|
-
const byte2 =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
else if (serviceData) {
|
|
28
|
-
deviceData = serviceData.subarray(3, 6);
|
|
29
|
-
batteryData = byte2;
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
return {};
|
|
33
|
-
}
|
|
34
|
-
const model = serviceData.subarray(0, 1).toString('utf8');
|
|
16
|
+
const byte1 = buf.readUInt8(1);
|
|
17
|
+
const byte2 = buf.readUInt8(2);
|
|
18
|
+
const byte3 = buf.readUInt8(3);
|
|
19
|
+
const byte4 = buf.readUInt8(4);
|
|
20
|
+
const calibration = !!(byte1 & 0b01000000); // Whether the calibration is compconsted
|
|
21
|
+
const battery = byte2 & 0b01111111; // %
|
|
22
|
+
const inMotion = !!(byte3 & 0b10000000);
|
|
23
|
+
const currPosition = byte3 & 0b01111111; // current positon %
|
|
24
|
+
const lightLevel = (byte4 >> 4) & 0b00001111; // light sensor level (1-10)
|
|
25
|
+
const deviceChain = byte4 & 0b00000111;
|
|
26
|
+
const model = buf.subarray(0, 1).toString('utf8');
|
|
35
27
|
const modelName = model === 'c' ? SwitchBotBLEModelName.Curtain : SwitchBotBLEModelName.Curtain3;
|
|
36
28
|
const modelFriendlyName = model === 'c' ? SwitchBotBLEModelFriendlyName.Curtain : SwitchBotBLEModelFriendlyName.Curtain3;
|
|
37
|
-
const calibration = serviceData ? Boolean(byte1 & 0b01000000) : null; // Whether the calibration is compconsted
|
|
38
|
-
const position = Math.max(Math.min(deviceData.readUInt8(0) & 0b01111111, 100), 0); // current positon %
|
|
39
|
-
const inMotion = Boolean(deviceData.readUInt8(0) & 0b10000000);
|
|
40
|
-
const lightLevel = (deviceData.readUInt8(1) >> 4) & 0b00001111; // light sensor level (1-10)
|
|
41
|
-
const deviceChain = deviceData.readUInt8(1) & 0b00000111;
|
|
42
|
-
const battery = batteryData !== null ? batteryData & 0b01111111 : null;
|
|
43
29
|
const data = {
|
|
44
|
-
model
|
|
45
|
-
modelName
|
|
46
|
-
modelFriendlyName
|
|
47
|
-
calibration
|
|
48
|
-
battery
|
|
49
|
-
inMotion
|
|
50
|
-
position:
|
|
51
|
-
lightLevel
|
|
52
|
-
deviceChain
|
|
30
|
+
model,
|
|
31
|
+
modelName,
|
|
32
|
+
modelFriendlyName,
|
|
33
|
+
calibration,
|
|
34
|
+
battery,
|
|
35
|
+
inMotion,
|
|
36
|
+
position: currPosition,
|
|
37
|
+
lightLevel,
|
|
38
|
+
deviceChain,
|
|
53
39
|
};
|
|
54
40
|
return data;
|
|
55
41
|
}
|
|
@@ -93,7 +79,7 @@ export class WoCurtain extends SwitchbotDevice {
|
|
|
93
79
|
* Nothing will be passed to the `resolve()`.
|
|
94
80
|
* ---------------------------------------------------------------- */
|
|
95
81
|
pause() {
|
|
96
|
-
return this._operateCurtain([0x57,
|
|
82
|
+
return this._operateCurtain([0x57, 0x0F, 0x45, 0x01, 0x00, 0xFF]);
|
|
97
83
|
}
|
|
98
84
|
/* ------------------------------------------------------------------
|
|
99
85
|
* runToPos()
|
|
@@ -107,20 +93,19 @@ export class WoCurtain extends SwitchbotDevice {
|
|
|
107
93
|
* - Promise object
|
|
108
94
|
* Nothing will be passed to the `resolve()`.
|
|
109
95
|
* ---------------------------------------------------------------- */
|
|
110
|
-
runToPos(percent, mode =
|
|
96
|
+
runToPos(percent, mode = 0xFF) {
|
|
111
97
|
if (typeof percent !== 'number') {
|
|
112
98
|
return new Promise((resolve, reject) => {
|
|
113
|
-
reject(new Error(
|
|
114
|
-
typeof percent));
|
|
99
|
+
reject(new Error(`The type of target position percentage is incorrect: ${typeof percent}`));
|
|
115
100
|
});
|
|
116
101
|
}
|
|
117
102
|
if (typeof mode !== 'number') {
|
|
118
103
|
return new Promise((resolve, reject) => {
|
|
119
|
-
reject(new Error(
|
|
104
|
+
reject(new Error(`The type of running mode is incorrect: ${typeof mode}`));
|
|
120
105
|
});
|
|
121
106
|
}
|
|
122
107
|
if (mode > 1) {
|
|
123
|
-
mode =
|
|
108
|
+
mode = 0xFF;
|
|
124
109
|
}
|
|
125
110
|
if (percent > 100) {
|
|
126
111
|
percent = 100;
|
|
@@ -128,7 +113,7 @@ export class WoCurtain extends SwitchbotDevice {
|
|
|
128
113
|
else if (percent < 0) {
|
|
129
114
|
percent = 0;
|
|
130
115
|
}
|
|
131
|
-
return this._operateCurtain([0x57,
|
|
116
|
+
return this._operateCurtain([0x57, 0x0F, 0x45, 0x01, 0x05, mode, percent]);
|
|
132
117
|
}
|
|
133
118
|
_operateCurtain(bytes) {
|
|
134
119
|
return new Promise((resolve, reject) => {
|
|
@@ -140,7 +125,7 @@ export class WoCurtain extends SwitchbotDevice {
|
|
|
140
125
|
resolve();
|
|
141
126
|
}
|
|
142
127
|
else {
|
|
143
|
-
reject(new Error(
|
|
128
|
+
reject(new Error(`The device returned an error: 0x${res_buf.toString('hex')}`));
|
|
144
129
|
}
|
|
145
130
|
})
|
|
146
131
|
.catch((error) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wocurtain.js","sourceRoot":"","sources":["../../src/device/wocurtain.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"wocurtain.js","sourceRoot":"","sources":["../../src/device/wocurtain.ts"],"names":[],"mappings":"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"}
|
package/dist/device/wohand.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wohand.d.ts","sourceRoot":"","sources":["../../src/device/wohand.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"wohand.d.ts","sourceRoot":"","sources":["../../src/device/wohand.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAErG,qBAAa,MAAO,SAAQ,eAAe;IACzC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS;;;;;;;;IAsCnF,KAAK;IAeL,MAAM;IAeN,OAAO;IAeP,IAAI;IAeJ,EAAE;IAIF,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE;CAqB5B"}
|
package/dist/device/wohand.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
*
|
|
3
3
|
* wohand.ts: Switchbot BLE API registration.
|
|
4
4
|
*/
|
|
5
|
+
import { Buffer } from 'node:buffer';
|
|
5
6
|
import { SwitchbotDevice } from '../device.js';
|
|
6
7
|
import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types.js';
|
|
7
8
|
export class WoHand extends SwitchbotDevice {
|
|
@@ -14,16 +15,16 @@ export class WoHand extends SwitchbotDevice {
|
|
|
14
15
|
}
|
|
15
16
|
const byte1 = buf.readUInt8(1);
|
|
16
17
|
const byte2 = buf.readUInt8(2);
|
|
17
|
-
const mode = byte1 & 0b10000000
|
|
18
|
-
const state = byte1 & 0b01000000
|
|
18
|
+
const mode = !!(byte1 & 0b10000000); // Whether the light switch Add-on is used or not. 0 = press, 1 = switch
|
|
19
|
+
const state = !(byte1 & 0b01000000); // Whether the switch status is ON or OFF. 0 = on, 1 = off
|
|
19
20
|
const battery = byte2 & 0b01111111; // %
|
|
20
21
|
const data = {
|
|
21
22
|
model: SwitchBotBLEModel.Bot,
|
|
22
23
|
modelName: SwitchBotBLEModelName.Bot,
|
|
23
24
|
modelFriendlyName: SwitchBotBLEModelFriendlyName.Bot,
|
|
24
|
-
mode
|
|
25
|
-
state
|
|
26
|
-
battery
|
|
25
|
+
mode,
|
|
26
|
+
state,
|
|
27
|
+
battery,
|
|
27
28
|
};
|
|
28
29
|
return data;
|
|
29
30
|
}
|
|
@@ -107,7 +108,7 @@ export class WoHand extends SwitchbotDevice {
|
|
|
107
108
|
resolve();
|
|
108
109
|
}
|
|
109
110
|
else {
|
|
110
|
-
reject(new Error(
|
|
111
|
+
reject(new Error(`The device returned an error: 0x${res_buf.toString('hex')}`));
|
|
111
112
|
}
|
|
112
113
|
})
|
|
113
114
|
.catch((error) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wohand.js","sourceRoot":"","sources":["../../src/device/wohand.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"wohand.js","sourceRoot":"","sources":["../../src/device/wohand.ts"],"names":[],"mappings":"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"}
|
package/dist/device/wohub2.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wohub2.d.ts","sourceRoot":"","sources":["../../src/device/wohub2.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"wohub2.d.ts","sourceRoot":"","sources":["../../src/device/wohub2.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAErG,qBAAa,MAAO,SAAQ,eAAe;IACzC,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS;;;;;;;;;;;;CAkCjG"}
|
package/dist/device/wohub2.js
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/* Copyright(C) 2024, donavanbecker (https://github.com/donavanbecker). All rights reserved.
|
|
2
|
-
*
|
|
3
|
-
* wohub2.ts: Switchbot BLE API registration.
|
|
4
|
-
*/
|
|
5
1
|
import { SwitchbotDevice } from '../device.js';
|
|
6
2
|
import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types.js';
|
|
7
3
|
export class WoHub2 extends SwitchbotDevice {
|
|
@@ -28,7 +24,7 @@ export class WoHub2 extends SwitchbotDevice {
|
|
|
28
24
|
c: temp_c,
|
|
29
25
|
f: temp_f,
|
|
30
26
|
},
|
|
31
|
-
fahrenheit: byte2 & 0b10000000
|
|
27
|
+
fahrenheit: !!(byte2 & 0b10000000),
|
|
32
28
|
humidity: byte2 & 0b01111111,
|
|
33
29
|
lightLevel: light_level,
|
|
34
30
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wohub2.js","sourceRoot":"","sources":["../../src/device/wohub2.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wohub2.js","sourceRoot":"","sources":["../../src/device/wohub2.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAErG,MAAM,OAAO,MAAO,SAAQ,eAAe;IACzC,MAAM,CAAC,gBAAgB,CAAC,gBAAwB,EAAE,KAA8C;QAC9F,IAAI,gBAAgB,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACnC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBACzC,KAAK,CACH,iDAAiD,gBAAgB,CAAC,MAAM,UAAU,CACnF,CAAA;YACH,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC3C,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAE7C,MAAM,SAAS,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAA;QAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAA;QAC5D,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,CAAA;QAEpC,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,iBAAiB,CAAC,IAAI;YAC7B,SAAS,EAAE,qBAAqB,CAAC,IAAI;YACrC,iBAAiB,EAAE,6BAA6B,CAAC,IAAI;YACrD,WAAW,EAAE;gBACX,CAAC,EAAE,MAAM;gBACT,CAAC,EAAE,MAAM;aACV;YACD,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC;YAClC,QAAQ,EAAE,KAAK,GAAG,UAAU;YAC5B,UAAU,EAAE,WAAW;SACxB,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
|
package/dist/device/wohumi.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wohumi.d.ts","sourceRoot":"","sources":["../../src/device/wohumi.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"wohumi.d.ts","sourceRoot":"","sources":["../../src/device/wohumi.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAErG,qBAAa,MAAO,SAAQ,eAAe;IACzC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS;;;;;;;;;IAyCnF,KAAK;IAeL,MAAM;IAeN,OAAO;IAeP,IAAI;IAeJ,EAAE;IAIF,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE;CAqB5B"}
|
package/dist/device/wohumi.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
*
|
|
3
3
|
* wohumi.ts: Switchbot BLE API registration.
|
|
4
4
|
*/
|
|
5
|
+
import { Buffer } from 'node:buffer';
|
|
5
6
|
import { SwitchbotDevice } from '../device.js';
|
|
6
7
|
import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types.js';
|
|
7
8
|
export class WoHumi extends SwitchbotDevice {
|
|
@@ -14,18 +15,18 @@ export class WoHumi extends SwitchbotDevice {
|
|
|
14
15
|
}
|
|
15
16
|
const byte1 = buf.readUInt8(1);
|
|
16
17
|
const byte4 = buf.readUInt8(4);
|
|
17
|
-
const onState = byte1 & 0b10000000
|
|
18
|
-
const autoMode = byte4 & 0b10000000
|
|
18
|
+
const onState = !!(byte1 & 0b10000000); // 1 - on
|
|
19
|
+
const autoMode = !!(byte4 & 0b10000000); // 1 - auto
|
|
19
20
|
const percentage = byte4 & 0b01111111; // 0-100%, 101/102/103 - Quick gear 1/2/3
|
|
20
21
|
const humidity = autoMode ? 0 : percentage === 101 ? 33 : percentage === 102 ? 66 : percentage === 103 ? 100 : percentage;
|
|
21
22
|
const data = {
|
|
22
23
|
model: SwitchBotBLEModel.Humidifier,
|
|
23
24
|
modelName: SwitchBotBLEModelName.Humidifier,
|
|
24
25
|
modelFriendlyName: SwitchBotBLEModelFriendlyName.Humidifier,
|
|
25
|
-
onState
|
|
26
|
-
autoMode
|
|
26
|
+
onState,
|
|
27
|
+
autoMode,
|
|
27
28
|
percentage: autoMode ? 0 : percentage,
|
|
28
|
-
humidity
|
|
29
|
+
humidity,
|
|
29
30
|
};
|
|
30
31
|
return data;
|
|
31
32
|
}
|
|
@@ -109,7 +110,7 @@ export class WoHumi extends SwitchbotDevice {
|
|
|
109
110
|
resolve();
|
|
110
111
|
}
|
|
111
112
|
else {
|
|
112
|
-
reject(new Error(
|
|
113
|
+
reject(new Error(`The device returned an error: 0x${res_buf.toString('hex')}`));
|
|
113
114
|
}
|
|
114
115
|
})
|
|
115
116
|
.catch((error) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wohumi.js","sourceRoot":"","sources":["../../src/device/wohumi.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"wohumi.js","sourceRoot":"","sources":["../../src/device/wohumi.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Buffer } from 'node:buffer';
|
|
1
2
|
import { SwitchbotDevice } from '../device.js';
|
|
2
3
|
import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types.js';
|
|
3
4
|
export declare class WoIOSensorTH extends SwitchbotDevice {
|
|
@@ -9,7 +10,9 @@ export declare class WoIOSensorTH extends SwitchbotDevice {
|
|
|
9
10
|
c: number;
|
|
10
11
|
f: number;
|
|
11
12
|
};
|
|
12
|
-
|
|
13
|
+
celsius: number;
|
|
14
|
+
fahrenheit: number;
|
|
15
|
+
fahrenheit_mode: boolean;
|
|
13
16
|
humidity: number;
|
|
14
17
|
battery: number;
|
|
15
18
|
} | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"woiosensorth.d.ts","sourceRoot":"","sources":["../../src/device/woiosensorth.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"woiosensorth.d.ts","sourceRoot":"","sources":["../../src/device/woiosensorth.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAErG,qBAAa,YAAa,SAAQ,eAAe;IAC/C,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS;;;;;;;;;;;;;;CA4C5H"}
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/* Copyright(C) 2024, donavanbecker (https://github.com/donavanbecker). All rights reserved.
|
|
2
|
-
*
|
|
3
|
-
* woiosensorth.ts: Switchbot BLE API registration.
|
|
4
|
-
*/
|
|
5
1
|
import { SwitchbotDevice } from '../device.js';
|
|
6
2
|
import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types.js';
|
|
7
3
|
export class WoIOSensorTH extends SwitchbotDevice {
|
|
@@ -33,7 +29,9 @@ export class WoIOSensorTH extends SwitchbotDevice {
|
|
|
33
29
|
c: temp_c,
|
|
34
30
|
f: temp_f,
|
|
35
31
|
},
|
|
36
|
-
|
|
32
|
+
celsius: temp_c,
|
|
33
|
+
fahrenheit: temp_f,
|
|
34
|
+
fahrenheit_mode: !!(mdByte12 & 0b10000000),
|
|
37
35
|
humidity: mdByte12 & 0b01111111,
|
|
38
36
|
battery: sdByte2 & 0b01111111,
|
|
39
37
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"woiosensorth.js","sourceRoot":"","sources":["../../src/device/woiosensorth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"woiosensorth.js","sourceRoot":"","sources":["../../src/device/woiosensorth.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAErG,MAAM,OAAO,YAAa,SAAQ,eAAe;IAC/C,MAAM,CAAC,gBAAgB,CAAC,cAAsB,EAAE,mBAA2B,EAAE,KAA8C;QACzH,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBACzC,KAAK,CACH,gEAAgE,cAAc,CAAC,MAAM,SAAS,CAC/F,CAAA;YACH,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,mBAAmB,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACtC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBACzC,KAAK,CACH,qEAAqE,mBAAmB,CAAC,MAAM,UAAU,CAC1G,CAAA;YACH,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAClD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAClD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAElD,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAE3C,MAAM,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAChD,MAAM,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAA;QACnF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAA;QAE5D,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,iBAAiB,CAAC,YAAY;YACrC,SAAS,EAAE,qBAAqB,CAAC,YAAY;YAC7C,iBAAiB,EAAE,6BAA6B,CAAC,YAAY;YAC7D,WAAW,EAAE;gBACX,CAAC,EAAE,MAAM;gBACT,CAAC,EAAE,MAAM;aACV;YACD,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,MAAM;YAClB,eAAe,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,UAAU,CAAC;YAC1C,QAAQ,EAAE,QAAQ,GAAG,UAAU;YAC/B,OAAO,EAAE,OAAO,GAAG,UAAU;SAC9B,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"woplugmini.d.ts","sourceRoot":"","sources":["../../src/device/woplugmini.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"woplugmini.d.ts","sourceRoot":"","sources":["../../src/device/woplugmini.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAErG;;GAEG;AACH,qBAAa,UAAW,SAAQ,eAAe;IAC7C,MAAM,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS;;;;;;;;;;;;IAwCnG,MAAM,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS;;;;;;;;;;;;IAwCnG;;OAEG;IACH,SAAS;IAIT;;OAEG;IACH,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE;IAKhC;;OAEG;IACH,MAAM;IAIN;;OAEG;IACH,OAAO;IAIP;;OAEG;IACH,MAAM;IAIN;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE;CA+B5B"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
*
|
|
3
3
|
* woplugmini.ts: Switchbot BLE API registration.
|
|
4
4
|
*/
|
|
5
|
+
import { Buffer } from 'node:buffer';
|
|
5
6
|
import { SwitchbotDevice } from '../device.js';
|
|
6
7
|
import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types.js';
|
|
7
8
|
/**
|
|
@@ -32,13 +33,13 @@ export class WoPlugMini extends SwitchbotDevice {
|
|
|
32
33
|
model: SwitchBotBLEModel.PlugMiniUS,
|
|
33
34
|
modelName: SwitchBotBLEModelName.PlugMini,
|
|
34
35
|
modelFriendlyName: SwitchBotBLEModelFriendlyName.PlugMini,
|
|
35
|
-
state
|
|
36
|
-
delay
|
|
37
|
-
timer
|
|
38
|
-
syncUtcTime
|
|
39
|
-
wifiRssi
|
|
40
|
-
overload
|
|
41
|
-
currentPower
|
|
36
|
+
state,
|
|
37
|
+
delay,
|
|
38
|
+
timer,
|
|
39
|
+
syncUtcTime,
|
|
40
|
+
wifiRssi,
|
|
41
|
+
overload,
|
|
42
|
+
currentPower,
|
|
42
43
|
};
|
|
43
44
|
return data;
|
|
44
45
|
}
|
|
@@ -66,13 +67,13 @@ export class WoPlugMini extends SwitchbotDevice {
|
|
|
66
67
|
model: SwitchBotBLEModel.PlugMiniJP,
|
|
67
68
|
modelName: SwitchBotBLEModelName.PlugMini,
|
|
68
69
|
modelFriendlyName: SwitchBotBLEModelFriendlyName.PlugMini,
|
|
69
|
-
state
|
|
70
|
-
delay
|
|
71
|
-
timer
|
|
72
|
-
syncUtcTime
|
|
73
|
-
wifiRssi
|
|
74
|
-
overload
|
|
75
|
-
currentPower
|
|
70
|
+
state,
|
|
71
|
+
delay,
|
|
72
|
+
timer,
|
|
73
|
+
syncUtcTime,
|
|
74
|
+
wifiRssi,
|
|
75
|
+
overload,
|
|
76
|
+
currentPower,
|
|
76
77
|
};
|
|
77
78
|
return data;
|
|
78
79
|
}
|
|
@@ -80,13 +81,13 @@ export class WoPlugMini extends SwitchbotDevice {
|
|
|
80
81
|
* @returns {Promise<boolean>} resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
|
|
81
82
|
*/
|
|
82
83
|
readState() {
|
|
83
|
-
return this._operateBot([0x57,
|
|
84
|
+
return this._operateBot([0x57, 0x0F, 0x51, 0x01]);
|
|
84
85
|
}
|
|
85
86
|
/**
|
|
86
87
|
* @private
|
|
87
88
|
*/
|
|
88
89
|
_setState(reqByteArray) {
|
|
89
|
-
const base = [0x57,
|
|
90
|
+
const base = [0x57, 0x0F, 0x50, 0x01];
|
|
90
91
|
return this._operateBot([...base, ...reqByteArray]);
|
|
91
92
|
}
|
|
92
93
|
/**
|
|
@@ -123,12 +124,11 @@ export class WoPlugMini extends SwitchbotDevice {
|
|
|
123
124
|
resolve(is_on);
|
|
124
125
|
}
|
|
125
126
|
else {
|
|
126
|
-
reject(new Error(
|
|
127
|
+
reject(new Error(`The device returned an error: 0x${res_buf.toString('hex')}`));
|
|
127
128
|
}
|
|
128
129
|
}
|
|
129
130
|
else {
|
|
130
|
-
reject(new Error(
|
|
131
|
-
res_buf.toString('hex')));
|
|
131
|
+
reject(new Error(`Expecting a 2-byte response, got instead: 0x${res_buf.toString('hex')}`));
|
|
132
132
|
}
|
|
133
133
|
})
|
|
134
134
|
.catch((error) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"woplugmini.js","sourceRoot":"","sources":["../../src/device/woplugmini.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"woplugmini.js","sourceRoot":"","sources":["../../src/device/woplugmini.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAErG;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,eAAe;IAC7C,MAAM,CAAC,mBAAmB,CAAC,gBAAwB,EAAE,KAA8C;QACjG,IAAI,gBAAgB,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACnC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBACzC,KAAK,CACH,mDAAmD,gBAAgB,CAAC,MAAM,eAAe,CAC1F,CAAA;YACH,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA,CAAC,6CAA6C;QACzF,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA,CAAC,kGAAkG;QAChJ,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA,CAAC,oBAAoB;QAClE,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA,CAAC,0BAA0B;QACxE,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA,CAAC,+CAA+C;QAE7F,MAAM,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;QACnE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC,CAAA;QACrC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC,CAAA;QACrC,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC,CAAA;QAC3C,MAAM,QAAQ,GAAG,MAAM,CAAA;QACvB,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC,CAAA;QACxC,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAA,CAAC,UAAU;QAC5E,oBAAoB;QAEpB,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,iBAAiB,CAAC,UAAU;YACnC,SAAS,EAAE,qBAAqB,CAAC,QAAQ;YACzC,iBAAiB,EAAE,6BAA6B,CAAC,QAAQ;YACzD,KAAK;YACL,KAAK;YACL,KAAK;YACL,WAAW;YACX,QAAQ;YACR,QAAQ;YACR,YAAY;SACb,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,gBAAwB,EAAE,KAA8C;QACjG,IAAI,gBAAgB,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACnC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBACzC,KAAK,CACH,mDAAmD,gBAAgB,CAAC,MAAM,eAAe,CAC1F,CAAA;YACH,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA,CAAC,6CAA6C;QACzF,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA,CAAC,kGAAkG;QAChJ,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA,CAAC,oBAAoB;QAClE,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA,CAAC,0BAA0B;QACxE,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA,CAAC,+CAA+C;QAE7F,MAAM,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;QACnE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC,CAAA;QACrC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC,CAAA;QACrC,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC,CAAA;QAC3C,MAAM,QAAQ,GAAG,MAAM,CAAA;QACvB,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC,CAAA;QACxC,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAA,CAAC,UAAU;QAC5E,oBAAoB;QAEpB,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,iBAAiB,CAAC,UAAU;YACnC,SAAS,EAAE,qBAAqB,CAAC,QAAQ;YACzC,iBAAiB,EAAE,6BAA6B,CAAC,QAAQ;YACzD,KAAK;YACL,KAAK;YACL,KAAK;YACL,WAAW;YACX,QAAQ;YACR,QAAQ;YACR,YAAY;SACb,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACnD,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,YAAsB;QAC9B,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,YAAY,CAAC,CAAC,CAAA;IACrD,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACrC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACrC,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACrC,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,KAAe;QACzB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;iBACnB,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;gBAClB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;oBACjC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;wBACnC,MAAM,KAAK,GAAG,IAAI,KAAK,IAAI,CAAA;wBAC3B,OAAO,CAAC,KAAK,CAAC,CAAA;oBAChB,CAAC;yBAAM,CAAC;wBACN,MAAM,CACJ,IAAI,KAAK,CACP,mCAAmC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAC7D,CACF,CAAA;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,CACJ,IAAI,KAAK,CACP,+CAA+C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CACzE,CACF,CAAA;gBACH,CAAC;YACH,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,MAAM,CAAC,KAAK,CAAC,CAAA;YACf,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACJ,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wopresence.d.ts","sourceRoot":"","sources":["../../src/device/wopresence.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"wopresence.d.ts","sourceRoot":"","sources":["../../src/device/wopresence.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAErG,qBAAa,UAAW,SAAQ,eAAe;IAC7C,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS;;;;;;;;;;;;;CAwCpF"}
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/* Copyright(C) 2024, donavanbecker (https://github.com/donavanbecker). All rights reserved.
|
|
2
|
-
*
|
|
3
|
-
* wopresence.ts: Switchbot BLE API registration.
|
|
4
|
-
*/
|
|
5
1
|
import { SwitchbotDevice } from '../device.js';
|
|
6
2
|
import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types.js';
|
|
7
3
|
export class WoPresence extends SwitchbotDevice {
|
|
@@ -15,26 +11,26 @@ export class WoPresence extends SwitchbotDevice {
|
|
|
15
11
|
const byte1 = buf.readUInt8(1);
|
|
16
12
|
const byte2 = buf.readUInt8(2);
|
|
17
13
|
const byte5 = buf.readUInt8(5);
|
|
18
|
-
const tested = byte1 & 0b10000000
|
|
19
|
-
const movement = byte1 & 0b01000000
|
|
14
|
+
const tested = !!(byte1 & 0b10000000);
|
|
15
|
+
const movement = !!(byte1 & 0b01000000);
|
|
20
16
|
const battery = byte2 & 0b01111111;
|
|
21
17
|
const led = (byte5 & 0b00100000) >> 5;
|
|
22
18
|
const iot = (byte5 & 0b00010000) >> 4;
|
|
23
19
|
const sense_distance = (byte5 & 0b00001100) >> 2;
|
|
24
20
|
const lightLevel = byte5 & 0b00000011;
|
|
25
|
-
const is_light = byte5 & 0b00000010
|
|
21
|
+
const is_light = !!(byte5 & 0b00000010);
|
|
26
22
|
const data = {
|
|
27
23
|
model: SwitchBotBLEModel.MotionSensor,
|
|
28
24
|
modelName: SwitchBotBLEModelName.MotionSensor,
|
|
29
25
|
modelFriendlyName: SwitchBotBLEModelFriendlyName.MotionSensor,
|
|
30
|
-
tested
|
|
31
|
-
movement
|
|
32
|
-
battery
|
|
33
|
-
led
|
|
34
|
-
iot
|
|
35
|
-
sense_distance
|
|
26
|
+
tested,
|
|
27
|
+
movement,
|
|
28
|
+
battery,
|
|
29
|
+
led,
|
|
30
|
+
iot,
|
|
31
|
+
sense_distance,
|
|
36
32
|
lightLevel: lightLevel === 1 ? 'dark' : lightLevel === 2 ? 'bright' : 'unknown',
|
|
37
|
-
is_light
|
|
33
|
+
is_light,
|
|
38
34
|
};
|
|
39
35
|
return data;
|
|
40
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wopresence.js","sourceRoot":"","sources":["../../src/device/wopresence.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wopresence.js","sourceRoot":"","sources":["../../src/device/wopresence.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAErG,MAAM,OAAO,UAAW,SAAQ,eAAe;IAC7C,MAAM,CAAC,gBAAgB,CAAC,GAAW,EAAE,KAA8C;QACjF,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBACzC,KAAK,CACH,iDAAiD,GAAG,CAAC,MAAM,SAAS,CACrE,CAAA;YACH,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAE9B,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,CAAA;QACrC,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,CAAA;QACvC,MAAM,OAAO,GAAG,KAAK,GAAG,UAAU,CAAA;QAClC,MAAM,GAAG,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,GAAG,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,cAAc,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAChD,MAAM,UAAU,GAAG,KAAK,GAAG,UAAU,CAAA;QACrC,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,CAAA;QAEvC,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,iBAAiB,CAAC,YAAY;YACrC,SAAS,EAAE,qBAAqB,CAAC,YAAY;YAC7C,iBAAiB,EAAE,6BAA6B,CAAC,YAAY;YAC7D,MAAM;YACN,QAAQ;YACR,OAAO;YACP,GAAG;YACH,GAAG;YACH,cAAc;YACd,UAAU,EACR,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YACrE,QAAQ;SACT,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Buffer } from 'node:buffer';
|
|
1
2
|
import { SwitchbotDevice } from '../device.js';
|
|
2
3
|
import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types.js';
|
|
3
4
|
export declare class WoSensorTH extends SwitchbotDevice {
|
|
@@ -9,7 +10,9 @@ export declare class WoSensorTH extends SwitchbotDevice {
|
|
|
9
10
|
c: number;
|
|
10
11
|
f: number;
|
|
11
12
|
};
|
|
12
|
-
|
|
13
|
+
celsius: number;
|
|
14
|
+
fahrenheit: number;
|
|
15
|
+
fahrenheit_mode: boolean;
|
|
13
16
|
humidity: number;
|
|
14
17
|
battery: number;
|
|
15
18
|
} | null;
|
|
@@ -21,7 +24,9 @@ export declare class WoSensorTH extends SwitchbotDevice {
|
|
|
21
24
|
c: number;
|
|
22
25
|
f: number;
|
|
23
26
|
};
|
|
24
|
-
|
|
27
|
+
celsius: number;
|
|
28
|
+
fahrenheit: number;
|
|
29
|
+
fahrenheit_mode: boolean;
|
|
25
30
|
humidity: number;
|
|
26
31
|
battery: number;
|
|
27
32
|
} | null;
|