@switchbot/homebridge-switchbot 3.5.1-beta.11 → 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.
Files changed (153) hide show
  1. package/config.schema.json +19 -3
  2. package/dist/device/blindtilt.d.ts +6 -4
  3. package/dist/device/blindtilt.d.ts.map +1 -1
  4. package/dist/device/blindtilt.js +57 -45
  5. package/dist/device/blindtilt.js.map +1 -1
  6. package/dist/device/bot.d.ts +6 -3
  7. package/dist/device/bot.d.ts.map +1 -1
  8. package/dist/device/bot.js +38 -24
  9. package/dist/device/bot.js.map +1 -1
  10. package/dist/device/ceilinglight.d.ts +6 -3
  11. package/dist/device/ceilinglight.d.ts.map +1 -1
  12. package/dist/device/ceilinglight.js +44 -27
  13. package/dist/device/ceilinglight.js.map +1 -1
  14. package/dist/device/colorbulb.d.ts +6 -3
  15. package/dist/device/colorbulb.d.ts.map +1 -1
  16. package/dist/device/colorbulb.js +47 -32
  17. package/dist/device/colorbulb.js.map +1 -1
  18. package/dist/device/contact.d.ts +6 -3
  19. package/dist/device/contact.d.ts.map +1 -1
  20. package/dist/device/contact.js +40 -28
  21. package/dist/device/contact.js.map +1 -1
  22. package/dist/device/curtain.d.ts +6 -4
  23. package/dist/device/curtain.d.ts.map +1 -1
  24. package/dist/device/curtain.js +35 -22
  25. package/dist/device/curtain.js.map +1 -1
  26. package/dist/device/device.d.ts +13 -2
  27. package/dist/device/device.d.ts.map +1 -1
  28. package/dist/device/device.js +223 -108
  29. package/dist/device/device.js.map +1 -1
  30. package/dist/device/fan.d.ts +6 -3
  31. package/dist/device/fan.d.ts.map +1 -1
  32. package/dist/device/fan.js +48 -29
  33. package/dist/device/fan.js.map +1 -1
  34. package/dist/device/hub.d.ts +6 -3
  35. package/dist/device/hub.d.ts.map +1 -1
  36. package/dist/device/hub.js +43 -26
  37. package/dist/device/hub.js.map +1 -1
  38. package/dist/device/humidifier.d.ts +6 -3
  39. package/dist/device/humidifier.d.ts.map +1 -1
  40. package/dist/device/humidifier.js +43 -26
  41. package/dist/device/humidifier.js.map +1 -1
  42. package/dist/device/iosensor.d.ts +6 -3
  43. package/dist/device/iosensor.d.ts.map +1 -1
  44. package/dist/device/iosensor.js +39 -24
  45. package/dist/device/iosensor.js.map +1 -1
  46. package/dist/device/lightstrip.d.ts +6 -3
  47. package/dist/device/lightstrip.d.ts.map +1 -1
  48. package/dist/device/lightstrip.js +43 -27
  49. package/dist/device/lightstrip.js.map +1 -1
  50. package/dist/device/lock.d.ts +6 -3
  51. package/dist/device/lock.d.ts.map +1 -1
  52. package/dist/device/lock.js +33 -22
  53. package/dist/device/lock.js.map +1 -1
  54. package/dist/device/meter.d.ts +6 -3
  55. package/dist/device/meter.d.ts.map +1 -1
  56. package/dist/device/meter.js +38 -24
  57. package/dist/device/meter.js.map +1 -1
  58. package/dist/device/meterplus.d.ts +6 -3
  59. package/dist/device/meterplus.d.ts.map +1 -1
  60. package/dist/device/meterplus.js +37 -24
  61. package/dist/device/meterplus.js.map +1 -1
  62. package/dist/device/motion.d.ts +6 -3
  63. package/dist/device/motion.d.ts.map +1 -1
  64. package/dist/device/motion.js +33 -22
  65. package/dist/device/motion.js.map +1 -1
  66. package/dist/device/plug.d.ts +6 -3
  67. package/dist/device/plug.d.ts.map +1 -1
  68. package/dist/device/plug.js +27 -16
  69. package/dist/device/plug.js.map +1 -1
  70. package/dist/device/robotvacuumcleaner.d.ts +6 -3
  71. package/dist/device/robotvacuumcleaner.d.ts.map +1 -1
  72. package/dist/device/robotvacuumcleaner.js +34 -21
  73. package/dist/device/robotvacuumcleaner.js.map +1 -1
  74. package/dist/device/waterdetector.d.ts +6 -3
  75. package/dist/device/waterdetector.d.ts.map +1 -1
  76. package/dist/device/waterdetector.js +38 -23
  77. package/dist/device/waterdetector.js.map +1 -1
  78. package/dist/irdevice/airconditioner.d.ts +1 -3
  79. package/dist/irdevice/airconditioner.d.ts.map +1 -1
  80. package/dist/irdevice/airconditioner.js +32 -138
  81. package/dist/irdevice/airconditioner.js.map +1 -1
  82. package/dist/irdevice/airpurifier.d.ts +0 -1
  83. package/dist/irdevice/airpurifier.d.ts.map +1 -1
  84. package/dist/irdevice/airpurifier.js +13 -44
  85. package/dist/irdevice/airpurifier.js.map +1 -1
  86. package/dist/irdevice/camera.d.ts.map +1 -1
  87. package/dist/irdevice/camera.js +3 -10
  88. package/dist/irdevice/camera.js.map +1 -1
  89. package/dist/irdevice/fan.d.ts.map +1 -1
  90. package/dist/irdevice/fan.js +7 -25
  91. package/dist/irdevice/fan.js.map +1 -1
  92. package/dist/irdevice/irdevice.d.ts +1 -1
  93. package/dist/irdevice/irdevice.js +5 -5
  94. package/dist/irdevice/irdevice.js.map +1 -1
  95. package/dist/irdevice/light.d.ts.map +1 -1
  96. package/dist/irdevice/light.js +9 -27
  97. package/dist/irdevice/light.js.map +1 -1
  98. package/dist/irdevice/other.js +1 -1
  99. package/dist/irdevice/other.js.map +1 -1
  100. package/dist/irdevice/tv.d.ts.map +1 -1
  101. package/dist/irdevice/tv.js +3 -18
  102. package/dist/irdevice/tv.js.map +1 -1
  103. package/dist/irdevice/vacuumcleaner.d.ts.map +1 -1
  104. package/dist/irdevice/vacuumcleaner.js +2 -9
  105. package/dist/irdevice/vacuumcleaner.js.map +1 -1
  106. package/dist/irdevice/waterheater.d.ts.map +1 -1
  107. package/dist/irdevice/waterheater.js +2 -9
  108. package/dist/irdevice/waterheater.js.map +1 -1
  109. package/dist/platform.d.ts +0 -11
  110. package/dist/platform.d.ts.map +1 -1
  111. package/dist/platform.js +11 -184
  112. package/dist/platform.js.map +1 -1
  113. package/dist/settings.d.ts +9 -8
  114. package/dist/settings.d.ts.map +1 -1
  115. package/dist/settings.js.map +1 -1
  116. package/dist/types/bledevicestatus.d.ts +2 -1
  117. package/dist/types/bledevicestatus.d.ts.map +1 -1
  118. package/dist/types/devicestatus.d.ts +1 -1
  119. package/dist/types/devicestatus.d.ts.map +1 -1
  120. package/package.json +9 -9
  121. package/src/device/blindtilt.ts +60 -47
  122. package/src/device/bot.ts +47 -25
  123. package/src/device/ceilinglight.ts +53 -27
  124. package/src/device/colorbulb.ts +50 -39
  125. package/src/device/contact.ts +43 -28
  126. package/src/device/curtain.ts +45 -23
  127. package/src/device/device.ts +226 -96
  128. package/src/device/fan.ts +61 -30
  129. package/src/device/hub.ts +55 -29
  130. package/src/device/humidifier.ts +55 -31
  131. package/src/device/iosensor.ts +45 -27
  132. package/src/device/lightstrip.ts +48 -28
  133. package/src/device/lock.ts +49 -23
  134. package/src/device/meter.ts +54 -26
  135. package/src/device/meterplus.ts +50 -26
  136. package/src/device/motion.ts +45 -24
  137. package/src/device/plug.ts +34 -17
  138. package/src/device/robotvacuumcleaner.ts +49 -23
  139. package/src/device/waterdetector.ts +56 -25
  140. package/src/irdevice/airconditioner.ts +41 -125
  141. package/src/irdevice/airpurifier.ts +18 -40
  142. package/src/irdevice/camera.ts +4 -9
  143. package/src/irdevice/fan.ts +10 -22
  144. package/src/irdevice/irdevice.ts +5 -5
  145. package/src/irdevice/light.ts +10 -24
  146. package/src/irdevice/other.ts +1 -1
  147. package/src/irdevice/tv.ts +5 -16
  148. package/src/irdevice/vacuumcleaner.ts +3 -8
  149. package/src/irdevice/waterheater.ts +3 -8
  150. package/src/platform.ts +11 -184
  151. package/src/settings.ts +10 -8
  152. package/src/types/bledevicestatus.ts +4 -2
  153. 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":"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"}
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: boolean;
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.11",
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.3",
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.2.1",
92
+ "@stylistic/eslint-plugin": "^2.3.0",
93
93
  "@types/eslint__js": "^8.42.3",
