@switchbot/homebridge-switchbot 3.8.3 → 4.0.0-beta.1

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 (205) hide show
  1. package/.github/npm-version-script.cjs +81 -0
  2. package/.github/workflows/beta-release.yml +12 -4
  3. package/CHANGELOG.md +15 -1
  4. package/config.schema.json +583 -937
  5. package/dist/device/blindtilt.d.ts +1 -4
  6. package/dist/device/blindtilt.d.ts.map +1 -1
  7. package/dist/device/blindtilt.js +68 -66
  8. package/dist/device/blindtilt.js.map +1 -1
  9. package/dist/device/bot.d.ts +1 -4
  10. package/dist/device/bot.d.ts.map +1 -1
  11. package/dist/device/bot.js +63 -59
  12. package/dist/device/bot.js.map +1 -1
  13. package/dist/device/ceilinglight.d.ts +1 -4
  14. package/dist/device/ceilinglight.d.ts.map +1 -1
  15. package/dist/device/ceilinglight.js +56 -65
  16. package/dist/device/ceilinglight.js.map +1 -1
  17. package/dist/device/colorbulb.d.ts +1 -4
  18. package/dist/device/colorbulb.d.ts.map +1 -1
  19. package/dist/device/colorbulb.js +73 -80
  20. package/dist/device/colorbulb.js.map +1 -1
  21. package/dist/device/contact.d.ts +1 -4
  22. package/dist/device/contact.d.ts.map +1 -1
  23. package/dist/device/contact.js +38 -38
  24. package/dist/device/contact.js.map +1 -1
  25. package/dist/device/curtain.d.ts +1 -4
  26. package/dist/device/curtain.d.ts.map +1 -1
  27. package/dist/device/curtain.js +60 -60
  28. package/dist/device/curtain.js.map +1 -1
  29. package/dist/device/device.d.ts +6 -6
  30. package/dist/device/device.d.ts.map +1 -1
  31. package/dist/device/device.js +86 -20
  32. package/dist/device/device.js.map +1 -1
  33. package/dist/device/fan.d.ts +1 -4
  34. package/dist/device/fan.d.ts.map +1 -1
  35. package/dist/device/fan.js +50 -51
  36. package/dist/device/fan.js.map +1 -1
  37. package/dist/device/hub.d.ts +1 -4
  38. package/dist/device/hub.d.ts.map +1 -1
  39. package/dist/device/hub.js +48 -48
  40. package/dist/device/hub.js.map +1 -1
  41. package/dist/device/humidifier.d.ts +1 -4
  42. package/dist/device/humidifier.d.ts.map +1 -1
  43. package/dist/device/humidifier.js +53 -55
  44. package/dist/device/humidifier.js.map +1 -1
  45. package/dist/device/iosensor.d.ts +1 -4
  46. package/dist/device/iosensor.d.ts.map +1 -1
  47. package/dist/device/iosensor.js +35 -35
  48. package/dist/device/iosensor.js.map +1 -1
  49. package/dist/device/lightstrip.d.ts +1 -4
  50. package/dist/device/lightstrip.d.ts.map +1 -1
  51. package/dist/device/lightstrip.js +57 -65
  52. package/dist/device/lightstrip.js.map +1 -1
  53. package/dist/device/lock.d.ts +1 -4
  54. package/dist/device/lock.d.ts.map +1 -1
  55. package/dist/device/lock.js +38 -39
  56. package/dist/device/lock.js.map +1 -1
  57. package/dist/device/meter.d.ts +1 -4
  58. package/dist/device/meter.d.ts.map +1 -1
  59. package/dist/device/meter.js +35 -35
  60. package/dist/device/meter.js.map +1 -1
  61. package/dist/device/meterplus.d.ts +1 -4
  62. package/dist/device/meterplus.d.ts.map +1 -1
  63. package/dist/device/meterplus.js +35 -35
  64. package/dist/device/meterplus.js.map +1 -1
  65. package/dist/device/motion.d.ts +1 -4
  66. package/dist/device/motion.d.ts.map +1 -1
  67. package/dist/device/motion.js +27 -27
  68. package/dist/device/motion.js.map +1 -1
  69. package/dist/device/plug.d.ts +1 -4
  70. package/dist/device/plug.d.ts.map +1 -1
  71. package/dist/device/plug.js +32 -32
  72. package/dist/device/plug.js.map +1 -1
  73. package/dist/device/robotvacuumcleaner.d.ts +1 -4
  74. package/dist/device/robotvacuumcleaner.d.ts.map +1 -1
  75. package/dist/device/robotvacuumcleaner.js +39 -40
  76. package/dist/device/robotvacuumcleaner.js.map +1 -1
  77. package/dist/device/waterdetector.d.ts +1 -4
  78. package/dist/device/waterdetector.d.ts.map +1 -1
  79. package/dist/device/waterdetector.js +28 -28
  80. package/dist/device/waterdetector.js.map +1 -1
  81. package/dist/irdevice/airconditioner.d.ts +1 -1
  82. package/dist/irdevice/airconditioner.d.ts.map +1 -1
  83. package/dist/irdevice/airconditioner.js +31 -32
  84. package/dist/irdevice/airconditioner.js.map +1 -1
  85. package/dist/irdevice/airpurifier.d.ts +1 -1
  86. package/dist/irdevice/airpurifier.d.ts.map +1 -1
  87. package/dist/irdevice/airpurifier.js +11 -12
  88. package/dist/irdevice/airpurifier.js.map +1 -1
  89. package/dist/irdevice/camera.d.ts +1 -1
  90. package/dist/irdevice/camera.d.ts.map +1 -1
  91. package/dist/irdevice/camera.js +9 -10
  92. package/dist/irdevice/camera.js.map +1 -1
  93. package/dist/irdevice/fan.d.ts +1 -1
  94. package/dist/irdevice/fan.d.ts.map +1 -1
  95. package/dist/irdevice/fan.js +22 -23
  96. package/dist/irdevice/fan.js.map +1 -1
  97. package/dist/irdevice/irdevice.d.ts +6 -6
  98. package/dist/irdevice/irdevice.d.ts.map +1 -1
  99. package/dist/irdevice/irdevice.js +28 -14
  100. package/dist/irdevice/irdevice.js.map +1 -1
  101. package/dist/irdevice/light.d.ts +1 -1
  102. package/dist/irdevice/light.d.ts.map +1 -1
  103. package/dist/irdevice/light.js +12 -13
  104. package/dist/irdevice/light.js.map +1 -1
  105. package/dist/irdevice/other.d.ts +1 -1
  106. package/dist/irdevice/other.d.ts.map +1 -1
  107. package/dist/irdevice/other.js +12 -15
  108. package/dist/irdevice/other.js.map +1 -1
  109. package/dist/irdevice/tv.d.ts +1 -1
  110. package/dist/irdevice/tv.d.ts.map +1 -1
  111. package/dist/irdevice/tv.js +27 -28
  112. package/dist/irdevice/tv.js.map +1 -1
  113. package/dist/irdevice/vacuumcleaner.d.ts +1 -1
  114. package/dist/irdevice/vacuumcleaner.d.ts.map +1 -1
  115. package/dist/irdevice/vacuumcleaner.js +9 -10
  116. package/dist/irdevice/vacuumcleaner.js.map +1 -1
  117. package/dist/irdevice/waterheater.d.ts +1 -1
  118. package/dist/irdevice/waterheater.d.ts.map +1 -1
  119. package/dist/irdevice/waterheater.js +9 -10
  120. package/dist/irdevice/waterheater.js.map +1 -1
  121. package/dist/platform.d.ts +9 -22
  122. package/dist/platform.d.ts.map +1 -1
  123. package/dist/platform.js +154 -260
  124. package/dist/platform.js.map +1 -1
  125. package/dist/settings.d.ts +64 -82
  126. package/dist/settings.d.ts.map +1 -1
  127. package/dist/settings.js +0 -20
  128. package/dist/settings.js.map +1 -1
  129. package/dist/utils.d.ts +1 -102
  130. package/dist/utils.d.ts.map +1 -1
  131. package/dist/utils.js +0 -105
  132. package/dist/utils.js.map +1 -1
  133. package/docs/assets/highlight.css +42 -0
  134. package/docs/assets/main.js +1 -1
  135. package/docs/functions/default.html +1 -1
  136. package/docs/index.html +61 -50
  137. package/docs/media/security-privacy-bluetooth.png +0 -0
  138. package/package.json +5 -7
  139. package/src/device/blindtilt.ts +74 -74
  140. package/src/device/bot.ts +68 -67
  141. package/src/device/ceilinglight.ts +59 -70
  142. package/src/device/colorbulb.ts +79 -88
  143. package/src/device/contact.ts +40 -43
  144. package/src/device/curtain.ts +66 -68
  145. package/src/device/device.ts +86 -40
  146. package/src/device/fan.ts +52 -56
  147. package/src/device/hub.ts +50 -53
  148. package/src/device/humidifier.ts +56 -61
  149. package/src/device/iosensor.ts +37 -40
  150. package/src/device/lightstrip.ts +62 -72
  151. package/src/device/lock.ts +41 -45
  152. package/src/device/meter.ts +37 -40
  153. package/src/device/meterplus.ts +37 -40
  154. package/src/device/motion.ts +29 -32
  155. package/src/device/plug.ts +34 -37
  156. package/src/device/robotvacuumcleaner.ts +41 -49
  157. package/src/device/waterdetector.ts +30 -33
  158. package/src/irdevice/airconditioner.ts +33 -35
  159. package/src/irdevice/airpurifier.ts +12 -13
  160. package/src/irdevice/camera.ts +10 -11
  161. package/src/irdevice/fan.ts +24 -25
  162. package/src/irdevice/irdevice.ts +31 -27
  163. package/src/irdevice/light.ts +14 -15
  164. package/src/irdevice/other.ts +14 -17
  165. package/src/irdevice/tv.ts +28 -29
  166. package/src/irdevice/vacuumcleaner.ts +10 -11
  167. package/src/irdevice/waterheater.ts +10 -11
  168. package/src/platform.ts +178 -287
  169. package/src/settings.ts +67 -88
  170. package/src/utils.ts +2 -106
  171. package/dist/types/bledevicestatus.d.ts +0 -281
  172. package/dist/types/bledevicestatus.d.ts.map +0 -1
  173. package/dist/types/bledevicestatus.js +0 -2
  174. package/dist/types/bledevicestatus.js.map +0 -1
  175. package/dist/types/devicelist.d.ts +0 -89
  176. package/dist/types/devicelist.d.ts.map +0 -1
  177. package/dist/types/devicelist.js +0 -6
  178. package/dist/types/devicelist.js.map +0 -1
  179. package/dist/types/deviceresponse.d.ts +0 -13
  180. package/dist/types/deviceresponse.d.ts.map +0 -1
  181. package/dist/types/deviceresponse.js +0 -2
  182. package/dist/types/deviceresponse.js.map +0 -1
  183. package/dist/types/devicestatus.d.ts +0 -149
  184. package/dist/types/devicestatus.d.ts.map +0 -1
  185. package/dist/types/devicestatus.js +0 -3
  186. package/dist/types/devicestatus.js.map +0 -1
  187. package/dist/types/devicewebhookstatus.d.ts +0 -156
  188. package/dist/types/devicewebhookstatus.d.ts.map +0 -1
  189. package/dist/types/devicewebhookstatus.js +0 -2
  190. package/dist/types/devicewebhookstatus.js.map +0 -1
  191. package/dist/types/irdevicelist.d.ts +0 -10
  192. package/dist/types/irdevicelist.d.ts.map +0 -1
  193. package/dist/types/irdevicelist.js +0 -2
  194. package/dist/types/irdevicelist.js.map +0 -1
  195. package/dist/types/pushbody.d.ts +0 -6
  196. package/dist/types/pushbody.d.ts.map +0 -1
  197. package/dist/types/pushbody.js +0 -2
  198. package/dist/types/pushbody.js.map +0 -1
  199. package/src/types/bledevicestatus.ts +0 -303
  200. package/src/types/devicelist.ts +0 -124
  201. package/src/types/deviceresponse.ts +0 -14
  202. package/src/types/devicestatus.ts +0 -178
  203. package/src/types/devicewebhookstatus.ts +0 -191
  204. package/src/types/irdevicelist.ts +0 -15
  205. package/src/types/pushbody.ts +0 -9
