@switchbot/homebridge-switchbot 3.5.1-beta.12 → 3.5.1-beta.13
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/config.schema.json +19 -3
- package/dist/device/blindtilt.d.ts +6 -4
- package/dist/device/blindtilt.d.ts.map +1 -1
- package/dist/device/blindtilt.js +57 -45
- package/dist/device/blindtilt.js.map +1 -1
- package/dist/device/bot.d.ts +6 -3
- package/dist/device/bot.d.ts.map +1 -1
- package/dist/device/bot.js +38 -24
- package/dist/device/bot.js.map +1 -1
- package/dist/device/ceilinglight.d.ts +6 -3
- package/dist/device/ceilinglight.d.ts.map +1 -1
- package/dist/device/ceilinglight.js +40 -21
- package/dist/device/ceilinglight.js.map +1 -1
- package/dist/device/colorbulb.d.ts +6 -3
- package/dist/device/colorbulb.d.ts.map +1 -1
- package/dist/device/colorbulb.js +42 -31
- package/dist/device/colorbulb.js.map +1 -1
- package/dist/device/contact.d.ts +6 -3
- package/dist/device/contact.d.ts.map +1 -1
- package/dist/device/contact.js +40 -28
- package/dist/device/contact.js.map +1 -1
- package/dist/device/curtain.d.ts +6 -4
- package/dist/device/curtain.d.ts.map +1 -1
- package/dist/device/curtain.js +35 -22
- package/dist/device/curtain.js.map +1 -1
- package/dist/device/device.d.ts +13 -2
- package/dist/device/device.d.ts.map +1 -1
- package/dist/device/device.js +223 -108
- package/dist/device/device.js.map +1 -1
- package/dist/device/fan.d.ts +6 -3
- package/dist/device/fan.d.ts.map +1 -1
- package/dist/device/fan.js +48 -29
- package/dist/device/fan.js.map +1 -1
- package/dist/device/hub.d.ts +6 -3
- package/dist/device/hub.d.ts.map +1 -1
- package/dist/device/hub.js +43 -26
- package/dist/device/hub.js.map +1 -1
- package/dist/device/humidifier.d.ts +6 -3
- package/dist/device/humidifier.d.ts.map +1 -1
- package/dist/device/humidifier.js +43 -26
- package/dist/device/humidifier.js.map +1 -1
- package/dist/device/iosensor.d.ts +6 -3
- package/dist/device/iosensor.d.ts.map +1 -1
- package/dist/device/iosensor.js +39 -24
- package/dist/device/iosensor.js.map +1 -1
- package/dist/device/lightstrip.d.ts +6 -3
- package/dist/device/lightstrip.d.ts.map +1 -1
- package/dist/device/lightstrip.js +43 -27
- package/dist/device/lightstrip.js.map +1 -1
- package/dist/device/lock.d.ts +6 -3
- package/dist/device/lock.d.ts.map +1 -1
- package/dist/device/lock.js +33 -22
- package/dist/device/lock.js.map +1 -1
- package/dist/device/meter.d.ts +6 -3
- package/dist/device/meter.d.ts.map +1 -1
- package/dist/device/meter.js +38 -24
- package/dist/device/meter.js.map +1 -1
- package/dist/device/meterplus.d.ts +6 -3
- package/dist/device/meterplus.d.ts.map +1 -1
- package/dist/device/meterplus.js +37 -24
- package/dist/device/meterplus.js.map +1 -1
- package/dist/device/motion.d.ts +6 -3
- package/dist/device/motion.d.ts.map +1 -1
- package/dist/device/motion.js +33 -22
- package/dist/device/motion.js.map +1 -1
- package/dist/device/plug.d.ts +6 -3
- package/dist/device/plug.d.ts.map +1 -1
- package/dist/device/plug.js +27 -16
- package/dist/device/plug.js.map +1 -1
- package/dist/device/robotvacuumcleaner.d.ts +6 -3
- package/dist/device/robotvacuumcleaner.d.ts.map +1 -1
- package/dist/device/robotvacuumcleaner.js +34 -21
- package/dist/device/robotvacuumcleaner.js.map +1 -1
- package/dist/device/waterdetector.d.ts +6 -3
- package/dist/device/waterdetector.d.ts.map +1 -1
- package/dist/device/waterdetector.js +38 -23
- package/dist/device/waterdetector.js.map +1 -1
- package/dist/irdevice/airconditioner.d.ts.map +1 -1
- package/dist/irdevice/airconditioner.js +19 -72
- package/dist/irdevice/airconditioner.js.map +1 -1
- package/dist/irdevice/airpurifier.js +4 -4
- package/dist/irdevice/airpurifier.js.map +1 -1
- package/dist/irdevice/camera.d.ts.map +1 -1
- package/dist/irdevice/camera.js +3 -10
- package/dist/irdevice/camera.js.map +1 -1
- package/dist/irdevice/fan.d.ts.map +1 -1
- package/dist/irdevice/fan.js +7 -25
- package/dist/irdevice/fan.js.map +1 -1
- package/dist/irdevice/irdevice.d.ts +1 -1
- package/dist/irdevice/irdevice.js +1 -1
- package/dist/irdevice/irdevice.js.map +1 -1
- package/dist/irdevice/light.d.ts.map +1 -1
- package/dist/irdevice/light.js +9 -27
- package/dist/irdevice/light.js.map +1 -1
- package/dist/irdevice/other.js +1 -1
- package/dist/irdevice/other.js.map +1 -1
- package/dist/irdevice/tv.d.ts.map +1 -1
- package/dist/irdevice/tv.js +3 -18
- package/dist/irdevice/tv.js.map +1 -1
- package/dist/irdevice/vacuumcleaner.d.ts.map +1 -1
- package/dist/irdevice/vacuumcleaner.js +2 -9
- package/dist/irdevice/vacuumcleaner.js.map +1 -1
- package/dist/irdevice/waterheater.d.ts.map +1 -1
- package/dist/irdevice/waterheater.js +2 -9
- package/dist/irdevice/waterheater.js.map +1 -1
- package/dist/platform.d.ts +0 -11
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +11 -184
- package/dist/platform.js.map +1 -1
- package/dist/settings.d.ts +9 -8
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js.map +1 -1
- package/dist/types/bledevicestatus.d.ts +2 -1
- package/dist/types/bledevicestatus.d.ts.map +1 -1
- package/dist/types/devicestatus.d.ts +1 -1
- package/dist/types/devicestatus.d.ts.map +1 -1
- package/package.json +9 -9
- package/src/device/blindtilt.ts +60 -47
- package/src/device/bot.ts +47 -25
- package/src/device/ceilinglight.ts +52 -21
- package/src/device/colorbulb.ts +45 -31
- package/src/device/contact.ts +43 -28
- package/src/device/curtain.ts +45 -23
- package/src/device/device.ts +226 -96
- package/src/device/fan.ts +61 -30
- package/src/device/hub.ts +55 -29
- package/src/device/humidifier.ts +55 -31
- package/src/device/iosensor.ts +45 -27
- package/src/device/lightstrip.ts +48 -28
- package/src/device/lock.ts +49 -23
- package/src/device/meter.ts +54 -26
- package/src/device/meterplus.ts +50 -26
- package/src/device/motion.ts +45 -24
- package/src/device/plug.ts +34 -17
- package/src/device/robotvacuumcleaner.ts +49 -23
- package/src/device/waterdetector.ts +56 -25
- package/src/irdevice/airconditioner.ts +19 -65
- package/src/irdevice/airpurifier.ts +4 -4
- package/src/irdevice/camera.ts +4 -9
- package/src/irdevice/fan.ts +10 -22
- package/src/irdevice/irdevice.ts +1 -1
- package/src/irdevice/light.ts +10 -24
- package/src/irdevice/other.ts +1 -1
- package/src/irdevice/tv.ts +5 -16
- package/src/irdevice/vacuumcleaner.ts +3 -8
- package/src/irdevice/waterheater.ts +3 -8
- package/src/platform.ts +11 -184
- package/src/settings.ts +10 -8
- package/src/types/bledevicestatus.ts +4 -2
- package/src/types/devicestatus.ts +1 -1
|
@@ -13,7 +13,7 @@ export type ad = {
|
|
|
13
13
|
id: string;
|
|
14
14
|
address: string;
|
|
15
15
|
rssi: number;
|
|
16
|
-
serviceData: botServiceData | colorBulbServiceData | contactSensorServiceData | curtainServiceData | curtain3ServiceData | stripLightServiceData | lockServiceData | lockProServiceData | meterServiceData | meterPlusServiceData | motionSensorServiceData | plugMiniUSServiceData | plugMiniJPServiceData | blindTiltServiceData;
|
|
16
|
+
serviceData: botServiceData | colorBulbServiceData | contactSensorServiceData | curtainServiceData | curtain3ServiceData | stripLightServiceData | lockServiceData | lockProServiceData | meterServiceData | meterPlusServiceData | motionSensorServiceData | outdoorMeterServiceData | plugMiniUSServiceData | plugMiniJPServiceData | blindTiltServiceData | ceilingLightServiceData | ceilingLightProServiceData | hub2ServiceData | batteryCirculatorFanServiceData | waterLeakDetectorServiceData | humidifierServiceData | robotVacuumCleanerServiceData;
|
|
17
17
|
};
|
|
18
18
|
type serviceData = {
|
|
19
19
|
model: string;
|
|
@@ -247,6 +247,7 @@ export type batteryCirculatorFanServiceData = serviceData & {
|
|
|
247
247
|
modelName: SwitchBotBLEModelName.Unknown;
|
|
248
248
|
modelFriendlyName: SwitchBotBLEModelFriendlyName.Unknown;
|
|
249
249
|
state: string;
|
|
250
|
+
fanSpeed: number;
|
|
250
251
|
};
|
|
251
252
|
export type waterLeakDetectorServiceData = serviceData & {
|
|
252
253
|
model: SwitchBotBLEModel.Unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bledevicestatus.d.ts","sourceRoot":"","sources":["../../src/types/bledevicestatus.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAE9G,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,EAAE,CAAC,EAAE,UAAU,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACrG,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,EAAE,GAAG;IACf,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,cAAc,GAAG,oBAAoB,GAAG,wBAAwB,GAC3E,kBAAkB,GAAG,mBAAmB,GAAG,qBAAqB,GAAG,eAAe,GAClF,kBAAkB,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,uBAAuB,
|
|
1
|
+
{"version":3,"file":"bledevicestatus.d.ts","sourceRoot":"","sources":["../../src/types/bledevicestatus.ts"],"names":[],"mappings":"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"}
|
|
@@ -126,7 +126,7 @@ export type humidifierStatus = deviceStatus & {
|
|
|
126
126
|
};
|
|
127
127
|
export type blindTiltStatus = deviceStatus & {
|
|
128
128
|
calibrate: boolean;
|
|
129
|
-
battery:
|
|
129
|
+
battery: number;
|
|
130
130
|
direction: string;
|
|
131
131
|
slidePosition: string;
|
|
132
132
|
lightLevel?: 'bright' | 'dim';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devicestatus.d.ts","sourceRoot":"","sources":["../../src/types/devicestatus.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"devicestatus.d.ts","sourceRoot":"","sources":["../../src/types/devicestatus.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"displayName": "SwitchBot",
|
|
3
3
|
"name": "@switchbot/homebridge-switchbot",
|
|
4
|
-
"version": "3.5.1-beta.
|
|
4
|
+
"version": "3.5.1-beta.13",
|
|
5
5
|
"description": "The SwitchBot plugin allows you to access your SwitchBot device(s) from HomeKit.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "SwitchBot",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"@homebridge/plugin-ui-utils": "^1.0.3",
|
|
81
81
|
"async-mqtt": "^2.6.3",
|
|
82
82
|
"fakegato-history": "^0.6.4",
|
|
83
|
-
"homebridge-lib": "^7.0.
|
|
83
|
+
"homebridge-lib": "^7.0.4",
|
|
84
84
|
"rxjs": "^7.8.1",
|
|
85
85
|
"undici": "^6.19.2"
|
|
86
86
|
},
|
|
@@ -89,18 +89,18 @@
|
|
|
89
89
|
},
|
|
90
90
|
"devDependencies": {
|
|
91
91
|
"@eslint/js": "^9.5.0",
|
|
92
|
-
"@stylistic/eslint-plugin": "^2.
|
|
92
|
+
"@stylistic/eslint-plugin": "^2.3.0",
|
|
93
93
|
"@types/eslint__js": "^8.42.3",
|
|
94
|
-
"@types/node": "^20.14.
|
|
94
|
+
"@types/node": "^20.14.9",
|
|
95
95
|
"eslint": "^9.5.0",
|
|
96
96
|
"globals": "^15.6.0",
|
|
97
|
-
"homebridge": "^1.8.
|
|
98
|
-
"homebridge-config-ui-x": "4.56.
|
|
99
|
-
"nodemon": "^3.1.
|
|
97
|
+
"homebridge": "^1.8.3",
|
|
98
|
+
"homebridge-config-ui-x": "4.56.4",
|
|
99
|
+
"nodemon": "^3.1.4",
|
|
100
100
|
"npm-check-updates": "^16.14.20",
|
|
101
101
|
"rimraf": "^5.0.7",
|
|
102
102
|
"ts-node": "^10.9.2",
|
|
103
|
-
"typescript": "^5.
|
|
104
|
-
"typescript-eslint": "^8.0.0-alpha.
|
|
103
|
+
"typescript": "^5.5.2",
|
|
104
|
+
"typescript-eslint": "^8.0.0-alpha.33"
|
|
105
105
|
}
|
|
106
106
|
}
|
package/src/device/blindtilt.ts
CHANGED
|
@@ -42,9 +42,16 @@ export class BlindTilt extends deviceBase {
|
|
|
42
42
|
CurrentAmbientLightLevel?: CharacteristicValue;
|
|
43
43
|
};
|
|
44
44
|
|
|
45
|
-
// OpenAPI
|
|
45
|
+
// OpenAPI
|
|
46
|
+
deviceStatus!: blindTiltStatus;
|
|
46
47
|
mappingMode: BlindTiltMappingMode = BlindTiltMappingMode.OnlyUp;
|
|
47
48
|
|
|
49
|
+
//Webhook
|
|
50
|
+
webhookContext!: blindTiltWebhookContext;
|
|
51
|
+
|
|
52
|
+
// BLE
|
|
53
|
+
serviceData!: blindTiltServiceData;
|
|
54
|
+
|
|
48
55
|
// Target
|
|
49
56
|
setNewTarget!: boolean;
|
|
50
57
|
setNewTargetTimer!: NodeJS.Timeout;
|
|
@@ -180,12 +187,11 @@ export class BlindTilt extends deviceBase {
|
|
|
180
187
|
}
|
|
181
188
|
|
|
182
189
|
// Retrieve initial values and updateHomekit
|
|
190
|
+
this.debugLog('Retrieve initial values and update Homekit');
|
|
183
191
|
this.refreshStatus();
|
|
184
192
|
|
|
185
|
-
// Update Homekit
|
|
186
|
-
this.updateHomeKitCharacteristics();
|
|
187
|
-
|
|
188
193
|
//regisiter webhook event handler
|
|
194
|
+
this.debugLog('Registering Webhook Event Handler');
|
|
189
195
|
this.registerWebhook();
|
|
190
196
|
|
|
191
197
|
// Start an update interval
|
|
@@ -228,17 +234,20 @@ export class BlindTilt extends deviceBase {
|
|
|
228
234
|
/**
|
|
229
235
|
* Parse the device status from the SwitchBotBLE API
|
|
230
236
|
*/
|
|
231
|
-
async BLEparseStatus(
|
|
237
|
+
async BLEparseStatus(): Promise<void> {
|
|
232
238
|
await this.debugLog('BLEparseStatus');
|
|
239
|
+
await this.debugLog(`(direction, slidePosition, battery, version) = BLE:(${this.serviceData.tilt}, ${this.serviceData.tilt},`
|
|
240
|
+
+ ` ${this.serviceData.battery}, ${this.accessory.context.deviceVersion}), current:(${this.WindowCovering.CurrentHorizontalTiltAngle},`
|
|
241
|
+
+ ` ${this.WindowCovering.CurrentPosition}, ${this.Battery.BatteryLevel}, ${this.accessory.context.deviceVersion})`);
|
|
242
|
+
|
|
233
243
|
// CurrentPosition
|
|
234
|
-
this.WindowCovering.CurrentPosition = 100 - Number(serviceData.tilt);
|
|
244
|
+
this.WindowCovering.CurrentPosition = 100 - Number(this.serviceData.tilt);
|
|
235
245
|
await this.setMinMax();
|
|
236
246
|
await this.debugLog(`CurrentPosition ${this.WindowCovering.CurrentPosition}`);
|
|
237
247
|
if (this.setNewTarget) {
|
|
238
248
|
await this.infoLog('Checking Status ...');
|
|
239
249
|
}
|
|
240
|
-
|
|
241
|
-
if (this.setNewTarget && serviceData.inMotion) {
|
|
250
|
+
if (this.setNewTarget && this.serviceData.inMotion) {
|
|
242
251
|
await this.setMinMax();
|
|
243
252
|
if (Number(this.WindowCovering.TargetPosition) > this.WindowCovering.CurrentPosition) {
|
|
244
253
|
await this.debugLog(`Closing, CurrentPosition: ${this.WindowCovering.CurrentPosition}`);
|
|
@@ -272,12 +281,12 @@ export class BlindTilt extends deviceBase {
|
|
|
272
281
|
const spaceBetweenLevels = 9;
|
|
273
282
|
|
|
274
283
|
|
|
275
|
-
await this.getLightLevel(serviceData.lightLevel, set_minLux, set_maxLux, spaceBetweenLevels);
|
|
276
|
-
await this.debugLog(`LightLevel: ${serviceData.lightLevel}, CurrentAmbientLightLevel: ${this.LightSensor!.CurrentAmbientLightLevel}`);
|
|
284
|
+
await this.getLightLevel(this.serviceData.lightLevel, set_minLux, set_maxLux, spaceBetweenLevels);
|
|
285
|
+
await this.debugLog(`LightLevel: ${this.serviceData.lightLevel}, CurrentAmbientLightLevel: ${this.LightSensor!.CurrentAmbientLightLevel}`);
|
|
277
286
|
}
|
|
278
287
|
|
|
279
288
|
// BatteryLevel
|
|
280
|
-
this.Battery.BatteryLevel =
|
|
289
|
+
this.Battery.BatteryLevel = this.serviceData.battery;
|
|
281
290
|
await this.debugLog(`BatteryLevel: ${this.Battery.BatteryLevel}`);
|
|
282
291
|
|
|
283
292
|
// StatusLowBattery
|
|
@@ -289,22 +298,25 @@ export class BlindTilt extends deviceBase {
|
|
|
289
298
|
/**
|
|
290
299
|
* Parse the device status from the SwitchBot OpenAPI
|
|
291
300
|
*/
|
|
292
|
-
async openAPIparseStatus(
|
|
301
|
+
async openAPIparseStatus(): Promise<void> {
|
|
293
302
|
await this.debugLog('openAPIparseStatus');
|
|
303
|
+
await this.debugLog(`(direction, slidePosition, battery, version) = OpenAPI:(${this.deviceStatus.direction}, ${this.deviceStatus.slidePosition},`
|
|
304
|
+
+ ` ${this.deviceStatus.battery}, ${this.deviceStatus.version}), current:(${this.WindowCovering.CurrentHorizontalTiltAngle},`
|
|
305
|
+
+ ` ${this.WindowCovering.CurrentPosition}, ${this.Battery.BatteryLevel}, ${this.accessory.context.deviceVersion})`);
|
|
294
306
|
|
|
295
307
|
// CurrentPosition
|
|
296
|
-
await this.getCurrentPosttionDirection(deviceStatus.direction, deviceStatus.slidePosition);
|
|
308
|
+
await this.getCurrentPosttionDirection(this.deviceStatus.direction, this.deviceStatus.slidePosition);
|
|
297
309
|
|
|
298
310
|
if (!this.device.blindTilt?.hide_lightsensor && this.LightSensor?.Service) {
|
|
299
311
|
const set_minLux = this.device.blindTilt?.set_minLux ?? 1;
|
|
300
312
|
const set_maxLux = this.device.blindTilt?.set_maxLux ?? 6001;
|
|
301
|
-
const lightLevel = deviceStatus.lightLevel === 'bright' ? set_maxLux : set_minLux;
|
|
313
|
+
const lightLevel = this.deviceStatus.lightLevel === 'bright' ? set_maxLux : set_minLux;
|
|
302
314
|
this.LightSensor.CurrentAmbientLightLevel = await this.getLightLevel(lightLevel, set_minLux, set_maxLux, 2);
|
|
303
|
-
await this.debugLog(`LightLevel: ${deviceStatus.lightLevel}, CurrentAmbientLightLevel: ${this.LightSensor.CurrentAmbientLightLevel}`);
|
|
315
|
+
await this.debugLog(`LightLevel: ${this.deviceStatus.lightLevel}, CurrentAmbientLightLevel: ${this.LightSensor.CurrentAmbientLightLevel}`);
|
|
304
316
|
}
|
|
305
317
|
|
|
306
318
|
// BatteryLevel
|
|
307
|
-
this.Battery.BatteryLevel =
|
|
319
|
+
this.Battery.BatteryLevel = this.deviceStatus.battery;
|
|
308
320
|
await this.debugLog(`BatteryLevel: ${this.Battery.BatteryLevel}`);
|
|
309
321
|
|
|
310
322
|
// StatusLowBattery
|
|
@@ -313,45 +325,43 @@ export class BlindTilt extends deviceBase {
|
|
|
313
325
|
await this.debugLog(`StatusLowBattery: ${this.Battery.StatusLowBattery}`);
|
|
314
326
|
|
|
315
327
|
// Firmware Version
|
|
316
|
-
const version = deviceStatus.version.toString();
|
|
328
|
+
const version = this.deviceStatus.version.toString();
|
|
317
329
|
await this.debugLog(`Firmware Version: ${version.replace(/^V|-.*$/g, '')}`);
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
deviceVersion = version.replace(/^V|-.*$/g, '') ?? '0.0.0';
|
|
327
|
-
}
|
|
328
|
-
this.accessory
|
|
329
|
-
.getService(this.hap.Service.AccessoryInformation)!
|
|
330
|
-
.setCharacteristic(this.hap.Characteristic.HardwareRevision, deviceVersion)
|
|
331
|
-
.setCharacteristic(this.hap.Characteristic.FirmwareRevision, deviceVersion)
|
|
332
|
-
.getCharacteristic(this.hap.Characteristic.FirmwareRevision)
|
|
333
|
-
.updateValue(deviceVersion);
|
|
334
|
-
this.accessory.context.deviceVersion = deviceVersion;
|
|
335
|
-
await this.debugLog(`deviceVersion: ${this.accessory.context.deviceVersion}`);
|
|
330
|
+
let deviceVersion: string;
|
|
331
|
+
if (version?.includes('.') === false) {
|
|
332
|
+
const replace = version?.replace(/^V|-.*$/g, '');
|
|
333
|
+
const match = replace?.match(/.{1,1}/g);
|
|
334
|
+
const blindTiltVersion = match?.join('.') ?? '0.0.0';
|
|
335
|
+
deviceVersion = blindTiltVersion;
|
|
336
|
+
} else {
|
|
337
|
+
deviceVersion = version.replace(/^V|-.*$/g, '') ?? '0.0.0';
|
|
336
338
|
}
|
|
339
|
+
this.accessory
|
|
340
|
+
.getService(this.hap.Service.AccessoryInformation)!
|
|
341
|
+
.setCharacteristic(this.hap.Characteristic.HardwareRevision, deviceVersion)
|
|
342
|
+
.setCharacteristic(this.hap.Characteristic.FirmwareRevision, deviceVersion)
|
|
343
|
+
.getCharacteristic(this.hap.Characteristic.FirmwareRevision)
|
|
344
|
+
.updateValue(deviceVersion);
|
|
345
|
+
this.accessory.context.deviceVersion = deviceVersion;
|
|
346
|
+
await this.debugLog(`deviceVersion: ${this.accessory.context.deviceVersion}`);
|
|
337
347
|
}
|
|
338
348
|
|
|
339
|
-
async parseStatusWebhook(
|
|
349
|
+
async parseStatusWebhook(): Promise<void> {
|
|
340
350
|
await this.debugLog('parseStatusWebhook');
|
|
341
|
-
await this.debugLog(`(slidePosition, battery, version) = Webhook:(${
|
|
342
|
-
+
|
|
343
|
-
+ ` ${this.Battery.BatteryLevel}, ${this.accessory.context.deviceVersion})`);
|
|
351
|
+
await this.debugLog(`(slidePosition, battery, version) = Webhook:(${this.webhookContext.direction}, ${this.webhookContext.slidePosition},`
|
|
352
|
+
+ ` ${this.webhookContext.battery}, ${this.webhookContext.version}, current:(${this.WindowCovering.CurrentHorizontalTiltAngle},`
|
|
353
|
+
+ ` ${this.WindowCovering.CurrentPosition}, ${this.Battery.BatteryLevel}, ${this.accessory.context.deviceVersion})`);
|
|
344
354
|
// CurrentPosition and CurrentHorizontalTiltAngle
|
|
345
|
-
await this.getCurrentPosttionDirection(
|
|
355
|
+
await this.getCurrentPosttionDirection(this.webhookContext.direction, this.webhookContext.slidePosition);
|
|
346
356
|
// BatteryLevel
|
|
347
|
-
this.Battery.BatteryLevel =
|
|
357
|
+
this.Battery.BatteryLevel = this.webhookContext.battery;
|
|
348
358
|
await this.debugLog(`BatteryLevel: ${this.Battery.BatteryLevel}`);
|
|
349
359
|
// StatusLowBattery
|
|
350
360
|
this.Battery.StatusLowBattery = this.Battery.BatteryLevel < 10
|
|
351
361
|
? this.hap.Characteristic.StatusLowBattery.BATTERY_LEVEL_LOW : this.hap.Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL;
|
|
352
362
|
await this.debugLog(`StatusLowBattery: ${this.Battery.StatusLowBattery}`);
|
|
353
363
|
// Firmware Version
|
|
354
|
-
const deviceVersion =
|
|
364
|
+
const deviceVersion = this.webhookContext.version.replace(/^V|-.*$/g, '') ?? '0.0.0';
|
|
355
365
|
this.accessory
|
|
356
366
|
.getService(this.hap.Service.AccessoryInformation)!
|
|
357
367
|
.setCharacteristic(this.hap.Characteristic.HardwareRevision, deviceVersion)
|
|
@@ -388,10 +398,11 @@ export class BlindTilt extends deviceBase {
|
|
|
388
398
|
// Start to monitor advertisement packets
|
|
389
399
|
(async () => {
|
|
390
400
|
// Start to monitor advertisement packets
|
|
391
|
-
const serviceData = await this.monitorAdvertisementPackets(switchbot) as
|
|
401
|
+
const serviceData = await this.monitorAdvertisementPackets(switchbot) as blindTiltServiceData;
|
|
392
402
|
// Update HomeKit
|
|
393
403
|
if (serviceData.model === SwitchBotBLEModel.BlindTilt && serviceData.modelName === SwitchBotBLEModelName.BlindTilt) {
|
|
394
|
-
|
|
404
|
+
this.serviceData = serviceData;
|
|
405
|
+
await this.BLEparseStatus();
|
|
395
406
|
await this.updateHomeKitCharacteristics();
|
|
396
407
|
} else {
|
|
397
408
|
await this.errorLog(`failed to get serviceData, serviceData: ${serviceData}`);
|
|
@@ -409,7 +420,8 @@ export class BlindTilt extends deviceBase {
|
|
|
409
420
|
await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);;
|
|
410
421
|
if (await this.successfulStatusCodes(statusCode, deviceStatus)) {
|
|
411
422
|
await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
412
|
-
|
|
423
|
+
this.deviceStatus = deviceStatus.body;
|
|
424
|
+
await this.openAPIparseStatus();
|
|
413
425
|
await this.updateHomeKitCharacteristics();
|
|
414
426
|
} else {
|
|
415
427
|
await this.debugWarnLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
@@ -424,10 +436,11 @@ export class BlindTilt extends deviceBase {
|
|
|
424
436
|
async registerWebhook(): Promise<void> {
|
|
425
437
|
if (this.device.webhook) {
|
|
426
438
|
await this.debugLog('is listening webhook.');
|
|
427
|
-
this.
|
|
439
|
+
this.webhookEventHandler[this.device.deviceId] = async (context: blindTiltWebhookContext) => {
|
|
428
440
|
try {
|
|
429
441
|
await this.debugLog(`received Webhook: ${JSON.stringify(context)}`);
|
|
430
|
-
|
|
442
|
+
this.webhookContext = context;
|
|
443
|
+
await this.parseStatusWebhook();
|
|
431
444
|
await this.updateHomeKitCharacteristics();
|
|
432
445
|
} catch (e: any) {
|
|
433
446
|
await this.errorLog(`failed to handle webhook. Received: ${JSON.stringify(context)} Error: ${e}`);
|
package/src/device/bot.ts
CHANGED
|
@@ -88,6 +88,15 @@ export class Bot extends deviceBase {
|
|
|
88
88
|
On: CharacteristicValue;
|
|
89
89
|
};
|
|
90
90
|
|
|
91
|
+
// OpenAPI
|
|
92
|
+
deviceStatus!: botStatus;
|
|
93
|
+
|
|
94
|
+
//Webhook
|
|
95
|
+
webhookContext!: botWebhookContext;
|
|
96
|
+
|
|
97
|
+
// BLE
|
|
98
|
+
serviceData!: botServiceData;
|
|
99
|
+
|
|
91
100
|
// Config
|
|
92
101
|
botMode!: string;
|
|
93
102
|
allowPush?: boolean;
|
|
@@ -459,12 +468,11 @@ export class Bot extends deviceBase {
|
|
|
459
468
|
}
|
|
460
469
|
|
|
461
470
|
// Retrieve initial values and updateHomekit
|
|
471
|
+
this.debugLog('Retrieve initial values and update Homekit');
|
|
462
472
|
this.refreshStatus();
|
|
463
473
|
|
|
464
|
-
//
|
|
465
|
-
this.
|
|
466
|
-
|
|
467
|
-
// regisiter webhook event handler
|
|
474
|
+
//regisiter webhook event handler
|
|
475
|
+
this.debugLog('Registering Webhook Event Handler');
|
|
468
476
|
this.registerWebhook();
|
|
469
477
|
|
|
470
478
|
// Start an update interval
|
|
@@ -505,23 +513,26 @@ export class Bot extends deviceBase {
|
|
|
505
513
|
/**
|
|
506
514
|
* Parse the device status from the SwitchBotBLE API
|
|
507
515
|
*/
|
|
508
|
-
async BLEparseStatus(
|
|
516
|
+
async BLEparseStatus(): Promise<void> {
|
|
509
517
|
await this.debugLog('BLEparseStatus');
|
|
518
|
+
await this.debugLog(`(power, battery, deviceMode) = BLE:(${this.serviceData.state}, ${this.serviceData.battery}, ${this.serviceData.mode}),`
|
|
519
|
+
+ ` current:(${this.accessory.context.On}, ${this.Battery.BatteryLevel}, ${this.botMode})`);
|
|
520
|
+
|
|
510
521
|
// BLEmode (true if Switch Mode) | (false if Press Mode)
|
|
511
|
-
if (serviceData.mode) {
|
|
522
|
+
if (this.serviceData.mode) {
|
|
512
523
|
this.accessory.context.On = await this.getOn();
|
|
513
524
|
if (this.getOn() === undefined) {
|
|
514
|
-
this.setOn(Boolean(serviceData.state));
|
|
525
|
+
this.setOn(Boolean(this.serviceData.state));
|
|
515
526
|
}
|
|
516
|
-
this.debugLog(`Switch Mode, mode: ${serviceData.mode}, On: ${this.accessory.context.On}`);
|
|
527
|
+
this.debugLog(`Switch Mode, mode: ${this.serviceData.mode}, On: ${this.accessory.context.On}`);
|
|
517
528
|
} else {
|
|
518
529
|
this.setOn(false);
|
|
519
530
|
this.accessory.context.On = await this.getOn();
|
|
520
|
-
this.debugLog(`Press Mode, mode: ${serviceData.mode}, On: ${this.accessory.context.On}`);
|
|
531
|
+
this.debugLog(`Press Mode, mode: ${this.serviceData.mode}, On: ${this.accessory.context.On}`);
|
|
521
532
|
}
|
|
522
533
|
|
|
523
534
|
// BatteryLevel
|
|
524
|
-
this.Battery.BatteryLevel =
|
|
535
|
+
this.Battery.BatteryLevel = this.serviceData.battery;
|
|
525
536
|
await this.debugLog(`BatteryLevel: ${this.Battery.BatteryLevel}`);
|
|
526
537
|
|
|
527
538
|
// StatusLowBattery
|
|
@@ -534,8 +545,12 @@ export class Bot extends deviceBase {
|
|
|
534
545
|
/**
|
|
535
546
|
* Parse the device status from the SwitchBot OpenAPI
|
|
536
547
|
*/
|
|
537
|
-
async openAPIparseStatus(
|
|
548
|
+
async openAPIparseStatus(): Promise<void> {
|
|
538
549
|
await this.debugLog('openAPIparseStatus');
|
|
550
|
+
await this.debugLog(`(power, battery, deviceMode) = API:(${this.deviceStatus.power}, ${this.deviceStatus.battery}, ${this.botMode}),`
|
|
551
|
+
+ ` current:(${this.accessory.context.On}, ${this.Battery.BatteryLevel}, ${this.botMode})`);
|
|
552
|
+
|
|
553
|
+
// On
|
|
539
554
|
if (this.botMode === 'press') {
|
|
540
555
|
this.setOn(false);
|
|
541
556
|
this.accessory.context.On = await this.getOn();
|
|
@@ -548,7 +563,7 @@ export class Bot extends deviceBase {
|
|
|
548
563
|
await this.debugLog(`On: ${this.accessory.context.On}`);
|
|
549
564
|
|
|
550
565
|
// Battery Level
|
|
551
|
-
this.Battery.BatteryLevel =
|
|
566
|
+
this.Battery.BatteryLevel = this.deviceStatus.battery;
|
|
552
567
|
await this.debugLog(`BatteryLevel: ${this.Battery.BatteryLevel}`);
|
|
553
568
|
|
|
554
569
|
// StatusLowBattery
|
|
@@ -557,9 +572,9 @@ export class Bot extends deviceBase {
|
|
|
557
572
|
await this.debugLog(`StatusLowBattery: ${this.Battery.StatusLowBattery}`);
|
|
558
573
|
|
|
559
574
|
// Firmware Version
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
575
|
+
if (this.deviceStatus.version) {
|
|
576
|
+
const version = this.deviceStatus.version.toString();
|
|
577
|
+
this.debugLog(`Firmware Version: ${version.replace(/^V|-.*$/g, '')}`);
|
|
563
578
|
const deviceVersion = version.replace(/^V|-.*$/g, '') ?? '0.0.0';
|
|
564
579
|
this.accessory
|
|
565
580
|
.getService(this.hap.Service.AccessoryInformation)!
|
|
@@ -572,24 +587,28 @@ export class Bot extends deviceBase {
|
|
|
572
587
|
}
|
|
573
588
|
}
|
|
574
589
|
|
|
575
|
-
async parseStatusWebhook(
|
|
590
|
+
async parseStatusWebhook(): Promise<void> {
|
|
576
591
|
await this.debugLog('parseStatusWebhook');
|
|
577
592
|
const getOn = await this.getOn();
|
|
578
|
-
await this.debugLog(`(power, battery, deviceMode) = Webhook:(${
|
|
579
|
-
+ ` current:(${getOn}, ${this.Battery.BatteryLevel}, ${this.botMode})`);
|
|
593
|
+
await this.debugLog(`(power, battery, deviceMode) = Webhook:(${this.webhookContext.power}, ${this.webhookContext.battery},`
|
|
594
|
+
+ ` ${this.webhookContext.deviceMode}), current:(${getOn}, ${this.Battery.BatteryLevel}, ${this.botMode})`);
|
|
595
|
+
|
|
580
596
|
// On
|
|
581
|
-
const setOn =
|
|
597
|
+
const setOn = this.webhookContext.power === 'on' ? true : false;
|
|
582
598
|
await this.setOn(setOn);
|
|
583
599
|
await this.debugLog(`On: ${setOn}`);
|
|
600
|
+
|
|
584
601
|
// BatteryLevel
|
|
585
|
-
this.Battery.BatteryLevel =
|
|
602
|
+
this.Battery.BatteryLevel = this.webhookContext.battery;
|
|
586
603
|
await this.debugLog(`BatteryLevel: ${this.Battery.BatteryLevel}`);
|
|
604
|
+
|
|
587
605
|
// StatusLowBattery
|
|
588
606
|
this.Battery.StatusLowBattery = this.Battery.BatteryLevel < 10
|
|
589
607
|
? this.hap.Characteristic.StatusLowBattery.BATTERY_LEVEL_LOW : this.hap.Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL;
|
|
590
608
|
await this.debugLog(`StatusLowBattery: ${this.Battery.StatusLowBattery}`);
|
|
609
|
+
|
|
591
610
|
// Mode
|
|
592
|
-
this.botMode =
|
|
611
|
+
this.botMode = this.webhookContext.deviceMode;
|
|
593
612
|
await this.debugLog(`Mode: ${this.botMode}`);
|
|
594
613
|
}
|
|
595
614
|
|
|
@@ -622,7 +641,8 @@ export class Bot extends deviceBase {
|
|
|
622
641
|
const serviceData = await this.monitorAdvertisementPackets(switchbot) as botServiceData;
|
|
623
642
|
// Update HomeKit
|
|
624
643
|
if (serviceData.model === SwitchBotBLEModel.Bot && serviceData.modelName === SwitchBotBLEModelName.Bot) {
|
|
625
|
-
|
|
644
|
+
this.serviceData = serviceData;
|
|
645
|
+
await this.BLEparseStatus();
|
|
626
646
|
await this.updateHomeKitCharacteristics();
|
|
627
647
|
} else {
|
|
628
648
|
await this.errorLog(`failed to get serviceData, serviceData: ${serviceData}`);
|
|
@@ -640,7 +660,8 @@ export class Bot extends deviceBase {
|
|
|
640
660
|
await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);;
|
|
641
661
|
if (await this.successfulStatusCodes(statusCode, deviceStatus)) {
|
|
642
662
|
await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
643
|
-
|
|
663
|
+
this.deviceStatus = deviceStatus.body;
|
|
664
|
+
await this.openAPIparseStatus();
|
|
644
665
|
await this.updateHomeKitCharacteristics();
|
|
645
666
|
} else {
|
|
646
667
|
await this.debugWarnLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
@@ -655,10 +676,11 @@ export class Bot extends deviceBase {
|
|
|
655
676
|
async registerWebhook() {
|
|
656
677
|
if (this.device.webhook) {
|
|
657
678
|
await this.debugLog('is listening webhook.');
|
|
658
|
-
this.
|
|
679
|
+
this.webhookEventHandler[this.device.deviceId] = async (context: botWebhookContext) => {
|
|
659
680
|
try {
|
|
660
681
|
await this.debugLog(`received Webhook: ${JSON.stringify(context)}`);
|
|
661
|
-
|
|
682
|
+
this.webhookContext = context;
|
|
683
|
+
await this.parseStatusWebhook();
|
|
662
684
|
await this.updateHomeKitCharacteristics();
|
|
663
685
|
} catch (e: any) {
|
|
664
686
|
await this.errorLog(`failed to handle webhook. Received: ${JSON.stringify(context)} Error: ${e}`);
|