node-switchbot 2.0.2-beta.7 → 2.0.2-beta.9
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 +2 -2
- package/dist/advertising.d.ts.map +1 -1
- package/dist/advertising.js +61 -65
- package/dist/advertising.js.map +1 -1
- package/dist/device/woblindtilt.d.ts +9 -9
- package/dist/device/woblindtilt.d.ts.map +1 -1
- package/dist/device/woblindtilt.js +24 -24
- package/dist/device/woblindtilt.js.map +1 -1
- package/dist/device/wobulb.d.ts +16 -16
- package/dist/device/wobulb.d.ts.map +1 -1
- package/dist/device/wobulb.js +47 -47
- package/dist/device/wobulb.js.map +1 -1
- package/dist/device/wocontact.d.ts +12 -13
- package/dist/device/wocontact.d.ts.map +1 -1
- package/dist/device/wocontact.js +36 -37
- package/dist/device/wocontact.js.map +1 -1
- package/dist/device/wocurtain.d.ts +10 -10
- package/dist/device/wocurtain.d.ts.map +1 -1
- package/dist/device/wocurtain.js +29 -29
- package/dist/device/wocurtain.js.map +1 -1
- package/dist/device/wohand.d.ts +7 -7
- package/dist/device/wohand.d.ts.map +1 -1
- package/dist/device/wohand.js +20 -20
- package/dist/device/wohand.js.map +1 -1
- package/dist/device/wohumi.d.ts +7 -7
- package/dist/device/wohumi.d.ts.map +1 -1
- package/dist/device/wohumi.js +20 -20
- package/dist/device/wohumi.js.map +1 -1
- package/dist/device/woiosensorth.d.ts +11 -11
- package/dist/device/woiosensorth.d.ts.map +1 -1
- package/dist/device/woiosensorth.js +32 -32
- package/dist/device/woiosensorth.js.map +1 -1
- package/dist/device/woplugmini.d.ts +22 -22
- package/dist/device/woplugmini.d.ts.map +1 -1
- package/dist/device/woplugmini.js +66 -66
- package/dist/device/woplugmini.js.map +1 -1
- package/dist/device/wopresence.d.ts +12 -12
- package/dist/device/wopresence.d.ts.map +1 -1
- package/dist/device/wopresence.js +31 -31
- package/dist/device/wopresence.js.map +1 -1
- package/dist/device/wosensorth.d.ts +22 -22
- package/dist/device/wosensorth.d.ts.map +1 -1
- package/dist/device/wosensorth.js +51 -51
- package/dist/device/wosensorth.js.map +1 -1
- package/dist/device/wosmartlock.d.ts +13 -13
- package/dist/device/wosmartlock.d.ts.map +1 -1
- package/dist/device/wosmartlock.js +42 -42
- package/dist/device/wosmartlock.js.map +1 -1
- package/dist/device/wostrip.d.ts +15 -15
- package/dist/device/wostrip.d.ts.map +1 -1
- package/dist/device/wostrip.js +43 -43
- package/dist/device/wostrip.js.map +1 -1
- package/dist/device.d.ts.map +1 -1
- package/dist/device.js +5 -7
- package/dist/device.js.map +1 -1
- package/dist/switchbot.d.ts +1 -1
- package/dist/switchbot.d.ts.map +1 -1
- package/dist/switchbot.js +5 -6
- package/dist/switchbot.js.map +1 -1
- package/package.json +1 -1
package/dist/advertising.d.ts
CHANGED
|
@@ -7,11 +7,11 @@ export declare class Advertising {
|
|
|
7
7
|
* @param onlog - The logging function.
|
|
8
8
|
* @returns The parsed data of the peripheral device.
|
|
9
9
|
*/
|
|
10
|
-
static parse(peripheral: any, onlog?: any):
|
|
10
|
+
static parse(peripheral: any, onlog?: any): {
|
|
11
11
|
id: any;
|
|
12
12
|
address: any;
|
|
13
13
|
rssi: any;
|
|
14
14
|
serviceData: any;
|
|
15
|
-
} | null
|
|
15
|
+
} | null;
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=advertising.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advertising.d.ts","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"advertising.d.ts","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"AAeA,qBAAa,WAAW;;IA6DtB;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,UAAU,KAAA,EAAE,KAAK,CAAC,KAAA;;;;;;CAmGhC"}
|
package/dist/advertising.js
CHANGED
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import { Buffer } from 'buffer';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import { parseServiceDataForWoStrip } from './device/wostrip.js';
|
|
15
|
-
import { parseServiceDataForWoIOSensorTH } from './device/woiosensorth.js';
|
|
2
|
+
import { WoHand } from './device/wohand.js';
|
|
3
|
+
import { WoCurtain } from './device/wocurtain.js';
|
|
4
|
+
import { WoBlindTilt } from './device/woblindtilt.js';
|
|
5
|
+
import { WoPresence } from './device/wopresence.js';
|
|
6
|
+
import { WoContact } from './device/wocontact.js';
|
|
7
|
+
import { WoSensorTH } from './device/wosensorth.js';
|
|
8
|
+
import { WoIOSensorTH } from './device/woiosensorth.js';
|
|
9
|
+
import { WoHumi } from './device/wohumi.js';
|
|
10
|
+
import { WoPlugMini } from './device/woplugmini.js';
|
|
11
|
+
import { WoBulb } from './device/wobulb.js';
|
|
12
|
+
import { WoStrip } from './device/wostrip.js';
|
|
13
|
+
import { WoSmartLock } from './device/wosmartlock.js';
|
|
16
14
|
export class Advertising {
|
|
17
15
|
constructor() { }
|
|
18
16
|
/* ------------------------------------------------------------------
|
|
@@ -79,7 +77,7 @@ export class Advertising {
|
|
|
79
77
|
* @param onlog - The logging function.
|
|
80
78
|
* @returns The parsed data of the peripheral device.
|
|
81
79
|
*/
|
|
82
|
-
static
|
|
80
|
+
static parse(peripheral, onlog) {
|
|
83
81
|
const ad = peripheral.advertisement;
|
|
84
82
|
if (!ad || !ad.serviceData) {
|
|
85
83
|
return null;
|
|
@@ -94,57 +92,55 @@ export class Advertising {
|
|
|
94
92
|
if (bufIsInvalid || manufacturerDataIsInvalid) {
|
|
95
93
|
return null;
|
|
96
94
|
}
|
|
97
|
-
const model = buf.
|
|
95
|
+
const model = buf.slice(0, 1).toString('utf8');
|
|
98
96
|
let sd;
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
}
|
|
147
|
-
return null;
|
|
97
|
+
if (model === 'H') {
|
|
98
|
+
sd = WoHand.parseServiceData(buf, onlog); //WoHand
|
|
99
|
+
}
|
|
100
|
+
else if (model === 'T') {
|
|
101
|
+
sd = WoSensorTH.parseServiceData(buf, onlog); //WoSensorTH
|
|
102
|
+
}
|
|
103
|
+
else if (model === 'e') {
|
|
104
|
+
sd = WoHumi.parseServiceData(buf, onlog); //WoHumi
|
|
105
|
+
}
|
|
106
|
+
else if (model === 's') {
|
|
107
|
+
sd = WoPresence.parseServiceData(buf, onlog); //WoPresence
|
|
108
|
+
}
|
|
109
|
+
else if (model === 'd') {
|
|
110
|
+
sd = WoContact.parseServiceData(buf, onlog); //WoContact
|
|
111
|
+
}
|
|
112
|
+
else if (model === 'c' || model === '{') {
|
|
113
|
+
sd = WoCurtain.parseServiceData(buf, onlog); // WoCurtain
|
|
114
|
+
}
|
|
115
|
+
else if (model === 'x') {
|
|
116
|
+
sd = WoBlindTilt.parseServiceData(buf, onlog); // WoBlindTilt
|
|
117
|
+
}
|
|
118
|
+
else if (model === 'u') {
|
|
119
|
+
sd = WoBulb.parseServiceData(manufacturerData, onlog); // WoBulb
|
|
120
|
+
}
|
|
121
|
+
else if (model === 'g') {
|
|
122
|
+
sd = WoPlugMini.parseServiceData_US(manufacturerData, onlog); // WoPlugMini (US)
|
|
123
|
+
}
|
|
124
|
+
else if (model === 'j') {
|
|
125
|
+
sd = WoPlugMini.parseServiceData_JP(manufacturerData, onlog); // WoPlugMini (JP)
|
|
126
|
+
}
|
|
127
|
+
else if (model === 'o') {
|
|
128
|
+
sd = WoSmartLock.parseServiceData(manufacturerData, onlog); // WoSmartLock
|
|
129
|
+
}
|
|
130
|
+
else if (model === 'i') {
|
|
131
|
+
sd = WoSensorTH.parseServiceData_Plus(buf, onlog); // WoMeterPlus
|
|
132
|
+
}
|
|
133
|
+
else if (model === 'r') {
|
|
134
|
+
sd = WoStrip.parseServiceData(buf, onlog); // WoStrip
|
|
135
|
+
}
|
|
136
|
+
else if (model === 'w') {
|
|
137
|
+
sd = WoIOSensorTH.parseServiceData(buf, manufacturerData, onlog); // Indoor/Outdoor Thermo-Hygrometer
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
if (onlog && typeof onlog === 'function') {
|
|
141
|
+
onlog(`[parseAdvertising.${peripheral.id}] return null, model "${model}" not available!`);
|
|
142
|
+
}
|
|
143
|
+
return null;
|
|
148
144
|
}
|
|
149
145
|
if (!sd) {
|
|
150
146
|
if (onlog && typeof onlog === 'function') {
|
package/dist/advertising.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advertising.js","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"advertising.js","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { SwitchbotDevice } from '../switchbot.js';
|
|
2
|
-
export declare function parseServiceDataForWoBlindTilt(manufacturerData: any, onlog: any): Promise<{
|
|
3
|
-
model: string;
|
|
4
|
-
modelName: string;
|
|
5
|
-
calibration: boolean;
|
|
6
|
-
battery: number;
|
|
7
|
-
inMotion: boolean;
|
|
8
|
-
tilt: number;
|
|
9
|
-
lightLevel: number;
|
|
10
|
-
} | null>;
|
|
11
2
|
export declare class WoBlindTilt extends SwitchbotDevice {
|
|
3
|
+
static parseServiceData(buf: any, onlog: any): {
|
|
4
|
+
model: string;
|
|
5
|
+
modelName: string;
|
|
6
|
+
calibration: boolean;
|
|
7
|
+
battery: number;
|
|
8
|
+
inMotion: boolean;
|
|
9
|
+
tilt: number;
|
|
10
|
+
lightLevel: number;
|
|
11
|
+
} | null;
|
|
12
12
|
open(): Promise<void>;
|
|
13
13
|
close(): Promise<void>;
|
|
14
14
|
pause(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"woblindtilt.d.ts","sourceRoot":"","sources":["../../src/device/woblindtilt.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,
|
|
1
|
+
{"version":3,"file":"woblindtilt.d.ts","sourceRoot":"","sources":["../../src/device/woblindtilt.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,qBAAa,WAAY,SAAQ,eAAe;IAC9C,MAAM,CAAC,gBAAgB,CAAC,GAAG,KAAA,EAAE,KAAK,KAAA;;;;;;;;;IA0ClC,IAAI;IAeJ,KAAK;IAeL,KAAK;IAeL,QAAQ,CAAC,OAAO,KAAA,EAAE,IAAI,KAAA;IAiCtB,iBAAiB,CAAC,KAAK,KAAA;CAqBxB"}
|
|
@@ -4,32 +4,32 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { Buffer } from 'buffer';
|
|
6
6
|
import { SwitchbotDevice } from '../switchbot.js';
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
if (
|
|
10
|
-
onlog
|
|
7
|
+
export class WoBlindTilt extends SwitchbotDevice {
|
|
8
|
+
static parseServiceData(buf, onlog) {
|
|
9
|
+
if (buf.length !== 5 && buf.length !== 6) {
|
|
10
|
+
if (onlog && typeof onlog === 'function') {
|
|
11
|
+
onlog(`[parseServiceDataForWoBlindTilt] Buffer length ${buf.length} !== 5 or 6!`);
|
|
12
|
+
}
|
|
13
|
+
return null;
|
|
11
14
|
}
|
|
12
|
-
|
|
15
|
+
const byte1 = buf.readUInt8(1);
|
|
16
|
+
const byte2 = buf.readUInt8(2);
|
|
17
|
+
const calibration = byte1 & 0b00000001 ? true : false; // Whether the calibration is completed
|
|
18
|
+
const battery = byte2 & 0b01111111; // %
|
|
19
|
+
const inMotion = byte2 & 0b10000000 ? true : false;
|
|
20
|
+
const tilt = byte2 & 0b01111111; // current tilt % (100 - _tilt) if reverse else _tilt,
|
|
21
|
+
const lightLevel = (byte1 >> 4) & 0b00001111; // light sensor level (1-10)
|
|
22
|
+
const data = {
|
|
23
|
+
model: 'x',
|
|
24
|
+
modelName: 'WoBlindTilt',
|
|
25
|
+
calibration: calibration,
|
|
26
|
+
battery: battery,
|
|
27
|
+
inMotion: inMotion,
|
|
28
|
+
tilt: tilt,
|
|
29
|
+
lightLevel: lightLevel,
|
|
30
|
+
};
|
|
31
|
+
return data;
|
|
13
32
|
}
|
|
14
|
-
const byte1 = manufacturerData.readUInt8(1);
|
|
15
|
-
const byte2 = manufacturerData.readUInt8(2);
|
|
16
|
-
const calibration = byte1 & 0b00000001 ? true : false; // Whether the calibration is completed
|
|
17
|
-
const battery = byte2 & 0b01111111; // %
|
|
18
|
-
const inMotion = byte2 & 0b10000000 ? true : false;
|
|
19
|
-
const tilt = Math.max(Math.min(byte2 & 0b01111111, 100), 0); // current tilt % (100 - _tilt) if reverse else _tilt,
|
|
20
|
-
const lightLevel = (byte1 >> 4) & 0b00001111; // light sensor level (1-10)
|
|
21
|
-
const data = {
|
|
22
|
-
model: 'x',
|
|
23
|
-
modelName: 'WoBlindTilt',
|
|
24
|
-
calibration: calibration,
|
|
25
|
-
battery: battery,
|
|
26
|
-
inMotion: inMotion,
|
|
27
|
-
tilt: tilt,
|
|
28
|
-
lightLevel: lightLevel,
|
|
29
|
-
};
|
|
30
|
-
return data;
|
|
31
|
-
}
|
|
32
|
-
export class WoBlindTilt extends SwitchbotDevice {
|
|
33
33
|
/* ------------------------------------------------------------------
|
|
34
34
|
* open()
|
|
35
35
|
* - Open the blindtilt
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"woblindtilt.js","sourceRoot":"","sources":["../../src/device/woblindtilt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,
|
|
1
|
+
{"version":3,"file":"woblindtilt.js","sourceRoot":"","sources":["../../src/device/woblindtilt.ts"],"names":[],"mappings":"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"}
|
package/dist/device/wobulb.d.ts
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import { SwitchbotDevice } from '../switchbot.js';
|
|
2
|
-
export declare function parseServiceDataForWoBulb(manufacturerData: any, onlog: any): Promise<{
|
|
3
|
-
model: string;
|
|
4
|
-
modelName: string;
|
|
5
|
-
color_temperature: any;
|
|
6
|
-
power: any;
|
|
7
|
-
state: boolean;
|
|
8
|
-
red: any;
|
|
9
|
-
green: any;
|
|
10
|
-
blue: any;
|
|
11
|
-
brightness: number;
|
|
12
|
-
delay: number;
|
|
13
|
-
preset: number;
|
|
14
|
-
color_mode: number;
|
|
15
|
-
speed: number;
|
|
16
|
-
loop_index: number;
|
|
17
|
-
} | null>;
|
|
18
2
|
/**
|
|
19
3
|
* @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/colorbulb.md
|
|
20
4
|
*/
|
|
21
5
|
export declare class WoBulb extends SwitchbotDevice {
|
|
6
|
+
static parseServiceData(manufacturerData: any, onlog: any): {
|
|
7
|
+
model: string;
|
|
8
|
+
modelName: string;
|
|
9
|
+
color_temperature: any;
|
|
10
|
+
power: any;
|
|
11
|
+
state: boolean;
|
|
12
|
+
red: any;
|
|
13
|
+
green: any;
|
|
14
|
+
blue: any;
|
|
15
|
+
brightness: number;
|
|
16
|
+
delay: number;
|
|
17
|
+
preset: number;
|
|
18
|
+
color_mode: number;
|
|
19
|
+
speed: number;
|
|
20
|
+
loop_index: number;
|
|
21
|
+
} | null;
|
|
22
22
|
/**
|
|
23
23
|
* @returns {Promise<boolean>} resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
|
|
24
24
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wobulb.d.ts","sourceRoot":"","sources":["../../src/device/wobulb.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,
|
|
1
|
+
{"version":3,"file":"wobulb.d.ts","sourceRoot":"","sources":["../../src/device/wobulb.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD;;GAEG;AACH,qBAAa,MAAO,SAAQ,eAAe;IACzC,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,KAAA,EAAE,KAAK,KAAA;;;;;;;;;;;;;;;;IAqD/C;;OAEG;IACH,SAAS;IAIT;;OAEG;IACH,SAAS,CAAC,YAAY,KAAA;IAKtB;;OAEG;IACH,MAAM;IAIN;;OAEG;IACH,OAAO;IAIP;;OAEG;IACH,aAAa,CAAC,UAAU,KAAA;IAmBxB;;OAEG;IACH,mBAAmB,CAAC,iBAAiB,KAAA;IAmBrC;;OAEG;IACH,MAAM,CAAC,UAAU,KAAA,EAAE,GAAG,KAAA,EAAE,KAAK,KAAA,EAAE,IAAI,KAAA;IAgEnC;;OAEG;IACH,WAAW,CAAC,KAAK,KAAA;CAgClB"}
|
package/dist/device/wobulb.js
CHANGED
|
@@ -4,57 +4,57 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { Buffer } from 'buffer';
|
|
6
6
|
import { SwitchbotDevice } from '../switchbot.js';
|
|
7
|
-
export async function parseServiceDataForWoBulb(manufacturerData, onlog) {
|
|
8
|
-
if (manufacturerData.length !== 13) {
|
|
9
|
-
if (onlog && typeof onlog === 'function') {
|
|
10
|
-
onlog(`[parseServiceDataForWoBulb] Buffer length ${manufacturerData.length} !== 13!`);
|
|
11
|
-
}
|
|
12
|
-
return null;
|
|
13
|
-
}
|
|
14
|
-
const byte1 = manufacturerData.readUInt8(1); //power and light status
|
|
15
|
-
//const byte2 = manufacturerData.readUInt8(2);//bulb brightness
|
|
16
|
-
const byte3 = manufacturerData.readUInt8(3); //bulb R
|
|
17
|
-
const byte4 = manufacturerData.readUInt8(4); //bulb G
|
|
18
|
-
const byte5 = manufacturerData.readUInt8(5); //bulb B
|
|
19
|
-
const byte6 = manufacturerData.readUInt8(6); //bulb temperature
|
|
20
|
-
const byte7 = manufacturerData.readUInt8(7);
|
|
21
|
-
const byte8 = manufacturerData.readUInt8(8);
|
|
22
|
-
const byte9 = manufacturerData.readUInt8(9);
|
|
23
|
-
const byte10 = manufacturerData.readUInt8(10); //bulb mode
|
|
24
|
-
const power = byte1;
|
|
25
|
-
const red = byte3;
|
|
26
|
-
const green = byte4;
|
|
27
|
-
const blue = byte5;
|
|
28
|
-
const color_temperature = byte6;
|
|
29
|
-
const state = byte7 & 0b01111111 ? true : false;
|
|
30
|
-
const brightness = byte7 & 0b01111111;
|
|
31
|
-
const delay = byte8 & 0b10000000;
|
|
32
|
-
const preset = byte8 & 0b00001000;
|
|
33
|
-
const color_mode = byte8 & 0b00000111;
|
|
34
|
-
const speed = byte9 & 0b01111111;
|
|
35
|
-
const loop_index = byte10 & 0b11111110;
|
|
36
|
-
const data = {
|
|
37
|
-
model: 'u',
|
|
38
|
-
modelName: 'WoBulb',
|
|
39
|
-
color_temperature: color_temperature,
|
|
40
|
-
power: power,
|
|
41
|
-
state: state,
|
|
42
|
-
red: red,
|
|
43
|
-
green: green,
|
|
44
|
-
blue: blue,
|
|
45
|
-
brightness: brightness,
|
|
46
|
-
delay: delay,
|
|
47
|
-
preset: preset,
|
|
48
|
-
color_mode: color_mode,
|
|
49
|
-
speed: speed,
|
|
50
|
-
loop_index: loop_index,
|
|
51
|
-
};
|
|
52
|
-
return data;
|
|
53
|
-
}
|
|
54
7
|
/**
|
|
55
8
|
* @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/colorbulb.md
|
|
56
9
|
*/
|
|
57
10
|
export class WoBulb extends SwitchbotDevice {
|
|
11
|
+
static parseServiceData(manufacturerData, onlog) {
|
|
12
|
+
if (manufacturerData.length !== 13) {
|
|
13
|
+
if (onlog && typeof onlog === 'function') {
|
|
14
|
+
onlog(`[parseServiceDataForWoBulb] Buffer length ${manufacturerData.length} !== 13!`);
|
|
15
|
+
}
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
const byte1 = manufacturerData.readUInt8(1); //power and light status
|
|
19
|
+
//const byte2 = manufacturerData.readUInt8(2);//bulb brightness
|
|
20
|
+
const byte3 = manufacturerData.readUInt8(3); //bulb R
|
|
21
|
+
const byte4 = manufacturerData.readUInt8(4); //bulb G
|
|
22
|
+
const byte5 = manufacturerData.readUInt8(5); //bulb B
|
|
23
|
+
const byte6 = manufacturerData.readUInt8(6); //bulb temperature
|
|
24
|
+
const byte7 = manufacturerData.readUInt8(7);
|
|
25
|
+
const byte8 = manufacturerData.readUInt8(8);
|
|
26
|
+
const byte9 = manufacturerData.readUInt8(9);
|
|
27
|
+
const byte10 = manufacturerData.readUInt8(10); //bulb mode
|
|
28
|
+
const power = byte1;
|
|
29
|
+
const red = byte3;
|
|
30
|
+
const green = byte4;
|
|
31
|
+
const blue = byte5;
|
|
32
|
+
const color_temperature = byte6;
|
|
33
|
+
const state = byte7 & 0b01111111 ? true : false;
|
|
34
|
+
const brightness = byte7 & 0b01111111;
|
|
35
|
+
const delay = byte8 & 0b10000000;
|
|
36
|
+
const preset = byte8 & 0b00001000;
|
|
37
|
+
const color_mode = byte8 & 0b00000111;
|
|
38
|
+
const speed = byte9 & 0b01111111;
|
|
39
|
+
const loop_index = byte10 & 0b11111110;
|
|
40
|
+
const data = {
|
|
41
|
+
model: 'u',
|
|
42
|
+
modelName: 'WoBulb',
|
|
43
|
+
color_temperature: color_temperature,
|
|
44
|
+
power: power,
|
|
45
|
+
state: state,
|
|
46
|
+
red: red,
|
|
47
|
+
green: green,
|
|
48
|
+
blue: blue,
|
|
49
|
+
brightness: brightness,
|
|
50
|
+
delay: delay,
|
|
51
|
+
preset: preset,
|
|
52
|
+
color_mode: color_mode,
|
|
53
|
+
speed: speed,
|
|
54
|
+
loop_index: loop_index,
|
|
55
|
+
};
|
|
56
|
+
return data;
|
|
57
|
+
}
|
|
58
58
|
/**
|
|
59
59
|
* @returns {Promise<boolean>} resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
|
|
60
60
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wobulb.js","sourceRoot":"","sources":["../../src/device/wobulb.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,
|
|
1
|
+
{"version":3,"file":"wobulb.js","sourceRoot":"","sources":["../../src/device/wobulb.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import { SwitchbotDevice } from '../switchbot.js';
|
|
2
|
-
export declare function parseServiceDataForWoContact(buf: any, onlog: any): Promise<{
|
|
3
|
-
model: string;
|
|
4
|
-
modelName: string;
|
|
5
|
-
modelFriendlyName: string;
|
|
6
|
-
movement: boolean;
|
|
7
|
-
tested: number;
|
|
8
|
-
battery: number;
|
|
9
|
-
contact_open: boolean;
|
|
10
|
-
contact_timeout: boolean;
|
|
11
|
-
lightLevel: string;
|
|
12
|
-
button_count: number;
|
|
13
|
-
doorState: string;
|
|
14
|
-
} | null>;
|
|
15
2
|
export declare class WoContact extends SwitchbotDevice {
|
|
3
|
+
static parseServiceData(buf: any, onlog: any): {
|
|
4
|
+
model: string;
|
|
5
|
+
modelName: string;
|
|
6
|
+
movement: boolean;
|
|
7
|
+
tested: number;
|
|
8
|
+
battery: number;
|
|
9
|
+
contact_open: boolean;
|
|
10
|
+
contact_timeout: boolean;
|
|
11
|
+
lightLevel: string;
|
|
12
|
+
button_count: number;
|
|
13
|
+
doorState: string;
|
|
14
|
+
} | null;
|
|
16
15
|
}
|
|
17
16
|
//# sourceMappingURL=wocontact.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wocontact.d.ts","sourceRoot":"","sources":["../../src/device/wocontact.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,
|
|
1
|
+
{"version":3,"file":"wocontact.d.ts","sourceRoot":"","sources":["../../src/device/wocontact.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,qBAAa,SAAU,SAAQ,eAAe;IAC5C,MAAM,CAAC,gBAAgB,CAAC,GAAG,KAAA,EAAE,KAAK,KAAA;;;;;;;;;;;;CA4CnC"}
|
package/dist/device/wocontact.js
CHANGED
|
@@ -3,44 +3,43 @@
|
|
|
3
3
|
* wocontact.ts: Switchbot BLE API registration.
|
|
4
4
|
*/
|
|
5
5
|
import { SwitchbotDevice } from '../switchbot.js';
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
if (
|
|
9
|
-
onlog
|
|
6
|
+
export class WoContact extends SwitchbotDevice {
|
|
7
|
+
static parseServiceData(buf, onlog) {
|
|
8
|
+
if (buf.length !== 9) {
|
|
9
|
+
if (onlog && typeof onlog === 'function') {
|
|
10
|
+
onlog(`[parseServiceDataForWoContact] Buffer length ${buf.length} !== 9!`);
|
|
11
|
+
}
|
|
12
|
+
return null;
|
|
10
13
|
}
|
|
11
|
-
|
|
14
|
+
const byte1 = buf.readUInt8(1);
|
|
15
|
+
const byte2 = buf.readUInt8(2);
|
|
16
|
+
const byte3 = buf.readUInt8(3);
|
|
17
|
+
const byte8 = buf.readUInt8(8);
|
|
18
|
+
const hallState = (byte3 >> 1) & 0b00000011;
|
|
19
|
+
const tested = byte1 & 0b10000000;
|
|
20
|
+
const movement = byte1 & 0b01000000 ? true : false; // 1 - Movement detected
|
|
21
|
+
const battery = byte2 & 0b01111111; // %
|
|
22
|
+
const contact_open = (byte3 & 0b00000010) === 0b00000010;
|
|
23
|
+
const contact_timeout = (byte3 & 0b00000100) === 0b00000100;
|
|
24
|
+
const lightLevel = byte3 & 0b00000001;
|
|
25
|
+
const button_count = byte8 & 0b00001111;
|
|
26
|
+
const data = {
|
|
27
|
+
model: 'd',
|
|
28
|
+
modelName: 'WoContact',
|
|
29
|
+
movement: movement,
|
|
30
|
+
tested: tested,
|
|
31
|
+
battery: battery,
|
|
32
|
+
contact_open: contact_open,
|
|
33
|
+
contact_timeout: contact_timeout,
|
|
34
|
+
lightLevel: lightLevel === 0 ? 'dark' : 'bright',
|
|
35
|
+
button_count: button_count,
|
|
36
|
+
doorState: hallState === 0
|
|
37
|
+
? 'close'
|
|
38
|
+
: hallState === 1
|
|
39
|
+
? 'open'
|
|
40
|
+
: 'timeout no closed',
|
|
41
|
+
};
|
|
42
|
+
return data;
|
|
12
43
|
}
|
|
13
|
-
const byte1 = buf.readUInt8(1);
|
|
14
|
-
const byte2 = buf.readUInt8(2);
|
|
15
|
-
const byte3 = buf.readUInt8(3);
|
|
16
|
-
const byte8 = buf.readUInt8(8);
|
|
17
|
-
const hallState = (byte3 >> 1) & 0b00000011;
|
|
18
|
-
const tested = byte1 & 0b10000000;
|
|
19
|
-
const movement = byte1 & 0b01000000 ? true : false; // 1 - Movement detected
|
|
20
|
-
const battery = byte2 & 0b01111111; // %
|
|
21
|
-
const contact_open = (byte3 & 0b00000010) === 0b00000010;
|
|
22
|
-
const contact_timeout = (byte3 & 0b00000100) === 0b00000100;
|
|
23
|
-
const lightLevel = byte3 & 0b00000001;
|
|
24
|
-
const button_count = byte8 & 0b00001111;
|
|
25
|
-
const data = {
|
|
26
|
-
model: 'd',
|
|
27
|
-
modelName: 'WoContact',
|
|
28
|
-
modelFriendlyName: 'Curtain 3',
|
|
29
|
-
movement: movement,
|
|
30
|
-
tested: tested,
|
|
31
|
-
battery: battery,
|
|
32
|
-
contact_open: contact_open,
|
|
33
|
-
contact_timeout: contact_timeout,
|
|
34
|
-
lightLevel: lightLevel === 0 ? 'dark' : 'bright',
|
|
35
|
-
button_count: button_count,
|
|
36
|
-
doorState: hallState === 0
|
|
37
|
-
? 'close'
|
|
38
|
-
: hallState === 1
|
|
39
|
-
? 'open'
|
|
40
|
-
: 'timeout no closed',
|
|
41
|
-
};
|
|
42
|
-
return data;
|
|
43
|
-
}
|
|
44
|
-
export class WoContact extends SwitchbotDevice {
|
|
45
44
|
}
|
|
46
45
|
//# sourceMappingURL=wocontact.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wocontact.js","sourceRoot":"","sources":["../../src/device/wocontact.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,
|
|
1
|
+
{"version":3,"file":"wocontact.js","sourceRoot":"","sources":["../../src/device/wocontact.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,OAAO,SAAU,SAAQ,eAAe;IAC5C,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK;QAChC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBACzC,KAAK,CACH,gDAAgD,GAAG,CAAC,MAAM,SAAS,CACpE,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAE/B,MAAM,SAAS,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC;QAC5C,MAAM,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;QAClC,MAAM,QAAQ,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,wBAAwB;QAC5E,MAAM,OAAO,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC,IAAI;QACxC,MAAM,YAAY,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,UAAU,CAAC;QACzD,MAAM,eAAe,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,UAAU,CAAC;QAC5D,MAAM,UAAU,GAAG,KAAK,GAAG,UAAU,CAAC;QACtC,MAAM,YAAY,GAAG,KAAK,GAAG,UAAU,CAAC;QAExC,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,GAAG;YACV,SAAS,EAAE,WAAW;YACtB,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO;YAChB,YAAY,EAAE,YAAY;YAC1B,eAAe,EAAE,eAAe;YAChC,UAAU,EAAE,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;YAChD,YAAY,EAAE,YAAY;YAC1B,SAAS,EACC,SAAS,KAAK,CAAC;gBACb,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,SAAS,KAAK,CAAC;oBACf,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,mBAAmB;SACpC,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|