@@ -4,9 +4,7 @@
4
4
  */
5
5
  import { hostname } from 'node:os';
6
6
  import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName, SwitchBotModel } from 'node-switchbot';
7
- import { request } from 'undici';
8
- import { Devices } from '../settings.js';
9
- import { BlindTiltMappingMode, formatDeviceIdAsMac, sleep } from '../utils.js';
7
+ import { formatDeviceIdAsMac, sleep } from '../utils.js';
10
8
  export class deviceBase {
11
9
  platform;
12
10
  accessory;
@@ -141,7 +139,57 @@ export class deviceBase {
141
139
  }
142
140
  async getDeviceConfigSettings(device) {
143
141
  const deviceConfig = Object.assign({}, device.logging !== 'standard' && { logging: device.logging }, device.refreshRate !== 0 && { refreshRate: device.refreshRate }, device.updateRate !== 0 && { updateRate: device.updateRate }, device.scanDuration !== 0 && { scanDuration: device.scanDuration }, device.offline === true && { offline: device.offline }, device.maxRetry !== 0 && { maxRetry: device.maxRetry }, device.webhook === true && { webhook: device.webhook }, device.connectionType !== '' && { connectionType: device.connectionType }, device.external === true && { external: device.external }, device.mqttURL !== '' && { mqttURL: device.mqttURL }, device.mqttOptions && { mqttOptions: device.mqttOptions }, device.mqttPubOptions && { mqttPubOptions: device.mqttPubOptions }, device.maxRetries !== 0 && { maxRetries: device.maxRetries }, device.delayBetweenRetries !== 0 && { delayBetweenRetries: device.delayBetweenRetries });
144
- const config = Object.assign({}, deviceConfig, device.bot, device.lock, device.ceilinglight, device.colorbulb, device.contact, device.motion, device.curtain, device.hub, device.waterdetector, device.humidifier, device.meter, device.iosensor, device.striplight, device.plug, device.blindTilt?.mode === undefined ? { mode: BlindTiltMappingMode.OnlyUp } : {}, device.blindTilt);
142
+ let deviceSpecificConfig = {};
143
+ switch (device.configDeviceType) {
144
+ case 'Bot':
145
+ deviceSpecificConfig = device;
146
+ break;
147
+ case 'Meter':
148
+ case 'MeterPlus':
149
+ deviceSpecificConfig = device;
150
+ break;
151
+ case 'IOSensor':
152
+ deviceSpecificConfig = device;
153
+ break;
154
+ case 'Humidifier':
155
+ deviceSpecificConfig = device;
156
+ break;
157
+ case 'Curtain':
158
+ case 'Curtain3':
159
+ deviceSpecificConfig = device;
160
+ break;
161
+ case 'Blind Tilt':
162
+ deviceSpecificConfig = device;
163
+ break;
164
+ case 'Contact Sensor':
165
+ deviceSpecificConfig = device;
166
+ break;
167
+ case 'Motion Sensor':
168
+ deviceSpecificConfig = device;
169
+ break;
170
+ case 'Water Detector':
171
+ deviceSpecificConfig = device;
172
+ break;
173
+ case 'Color Bulb':
174
+ deviceSpecificConfig = device;
175
+ break;
176
+ case 'Strip Light':
177
+ deviceSpecificConfig = device;
178
+ break;
179
+ case 'Ceiling Light':
180
+ case 'Ceiling Light Pro':
181
+ deviceSpecificConfig = device;
182
+ break;
183
+ case 'Lock':
184
+ case 'Lock Pro':
185
+ deviceSpecificConfig = device;
186
+ break;
187
+ case 'Hub2':
188
+ deviceSpecificConfig = device;
189
+ break;
190
+ default:
191
+ }
192
+ const config = Object.assign({}, deviceConfig, deviceSpecificConfig);
145
193
  if (Object.keys(config).length !== 0) {
146
194
  this.debugSuccessLog(`Config: ${JSON.stringify(config)}`);
147
195
  }
@@ -213,14 +261,14 @@ export class deviceBase {
213
261
  }
214
262
  }
215
263
  async switchbotBLE() {
216
- const switchbot = await this.platform.connectBLE(this.accessory, this.device);
264
+ const switchBotBLE = await this.platform.connectBLE(this.accessory, this.device);
217
265
  // Convert to BLE Address
218
266
  try {
219
267
  const formattedDeviceId = formatDeviceIdAsMac(this.device.deviceId);
220
268
  this.device.bleMac = formattedDeviceId;
221
269
  await this.debugLog(`bleMac: ${this.device.bleMac}`);
222
- await this.getCustomBLEAddress(switchbot);
223
- return switchbot;
270
+ await this.getCustomBLEAddress(switchBotBLE);
271
+ return switchBotBLE;
224
272
  }
225
273
  catch (error) {
226
274
  await this.errorLog(`failed to format device ID as MAC, Error: ${error}`);
@@ -228,7 +276,12 @@ export class deviceBase {
228
276
  }
229
277
  async monitorAdvertisementPackets(switchbot) {
230
278
  await this.debugLog(`Scanning for ${this.device.bleModelName} devices...`);
231
- await switchbot.startScan({ model: this.device.bleModel, id: this.device.bleMac });
279
+ try {
280
+ await switchbot.startScan({ model: this.device.bleModel, id: this.device.bleMac });
281
+ }
282
+ catch (e) {
283
+ await this.errorLog(`Failed to start BLE scanning. Error:${e.message ?? e}`);
284
+ }
232
285
  // Set an event handler
233
286
  let serviceData = { model: this.device.bleModel, modelName: this.device.bleModelName };
234
287
  switchbot.onadvertisement = async (ad) => {
@@ -239,14 +292,19 @@ export class deviceBase {
239
292
  serviceData = ad.serviceData;
240
293
  }
241
294
  else {
242
- serviceData = { model: '', modelName: '' };
295
+ serviceData = { model: '', modelName: '', modelFriendlyName: '' };
243
296
  this.debugLog(`serviceData: ${JSON.stringify(ad.serviceData)}`);
244
297
  }
245
298
  };
246
299
  // Wait
247
300
  await switchbot.wait(this.scanDuration * 1000);
248
301
  // Stop to monitor
249
- await switchbot.stopScan();
302
+ try {
303
+ await switchbot.stopScan();
304
+ }
305
+ catch (e) {
306
+ await this.errorLog(`Failed to stop BLE scanning. Error:${e.message ?? e}`);
307
+ }
250
308
  return serviceData;
251
309
  }
252
310
  async getCustomBLEAddress(switchbot) {
@@ -254,29 +312,37 @@ export class deviceBase {
254
312
  this.debugLog(`customBLEaddress: ${this.device.customBLEaddress}`);
255
313
  (async () => {
256
314
  // Start to monitor advertisement packets
257
- await switchbot.startScan({ model: this.device.bleModel });
315
+ try {
316
+ await switchbot.startScan({ model: this.device.bleModel });
317
+ }
318
+ catch (e) {
319
+ await this.errorLog(`Failed to start BLE scanning. Error:${e.message ?? e}`);
320
+ }
258
321
  // Set an event handler
259
322
  switchbot.onadvertisement = async (ad) => {
260
323
  this.warnLog(`ad: ${JSON.stringify(ad, null, ' ')}`);
261
324
  };
262
325
  await sleep(10000);
263
326
  // Stop to monitor
264
- switchbot.stopScan();
327
+ try {
328
+ switchbot.stopScan();
329
+ }
330
+ catch (e) {
331
+ await this.errorLog(`Failed to stop BLE scanning. Error:${e.message ?? e}`);
332
+ }
265
333
  })();
266
334
  }
267
335
  }
268
336
  async pushChangeRequest(bodyChange) {
269
- return await request(`${Devices}/${this.device.deviceId}/commands`, {
270
- body: bodyChange,
271
- method: 'POST',
272
- headers: this.platform.generateHeaders(),
273
- });
337
+ const { response, statusCode } = await this.platform.switchBotAPI.controlDevice(this.device.deviceId, bodyChange.command, bodyChange.parameter, bodyChange.commandType);
338
+ return { body: response, statusCode };
274
339
  }
275
340
  async deviceRefreshStatus() {
276
- return await this.platform.retryRequest(this.deviceMaxRetries, this.deviceDelayBetweenRetries, `${Devices}/${this.device.deviceId}/status`, { headers: this.platform.generateHeaders() });
341
+ const { response, statusCode } = await this.platform.retryRequest(this.device.deviceId, this.deviceMaxRetries, this.deviceDelayBetweenRetries);
342
+ return { body: response, statusCode };
277
343
  }
278
- async successfulStatusCodes(statusCode, deviceStatus) {
279
- return (statusCode === 200 || statusCode === 100) && (deviceStatus.statusCode === 200 || deviceStatus.statusCode === 100);
344
+ async successfulStatusCodes(deviceStatus) {
345
+ return (deviceStatus.statusCode === 200 || deviceStatus.statusCode === 100);
280
346
  }
281
347
  /**
282
348
  * Update the characteristic value and log the change.
@@ -1 +1 @@
1
- {"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/device/device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/device/device.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,7 @@
1
1
  import type { CharacteristicValue, PlatformAccessory } from 'homebridge';
2
+ import type { batteryCirculatorFanServiceData, batteryCirculatorFanStatus, batteryCirculatorFanWebhookContext, device } from 'node-switchbot';
2
3
  import type { SwitchBotPlatform } from '../platform.js';
3
4
  import type { devicesConfig } from '../settings.js';
4
- import type { batteryCirculatorFanServiceData } from '../types/bledevicestatus.js';
5
- import type { device } from '../types/devicelist.js';
6
- import type { batteryCirculatorFanStatus } from '../types/devicestatus.js';
7
- import type { batteryCirculatorFanWebhookContext } from '../types/devicewebhookstatus.js';
8
5
  import { Subject } from 'rxjs';
9
6
  import { deviceBase } from './device.js';
10
7
  export declare class Fan extends deviceBase {
@@ -1 +1 @@
1
- {"version":3,"file":"fan.d.ts","sourceRoot":"","sources":["../../src/device/fan.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAW,MAAM,YAAY,CAAA;AAEjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAA;AAClF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AAC1E,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,iCAAiC,CAAA;AAOzF,OAAO,EAAqC,OAAO,EAAa,MAAM,MAAM,CAAA;AAG5E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,qBAAa,GAAI,SAAQ,UAAU;IAuC/B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB;IArCtC,OAAO,CAAC,GAAG,CAMV;IAED,OAAO,CAAC,OAAO,CAMd;IAED,OAAO,CAAC,SAAS,CAKhB;IAGD,YAAY,EAAG,0BAA0B,CAAA;IAGzC,cAAc,EAAG,kCAAkC,CAAA;IAGnD,WAAW,EAAG,+BAA+B,CAAA;IAG7C,mBAAmB,EAAG,OAAO,CAAA;IAC7B,WAAW,EAAG,OAAO,CAAC,IAAI,CAAC,CAAA;gBAGhB,QAAQ,EAAE,iBAAiB,EACpC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,MAAM,GAAG,aAAa;IAqI1B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAY/B,kBAAkB;IAiDlB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgDzC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAa9B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBjC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BpC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBrC,eAAe;IAkBrB;;;;;;;;OAQG;IAEG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IA+B5B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IA6C/B,kBAAkB;IA8BlB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BzC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B3C;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAW1D;;OAEG;IACG,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjE;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAW7D;;OAEG;IACG,KAAK,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtD;;OAEG;IACG,aAAa,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAexD,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB7C,iBAAiB;IAOjB,oBAAoB,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAOtC"}
1
+ {"version":3,"file":"fan.d.ts","sourceRoot":"","sources":["../../src/device/fan.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAW,MAAM,YAAY,CAAA;AACjF,OAAO,KAAK,EAAE,+BAA+B,EAAE,0BAA0B,EAAE,kCAAkC,EAAc,MAAM,EAAmB,MAAM,gBAAgB,CAAA;AAE1K,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAOnD,OAAO,EAAqC,OAAO,EAAa,MAAM,MAAM,CAAA;AAG5E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,qBAAa,GAAI,SAAQ,UAAU;IAuC/B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB;IArCtC,OAAO,CAAC,GAAG,CAMV;IAED,OAAO,CAAC,OAAO,CAMd;IAED,OAAO,CAAC,SAAS,CAKhB;IAGD,YAAY,EAAG,0BAA0B,CAAA;IAGzC,cAAc,EAAG,kCAAkC,CAAA;IAGnD,WAAW,EAAG,+BAA+B,CAAA;IAG7C,mBAAmB,EAAG,OAAO,CAAA;IAC7B,WAAW,EAAG,OAAO,CAAC,IAAI,CAAC,CAAA;gBAGhB,QAAQ,EAAE,iBAAiB,EACpC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,MAAM,GAAG,aAAa;IAqI1B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAa/B,kBAAkB;IAiDlB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgDzC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAa9B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBjC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BpC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBrC,eAAe;IAkBrB;;;;;;;;OAQG;IAEG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IA+B5B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IA8C/B,kBAAkB;IA6BlB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BzC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B3C;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAW1D;;OAEG;IACG,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjE;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAW7D;;OAEG;IACG,KAAK,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtD;;OAEG;IACG,aAAa,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAexD,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB7C,iBAAiB;IAOjB,oBAAoB,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAOtC"}
@@ -96,7 +96,7 @@ export class Fan extends deviceBase {
96
96
  this.refreshStatus();
97
97
  }
98
98
  catch (e) {
99
- this.errorLog(`failed to retrieve initial values and update Homekit, Error: ${e}`);
99
+ this.errorLog(`failed to retrieve initial values and update Homekit, Error: ${e.message ?? e}`);
100
100
  }
101
101
  // regisiter webhook event handler if enabled
102
102
  try {
@@ -104,7 +104,7 @@ export class Fan extends deviceBase {
104
104
  this.registerWebhook();
105
105
  }
106
106
  catch (e) {
107
- this.errorLog(`failed to registerWebhook, Error: ${e}`);
107
+ this.errorLog(`failed to registerWebhook, Error: ${e.message ?? e}`);
108
108
  }
109
109
  // regisiter platform BLE event handler if enabled
110
110
  try {
@@ -112,7 +112,7 @@ export class Fan extends deviceBase {
112
112
  this.registerPlatformBLE();
113
113
  }
114
114
  catch (e) {
115
- this.errorLog(`failed to registerPlatformBLE, Error: ${e}`);
115
+ this.errorLog(`failed to registerPlatformBLE, Error: ${e.message ?? e}`);
116
116
  }
117
117
  // Start an update interval
118
118
  interval(this.deviceRefreshRate * 1000)
@@ -144,7 +144,8 @@ export class Fan extends deviceBase {
144
144
  this.Fan.Active = this.serviceData.state === 'on' ? this.hap.Characteristic.Active.ACTIVE : this.hap.Characteristic.Active.INACTIVE;
145
145
  await this.debugLog(`Active: ${this.Fan.Active}`);
146
146
  // RotationSpeed
147
- this.Fan.RotationSpeed = this.serviceData.fanSpeed;
147
+ this.Fan.RotationSpeed = this.serviceData.fanSpeed; // ?? 0
148
+ await this.debugLog(`RotationSpeed: ${this.Fan.RotationSpeed}`);
148
149
  }
149
150
  async openAPIparseStatus() {
150
151
  await this.debugLog('openAPIparseStatus');
@@ -158,7 +159,7 @@ export class Fan extends deviceBase {
158
159
  : this.hap.Characteristic.SwingMode.SWING_DISABLED;
159
160
  await this.debugLog(`SwingMode: ${this.Fan.SwingMode}`);
160
161
  // RotationSpeed
161
- this.Fan.RotationSpeed = this.deviceStatus.fanSpeed;
162
+ this.Fan.RotationSpeed = this.deviceStatus.fanSpeed ?? 0;
162
163
  await this.debugLog(`RotationSpeed: ${this.Fan.RotationSpeed}`);
163
164
  // ChargingState
164
165
  this.Battery.ChargingState = this.deviceStatus.chargingStatus === 'charging'
@@ -199,7 +200,7 @@ export class Fan extends deviceBase {
199
200
  : this.hap.Characteristic.SwingMode.SWING_DISABLED;
200
201
  await this.debugLog(`SwingMode: ${this.Fan.SwingMode}`);
201
202
  // RotationSpeed
202
- this.Fan.RotationSpeed = this.webhookContext.fanSpeed;
203
+ this.Fan.RotationSpeed = this.webhookContext.fanSpeed; // ?? 0
203
204
  await this.debugLog(`RotationSpeed: ${this.Fan.RotationSpeed}`);
204
205
  // BatteryLevel
205
206
  this.Battery.BatteryLevel = this.webhookContext.battery;
@@ -247,15 +248,15 @@ export class Fan extends deviceBase {
247
248
  }
248
249
  async BLERefreshStatus() {
249
250
  await this.debugLog('BLERefreshStatus');
250
- const switchbot = await this.switchbotBLE();
251
- if (switchbot === undefined) {
252
- await this.BLERefreshConnection(switchbot);
251
+ const switchBotBLE = await this.switchbotBLE();
252
+ if (switchBotBLE === undefined) {
253
+ await this.BLERefreshConnection(switchBotBLE);
253
254
  }
254
255
  else {
255
256
  // Start to monitor advertisement packets
256
257
  (async () => {
257
258
  // Start to monitor advertisement packets
258
- const serviceData = await this.monitorAdvertisementPackets(switchbot);
259
+ const serviceData = await this.monitorAdvertisementPackets(switchBotBLE);
259
260
  // Update HomeKit
260
261
  if (serviceData.model === SwitchBotBLEModel.Unknown && SwitchBotBLEModelName.Unknown) {
261
262
  this.serviceData = serviceData;
@@ -263,8 +264,8 @@ export class Fan extends deviceBase {
263
264
  await this.updateHomeKitCharacteristics();
264
265
  }
265
266
  else {
266
- await this.errorLog(`failed to get serviceData, serviceData: ${serviceData}`);
267
- await this.BLERefreshConnection(switchbot);
267
+ await this.errorLog(`failed to get serviceData, serviceData: ${JSON.stringify(serviceData)}`);
268
+ await this.BLERefreshConnection(switchBotBLE);
268
269
  }
269
270
  })();
270
271
  }
@@ -285,7 +286,7 @@ export class Fan extends deviceBase {
285
286
  await this.updateHomeKitCharacteristics();
286
287
  }
287
288
  catch (e) {
288
- await this.errorLog(`failed to handle BLE. Received: ${JSON.stringify(context)} Error: ${e}`);
289
+ await this.errorLog(`failed to handle BLE. Received: ${JSON.stringify(context)} Error: ${e.message ?? e}`);
289
290
  }
290
291
  };
291
292
  }
@@ -300,18 +301,18 @@ export class Fan extends deviceBase {
300
301
  async openAPIRefreshStatus() {
301
302
  await this.debugLog('openAPIRefreshStatus');
302
303
  try {
303
- const { body, statusCode } = await this.deviceRefreshStatus();
304
- const deviceStatus = await body.json();
305
- await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
306
- if (await this.successfulStatusCodes(statusCode, deviceStatus)) {
307
- await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
304
+ const { body } = await this.deviceRefreshStatus();
305
+ const deviceStatus = await body;
306
+ await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
307
+ if (await this.successfulStatusCodes(deviceStatus)) {
308
+ await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
308
309
  this.deviceStatus = deviceStatus.body;
309
310
  await this.openAPIparseStatus();
310
311
  await this.updateHomeKitCharacteristics();
311
312
  }
312
313
  else {
313
- await this.debugWarnLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
314
- await this.debugWarnLog(statusCode, deviceStatus);
314
+ await this.debugWarnLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
315
+ await this.debugWarnLog(deviceStatus);
315
316
  }
316
317
  }
317
318
  catch (e) {
@@ -330,7 +331,7 @@ export class Fan extends deviceBase {
330
331
  await this.updateHomeKitCharacteristics();
331
332
  }
332
333
  catch (e) {
333
- await this.errorLog(`failed to handle webhook. Received: ${JSON.stringify(context)} Error: ${e}`);
334
+ await this.errorLog(`failed to handle webhook. Received: ${JSON.stringify(context)} Error: ${e.message ?? e}`);
334
335
  }
335
336
  };
336
337
  }
@@ -385,23 +386,24 @@ export class Fan extends deviceBase {
385
386
  await this.debugLog('BLEpushChanges');
386
387
  if (this.Fan.Active !== this.accessory.context.Active) {
387
388
  await this.debugLog(`BLEpushChanges On: ${this.Fan.Active} OnCached: ${this.accessory.context.Active}`);
388
- const switchbot = await this.platform.connectBLE(this.accessory, this.device);
389
+ const switchBotBLE = await this.platform.connectBLE(this.accessory, this.device);
389
390
  try {
390
391
  const formattedDeviceId = formatDeviceIdAsMac(this.device.deviceId);
391
392
  this.device.bleMac = formattedDeviceId;
392
393
  await this.debugLog(`bleMac: ${this.device.bleMac}`);
393
- if (switchbot !== false) {
394
- switchbot
394
+ if (switchBotBLE !== false) {
395
+ switchBotBLE
395
396
  .discover({ model: this.device.bleModel, id: this.device.bleMac })
396
397
  .then(async (device_list) => {
398
+ const deviceList = device_list;
397
399
  return await this.retryBLE({
398
400
  max: await this.maxRetryBLE(),
399
401
  fn: async () => {
400
402
  if (this.Fan.Active) {
401
- return await device_list[0].turnOn({ id: this.device.bleMac });
403
+ return await deviceList[0].turnOn();
402
404
  }
403
405
  else {
404
- return await device_list[0].turnOff({ id: this.device.bleMac });
406
+ return await deviceList[0].turnOff();
405
407
  }
406
408
  },
407
409
  });
@@ -417,7 +419,7 @@ export class Fan extends deviceBase {
417
419
  });
418
420
  }
419
421
  else {
420
- await this.errorLog(`wasn't able to establish BLE Connection, node-switchbot: ${switchbot}`);
422
+ await this.errorLog(`wasn't able to establish BLE Connection, node-switchbot: ${JSON.stringify(switchBotBLE)}`);
421
423
  await this.BLEPushConnection();
422
424
  }
423
425
  }
@@ -433,22 +435,21 @@ export class Fan extends deviceBase {
433
435
  await this.debugLog('openAPIpushChanges');
434
436
  if (this.Fan.Active !== this.accessory.context.Active) {
435
437
  const command = this.Fan.Active ? 'turnOn' : 'turnOff';
436
- const bodyChange = JSON.stringify({
438
+ const bodyChange = {
437
439
  command: `${command}`,
438
440
  parameter: 'default',
439
441
  commandType: 'command',
440
- });
442
+ };
441
443
  await this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`);
442
444
  try {
443
- const { body, statusCode } = await this.pushChangeRequest(bodyChange);
444
- const deviceStatus = await body.json();
445
- await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
446
- if (await this.successfulStatusCodes(statusCode, deviceStatus)) {
447
- await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
445
+ const { body } = await this.pushChangeRequest(bodyChange);
446
+ const deviceStatus = await body;
447
+ await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
448
+ if (await this.successfulStatusCodes(deviceStatus)) {
449
+ await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
448
450
  await this.updateHomeKitCharacteristics();
449
451
  }
450
452
  else {
451
- await this.statusCode(statusCode);
452
453
  await this.statusCode(deviceStatus.statusCode);
453
454
  }
454
455
  }
@@ -464,22 +465,21 @@ export class Fan extends deviceBase {
464
465
  async pushRotationSpeedChanges() {
465
466
  await this.debugLog('pushRotationSpeedChanges');
466
467
  if (this.Fan.SwingMode !== this.accessory.context.SwingMode) {
467
- const bodyChange = JSON.stringify({
468
+ const bodyChange = {
468
469
  command: 'setWindSpeed',
469
470
  parameter: `${this.Fan.RotationSpeed}`,
470
471
  commandType: 'command',
471
- });
472
+ };
472
473
  await this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`);
473
474
  try {
474
- const { body, statusCode } = await this.pushChangeRequest(bodyChange);
475
- const deviceStatus = await body.json();
476
- await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
477
- if (await this.successfulStatusCodes(statusCode, deviceStatus)) {
478
- await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
475
+ const { body } = await this.pushChangeRequest(bodyChange);
476
+ const deviceStatus = await body;
477
+ await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
478
+ if (await this.successfulStatusCodes(deviceStatus)) {
479
+ await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
479
480
  await this.updateHomeKitCharacteristics();
480
481
  }
481
482
  else {
482
- await this.statusCode(statusCode);
483
483
  await this.statusCode(deviceStatus.statusCode);
484
484
  }
485
485
  }
@@ -496,22 +496,21 @@ export class Fan extends deviceBase {
496
496
  await this.debugLog('pushSwingModeChanges');
497
497
  if (this.Fan.SwingMode !== this.accessory.context.SwingMode) {
498
498
  const parameter = this.Fan.SwingMode === this.hap.Characteristic.SwingMode.SWING_ENABLED ? 'on' : 'off';
499
- const bodyChange = JSON.stringify({
499
+ const bodyChange = {
500
500
  command: 'setOscillation',
501
501
  parameter: `${parameter}`,
502
502
  commandType: 'command',
503
- });
503
+ };
504
504
  await this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`);
505
505
  try {
506
- const { body, statusCode } = await this.pushChangeRequest(bodyChange);
507
- const deviceStatus = await body.json();
508
- await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
509
- if (await this.successfulStatusCodes(statusCode, deviceStatus)) {
510
- await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
506
+ const { body } = await this.pushChangeRequest(bodyChange);
507
+ const deviceStatus = await body;
508
+ await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
509
+ if (await this.successfulStatusCodes(deviceStatus)) {
510
+ await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
511
511
  await this.updateHomeKitCharacteristics();
512
512
  }
513
513
  else {
514
- await this.statusCode(statusCode);
515
514
  await this.statusCode(deviceStatus.statusCode);
516
515
  }
517
516
  }