@switchbot/homebridge-switchbot 4.1.4-beta.0 → 4.1.4-beta.2

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 (75) hide show
  1. package/dist/device/blindtilt.js +2 -2
  2. package/dist/device/blindtilt.js.map +1 -1
  3. package/dist/device/bot.js +3 -3
  4. package/dist/device/bot.js.map +1 -1
  5. package/dist/device/ceilinglight.js +1 -1
  6. package/dist/device/ceilinglight.js.map +1 -1
  7. package/dist/device/colorbulb.js +4 -4
  8. package/dist/device/colorbulb.js.map +1 -1
  9. package/dist/device/contact.js +1 -1
  10. package/dist/device/contact.js.map +1 -1
  11. package/dist/device/curtain.js +4 -4
  12. package/dist/device/curtain.js.map +1 -1
  13. package/dist/device/device.js +4 -4
  14. package/dist/device/device.js.map +1 -1
  15. package/dist/device/fan.js +1 -1
  16. package/dist/device/fan.js.map +1 -1
  17. package/dist/device/humidifier.js +1 -1
  18. package/dist/device/humidifier.js.map +1 -1
  19. package/dist/device/iosensor.js +1 -1
  20. package/dist/device/iosensor.js.map +1 -1
  21. package/dist/device/lightstrip.js +3 -3
  22. package/dist/device/lightstrip.js.map +1 -1
  23. package/dist/device/lock.js +2 -2
  24. package/dist/device/lock.js.map +1 -1
  25. package/dist/device/meter.js +1 -1
  26. package/dist/device/meter.js.map +1 -1
  27. package/dist/device/meterplus.js +1 -1
  28. package/dist/device/meterplus.js.map +1 -1
  29. package/dist/device/meterpro.d.ts +5 -4
  30. package/dist/device/meterpro.d.ts.map +1 -1
  31. package/dist/device/meterpro.js +80 -12
  32. package/dist/device/meterpro.js.map +1 -1
  33. package/dist/device/motion.js +1 -1
  34. package/dist/device/motion.js.map +1 -1
  35. package/dist/device/plug.js +1 -1
  36. package/dist/device/plug.js.map +1 -1
  37. package/dist/device/robotvacuumcleaner.js +2 -2
  38. package/dist/device/robotvacuumcleaner.js.map +1 -1
  39. package/dist/device/waterdetector.js +1 -1
  40. package/dist/device/waterdetector.js.map +1 -1
  41. package/dist/irdevice/airconditioner.js +3 -3
  42. package/dist/irdevice/airconditioner.js.map +1 -1
  43. package/dist/irdevice/airpurifier.js +2 -2
  44. package/dist/irdevice/airpurifier.js.map +1 -1
  45. package/dist/platform.d.ts.map +1 -1
  46. package/dist/platform.js +1 -0
  47. package/dist/platform.js.map +1 -1
  48. package/dist/settings.d.ts +9 -2
  49. package/dist/settings.d.ts.map +1 -1
  50. package/dist/settings.js +1 -0
  51. package/dist/settings.js.map +1 -1
  52. package/package.json +5 -5
  53. package/src/device/blindtilt.ts +3 -3
  54. package/src/device/bot.ts +5 -5
  55. package/src/device/ceilinglight.ts +3 -3
  56. package/src/device/colorbulb.ts +7 -7
  57. package/src/device/contact.ts +1 -1
  58. package/src/device/curtain.ts +5 -5
  59. package/src/device/device.ts +4 -4
  60. package/src/device/fan.ts +2 -2
  61. package/src/device/humidifier.ts +2 -2
  62. package/src/device/iosensor.ts +1 -1
  63. package/src/device/lightstrip.ts +4 -4
  64. package/src/device/lock.ts +2 -2
  65. package/src/device/meter.ts +1 -1
  66. package/src/device/meterplus.ts +1 -1
  67. package/src/device/meterpro.ts +109 -33
  68. package/src/device/motion.ts +1 -1
  69. package/src/device/plug.ts +2 -2
  70. package/src/device/robotvacuumcleaner.ts +4 -4
  71. package/src/device/waterdetector.ts +1 -1
  72. package/src/irdevice/airconditioner.ts +3 -3
  73. package/src/irdevice/airpurifier.ts +2 -2
  74. package/src/platform.ts +1 -0
  75. package/src/settings.ts +10 -2
