node-switchbot 2.5.0-beta.32 → 2.5.0-beta.34
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/OpenAPI.md +18 -5
- package/dist/advertising.d.ts +3 -3
- package/dist/advertising.d.ts.map +1 -1
- package/dist/advertising.js +26 -25
- package/dist/advertising.js.map +1 -1
- package/dist/device/woblindtilt.d.ts +3 -4
- package/dist/device/woblindtilt.d.ts.map +1 -1
- package/dist/device/woblindtilt.js +7 -3
- package/dist/device/woblindtilt.js.map +1 -1
- package/dist/device/wobulb.d.ts +2 -3
- package/dist/device/wobulb.d.ts.map +1 -1
- package/dist/device/wobulb.js +8 -4
- package/dist/device/wobulb.js.map +1 -1
- package/dist/device/woceilinglight.d.ts +4 -4
- package/dist/device/woceilinglight.d.ts.map +1 -1
- package/dist/device/woceilinglight.js +10 -5
- package/dist/device/woceilinglight.js.map +1 -1
- package/dist/device/wocontact.d.ts +2 -3
- package/dist/device/wocontact.d.ts.map +1 -1
- package/dist/device/wocontact.js +3 -3
- package/dist/device/wocontact.js.map +1 -1
- package/dist/device/wocurtain.d.ts +2 -3
- package/dist/device/wocurtain.d.ts.map +1 -1
- package/dist/device/wocurtain.js +7 -3
- package/dist/device/wocurtain.js.map +1 -1
- package/dist/device/wohand.d.ts +2 -3
- package/dist/device/wohand.d.ts.map +1 -1
- package/dist/device/wohand.js +7 -3
- package/dist/device/wohand.js.map +1 -1
- package/dist/device/wohub2.d.ts +2 -3
- package/dist/device/wohub2.d.ts.map +1 -1
- package/dist/device/wohub2.js +3 -3
- package/dist/device/wohub2.js.map +1 -1
- package/dist/device/wohumi.d.ts +2 -3
- package/dist/device/wohumi.d.ts.map +1 -1
- package/dist/device/wohumi.js +7 -3
- package/dist/device/wohumi.js.map +1 -1
- package/dist/device/woiosensorth.d.ts +2 -3
- package/dist/device/woiosensorth.d.ts.map +1 -1
- package/dist/device/woiosensorth.js +4 -4
- package/dist/device/woiosensorth.js.map +1 -1
- package/dist/device/woplugmini.d.ts +5 -4
- package/dist/device/woplugmini.d.ts.map +1 -1
- package/dist/device/woplugmini.js +13 -7
- package/dist/device/woplugmini.js.map +1 -1
- package/dist/device/wopresence.d.ts +2 -3
- package/dist/device/wopresence.d.ts.map +1 -1
- package/dist/device/wopresence.js +3 -3
- package/dist/device/wopresence.js.map +1 -1
- package/dist/device/wosensorth.d.ts +4 -4
- package/dist/device/wosensorth.d.ts.map +1 -1
- package/dist/device/wosensorth.js +6 -5
- package/dist/device/wosensorth.js.map +1 -1
- package/dist/device/wosmartlock.d.ts +8 -3
- package/dist/device/wosmartlock.d.ts.map +1 -1
- package/dist/device/wosmartlock.js +9 -3
- package/dist/device/wosmartlock.js.map +1 -1
- package/dist/device/wosmartlockpro.d.ts +8 -3
- package/dist/device/wosmartlockpro.d.ts.map +1 -1
- package/dist/device/wosmartlockpro.js +9 -3
- package/dist/device/wosmartlockpro.js.map +1 -1
- package/dist/device/wostrip.d.ts +2 -3
- package/dist/device/wostrip.d.ts.map +1 -1
- package/dist/device/wostrip.js +3 -3
- package/dist/device/wostrip.js.map +1 -1
- package/dist/device.d.ts +9 -1
- package/dist/device.d.ts.map +1 -1
- package/dist/device.js +13 -2
- package/dist/device.js.map +1 -1
- package/dist/switchbot-ble.d.ts.map +1 -1
- package/dist/switchbot-ble.js +2 -2
- package/dist/switchbot-ble.js.map +1 -1
- package/dist/test/advertising.test.js +7 -4
- package/dist/test/advertising.test.js.map +1 -1
- package/dist/test/woblindtilt.test.js +75 -1
- package/dist/test/woblindtilt.test.js.map +1 -1
- package/dist/test/wobulb.test.js +94 -1
- package/dist/test/wobulb.test.js.map +1 -1
- package/dist/test/woceilinglight.test.js +80 -1
- package/dist/test/woceilinglight.test.js.map +1 -1
- package/dist/test/wocontact.test.js +64 -1
- package/dist/test/wocontact.test.js.map +1 -1
- package/dist/test/wocurtain.test.js +74 -1
- package/dist/test/wocurtain.test.js.map +1 -1
- package/dist/test/wohand.test.js +55 -1
- package/dist/test/wohand.test.js.map +1 -1
- package/dist/test/wohub2.test.js +79 -1
- package/dist/test/wohub2.test.js.map +1 -1
- package/dist/test/wohumi.test.js +81 -1
- package/dist/test/wohumi.test.js.map +1 -1
- package/dist/test/woiosensorth.test.js +39 -1
- package/dist/test/woiosensorth.test.js.map +1 -1
- package/dist/test/woplugmini.test.js +113 -1
- package/dist/test/woplugmini.test.js.map +1 -1
- package/dist/test/wopresence.test.js +67 -1
- package/dist/test/wopresence.test.js.map +1 -1
- package/dist/test/wosensorth.test.js +50 -1
- package/dist/test/wosensorth.test.js.map +1 -1
- package/dist/test/wosmartlock.test.js +150 -1
- package/dist/test/wosmartlock.test.js.map +1 -1
- package/dist/test/wosmartlockpro.test.js +150 -1
- package/dist/test/wosmartlockpro.test.js.map +1 -1
- package/dist/test/wostrip.test.js +101 -1
- package/dist/test/wostrip.test.js.map +1 -1
- package/dist/types/types.d.ts +7 -3
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/types.js +6 -2
- package/dist/types/types.js.map +1 -1
- package/package.json +1 -1
package/OpenAPI.md
CHANGED
|
@@ -135,17 +135,30 @@ To be able to receive logging that this module is pushing out you will need to s
|
|
|
135
135
|
```typescript
|
|
136
136
|
this.switchBotAPI.on('log', (log) => {
|
|
137
137
|
switch (log.level) {
|
|
138
|
-
case LogLevel.
|
|
139
|
-
|
|
138
|
+
case LogLevel.SUCCESS:
|
|
139
|
+
this.successLog(log.message)
|
|
140
|
+
break
|
|
141
|
+
case LogLevel.DEBUGSUCCESS:
|
|
142
|
+
this.debugSuccessLog(log.message)
|
|
140
143
|
break
|
|
141
144
|
case LogLevel.WARN:
|
|
142
|
-
|
|
145
|
+
this.warnLog(log.message)
|
|
146
|
+
break
|
|
147
|
+
case LogLevel.DEBUGWARN:
|
|
148
|
+
this.debugWarnLog(log.message)
|
|
149
|
+
break
|
|
150
|
+
case LogLevel.ERROR:
|
|
151
|
+
this.errorLog(log.message)
|
|
152
|
+
break
|
|
153
|
+
case LogLevel.DEBUGERROR:
|
|
154
|
+
this.debugErrorLog(log.message)
|
|
143
155
|
break
|
|
144
156
|
case LogLevel.DEBUG:
|
|
145
|
-
|
|
157
|
+
this.debugLog(log.message)
|
|
146
158
|
break
|
|
159
|
+
case LogLevel.INFO:
|
|
147
160
|
default:
|
|
148
|
-
|
|
161
|
+
this.infoLog(log.message)
|
|
149
162
|
}
|
|
150
163
|
})
|
|
151
164
|
```
|
package/dist/advertising.d.ts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import type * as Noble from '@stoprocent/noble';
|
|
2
|
-
import type { SwitchBotBLE } from './switchbot-ble.js';
|
|
3
2
|
import type { Ad } from './types/types.js';
|
|
4
3
|
/**
|
|
5
4
|
* Represents the advertising data parser for SwitchBot devices.
|
|
6
5
|
*/
|
|
7
6
|
export declare class Advertising {
|
|
8
|
-
static switchBotBLE: SwitchBotBLE;
|
|
9
7
|
constructor();
|
|
10
8
|
/**
|
|
11
9
|
* Parses the advertisement data coming from SwitchBot device.
|
|
@@ -14,9 +12,10 @@ export declare class Advertising {
|
|
|
14
12
|
* and extracts relevant information based on the device type.
|
|
15
13
|
*
|
|
16
14
|
* @param {Noble.Peripheral} peripheral - The peripheral device object from noble.
|
|
15
|
+
* @param {Function} emitLog - The function to emit log messages.
|
|
17
16
|
* @returns {Promise<Ad | null>} - An object containing parsed data specific to the SwitchBot device type, or `null` if the device is not recognized.
|
|
18
17
|
*/
|
|
19
|
-
static parse(peripheral: Noble.Peripheral): Promise<Ad | null>;
|
|
18
|
+
static parse(peripheral: Noble.Peripheral, emitLog: (level: string, message: string) => void): Promise<Ad | null>;
|
|
20
19
|
/**
|
|
21
20
|
* Validates if the buffer is a valid Buffer object with a minimum length.
|
|
22
21
|
*
|
|
@@ -30,6 +29,7 @@ export declare class Advertising {
|
|
|
30
29
|
* @param {string} model - The device model.
|
|
31
30
|
* @param {Buffer} serviceData - The service data buffer.
|
|
32
31
|
* @param {Buffer} manufacturerData - The manufacturer data buffer.
|
|
32
|
+
* @param {Function} emitLog - The function to emit log messages.
|
|
33
33
|
* @returns {Promise<any>} - The parsed service data.
|
|
34
34
|
*/
|
|
35
35
|
private static parseServiceData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advertising.d.ts","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"advertising.d.ts","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,EAAE,EAAE,EAAe,MAAM,kBAAkB,CAAA;AAqBvD;;GAEG;AACH,qBAAa,WAAW;;IAGtB;;;;;;;;;OASG;WACU,KAAK,CAChB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAChD,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;IAgCrB;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAI7B;;;;;;;;OAQG;mBACkB,gBAAgB;IAkDrC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;CAY7B"}
|
package/dist/advertising.js
CHANGED
|
@@ -19,7 +19,6 @@ import { SwitchBotBLEModel } from './types/types.js';
|
|
|
19
19
|
* Represents the advertising data parser for SwitchBot devices.
|
|
20
20
|
*/
|
|
21
21
|
export class Advertising {
|
|
22
|
-
static switchBotBLE;
|
|
23
22
|
constructor() { }
|
|
24
23
|
/**
|
|
25
24
|
* Parses the advertisement data coming from SwitchBot device.
|
|
@@ -28,9 +27,10 @@ export class Advertising {
|
|
|
28
27
|
* and extracts relevant information based on the device type.
|
|
29
28
|
*
|
|
30
29
|
* @param {Noble.Peripheral} peripheral - The peripheral device object from noble.
|
|
30
|
+
* @param {Function} emitLog - The function to emit log messages.
|
|
31
31
|
* @returns {Promise<Ad | null>} - An object containing parsed data specific to the SwitchBot device type, or `null` if the device is not recognized.
|
|
32
32
|
*/
|
|
33
|
-
static async parse(peripheral) {
|
|
33
|
+
static async parse(peripheral, emitLog) {
|
|
34
34
|
const ad = peripheral.advertisement;
|
|
35
35
|
if (!ad || !ad.serviceData) {
|
|
36
36
|
return null;
|
|
@@ -41,9 +41,9 @@ export class Advertising {
|
|
|
41
41
|
return null;
|
|
42
42
|
}
|
|
43
43
|
const model = serviceData.subarray(0, 1).toString('utf8');
|
|
44
|
-
const sd = await Advertising.parseServiceData(model, serviceData, manufacturerData);
|
|
44
|
+
const sd = await Advertising.parseServiceData(model, serviceData, manufacturerData, emitLog);
|
|
45
45
|
if (!sd) {
|
|
46
|
-
|
|
46
|
+
emitLog('error', `[parseAdvertising.${peripheral.id}.${model}] return null, parsed serviceData empty!`);
|
|
47
47
|
return null;
|
|
48
48
|
}
|
|
49
49
|
const address = Advertising.formatAddress(peripheral);
|
|
@@ -53,7 +53,7 @@ export class Advertising {
|
|
|
53
53
|
rssi: peripheral.rssi,
|
|
54
54
|
serviceData: { model, ...sd },
|
|
55
55
|
};
|
|
56
|
-
|
|
56
|
+
emitLog('debug', `[parseAdvertising.${peripheral.id}.${model}] return ${JSON.stringify(data)}`);
|
|
57
57
|
return data;
|
|
58
58
|
}
|
|
59
59
|
/**
|
|
@@ -71,49 +71,50 @@ export class Advertising {
|
|
|
71
71
|
* @param {string} model - The device model.
|
|
72
72
|
* @param {Buffer} serviceData - The service data buffer.
|
|
73
73
|
* @param {Buffer} manufacturerData - The manufacturer data buffer.
|
|
74
|
+
* @param {Function} emitLog - The function to emit log messages.
|
|
74
75
|
* @returns {Promise<any>} - The parsed service data.
|
|
75
76
|
*/
|
|
76
|
-
static async parseServiceData(model, serviceData, manufacturerData) {
|
|
77
|
+
static async parseServiceData(model, serviceData, manufacturerData, emitLog) {
|
|
77
78
|
switch (model) {
|
|
78
79
|
case SwitchBotBLEModel.Bot:
|
|
79
|
-
return WoHand.parseServiceData(serviceData);
|
|
80
|
+
return WoHand.parseServiceData(serviceData, emitLog);
|
|
80
81
|
case SwitchBotBLEModel.Curtain:
|
|
81
82
|
case SwitchBotBLEModel.Curtain3:
|
|
82
|
-
return WoCurtain.parseServiceData(serviceData, manufacturerData);
|
|
83
|
+
return WoCurtain.parseServiceData(serviceData, manufacturerData, emitLog);
|
|
83
84
|
case SwitchBotBLEModel.Humidifier:
|
|
84
|
-
return WoHumi.parseServiceData(serviceData);
|
|
85
|
+
return WoHumi.parseServiceData(serviceData, emitLog);
|
|
85
86
|
case SwitchBotBLEModel.Meter:
|
|
86
|
-
return WoSensorTH.parseServiceData(serviceData);
|
|
87
|
+
return WoSensorTH.parseServiceData(serviceData, emitLog);
|
|
87
88
|
case SwitchBotBLEModel.MeterPlus:
|
|
88
|
-
return WoSensorTH.parseServiceData_Plus(serviceData);
|
|
89
|
+
return WoSensorTH.parseServiceData_Plus(serviceData, emitLog);
|
|
89
90
|
case SwitchBotBLEModel.Hub2:
|
|
90
|
-
return WoHub2.parseServiceData(manufacturerData);
|
|
91
|
+
return WoHub2.parseServiceData(manufacturerData, emitLog);
|
|
91
92
|
case SwitchBotBLEModel.OutdoorMeter:
|
|
92
|
-
return WoIOSensorTH.parseServiceData(serviceData, manufacturerData);
|
|
93
|
+
return WoIOSensorTH.parseServiceData(serviceData, manufacturerData, emitLog);
|
|
93
94
|
case SwitchBotBLEModel.MotionSensor:
|
|
94
|
-
return WoPresence.parseServiceData(serviceData);
|
|
95
|
+
return WoPresence.parseServiceData(serviceData, emitLog);
|
|
95
96
|
case SwitchBotBLEModel.ContactSensor:
|
|
96
|
-
return WoContact.parseServiceData(serviceData);
|
|
97
|
+
return WoContact.parseServiceData(serviceData, emitLog);
|
|
97
98
|
case SwitchBotBLEModel.ColorBulb:
|
|
98
|
-
return WoBulb.parseServiceData(serviceData, manufacturerData);
|
|
99
|
+
return WoBulb.parseServiceData(serviceData, manufacturerData, emitLog);
|
|
99
100
|
case SwitchBotBLEModel.CeilingLight:
|
|
100
|
-
return WoCeilingLight.parseServiceData(manufacturerData);
|
|
101
|
+
return WoCeilingLight.parseServiceData(manufacturerData, emitLog);
|
|
101
102
|
case SwitchBotBLEModel.CeilingLightPro:
|
|
102
|
-
return WoCeilingLight.parseServiceData_Pro(manufacturerData);
|
|
103
|
+
return WoCeilingLight.parseServiceData_Pro(manufacturerData, emitLog);
|
|
103
104
|
case SwitchBotBLEModel.StripLight:
|
|
104
|
-
return WoStrip.parseServiceData(serviceData);
|
|
105
|
+
return WoStrip.parseServiceData(serviceData, emitLog);
|
|
105
106
|
case SwitchBotBLEModel.PlugMiniUS:
|
|
106
|
-
return WoPlugMini.parseServiceData_US(manufacturerData);
|
|
107
|
+
return WoPlugMini.parseServiceData_US(manufacturerData, emitLog);
|
|
107
108
|
case SwitchBotBLEModel.PlugMiniJP:
|
|
108
|
-
return WoPlugMini.parseServiceData_JP(manufacturerData);
|
|
109
|
+
return WoPlugMini.parseServiceData_JP(manufacturerData, emitLog);
|
|
109
110
|
case SwitchBotBLEModel.Lock:
|
|
110
|
-
return WoSmartLock.parseServiceData(serviceData, manufacturerData);
|
|
111
|
+
return WoSmartLock.parseServiceData(serviceData, manufacturerData, emitLog);
|
|
111
112
|
case SwitchBotBLEModel.LockPro:
|
|
112
|
-
return WoSmartLockPro.parseServiceData(serviceData, manufacturerData);
|
|
113
|
+
return WoSmartLockPro.parseServiceData(serviceData, manufacturerData, emitLog);
|
|
113
114
|
case SwitchBotBLEModel.BlindTilt:
|
|
114
|
-
return WoBlindTilt.parseServiceData(serviceData, manufacturerData);
|
|
115
|
+
return WoBlindTilt.parseServiceData(serviceData, manufacturerData, emitLog);
|
|
115
116
|
default:
|
|
116
|
-
|
|
117
|
+
emitLog('debug', `[parseAdvertising.${model}] return null, model "${model}" not available!`);
|
|
117
118
|
return null;
|
|
118
119
|
}
|
|
119
120
|
}
|
package/dist/advertising.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advertising.js","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"advertising.js","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { SwitchBotBLE } from '../switchbot-ble.js';
|
|
2
1
|
import { Buffer } from 'node:buffer';
|
|
3
2
|
import { SwitchbotDevice } from '../device.js';
|
|
4
3
|
/**
|
|
@@ -7,15 +6,15 @@ import { SwitchbotDevice } from '../device.js';
|
|
|
7
6
|
*/
|
|
8
7
|
export declare class WoBlindTilt extends SwitchbotDevice {
|
|
9
8
|
private _reverse;
|
|
10
|
-
static switchBotBLE: SwitchBotBLE;
|
|
11
9
|
/**
|
|
12
10
|
* Parses the service data and manufacturer data for the WoBlindTilt device.
|
|
13
11
|
* @param {Buffer} serviceData - The service data buffer.
|
|
14
12
|
* @param {Buffer} manufacturerData - The manufacturer data buffer.
|
|
13
|
+
* @param {Function} emitLog - The function to emit log messages.
|
|
15
14
|
* @param {boolean} [reverse] - Whether to reverse the tilt percentage.
|
|
16
15
|
* @returns {Promise<object | null>} - The parsed data object or null if the data is invalid.
|
|
17
16
|
*/
|
|
18
|
-
static parseServiceData(serviceData: Buffer, manufacturerData: Buffer, reverse?: boolean): Promise<object | null>;
|
|
17
|
+
static parseServiceData(serviceData: Buffer, manufacturerData: Buffer, emitLog: (level: string, message: string) => void, reverse?: boolean): Promise<object | null>;
|
|
19
18
|
/**
|
|
20
19
|
* Opens the blind tilt to the fully open position.
|
|
21
20
|
* @returns {Promise<void>}
|
|
@@ -71,6 +70,6 @@ export declare class WoBlindTilt extends SwitchbotDevice {
|
|
|
71
70
|
* @returns {Promise<void>}
|
|
72
71
|
* @private
|
|
73
72
|
*/
|
|
74
|
-
|
|
73
|
+
operateBlindTilt(bytes: number[]): Promise<void>;
|
|
75
74
|
}
|
|
76
75
|
//# sourceMappingURL=woblindtilt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"woblindtilt.d.ts","sourceRoot":"","sources":["../../src/device/woblindtilt.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"woblindtilt.d.ts","sourceRoot":"","sources":["../../src/device/woblindtilt.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C;;;GAGG;AACH,qBAAa,WAAY,SAAQ,eAAe;IAC9C,OAAO,CAAC,QAAQ,CAAiB;IAEjC;;;;;;;OAOG;WACU,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,EACjD,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA6BzB;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5B;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAKpC;;;;;OAKG;YACW,YAAY;IAO1B;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA2C5C;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;;;;OAKG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5D;;;;;OAKG;IACU,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAO9D"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/* Copyright(C) 2024, donavanbecker (https://github.com/donavanbecker). All rights reserved.
|
|
2
|
+
*
|
|
3
|
+
* woblindtilt.ts: Switchbot BLE API registration.
|
|
4
|
+
*/
|
|
1
5
|
import { Buffer } from 'node:buffer';
|
|
2
6
|
import { SwitchbotDevice } from '../device.js';
|
|
3
7
|
import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types/types.js';
|
|
@@ -7,17 +11,17 @@ import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName
|
|
|
7
11
|
*/
|
|
8
12
|
export class WoBlindTilt extends SwitchbotDevice {
|
|
9
13
|
_reverse = false;
|
|
10
|
-
static switchBotBLE;
|
|
11
14
|
/**
|
|
12
15
|
* Parses the service data and manufacturer data for the WoBlindTilt device.
|
|
13
16
|
* @param {Buffer} serviceData - The service data buffer.
|
|
14
17
|
* @param {Buffer} manufacturerData - The manufacturer data buffer.
|
|
18
|
+
* @param {Function} emitLog - The function to emit log messages.
|
|
15
19
|
* @param {boolean} [reverse] - Whether to reverse the tilt percentage.
|
|
16
20
|
* @returns {Promise<object | null>} - The parsed data object or null if the data is invalid.
|
|
17
21
|
*/
|
|
18
|
-
static async parseServiceData(serviceData, manufacturerData, reverse = false) {
|
|
22
|
+
static async parseServiceData(serviceData, manufacturerData, emitLog, reverse = false) {
|
|
19
23
|
if (![5, 6].includes(manufacturerData.length)) {
|
|
20
|
-
|
|
24
|
+
emitLog('debugerror', `[parseServiceDataForWoBlindTilt] Buffer length ${manufacturerData.length} !== 5 or 6!`);
|
|
21
25
|
return null;
|
|
22
26
|
}
|
|
23
27
|
const byte2 = serviceData.readUInt8(2);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"woblindtilt.js","sourceRoot":"","sources":["../../src/device/woblindtilt.ts"],"names":[],"mappings":"
|
|
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,4 +1,3 @@
|
|
|
1
|
-
import type { SwitchBotBLE } from '../switchbot-ble.js';
|
|
2
1
|
import { Buffer } from 'node:buffer';
|
|
3
2
|
import { SwitchbotDevice } from '../device.js';
|
|
4
3
|
/**
|
|
@@ -6,14 +5,14 @@ import { SwitchbotDevice } from '../device.js';
|
|
|
6
5
|
* @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/colorbulb.md
|
|
7
6
|
*/
|
|
8
7
|
export declare class WoBulb extends SwitchbotDevice {
|
|
9
|
-
static switchBotBLE: SwitchBotBLE;
|
|
10
8
|
/**
|
|
11
9
|
* Parses the service data for WoBulb.
|
|
12
10
|
* @param {Buffer} serviceData - The service data buffer.
|
|
13
11
|
* @param {Buffer} manufacturerData - The manufacturer data buffer.
|
|
12
|
+
* @param {Function} emitLog - The function to emit log messages.
|
|
14
13
|
* @returns {Promise<object | null>} - Parsed service data or null if invalid.
|
|
15
14
|
*/
|
|
16
|
-
static parseServiceData(serviceData: Buffer, manufacturerData: Buffer): Promise<object | null>;
|
|
15
|
+
static parseServiceData(serviceData: Buffer, manufacturerData: Buffer, emitLog: (level: string, message: string) => void): Promise<object | null>;
|
|
17
16
|
/**
|
|
18
17
|
* Reads the state of the bulb.
|
|
19
18
|
* @returns {Promise<boolean>} - Resolves with a boolean indicating whether the bulb is ON (true) or OFF (false).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wobulb.d.ts","sourceRoot":"","sources":["../../src/device/wobulb.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"wobulb.d.ts","sourceRoot":"","sources":["../../src/device/wobulb.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C;;;GAGG;AACH,qBAAa,MAAO,SAAQ,eAAe;IACzC;;;;;;OAMG;WACU,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAChD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAyCzB;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAInC;;;;;OAKG;IACU,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAK/D;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAIhC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAIjC;;;;OAIG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOzD;;;;OAIG;IACG,mBAAmB,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOtE;;;;;;;OAOG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAO5F;;;;;OAKG;YACW,WAAW;CAY1B"}
|
package/dist/device/wobulb.js
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/* Copyright(C) 2024, donavanbecker (https://github.com/donavanbecker). All rights reserved.
|
|
2
|
+
*
|
|
3
|
+
* wobulb.ts: Switchbot BLE API registration.
|
|
4
|
+
*/
|
|
1
5
|
import { Buffer } from 'node:buffer';
|
|
2
6
|
import { SwitchbotDevice } from '../device.js';
|
|
3
7
|
import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types/types.js';
|
|
@@ -6,20 +10,20 @@ import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName
|
|
|
6
10
|
* @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/colorbulb.md
|
|
7
11
|
*/
|
|
8
12
|
export class WoBulb extends SwitchbotDevice {
|
|
9
|
-
static switchBotBLE;
|
|
10
13
|
/**
|
|
11
14
|
* Parses the service data for WoBulb.
|
|
12
15
|
* @param {Buffer} serviceData - The service data buffer.
|
|
13
16
|
* @param {Buffer} manufacturerData - The manufacturer data buffer.
|
|
17
|
+
* @param {Function} emitLog - The function to emit log messages.
|
|
14
18
|
* @returns {Promise<object | null>} - Parsed service data or null if invalid.
|
|
15
19
|
*/
|
|
16
|
-
static async parseServiceData(serviceData, manufacturerData) {
|
|
20
|
+
static async parseServiceData(serviceData, manufacturerData, emitLog) {
|
|
17
21
|
if (serviceData.length !== 18) {
|
|
18
|
-
|
|
22
|
+
emitLog('debugerror', `[parseServiceDataForWoBulb] Buffer length ${serviceData.length} !== 18!`);
|
|
19
23
|
return null;
|
|
20
24
|
}
|
|
21
25
|
if (manufacturerData.length !== 13) {
|
|
22
|
-
|
|
26
|
+
emitLog('debugerror', `[parseServiceDataForWoBulb] Buffer length ${manufacturerData.length} !== 13!`);
|
|
23
27
|
return null;
|
|
24
28
|
}
|
|
25
29
|
const [, byte1, , byte3, byte4, byte5, byte6, byte7, byte8, byte9, byte10,] = manufacturerData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wobulb.js","sourceRoot":"","sources":["../../src/device/wobulb.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wobulb.js","sourceRoot":"","sources":["../../src/device/wobulb.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { SwitchBotBLE } from '../switchbot-ble.js';
|
|
2
1
|
import { Buffer } from 'node:buffer';
|
|
3
2
|
import { SwitchbotDevice } from '../device.js';
|
|
4
3
|
/**
|
|
@@ -6,19 +5,20 @@ import { SwitchbotDevice } from '../device.js';
|
|
|
6
5
|
* @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/colorbulb.md
|
|
7
6
|
*/
|
|
8
7
|
export declare class WoCeilingLight extends SwitchbotDevice {
|
|
9
|
-
static switchBotBLE: SwitchBotBLE;
|
|
10
8
|
/**
|
|
11
9
|
* Parses the service data for WoCeilingLight.
|
|
12
10
|
* @param {Buffer} manufacturerData - The manufacturer data buffer.
|
|
11
|
+
* @param {Function} emitLog - The function to emit log messages.
|
|
13
12
|
* @returns {Promise<object | null>} - Parsed service data or null if invalid.
|
|
14
13
|
*/
|
|
15
|
-
static parseServiceData(manufacturerData: Buffer): Promise<object | null>;
|
|
14
|
+
static parseServiceData(manufacturerData: Buffer, emitLog: (level: string, message: string) => void): Promise<object | null>;
|
|
16
15
|
/**
|
|
17
16
|
* Parses the service data for WoCeilingLight Pro.
|
|
18
17
|
* @param {Buffer} manufacturerData - The manufacturer data buffer.
|
|
18
|
+
* @param {Function} emitLog - The function to emit log messages.
|
|
19
19
|
* @returns {Promise<object | null>} - Parsed service data or null if invalid.
|
|
20
20
|
*/
|
|
21
|
-
static parseServiceData_Pro(manufacturerData: Buffer): Promise<object | null>;
|
|
21
|
+
static parseServiceData_Pro(manufacturerData: Buffer, emitLog: (level: string, message: string) => void): Promise<object | null>;
|
|
22
22
|
/**
|
|
23
23
|
* Reads the state of the ceiling light.
|
|
24
24
|
* @returns {Promise<boolean>} - Resolves with a boolean indicating whether the light is ON (true) or OFF (false).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"woceilinglight.d.ts","sourceRoot":"","sources":["../../src/device/woceilinglight.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"woceilinglight.d.ts","sourceRoot":"","sources":["../../src/device/woceilinglight.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C;;;GAGG;AACH,qBAAa,cAAe,SAAQ,eAAe;IACjD;;;;;OAKG;WACU,gBAAgB,CAC3B,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAChD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAqCzB;;;;;OAKG;WACU,oBAAoB,CAC/B,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAChD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAqCzB;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAInC;;;;OAIG;IACG,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAKxD;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAIhC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAIjC;;;;OAIG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOzD;;;;OAIG;IACG,mBAAmB,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOtE;;;;;;;OAOG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAY5F;;;;OAIG;IACU,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAYpE"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/* Copyright(C) 2024, donavanbecker (https://github.com/donavanbecker). All rights reserved.
|
|
2
|
+
*
|
|
3
|
+
* woceilinglight.ts: Switchbot BLE API registration.
|
|
4
|
+
*/
|
|
1
5
|
import { Buffer } from 'node:buffer';
|
|
2
6
|
import { SwitchbotDevice } from '../device.js';
|
|
3
7
|
import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types/types.js';
|
|
@@ -6,15 +10,15 @@ import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName
|
|
|
6
10
|
* @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/colorbulb.md
|
|
7
11
|
*/
|
|
8
12
|
export class WoCeilingLight extends SwitchbotDevice {
|
|
9
|
-
static switchBotBLE;
|
|
10
13
|
/**
|
|
11
14
|
* Parses the service data for WoCeilingLight.
|
|
12
15
|
* @param {Buffer} manufacturerData - The manufacturer data buffer.
|
|
16
|
+
* @param {Function} emitLog - The function to emit log messages.
|
|
13
17
|
* @returns {Promise<object | null>} - Parsed service data or null if invalid.
|
|
14
18
|
*/
|
|
15
|
-
static async parseServiceData(manufacturerData) {
|
|
19
|
+
static async parseServiceData(manufacturerData, emitLog) {
|
|
16
20
|
if (manufacturerData.length !== 13) {
|
|
17
|
-
|
|
21
|
+
emitLog('debugerror', `[parseServiceDataForWoCeilingLight] Buffer length ${manufacturerData.length} !== 13!`);
|
|
18
22
|
return null;
|
|
19
23
|
}
|
|
20
24
|
const [, byte1, , byte3, byte4, byte5, byte6, byte7, byte8, byte9, byte10,] = manufacturerData;
|
|
@@ -39,11 +43,12 @@ export class WoCeilingLight extends SwitchbotDevice {
|
|
|
39
43
|
/**
|
|
40
44
|
* Parses the service data for WoCeilingLight Pro.
|
|
41
45
|
* @param {Buffer} manufacturerData - The manufacturer data buffer.
|
|
46
|
+
* @param {Function} emitLog - The function to emit log messages.
|
|
42
47
|
* @returns {Promise<object | null>} - Parsed service data or null if invalid.
|
|
43
48
|
*/
|
|
44
|
-
static async parseServiceData_Pro(manufacturerData) {
|
|
49
|
+
static async parseServiceData_Pro(manufacturerData, emitLog) {
|
|
45
50
|
if (manufacturerData.length !== 13) {
|
|
46
|
-
|
|
51
|
+
emitLog('debugerror', `[parseServiceDataForWoCeilingLightPro] Buffer length ${manufacturerData.length} !== 13!`);
|
|
47
52
|
return null;
|
|
48
53
|
}
|
|
49
54
|
const [, byte1, , byte3, byte4, byte5, byte6, byte7, byte8, byte9, byte10,] = manufacturerData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"woceilinglight.js","sourceRoot":"","sources":["../../src/device/woceilinglight.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"woceilinglight.js","sourceRoot":"","sources":["../../src/device/woceilinglight.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import type { Buffer } from 'node:buffer';
|
|
2
|
-
import type { SwitchBotBLE } from '../switchbot-ble.js';
|
|
3
2
|
import { SwitchbotDevice } from '../device.js';
|
|
4
3
|
/**
|
|
5
4
|
* Class representing a WoContact device.
|
|
6
5
|
* @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/contactsensor.md
|
|
7
6
|
*/
|
|
8
7
|
export declare class WoContact extends SwitchbotDevice {
|
|
9
|
-
static switchBotBLE: SwitchBotBLE;
|
|
10
8
|
/**
|
|
11
9
|
* Parses the service data for WoContact.
|
|
12
10
|
* @param {Buffer} serviceData - The service data buffer.
|
|
11
|
+
* @param {Function} emitLog - The function to emit log messages.
|
|
13
12
|
* @returns {Promise<object | null>} - Parsed service data or null if invalid.
|
|
14
13
|
*/
|
|
15
|
-
static parseServiceData(serviceData: Buffer): Promise<object | null>;
|
|
14
|
+
static parseServiceData(serviceData: Buffer, emitLog: (level: string, message: string) => void): Promise<object | 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,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,
|
|
1
|
+
{"version":3,"file":"wocontact.d.ts","sourceRoot":"","sources":["../../src/device/wocontact.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C;;;GAGG;AACH,qBAAa,SAAU,SAAQ,eAAe;IAC5C;;;;;OAKG;WACU,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAChD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAgC1B"}
|
package/dist/device/wocontact.js
CHANGED
|
@@ -5,15 +5,15 @@ import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName
|
|
|
5
5
|
* @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/contactsensor.md
|
|
6
6
|
*/
|
|
7
7
|
export class WoContact extends SwitchbotDevice {
|
|
8
|
-
static switchBotBLE;
|
|
9
8
|
/**
|
|
10
9
|
* Parses the service data for WoContact.
|
|
11
10
|
* @param {Buffer} serviceData - The service data buffer.
|
|
11
|
+
* @param {Function} emitLog - The function to emit log messages.
|
|
12
12
|
* @returns {Promise<object | null>} - Parsed service data or null if invalid.
|
|
13
13
|
*/
|
|
14
|
-
static async parseServiceData(serviceData) {
|
|
14
|
+
static async parseServiceData(serviceData, emitLog) {
|
|
15
15
|
if (serviceData.length !== 9) {
|
|
16
|
-
|
|
16
|
+
emitLog('debugerror', `[parseServiceDataForWoContact] Buffer length ${serviceData.length} !== 9!`);
|
|
17
17
|
return null;
|
|
18
18
|
}
|
|
19
19
|
const [byte1, byte2, byte3, , , , , , byte8] = serviceData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wocontact.js","sourceRoot":"","sources":["../../src/device/wocontact.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wocontact.js","sourceRoot":"","sources":["../../src/device/wocontact.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAE3G;;;GAGG;AACH,MAAM,OAAO,SAAU,SAAQ,eAAe;IAC5C;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAC3B,WAAmB,EACnB,OAAiD;QAEjD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,YAAY,EAAE,gDAAgD,WAAW,CAAC,MAAM,SAAS,CAAC,CAAA;YAClG,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,AAAD,EAAG,AAAD,EAAG,AAAD,EAAG,AAAD,EAAG,AAAD,EAAG,KAAK,CAAC,GAAG,WAAW,CAAA;QAE1D,MAAM,SAAS,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,UAAU,CAAA;QAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,CAAA;QAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,CAAA;QAC5C,MAAM,OAAO,GAAG,KAAK,GAAG,UAAU,CAAA;QAClC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,CAAA;QAChD,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,CAAA;QACnD,MAAM,UAAU,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAA;QACzD,MAAM,YAAY,GAAG,KAAK,GAAG,UAAU,CAAA;QACvC,MAAM,SAAS,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAA;QAE5F,OAAO;YACL,KAAK,EAAE,iBAAiB,CAAC,aAAa;YACtC,SAAS,EAAE,qBAAqB,CAAC,aAAa;YAC9C,iBAAiB,EAAE,6BAA6B,CAAC,aAAa;YAC9D,QAAQ;YACR,MAAM;YACN,OAAO;YACP,YAAY;YACZ,eAAe;YACf,UAAU;YACV,YAAY;YACZ,SAAS;SACV,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { SwitchBotBLE } from '../switchbot-ble.js';
|
|
2
1
|
import { Buffer } from 'node:buffer';
|
|
3
2
|
import { SwitchbotDevice } from '../device.js';
|
|
4
3
|
/**
|
|
@@ -7,15 +6,15 @@ import { SwitchbotDevice } from '../device.js';
|
|
|
7
6
|
* @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/curtain3.md
|
|
8
7
|
*/
|
|
9
8
|
export declare class WoCurtain extends SwitchbotDevice {
|
|
10
|
-
static switchBotBLE: SwitchBotBLE;
|
|
11
9
|
/**
|
|
12
10
|
* Parses the service data for WoCurtain.
|
|
13
11
|
* @param {Buffer} serviceData - The service data buffer.
|
|
14
12
|
* @param {Buffer} manufacturerData - The manufacturer data buffer.
|
|
13
|
+
* @param {Function} emitLog - The function to emit log messages.
|
|
15
14
|
* @param {boolean} [reverse] - Whether to reverse the position.
|
|
16
15
|
* @returns {Promise<object | null>} - Parsed service data or null if invalid.
|
|
17
16
|
*/
|
|
18
|
-
static parseServiceData(serviceData: Buffer, manufacturerData: Buffer, reverse?: boolean): Promise<object | null>;
|
|
17
|
+
static parseServiceData(serviceData: Buffer, manufacturerData: Buffer, emitLog: (level: string, message: string) => void, reverse?: boolean): Promise<object | null>;
|
|
19
18
|
/**
|
|
20
19
|
* Opens the curtain.
|
|
21
20
|
* @param {number} [mode] - Running mode (0x01 = QuietDrift, 0xFF = Default).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wocurtain.d.ts","sourceRoot":"","sources":["../../src/device/wocurtain.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"wocurtain.d.ts","sourceRoot":"","sources":["../../src/device/wocurtain.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C;;;;GAIG;AACH,qBAAa,SAAU,SAAQ,eAAe;IAC5C;;;;;;;OAOG;WACU,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,EACjD,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA8CzB;;;;OAIG;IACG,IAAI,CAAC,IAAI,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C;;;;OAIG;IACG,KAAK,CAAC,IAAI,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;;;;OAKG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnE;;;;OAIG;IACU,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAS5D"}
|
package/dist/device/wocurtain.js
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/* Copyright(C) 2024, donavanbecker (https://github.com/donavanbecker). All rights reserved.
|
|
2
|
+
*
|
|
3
|
+
* wocurtain.ts: Switchbot BLE API registration.
|
|
4
|
+
*/
|
|
1
5
|
import { Buffer } from 'node:buffer';
|
|
2
6
|
import { SwitchbotDevice } from '../device.js';
|
|
3
7
|
import { SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types/types.js';
|
|
@@ -7,17 +11,17 @@ import { SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types/t
|
|
|
7
11
|
* @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/curtain3.md
|
|
8
12
|
*/
|
|
9
13
|
export class WoCurtain extends SwitchbotDevice {
|
|
10
|
-
static switchBotBLE;
|
|
11
14
|
/**
|
|
12
15
|
* Parses the service data for WoCurtain.
|
|
13
16
|
* @param {Buffer} serviceData - The service data buffer.
|
|
14
17
|
* @param {Buffer} manufacturerData - The manufacturer data buffer.
|
|
18
|
+
* @param {Function} emitLog - The function to emit log messages.
|
|
15
19
|
* @param {boolean} [reverse] - Whether to reverse the position.
|
|
16
20
|
* @returns {Promise<object | null>} - Parsed service data or null if invalid.
|
|
17
21
|
*/
|
|
18
|
-
static async parseServiceData(serviceData, manufacturerData, reverse = false) {
|
|
22
|
+
static async parseServiceData(serviceData, manufacturerData, emitLog, reverse = false) {
|
|
19
23
|
if (![5, 6].includes(serviceData.length)) {
|
|
20
|
-
|
|
24
|
+
emitLog('debugerror', `[parseServiceDataForWoCurtain] Buffer length ${serviceData.length} !== 5 or 6!`);
|
|
21
25
|
return null;
|
|
22
26
|
}
|
|
23
27
|
const byte1 = serviceData.readUInt8(1);
|