94
- "@types/node": "^20.14.5",
94
+ "@types/node": "^20.14.9",
95
95
  "eslint": "^9.5.0",
96
96
  "globals": "^15.6.0",
97
- "homebridge": "^1.8.2",
98
- "homebridge-config-ui-x": "4.56.2",
99
- "nodemon": "^3.1.3",
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.4.5",
104
- "typescript-eslint": "^8.0.0-alpha.30"
103
+ "typescript": "^5.5.2",
104
+ "typescript-eslint": "^8.0.0-alpha.33"
105
105
  }
106
106
  }
@@ -42,9 +42,16 @@ export class BlindTilt extends deviceBase {
42
42
  CurrentAmbientLightLevel?: CharacteristicValue;
43
43
  };
44
44
 
45
- // OpenAPI Others
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(serviceData: blindTiltServiceData): Promise<void> {
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 = Number(serviceData.battery);
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(deviceStatus: blindTiltStatus): Promise<void> {
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 = Number(deviceStatus.battery);
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
- if (deviceStatus.version) {
319
- let deviceVersion: string;
320
- if (version?.includes('.') === false) {
321
- const replace = version?.replace(/^V|-.*$/g, '');
322
- const match = replace?.match(/.{1,1}/g);
323
- const blindTiltVersion = match?.join('.') ?? '0.0.0';
324
- deviceVersion = blindTiltVersion;
325
- } else {
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(context: blindTiltWebhookContext): Promise<void> {
349
+ async parseStatusWebhook(): Promise<void> {
340
350
  await this.debugLog('parseStatusWebhook');
341
- await this.debugLog(`(slidePosition, battery, version) = Webhook:(${context.direction}, ${context.slidePosition}, ${context.battery},`
342
- + `${context.version}, current:(${this.WindowCovering.CurrentHorizontalTiltAngle}, ${this.WindowCovering.CurrentPosition},`
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(context.direction, context.slidePosition);
355
+ await this.getCurrentPosttionDirection(this.webhookContext.direction, this.webhookContext.slidePosition);
346
356
  // BatteryLevel
347
- this.Battery.BatteryLevel = context.battery;
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 = context.version.replace(/^V|-.*$/g, '') ?? '0.0.0';
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 unknown as blindTiltServiceData;
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
- await this.BLEparseStatus(serviceData);
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
- await this.openAPIparseStatus(deviceStatus.body);
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.platform.webhookEventHandler[this.device.deviceId] = async (context: blindTiltWebhookContext) => {
439
+ this.webhookEventHandler[this.device.deviceId] = async (context: blindTiltWebhookContext) => {
428
440
  try {
429
441
  await this.debugLog(`received Webhook: ${JSON.stringify(context)}`);
430
- await this.parseStatusWebhook(context);
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
- // Retrieve initial values and updateHomekit
465
- this.updateHomeKitCharacteristics();
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(serviceData: botServiceData): Promise<void> {
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 = Number(serviceData.battery);
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(deviceStatus: botStatus): Promise<void> {
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 = Number(deviceStatus.battery);
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
- const version = deviceStatus.version.toString();
561
- this.debugLog(`Firmware Version: ${version.replace(/^V|-.*$/g, '')}`);
562
- if (deviceStatus.version) {
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(context: botWebhookContext): Promise<void> {
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:(${context.power}, ${context.battery}, ${context.deviceMode}),`
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 = context.power === 'on' ? true : false;
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 = context.battery;
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 = context.deviceMode;
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
- await this.BLEparseStatus(serviceData);
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
- await this.openAPIparseStatus(deviceStatus.body);
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.platform.webhookEventHandler[this.device.deviceId] = async (context: botWebhookContext) => {
679
+ this.webhookEventHandler[this.device.deviceId] = async (context: botWebhookContext) => {
659
680
  try {
660
681
  await this.debugLog(`received Webhook: ${JSON.stringify(context)}`);
661
- await this.parseStatusWebhook(context);
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}`);