@@ -43,7 +43,7 @@ export interface options {
43
43
  pushRate?: number;
44
44
  logging?: string;
45
45
  }
46
- export type devicesConfig = botConfig | meterConfig | indoorOutdoorSensorConfig | humidifierConfig | curtainConfig | blindTiltConfig | contactConfig | motionConfig | waterDetectorConfig | plugConfig | colorBulbConfig | stripLightConfig | ceilingLightConfig | lockConfig | hubConfig;
46
+ export type devicesConfig = botConfig | meterConfig | meterProConfig | indoorOutdoorSensorConfig | humidifierConfig | curtainConfig | blindTiltConfig | contactConfig | motionConfig | waterDetectorConfig | plugConfig | colorBulbConfig | stripLightConfig | ceilingLightConfig | lockConfig | hubConfig;
47
47
  export interface BaseDeviceConfig extends device {
48
48
  bleMac?: string;
49
49
  model: SwitchBotModel;
@@ -84,11 +84,18 @@ export interface botConfig extends BaseDeviceConfig {
84
84
  multiPress?: boolean;
85
85
  }
86
86
  export interface meterConfig extends BaseDeviceConfig {
87
- configDeviceType: 'Meter' | 'MeterPlus' | 'Meter Pro' | 'Meter Pro CO2';
87
+ configDeviceType: 'Meter' | 'MeterPlus';
88
88
  hide_temperature?: boolean;
89
89
  convertUnitTo?: string;
90
90
  hide_humidity?: boolean;
91
91
  }
92
+ export interface meterProConfig extends BaseDeviceConfig {
93
+ configDeviceType: 'Meter Pro' | 'MeterPro(CO2)';
94
+ hide_temperature?: boolean;
95
+ convertUnitTo?: string;
96
+ hide_humidity?: boolean;
97
+ hide_co2?: boolean;
98
+ }
92
99
  export interface indoorOutdoorSensorConfig extends BaseDeviceConfig {
93
100
  configDeviceType: 'WoIOSensor';
94
101
  hide_temperature?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
package/dist/settings.js CHANGED
@@ -26,4 +26,5 @@ export const PLUGIN_NAME = '@switchbot/homebridge-switchbot';
26
26
  ;
27
27
  ;
28
28
  ;
29
+ ;
29
30
  //# sourceMappingURL=settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAA;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,iCAAiC,CAAA;AAiC3D,CAAC;AA2CD,CAAC;AAOD,CAAC;AAOD,CAAC;AAOD,CAAC;AAcD,CAAC;AAeD,CAAC;AAQD,CAAC;AAOD,CAAC;AAMD,CAAC;AAID,CAAC;AAMD,CAAC;AAMD,CAAC;AAMD,CAAC;AAMD,CAAC;AAUD,CAAC;AA6BD,CAAC;AAKD,CAAC;AAYD,CAAC;AAKD,CAAC"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAA;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,iCAAiC,CAAA;AAiC3D,CAAC;AA2CD,CAAC;AAOD,CAAC;AAQD,CAAC;AAOD,CAAC;AAOD,CAAC;AAcD,CAAC;AAeD,CAAC;AAQD,CAAC;AAOD,CAAC;AAMD,CAAC;AAID,CAAC;AAMD,CAAC;AAMD,CAAC;AAMD,CAAC;AAMD,CAAC;AAUD,CAAC;AA6BD,CAAC;AAKD,CAAC;AAYD,CAAC;AAKD,CAAC"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@switchbot/homebridge-switchbot",
3
3
  "displayName": "SwitchBot",
4
4
  "type": "module",
5
- "version": "4.1.4-beta.0",
5
+ "version": "4.1.4-beta.2",
6
6
  "description": "The SwitchBot plugin allows you to access your SwitchBot device(s) from HomeKit.",
7
7
  "author": "SwitchBot <support@wondertechlabs.com> (https://github.com/SwitchBot)",
8
8
  "contributors": [
@@ -80,11 +80,11 @@
80
80
  "async-mqtt": "^2.6.3",
81
81
  "fakegato-history": "^0.6.5",
82
82
  "homebridge-lib": "^7.1.0",
83
- "node-switchbot": "^3.3.0",
83
+ "node-switchbot": "^3.3.1-beta.1",
84
84
  "rxjs": "^7.8.1"
85
85
  },
86
86
  "devDependencies": {
87
- "@antfu/eslint-config": "^3.8.0",
87
+ "@antfu/eslint-config": "^3.9.1",
88
88
  "@types/aes-js": "^3.1.4",
89
89
  "@types/debug": "^4.1.12",
90
90
  "@types/fs-extra": "^11.0.4",
@@ -92,7 +92,7 @@
92
92
  "@types/node": "^22.9.0",
93
93
  "@types/semver": "^7.5.8",
94
94
  "@types/source-map-support": "^0.5.10",
95
- "@vitest/coverage-v8": "^2.1.4",
95
+ "@vitest/coverage-v8": "^2.1.5",
96
96
  "eslint": "^9.14.0",
97
97
  "eslint-plugin-format": "^0.1.2",
98
98
  "homebridge": "^1.8.5",
@@ -102,7 +102,7 @@
102
102
  "ts-node": "^10.9.2",
103
103
  "typedoc": "^0.26.11",
104
104
  "typescript": "^5.6.3",
105
- "vitest": "^2.1.4"
105
+ "vitest": "^2.1.5"
106
106
  },
107
107
  "directories": {
108
108
  "doc": "docs"
@@ -351,7 +351,7 @@ export class BlindTilt extends deviceBase {
351
351
  this.debugLog(`LightLevel: ${this.serviceData.lightLevel}, CurrentAmbientLightLevel: ${this.LightSensor!.CurrentAmbientLightLevel}`)
352
352
  }
353
353
  // Battery Info
354
- if (this.serviceData.battery) {
354
+ if ('battery' in this.serviceData) {
355
355
  // BatteryLevel
356
356
  this.Battery.BatteryLevel = this.serviceData.battery
357
357
  this.debugLog(`BatteryLevel: ${this.Battery.BatteryLevel}`)
@@ -577,7 +577,7 @@ export class BlindTilt extends deviceBase {
577
577
  switchBotBLE
578
578
  .discover({ model: this.device.bleModel, quick: true, id: this.device.bleMac })
579
579
  .then(async (device_list: SwitchbotDevice[]) => {
580
- const deviceList = device_list as unknown as WoBlindTilt[]
580
+ const deviceList = device_list as WoBlindTilt[]
581
581
  return await this.retryBLE({
582
582
  max: this.maxRetryBLE(),
583
583
  fn: async () => {
@@ -586,7 +586,7 @@ export class BlindTilt extends deviceBase {
586
586
  })
587
587
  })
588
588
  .then(async () => {
589
- this.successLog(`TargetPostion: ${this.WindowCovering.TargetPosition} sent over SwitchBot BLE, sent successfully`)
589
+ this.successLog(`TargetPostion: ${this.WindowCovering.TargetPosition} sent over SwitchBot BLE, sent successfully`)
590
590
  await this.updateHomeKitCharacteristics()
591
591
  })
592
592
  .catch(async (e: any) => {
package/src/device/bot.ts CHANGED
@@ -282,7 +282,7 @@ export class Bot extends deviceBase {
282
282
  this.debugLog(`${mode} Mode, On: ${this.On}`)
283
283
  this.accessory.context.On = this.On
284
284
  // Battery Info
285
- if (this.serviceData.battery) {
285
+ if ('battery' in this.serviceData) {
286
286
  // BatteryLevel
287
287
  this.Battery.BatteryLevel = this.serviceData.battery
288
288
  this.debugLog(`BatteryLevel: ${this.Battery.BatteryLevel}`)
@@ -501,12 +501,12 @@ export class Bot extends deviceBase {
501
501
  switchBotBLE
502
502
  .discover({ model: this.device.bleModel, quick: true, id: this.device.bleMac })
503
503
  .then(async (device_list: SwitchbotDevice[]) => {
504
- const deviceList = device_list as unknown as WoHand[]
504
+ const deviceList = device_list as WoHand[]
505
505
  this.infoLog(`On: ${this.On}`)
506
506
  return await deviceList[0].press()
507
507
  })
508
508
  .then(async () => {
509
- this.successLog(`On: ${this.On} sent over SwitchBot BLE, sent successfully`)
509
+ this.successLog(`On: ${this.On} sent over SwitchBot BLE, sent successfully`)
510
510
  await this.updateHomeKitCharacteristics()
511
511
  setTimeout(async () => {
512
512
  this.On = false
@@ -523,7 +523,7 @@ export class Bot extends deviceBase {
523
523
  switchBotBLE
524
524
  .discover({ model: this.device.bleModel, quick: true, id: this.device.bleMac })
525
525
  .then(async (device_list: SwitchbotDevice[]) => {
526
- const deviceList = device_list as unknown as WoHand[]
526
+ const deviceList = device_list as WoHand[]
527
527
  this.infoLog(`On: ${this.On}`)
528
528
  this.warnLog(`device_list: ${JSON.stringify(device_list)}`)
529
529
  return await this.retryBLE({
@@ -542,7 +542,7 @@ export class Bot extends deviceBase {
542
542
  })
543
543
  })
544
544
  .then(async () => {
545
- this.successLog(`On: ${this.On} sent over SwitchBot BLE, sent successfully`)
545
+ this.successLog(`On: ${this.On} sent over SwitchBot BLE, sent successfully`)
546
546
  await this.updateHomeKitCharacteristics()
547
547
  })
548
548
  .catch(async (e: any) => {
@@ -289,7 +289,7 @@ export class CeilingLight extends deviceBase {
289
289
  } else {
290
290
  (async () => {
291
291
  // Start to monitor advertisement packets
292
- const serviceData = await this.monitorAdvertisementPackets(switchBotBLE) as unknown as ceilingLightServiceData
292
+ const serviceData = await this.monitorAdvertisementPackets(switchBotBLE) as ceilingLightServiceData
293
293
  // Update HomeKit
294
294
  if ((serviceData.model === SwitchBotBLEModel.CeilingLight || SwitchBotBLEModel.CeilingLightPro) && (serviceData.modelName === SwitchBotBLEModelName.CeilingLight || SwitchBotBLEModelName.CeilingLightPro)) {
295
295
  this.serviceData = serviceData
@@ -426,7 +426,7 @@ export class CeilingLight extends deviceBase {
426
426
  switchBotBLE
427
427
  .discover({ model: this.device.bleModel, id: this.device.bleMac })
428
428
  .then(async (device_list: SwitchbotDevice[]) => {
429
- const deviceList = device_list[0] as unknown as WoCeilingLight
429
+ const deviceList = device_list[0] as WoCeilingLight
430
430
  this.infoLog(`On: ${this.LightBulb.On}`)
431
431
  return await this.retryBLE({
432
432
  max: this.maxRetryBLE(),
@@ -440,7 +440,7 @@ export class CeilingLight extends deviceBase {
440
440
  })
441
441
  })
442
442
  .then(async () => {
443
- this.successLog(`On: ${this.LightBulb.On} sent over SwitchBot BLE, sent successfully`)
443
+ this.successLog(`On: ${this.LightBulb.On} sent over SwitchBot BLE, sent successfully`)
444
444
  this.LightBulb.On = false
445
445
  })
446
446
  .catch(async (e: any) => {
@@ -474,7 +474,7 @@ export class ColorBulb extends deviceBase {
474
474
  })
475
475
  })
476
476
  .then(async () => {
477
- this.successLog(`On: ${this.LightBulb.On} sent over SwitchBot BLE, sent successfully`)
477
+ this.successLog(`On: ${this.LightBulb.On} sent over SwitchBot BLE, sent successfully`)
478
478
  await this.updateHomeKitCharacteristics()
479
479
  })
480
480
  .catch(async (e: any) => {
@@ -506,12 +506,12 @@ export class ColorBulb extends deviceBase {
506
506
  switchBotBLE
507
507
  .discover({ model: this.device.bleModel, id: this.device.bleMac })
508
508
  .then(async (device_list: SwitchbotDevice[]) => {
509
- const deviceList = device_list as unknown as WoBulb[]
509
+ const deviceList = device_list as WoBulb[]
510
510
  this.infoLog(`Target Brightness: ${this.LightBulb.Brightness}`)
511
511
  return await deviceList[0].setBrightness(Number(this.LightBulb.Brightness))
512
512
  })
513
513
  .then(async () => {
514
- this.successLog(`Brightness: ${this.LightBulb.Brightness} sent over SwitchBot BLE, sent successfully`)
514
+ this.successLog(`Brightness: ${this.LightBulb.Brightness} sent over SwitchBot BLE, sent successfully`)
515
515
  await this.updateHomeKitCharacteristics()
516
516
  })
517
517
  .catch(async (e: any) => {
@@ -545,12 +545,12 @@ export class ColorBulb extends deviceBase {
545
545
  switchBotBLE
546
546
  .discover({ model: this.device.bleModel, id: this.device.bleMac })
547
547
  .then(async (device_list: SwitchbotDevice[]) => {
548
- const deviceList = device_list as unknown as WoBulb[]
548
+ const deviceList = device_list as WoBulb[]
549
549
  this.infoLog(`ColorTemperature: ${this.LightBulb.ColorTemperature}`)
550
550
  return await deviceList[0].setColorTemperature(kelvin)
551
551
  })
552
552
  .then(async () => {
553
- this.successLog(`ColorTemperature: ${this.LightBulb.ColorTemperature} sent over SwitchBot BLE, sent successfully`)
553
+ this.successLog(`ColorTemperature: ${this.LightBulb.ColorTemperature} sent over SwitchBot BLE, sent successfully`)
554
554
  await this.updateHomeKitCharacteristics()
555
555
  })
556
556
  .catch(async (e: any) => {
@@ -585,12 +585,12 @@ export class ColorBulb extends deviceBase {
585
585
  switchBotBLE
586
586
  .discover({ model: this.device.bleModel, id: this.device.bleMac })
587
587
  .then(async (device_list: SwitchbotDevice[]) => {
588
- const deviceList = device_list as unknown as WoBulb[]
588
+ const deviceList = device_list as WoBulb[]
589
589
  this.infoLog(`RGB: ${(this.LightBulb.Brightness, red, green, blue)}`)
590
590
  return await deviceList[0].setRGB(Number(this.LightBulb.Brightness), red, green, blue)
591
591
  })
592
592
  .then(async () => {
593
- this.successLog(`RGB: ${(this.LightBulb.Brightness, red, green, blue)} sent over SwitchBot BLE, sent successfully`)
593
+ this.successLog(`RGB: ${(this.LightBulb.Brightness, red, green, blue)} sent over SwitchBot BLE, sent successfully`)
594
594
  await this.updateHomeKitCharacteristics()
595
595
  })
596
596
  .catch(async (e: any) => {
@@ -205,7 +205,7 @@ export class Contact extends deviceBase {
205
205
  this.debugLog(`LightLevel: ${this.serviceData.lightLevel}, CurrentAmbientLightLevel: ${this.LightSensor.CurrentAmbientLightLevel}`)
206
206
  }
207
207
  // Battery Info
208
- if (this.serviceData.battery) {
208
+ if ('battery' in this.serviceData) {
209
209
  // BatteryLevel
210
210
  this.Battery.BatteryLevel = this.serviceData.battery
211
211
  this.debugLog(`BatteryLevel: ${this.Battery.BatteryLevel}`)
@@ -379,12 +379,12 @@ export class Curtain extends deviceBase {
379
379
  this.debugLog('BLEparseStatus')
380
380
  this.debugLog(`(position, battery) = BLE:(${this.serviceData.position}, ${this.serviceData.battery}), current:(${this.WindowCovering.CurrentPosition}, ${this.Battery.BatteryLevel})`)
381
381
  // CurrentPosition
382
- if (this.serviceData.position) {
382
+ if ('position' in this.serviceData) {
383
383
  this.WindowCovering.CurrentPosition = 100 - this.serviceData.position
384
384
  await this.getCurrentPostion()
385
385
  }
386
386
  // CurrentAmbientLightLevel
387
- if (!(this.device as curtainConfig).hide_lightsensor && this.LightSensor?.Service && this.serviceData.lightLevel) {
387
+ if (!(this.device as curtainConfig).hide_lightsensor && this.LightSensor?.Service && 'lightLevel' in this.serviceData) {
388
388
  const set_minLux = (this.device as curtainConfig).set_minLux ?? 1
389
389
  const set_maxLux = (this.device as curtainConfig).set_maxLux ?? 6001
390
390
  const lightLevel = this.serviceData.lightLevel
@@ -392,7 +392,7 @@ export class Curtain extends deviceBase {
392
392
  this.debugLog(`LightLevel: ${this.serviceData.lightLevel}, CurrentAmbientLightLevel: ${this.LightSensor.CurrentAmbientLightLevel}`)
393
393
  }
394
394
  // Battery Info
395
- if (this.serviceData.battery) {
395
+ if ('battery' in this.serviceData) {
396
396
  // BatteryLevel
397
397
  this.Battery.BatteryLevel = this.serviceData.battery
398
398
  this.debugLog(`BatteryLevel: ${this.Battery.BatteryLevel}`)
@@ -608,7 +608,7 @@ export class Curtain extends deviceBase {
608
608
  switchBotBLE
609
609
  .discover({ model: this.device.bleModel, quick: true, id: this.device.bleMac })
610
610
  .then(async (device_list: SwitchbotDevice[]) => {
611
- const deviceList = device_list as unknown as WoCurtain[]
611
+ const deviceList = device_list as WoCurtain[]
612
612
  return await this.retryBLE({
613
613
  max: this.maxRetryBLE(),
614
614
  fn: async () => {
@@ -617,7 +617,7 @@ export class Curtain extends deviceBase {
617
617
  })
618
618
  })
619
619
  .then(async () => {
620
- this.successLog(`TargetPostion: ${this.WindowCovering.TargetPosition} sent over SwitchBot BLE, sent successfully`)
620
+ this.successLog(`TargetPostion: ${this.WindowCovering.TargetPosition} sent over SwitchBot BLE, sent successfully`)
621
621
  await this.updateHomeKitCharacteristics()
622
622
  })
623
623
  .catch(async (e: any) => {
@@ -458,11 +458,11 @@ export abstract class deviceBase {
458
458
  bleModelName: SwitchBotBLEModelName.MeterPro,
459
459
  bleModelFriendlyName: SwitchBotBLEModelFriendlyName.MeterPro,
460
460
  },
461
- 'Meter Pro CO2': {
461
+ 'MeterPro(CO2)': {
462
462
  model: SwitchBotModel.MeterProCO2,
463
- bleModel: SwitchBotBLEModel.MeterPro,
464
- bleModelName: SwitchBotBLEModelName.MeterPro,
465
- bleModelFriendlyName: SwitchBotBLEModelFriendlyName.MeterPro,
463
+ bleModel: SwitchBotBLEModel.MeterProCO2,
464
+ bleModelName: SwitchBotBLEModelName.MeterProCO2,
465
+ bleModelFriendlyName: SwitchBotBLEModelFriendlyName.MeterProCO2,
466
466
  },
467
467
  'WoIOSensor': {
468
468
  model: SwitchBotModel.OutdoorMeter,
package/src/device/fan.ts CHANGED
@@ -460,7 +460,7 @@ export class Fan extends deviceBase {
460
460
  switchBotBLE
461
461
  .discover({ model: this.device.bleModel, id: this.device.bleMac })
462
462
  .then(async (device_list: SwitchbotDevice[]) => {
463
- const deviceList = device_list as unknown as SwitchbotDevice[]
463
+ const deviceList = device_list as SwitchbotDevice[]
464
464
  return await this.retryBLE({
465
465
  max: this.maxRetryBLE(),
466
466
  fn: async () => {
@@ -473,7 +473,7 @@ export class Fan extends deviceBase {
473
473
  })
474
474
  })
475
475
  .then(async () => {
476
- this.successLog(`Active: ${this.Fan.Active} sent over SwitchBot BLE, sent successfully`)
476
+ this.successLog(`Active: ${this.Fan.Active} sent over SwitchBot BLE, sent successfully`)
477
477
  await this.updateHomeKitCharacteristics()
478
478
  })
479
479
  .catch(async (e: any) => {
@@ -438,11 +438,11 @@ export class Humidifier extends deviceBase {
438
438
  switchBotBLE
439
439
  .discover({ model: this.device.bleModel, quick: true, id: this.device.bleMac })
440
440
  .then(async (device_list: SwitchbotDevice[]) => {
441
- const deviceList = device_list as unknown as WoHumi[]
441
+ const deviceList = device_list as WoHumi[]
442
442
  return await deviceList[0].percentage(this.HumidifierDehumidifier.RelativeHumidityHumidifierThreshold)
443
443
  })
444
444
  .then(async () => {
445
- this.successLog(`RelativeHumidityHumidifierThreshold: ${this.HumidifierDehumidifier.RelativeHumidityHumidifierThreshold} sent over BLE, sent successfully`)
445
+ this.successLog(`RelativeHumidityHumidifierThreshold: ${this.HumidifierDehumidifier.RelativeHumidityHumidifierThreshold} sent over BLE, sent successfully`)
446
446
  await this.updateHomeKitCharacteristics()
447
447
  })
448
448
  .catch(async (e: any) => {
@@ -179,7 +179,7 @@ export class IOSensor extends deviceBase {
179
179
  this.debugLog('BLEparseStatus')
180
180
  this.debugLog(`(battery, temperature, humidity) = BLE:(${this.serviceData.battery}, ${this.serviceData.celsius}, ${this.serviceData.humidity}), current:(${this.Battery.BatteryLevel}, ${this.TemperatureSensor?.CurrentTemperature}, ${this.HumiditySensor?.CurrentRelativeHumidity})`)
181
181
  // Battery Info
182
- if (this.serviceData.battery) {
182
+ if ('battery' in this.serviceData) {
183
183
  // BatteryLevel
184
184
  this.Battery.BatteryLevel = this.serviceData.battery
185
185
  this.debugLog(`BatteryLevel: ${this.Battery.BatteryLevel}`)
@@ -465,7 +465,7 @@ export class StripLight extends deviceBase {
465
465
  switchBotBLE
466
466
  .discover({ model: this.device.bleModel, id: this.device.bleMac })
467
467
  .then(async (device_list: SwitchbotDevice[]) => {
468
- const deviceList = device_list as unknown as WoStrip[]
468
+ const deviceList = device_list as WoStrip[]
469
469
  this.infoLog(`On: ${this.LightBulb.On}`)
470
470
  return await this.retryBLE({
471
471
  max: this.maxRetryBLE(),
@@ -479,7 +479,7 @@ export class StripLight extends deviceBase {
479
479
  })
480
480
  })
481
481
  .then(async () => {
482
- this.successLog(`On: ${this.LightBulb.On} sent over SwitchBot BLE, sent successfully`)
482
+ this.successLog(`On: ${this.LightBulb.On} sent over SwitchBot BLE, sent successfully`)
483
483
  await this.updateHomeKitCharacteristics()
484
484
  })
485
485
  .catch(async (e: any) => {
@@ -515,7 +515,7 @@ export class StripLight extends deviceBase {
515
515
  return await device_list[0].setBrightness(this.LightBulb.Brightness)
516
516
  })
517
517
  .then(async () => {
518
- this.successLog(`Brightness: ${this.LightBulb.Brightness} sent over SwitchBot BLE, sent successfully`)
518
+ this.successLog(`Brightness: ${this.LightBulb.Brightness} sent over SwitchBot BLE, sent successfully`)
519
519
  await this.updateHomeKitCharacteristics()
520
520
  })
521
521
  .catch(async (e: any) => {
@@ -554,7 +554,7 @@ export class StripLight extends deviceBase {
554
554
  return await device_list[0].setRGB(this.LightBulb.Brightness, red, green, blue)
555
555
  })
556
556
  .then(async () => {
557
- this.successLog(`RGB: ${(this.LightBulb.Brightness, red, green, blue)} sent over SwitchBot BLE, sent successfully`)
557
+ this.successLog(`RGB: ${(this.LightBulb.Brightness, red, green, blue)} sent over SwitchBot BLE, sent successfully`)
558
558
  await this.updateHomeKitCharacteristics()
559
559
  })
560
560
  .catch(async (e: any) => {
@@ -225,7 +225,7 @@ export class Lock extends deviceBase {
225
225
  this.debugLog(`ContactSensorState: ${this.ContactSensor.ContactSensorState}`)
226
226
  }
227
227
  // Battery Info
228
- if (this.serviceData.battery) {
228
+ if ('battery' in this.serviceData) {
229
229
  // BatteryLevel
230
230
  this.Battery.BatteryLevel = this.serviceData.battery
231
231
  this.debugLog(`BatteryLevel: ${this.Battery.BatteryLevel}`)
@@ -459,7 +459,7 @@ export class Lock extends deviceBase {
459
459
  })
460
460
  })
461
461
  .then(async () => {
462
- this.successLog(`LockTargetState: ${this.LockMechanism.LockTargetState} sent over SwitchBot BLE, sent successfully`)
462
+ this.successLog(`LockTargetState: ${this.LockMechanism.LockTargetState} sent over SwitchBot BLE, sent successfully`)
463
463
  await this.updateHomeKitCharacteristics()
464
464
  })
465
465
  .catch(async (e: any) => {
@@ -185,7 +185,7 @@ export class Meter extends deviceBase {
185
185
  this.debugLog(`CurrentTemperature: ${this.TemperatureSensor.CurrentTemperature}°c`)
186
186
  }
187
187
  // Battery Info
188
- if (this.serviceData.battery) {
188
+ if ('battery' in this.serviceData) {
189
189
  // BatteryLevel
190
190
  this.Battery.BatteryLevel = this.serviceData.battery
191
191
  this.debugLog(`BatteryLevel: ${this.Battery.BatteryLevel}`)
@@ -189,7 +189,7 @@ export class MeterPlus extends deviceBase {
189
189
  this.debugLog(`CurrentTemperature: ${this.TemperatureSensor.CurrentTemperature}°c`)
190
190
  }
191
191
  // Battery Info
192
- if (this.serviceData.battery) {
192
+ if ('battery' in this.serviceData) {
193
193
  // BatteryLevel
194
194
  this.Battery.BatteryLevel = this.serviceData.battery
195
195
  this.debugLog(`BatteryLevel: ${this.Battery.BatteryLevel}`)