node-switchbot 3.2.2-beta.0 → 3.2.2-beta.10

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 (251) hide show
  1. package/BLE.md +1 -1
  2. package/CHANGELOG.md +11 -0
  3. package/dist/advertising.d.ts +2 -2
  4. package/dist/advertising.d.ts.map +1 -1
  5. package/dist/advertising.js +20 -6
  6. package/dist/advertising.js.map +1 -1
  7. package/dist/device/wocurtain.d.ts.map +1 -1
  8. package/dist/device/wocurtain.js +12 -5
  9. package/dist/device/wocurtain.js.map +1 -1
  10. package/dist/device/woleak.d.ts +20 -0
  11. package/dist/device/woleak.d.ts.map +1 -0
  12. package/dist/device/woleak.js +48 -0
  13. package/dist/device/woleak.js.map +1 -0
  14. package/dist/device/woplugmini.d.ts +4 -19
  15. package/dist/device/woplugmini.d.ts.map +1 -1
  16. package/dist/device/woplugmini.js +6 -25
  17. package/dist/device/woplugmini.js.map +1 -1
  18. package/dist/device/woplugmini_jp.d.ts +52 -0
  19. package/dist/device/woplugmini_jp.d.ts.map +1 -0
  20. package/dist/device/woplugmini_jp.js +110 -0
  21. package/dist/device/woplugmini_jp.js.map +1 -0
  22. package/dist/device/wosensorth.d.ts +1 -4
  23. package/dist/device/wosensorth.d.ts.map +1 -1
  24. package/dist/device/wosensorth.js +5 -23
  25. package/dist/device/wosensorth.js.map +1 -1
  26. package/dist/device/wosensorthplus.d.ts +13 -0
  27. package/dist/device/wosensorthplus.d.ts.map +1 -0
  28. package/dist/device/wosensorthplus.js +38 -0
  29. package/dist/device/wosensorthplus.js.map +1 -0
  30. package/dist/device/wosensorthpro.d.ts +13 -0
  31. package/dist/device/wosensorthpro.d.ts.map +1 -0
  32. package/dist/device/wosensorthpro.js +38 -0
  33. package/dist/device/wosensorthpro.js.map +1 -0
  34. package/dist/device/wosensorthproco2.d.ts +13 -0
  35. package/dist/device/wosensorthproco2.d.ts.map +1 -0
  36. package/dist/device/wosensorthproco2.js +40 -0
  37. package/dist/device/wosensorthproco2.js.map +1 -0
  38. package/dist/device/wostrip.js +1 -1
  39. package/dist/device/wostrip.js.map +1 -1
  40. package/dist/device.d.ts.map +1 -1
  41. package/dist/device.js +10 -7
  42. package/dist/device.js.map +1 -1
  43. package/dist/switchbot-ble.d.ts.map +1 -1
  44. package/dist/switchbot-ble.js +16 -8
  45. package/dist/switchbot-ble.js.map +1 -1
  46. package/dist/test/woleak.test.d.ts +2 -0
  47. package/dist/test/woleak.test.d.ts.map +1 -0
  48. package/dist/test/woleak.test.js +51 -0
  49. package/dist/test/woleak.test.js.map +1 -0
  50. package/dist/test/woplugmini.test.js +5 -29
  51. package/dist/test/woplugmini.test.js.map +1 -1
  52. package/dist/test/woplugmini_jp.test.d.ts +2 -0
  53. package/dist/test/woplugmini_jp.test.d.ts.map +1 -0
  54. package/dist/test/woplugmini_jp.test.js +90 -0
  55. package/dist/test/woplugmini_jp.test.js.map +1 -0
  56. package/dist/test/wosensorth.test.js +0 -22
  57. package/dist/test/wosensorth.test.js.map +1 -1
  58. package/dist/test/wosensorthplus.test.d.ts +2 -0
  59. package/dist/test/wosensorthplus.test.d.ts.map +1 -0
  60. package/dist/test/wosensorthplus.test.js +29 -0
  61. package/dist/test/wosensorthplus.test.js.map +1 -0
  62. package/dist/test/wosensorthpro.test.d.ts +2 -0
  63. package/dist/test/wosensorthpro.test.d.ts.map +1 -0
  64. package/dist/test/wosensorthpro.test.js +29 -0
  65. package/dist/test/wosensorthpro.test.js.map +1 -0
  66. package/dist/test/wosensorthproco2.test.d.ts +2 -0
  67. package/dist/test/wosensorthproco2.test.d.ts.map +1 -0
  68. package/dist/test/wosensorthproco2.test.js +32 -0
  69. package/dist/test/wosensorthproco2.test.js.map +1 -0
  70. package/dist/test/wosmartlock.test.js +1 -1
  71. package/dist/test/wosmartlock.test.js.map +1 -1
  72. package/dist/test/wosmartlockpro.test.js +1 -1
  73. package/dist/test/wosmartlockpro.test.js.map +1 -1
  74. package/dist/types/bledevicestatus.d.ts +17 -12
  75. package/dist/types/bledevicestatus.d.ts.map +1 -1
  76. package/dist/types/types.d.ts +11 -3
  77. package/dist/types/types.d.ts.map +1 -1
  78. package/dist/types/types.js +6 -0
  79. package/dist/types/types.js.map +1 -1
  80. package/docs/assets/navigation.js +1 -1
  81. package/docs/assets/search.js +1 -1
  82. package/docs/classes/Advertising.html +5 -5
  83. package/docs/classes/SwitchBotBLE.html +8 -8
  84. package/docs/classes/SwitchBotOpenAPI.html +7 -7
  85. package/docs/classes/SwitchbotDevice.html +11 -11
  86. package/docs/classes/WoBlindTilt.html +20 -20
  87. package/docs/classes/WoBulb.html +18 -18
  88. package/docs/classes/WoCeilingLight.html +21 -21
  89. package/docs/classes/WoContact.html +12 -12
  90. package/docs/classes/WoCurtain.html +17 -17
  91. package/docs/classes/WoHand.html +17 -17
  92. package/docs/classes/WoHub2.html +12 -12
  93. package/docs/classes/WoHumi.html +18 -18
  94. package/docs/classes/WoIOSensorTH.html +12 -12
  95. package/docs/classes/WoPlugMiniUS.html +75 -0
  96. package/docs/classes/WoPresence.html +12 -12
  97. package/docs/classes/WoSensorTH.html +11 -31
  98. package/docs/classes/WoSmartLock.html +22 -22
  99. package/docs/classes/WoSmartLockPro.html +22 -22
  100. package/docs/classes/WoStrip.html +19 -19
  101. package/docs/enums/LogLevel.html +2 -2
  102. package/docs/enums/SwitchBotBLEModel.html +4 -2
  103. package/docs/enums/SwitchBotBLEModelFriendlyName.html +4 -2
  104. package/docs/enums/SwitchBotBLEModelName.html +4 -2
  105. package/docs/enums/SwitchBotModel.html +4 -2
  106. package/docs/hierarchy.html +1 -1
  107. package/docs/interfaces/AdvertisementData.html +2 -2
  108. package/docs/interfaces/Chars.html +2 -2
  109. package/docs/interfaces/ErrorObject.html +2 -2
  110. package/docs/interfaces/NobleTypes.html +2 -2
  111. package/docs/interfaces/Params.html +2 -2
  112. package/docs/interfaces/Rule.html +2 -2
  113. package/docs/interfaces/ServiceData.html +2 -2
  114. package/docs/interfaces/SwitchBotBLEDevice.html +4 -2
  115. package/docs/interfaces/WebhookDetail.html +2 -2
  116. package/docs/interfaces/ad.html +2 -2
  117. package/docs/interfaces/body.html +2 -2
  118. package/docs/interfaces/bodyChange.html +2 -2
  119. package/docs/interfaces/deleteWebhookResponse.html +2 -2
  120. package/docs/interfaces/device.html +2 -2
  121. package/docs/interfaces/deviceList.html +2 -2
  122. package/docs/interfaces/deviceStatus.html +2 -2
  123. package/docs/interfaces/deviceStatusRequest.html +2 -2
  124. package/docs/interfaces/deviceWebhook.html +2 -2
  125. package/docs/interfaces/deviceWebhookContext.html +2 -2
  126. package/docs/interfaces/devices.html +2 -2
  127. package/docs/interfaces/infraredRemoteList.html +2 -2
  128. package/docs/interfaces/irdevice.html +2 -2
  129. package/docs/interfaces/pushResponse.html +2 -2
  130. package/docs/interfaces/queryWebhookResponse.html +2 -2
  131. package/docs/interfaces/setupWebhookResponse.html +2 -2
  132. package/docs/interfaces/switchbot.html +2 -2
  133. package/docs/interfaces/updateWebhookResponse.html +2 -2
  134. package/docs/interfaces/webhookRequest.html +2 -2
  135. package/docs/media/BLE.md +1 -1
  136. package/docs/modules.html +7 -2
  137. package/docs/types/MacAddress.html +1 -1
  138. package/docs/types/batteryCirculatorFan.html +1 -1
  139. package/docs/types/batteryCirculatorFanServiceData.html +1 -1
  140. package/docs/types/batteryCirculatorFanStatus.html +1 -1
  141. package/docs/types/batteryCirculatorFanWebhookContext.html +1 -1
  142. package/docs/types/blindTilt.html +1 -1
  143. package/docs/types/blindTiltServiceData.html +1 -1
  144. package/docs/types/blindTiltStatus.html +1 -1
  145. package/docs/types/blindTiltWebhookContext.html +1 -1
  146. package/docs/types/bot.html +1 -1
  147. package/docs/types/botServiceData.html +1 -1
  148. package/docs/types/botStatus.html +1 -1
  149. package/docs/types/botWebhookContext.html +1 -1
  150. package/docs/types/ceilingLight.html +1 -1
  151. package/docs/types/ceilingLightPro.html +1 -1
  152. package/docs/types/ceilingLightProServiceData.html +1 -1
  153. package/docs/types/ceilingLightProStatus.html +1 -1
  154. package/docs/types/ceilingLightProWebhookContext.html +1 -1
  155. package/docs/types/ceilingLightServiceData.html +1 -1
  156. package/docs/types/ceilingLightStatus.html +1 -1
  157. package/docs/types/ceilingLightWebhookContext.html +1 -1
  158. package/docs/types/colorBulb.html +1 -1
  159. package/docs/types/colorBulbServiceData.html +1 -1
  160. package/docs/types/colorBulbStatus.html +1 -1
  161. package/docs/types/colorBulbWebhookContext.html +1 -1
  162. package/docs/types/contactSensor.html +1 -1
  163. package/docs/types/contactSensorServiceData.html +1 -1
  164. package/docs/types/contactSensorStatus.html +1 -1
  165. package/docs/types/contactSensorWebhookContext.html +1 -1
  166. package/docs/types/curtain.html +1 -1
  167. package/docs/types/curtain3.html +1 -1
  168. package/docs/types/curtain3ServiceData.html +1 -1
  169. package/docs/types/curtain3WebhookContext.html +1 -1
  170. package/docs/types/curtainServiceData.html +1 -1
  171. package/docs/types/curtainStatus.html +1 -1
  172. package/docs/types/curtainWebhookContext.html +1 -1
  173. package/docs/types/floorCleaningRobotS10.html +1 -1
  174. package/docs/types/floorCleaningRobotS10Status.html +1 -1
  175. package/docs/types/floorCleaningRobotS10WebhookContext.html +1 -1
  176. package/docs/types/hub2.html +1 -1
  177. package/docs/types/hub2ServiceData.html +1 -1
  178. package/docs/types/hub2Status.html +1 -1
  179. package/docs/types/hub2WebhookContext.html +1 -1
  180. package/docs/types/humidifier.html +1 -1
  181. package/docs/types/humidifierServiceData.html +1 -1
  182. package/docs/types/humidifierStatus.html +1 -1
  183. package/docs/types/humidifierWebhookContext.html +1 -1
  184. package/docs/types/indoorCam.html +1 -1
  185. package/docs/types/indoorCameraWebhookContext.html +1 -1
  186. package/docs/types/keypad.html +1 -1
  187. package/docs/types/keypadTouch.html +1 -1
  188. package/docs/types/keypadTouchWebhookContext.html +1 -1
  189. package/docs/types/keypadWebhookContext.html +1 -1
  190. package/docs/types/lock.html +1 -1
  191. package/docs/types/lockPro.html +1 -1
  192. package/docs/types/lockProServiceData.html +1 -1
  193. package/docs/types/lockProStatus.html +1 -1
  194. package/docs/types/lockProWebhookContext.html +1 -1
  195. package/docs/types/lockServiceData.html +1 -1
  196. package/docs/types/lockStatus.html +1 -1
  197. package/docs/types/lockWebhookContext.html +1 -1
  198. package/docs/types/meter.html +1 -1
  199. package/docs/types/meterPlus.html +1 -1
  200. package/docs/types/meterPlusServiceData.html +1 -1
  201. package/docs/types/meterPlusStatus.html +1 -1
  202. package/docs/types/meterPlusWebhookContext.html +1 -1
  203. package/docs/types/meterPro.html +1 -0
  204. package/docs/types/meterProCO2ServiceData.html +1 -0
  205. package/docs/types/meterProServiceData.html +1 -1
  206. package/docs/types/meterProStatus.html +1 -0
  207. package/docs/types/meterProWebhookContext.html +1 -0
  208. package/docs/types/meterServiceData.html +1 -1
  209. package/docs/types/meterStatus.html +1 -1
  210. package/docs/types/meterWebhookContext.html +1 -1
  211. package/docs/types/motionSensor.html +1 -1
  212. package/docs/types/motionSensorServiceData.html +1 -1
  213. package/docs/types/motionSensorStatus.html +1 -1
  214. package/docs/types/motionSensorWebhookContext.html +1 -1
  215. package/docs/types/onadvertisement.html +1 -0
  216. package/docs/types/ondiscover.html +1 -0
  217. package/docs/types/outdoorMeter.html +1 -1
  218. package/docs/types/outdoorMeterServiceData.html +1 -1
  219. package/docs/types/outdoorMeterStatus.html +1 -1
  220. package/docs/types/outdoorMeterWebhookContext.html +1 -1
  221. package/docs/types/panTiltCamWebhookContext.html +1 -1
  222. package/docs/types/pantiltCam.html +1 -1
  223. package/docs/types/pantiltCam2k.html +1 -1
  224. package/docs/types/plug.html +1 -1
  225. package/docs/types/plugMini.html +1 -1
  226. package/docs/types/plugMiniJPServiceData.html +1 -1
  227. package/docs/types/plugMiniJPWebhookContext.html +1 -1
  228. package/docs/types/plugMiniStatus.html +1 -1
  229. package/docs/types/plugMiniUSServiceData.html +1 -1
  230. package/docs/types/plugMiniUSWebhookContext.html +1 -1
  231. package/docs/types/plugStatus.html +1 -1
  232. package/docs/types/plugWebhookContext.html +1 -1
  233. package/docs/types/remote.html +1 -1
  234. package/docs/types/robotVacuumCleanerS1.html +1 -1
  235. package/docs/types/robotVacuumCleanerS1Plus.html +1 -1
  236. package/docs/types/robotVacuumCleanerS1PlusStatus.html +1 -1
  237. package/docs/types/robotVacuumCleanerS1PlusWebhookContext.html +1 -1
  238. package/docs/types/robotVacuumCleanerS1Status.html +1 -1
  239. package/docs/types/robotVacuumCleanerS1WebhookContext.html +1 -1
  240. package/docs/types/robotVacuumCleanerServiceData.html +1 -1
  241. package/docs/types/stripLight.html +1 -1
  242. package/docs/types/stripLightServiceData.html +1 -1
  243. package/docs/types/stripLightStatus.html +1 -1
  244. package/docs/types/stripLightWebhookContext.html +1 -1
  245. package/docs/types/waterLeakDetector.html +1 -1
  246. package/docs/types/waterLeakDetectorServiceData.html +1 -1
  247. package/docs/types/waterLeakDetectorStatus.html +1 -1
  248. package/docs/types/waterLeakDetectorWebhookContext.html +1 -1
  249. package/package.json +10 -7
  250. package/docs/classes/WoPlugMini.html +0 -82
  251. package/docs/interfaces/Ad-1.html +0 -5
package/BLE.md CHANGED
@@ -1089,7 +1089,7 @@ In this code, you can get a [`WoHand`](#SwitchbotDeviceWoHand-object) object rep
1089
1089
 
1090
1090
  ### Logging
1091
1091
 
1092
- To be able to receive logging that this module is pushing out you will need to subscribt to the events.
1092
+ To be able to receive logging that this module is pushing out you will need to subscribe to the events.
1093
1093
 
1094
1094
  ```typescript
1095
1095
  this.switchBotBLE.on('log', (log) => {
package/CHANGELOG.md CHANGED
@@ -2,6 +2,17 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. This project uses [Semantic Versioning](https://semver.org/)
4
4
 
5
+ ## [3.3.0](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v3.3.0) (2024-10-30)
6
+
7
+ ### What's Changed
8
+ - Add Water Leak Decector Support
9
+ - Fix timeout error handling [#268](https://github.com/OpenWonderLabs/node-switchbot/pull/268), Thanks [@dnicolson](https://github.com/dnicolson)
10
+ - Fix characteristic notification [#267](https://github.com/OpenWonderLabs/node-switchbot/pull/267), Thanks [@dnicolson](https://github.com/dnicolson)
11
+ - Change scanning log level [#266](https://github.com/OpenWonderLabs/node-switchbot/pull/266), Thanks [@dnicolson](https://github.com/dnicolson)
12
+ - Housekeeping and update dependencies
13
+
14
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v3.2.1...v3.2.2
15
+
5
16
  ## [3.2.1](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v3.2.1) (2024-10-21)
6
17
 
7
18
  ### What's Changed
@@ -1,4 +1,4 @@
1
- import type { Ad, NobleTypes } from './types/types.js';
1
+ import type { ad, NobleTypes } from './types/types.js';
2
2
  import { Buffer } from 'node:buffer';
3
3
  /**
4
4
  * Represents the advertising data parser for SwitchBot devices.
@@ -15,7 +15,7 @@ export declare class Advertising {
15
15
  * @param {Function} emitLog - The function to emit log messages.
16
16
  * @returns {Promise<Ad | null>} - An object containing parsed data specific to the SwitchBot device type, or `null` if the device is not recognized.
17
17
  */
18
- static parse(peripheral: NobleTypes['peripheral'], emitLog: (level: string, message: string) => void): Promise<Ad | null>;
18
+ static parse(peripheral: NobleTypes['peripheral'], emitLog: (level: string, message: string) => void): Promise<ad | null>;
19
19
  /**
20
20
  * Validates if the buffer is a valid Buffer object with a minimum length.
21
21
  *
@@ -1 +1 @@
1
- {"version":3,"file":"advertising.d.ts","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,EAAE,EAAE,UAAU,EAAe,MAAM,kBAAkB,CAAA;AAEnE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAmBpC;;GAEG;AACH,qBAAa,WAAW;;IAGtB;;;;;;;;;OASG;WACU,KAAK,CAChB,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,EACpC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAChD,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;IAgCrB;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAI7B;;;;;;;;OAQG;WACiB,gBAAgB,CAClC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAChD,OAAO,CAAC,GAAG,CAAC;IA+Cf;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;CAY7B"}
1
+ {"version":3,"file":"advertising.d.ts","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,EAAE,EAAE,UAAU,EAAe,MAAM,kBAAkB,CAAA;AAEnE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAwBpC;;GAEG;AACH,qBAAa,WAAW;;IAGtB;;;;;;;;;OASG;WACU,KAAK,CAChB,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,EACpC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAChD,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;IAqCrB;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAI7B;;;;;;;;OAQG;WACiB,gBAAgB,CAClC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAChD,OAAO,CAAC,GAAG,CAAC;IAmDf;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;CAY7B"}
@@ -8,9 +8,14 @@ import { WoHand } from './device/wohand.js';
8
8
  import { WoHub2 } from './device/wohub2.js';
9
9
  import { WoHumi } from './device/wohumi.js';
10
10
  import { WoIOSensorTH } from './device/woiosensorth.js';
11
- import { WoPlugMini } from './device/woplugmini.js';
11
+ import { WoLeak } from './device/woleak.js';
12
+ import { WoPlugMiniUS } from './device/woplugmini.js';
13
+ import { WoPlugMiniJP } from './device/woplugmini_jp.js';
12
14
  import { WoPresence } from './device/wopresence.js';
13
15
  import { WoSensorTH } from './device/wosensorth.js';
16
+ import { WoSensorTHPlus } from './device/wosensorthplus.js';
17
+ import { WoSensorTHPro } from './device/wosensorthpro.js';
18
+ import { WoSensorTHProCO2 } from './device/wosensorthproco2.js';
14
19
  import { WoSmartLock } from './device/wosmartlock.js';
15
20
  import { WoSmartLockPro } from './device/wosmartlockpro.js';
16
21
  import { WoStrip } from './device/wostrip.js';
@@ -51,7 +56,12 @@ export class Advertising {
51
56
  id: peripheral.id,
52
57
  address,
53
58
  rssi: peripheral.rssi,
54
- serviceData: { model, ...sd },
59
+ serviceData: {
60
+ model,
61
+ modelName: sd.modelName || '',
62
+ modelFriendlyName: sd.modelFriendlyName || '',
63
+ ...sd,
64
+ },
55
65
  };
56
66
  emitLog('debug', `[parseAdvertising.${peripheral.id}.${model}] return ${JSON.stringify(data)}`);
57
67
  return data;
@@ -86,9 +96,11 @@ export class Advertising {
86
96
  case SwitchBotBLEModel.Meter:
87
97
  return WoSensorTH.parseServiceData(serviceData, emitLog);
88
98
  case SwitchBotBLEModel.MeterPlus:
89
- return WoSensorTH.parseServiceData_Plus(serviceData, emitLog);
99
+ return WoSensorTHPlus.parseServiceData(serviceData, emitLog);
90
100
  case SwitchBotBLEModel.MeterPro:
91
- return WoSensorTH.parseServiceData_Pro(serviceData, emitLog);
101
+ return WoSensorTHPro.parseServiceData(serviceData, emitLog);
102
+ case SwitchBotBLEModel.MeterProCO2:
103
+ return WoSensorTHProCO2.parseServiceData(serviceData, manufacturerData, emitLog);
92
104
  case SwitchBotBLEModel.Hub2:
93
105
  return WoHub2.parseServiceData(manufacturerData, emitLog);
94
106
  case SwitchBotBLEModel.OutdoorMeter:
@@ -106,15 +118,17 @@ export class Advertising {
106
118
  case SwitchBotBLEModel.StripLight:
107
119
  return WoStrip.parseServiceData(serviceData, emitLog);
108
120
  case SwitchBotBLEModel.PlugMiniUS:
109
- return WoPlugMini.parseServiceData_US(manufacturerData, emitLog);
121
+ return WoPlugMiniUS.parseServiceData(manufacturerData, emitLog);
110
122
  case SwitchBotBLEModel.PlugMiniJP:
111
- return WoPlugMini.parseServiceData_JP(manufacturerData, emitLog);
123
+ return WoPlugMiniJP.parseServiceData(manufacturerData, emitLog);
112
124
  case SwitchBotBLEModel.Lock:
113
125
  return WoSmartLock.parseServiceData(serviceData, manufacturerData, emitLog);
114
126
  case SwitchBotBLEModel.LockPro:
115
127
  return WoSmartLockPro.parseServiceData(serviceData, manufacturerData, emitLog);
116
128
  case SwitchBotBLEModel.BlindTilt:
117
129
  return WoBlindTilt.parseServiceData(serviceData, manufacturerData, emitLog);
130
+ case SwitchBotBLEModel.Leak:
131
+ return WoLeak.parseServiceData(serviceData, manufacturerData, emitLog);
118
132
  default:
119
133
  emitLog('debug', `[parseAdvertising.${model}] return null, model "${model}" not available!`);
120
134
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"advertising.js","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"advertising.js","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wocurtain.d.ts","sourceRoot":"","sources":["../../src/device/wocurtain.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAC1F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C;;;;GAIG;AACH,qBAAa,SAAU,SAAQ,eAAe;IAC5C;;;;;;;OAOG;WACU,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,EACjD,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,kBAAkB,GAAG,mBAAmB,GAAG,IAAI,CAAC;gBA4D/C,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC;IAI5E;;;;OAIG;IACG,IAAI,CAAC,IAAI,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C;;;;OAIG;IACG,KAAK,CAAC,IAAI,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;;;;OAKG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnE;;;;OAIG;IACU,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAS5D"}
1
+ {"version":3,"file":"wocurtain.d.ts","sourceRoot":"","sources":["../../src/device/wocurtain.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAC1F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C;;;;GAIG;AACH,qBAAa,SAAU,SAAQ,eAAe;IAC5C;;;;;;;OAOG;WACU,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,EACjD,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,kBAAkB,GAAG,mBAAmB,GAAG,IAAI,CAAC;gBAsE/C,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC;IAI5E;;;;OAIG;IACG,IAAI,CAAC,IAAI,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C;;;;OAIG;IACG,KAAK,CAAC,IAAI,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;;;;OAKG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnE;;;;OAIG;IACU,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAS5D"}
@@ -38,12 +38,14 @@ export class WoCurtain extends SwitchbotDevice {
38
38
  }
39
39
  const model = serviceData.subarray(0, 1).toString('utf8') ? SwitchBotBLEModel.Curtain : SwitchBotBLEModel.Curtain3;
40
40
  const calibration = Boolean(byte1 & 0b01000000);
41
- const position = Math.max(Math.min(deviceData.readUInt8(0) & 0b01111111, 100), 0);
42
- const inMotion = Boolean(deviceData.readUInt8(0) & 0b10000000);
43
- const lightLevel = (deviceData.readUInt8(1) >> 4) & 0b00001111;
44
- const deviceChain = deviceData.readUInt8(1) & 0b00000111;
45
- const battery = batteryData !== null ? batteryData & 0b01111111 : null;
46
41
  if (model === SwitchBotBLEModel.Curtain) {
42
+ const byte3 = serviceData.readUInt8(3);
43
+ const byte4 = serviceData.readUInt8(4);
44
+ const position = byte3 & 0b01111111;
45
+ const inMotion = Boolean(byte3 & 0b10000000);
46
+ const lightLevel = (byte4 >> 4) & 0b00001111;
47
+ const deviceChain = byte4 & 0b00000111;
48
+ const battery = byte2 & 0b01111111;
47
49
  const data = {
48
50
  model: SwitchBotBLEModel.Curtain,
49
51
  modelName: SwitchBotBLEModelName.Curtain,
@@ -58,6 +60,11 @@ export class WoCurtain extends SwitchbotDevice {
58
60
  return data;
59
61
  }
60
62
  else {
63
+ const position = Math.max(Math.min(deviceData.readUInt8(0) & 0b01111111, 100), 0);
64
+ const inMotion = Boolean(deviceData.readUInt8(0) & 0b10000000);
65
+ const lightLevel = (deviceData.readUInt8(1) >> 4) & 0b00001111;
66
+ const deviceChain = deviceData.readUInt8(1) & 0b00000111;
67
+ const battery = batteryData !== null ? batteryData & 0b01111111 : null;
61
68
  const data = {
62
69
  model: SwitchBotBLEModel.Curtain3,
63
70
  modelName: SwitchBotBLEModelName.Curtain3,
@@ -1 +1 @@
1
- {"version":3,"file":"wocurtain.js","sourceRoot":"","sources":["../../src/device/wocurtain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wocurtain.js","sourceRoot":"","sources":["../../src/device/wocurtain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { Buffer } from 'node:buffer';
2
+ import type { waterLeakDetectorServiceData } from '../types/bledevicestatus.js';
3
+ import type { NobleTypes } from '../types/types.js';
4
+ import { SwitchbotDevice } from '../device.js';
5
+ /**
6
+ * Class representing a WoLeak device.
7
+ * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/meter.md#outdoor-temperaturehumidity-sensor
8
+ */
9
+ export declare class WoLeak extends SwitchbotDevice {
10
+ /**
11
+ * Parses the service data for WoLeak.
12
+ * @param {Buffer} serviceData - The service data buffer.
13
+ * @param {Buffer} manufacturerData - The manufacturer data buffer.
14
+ * @param {Function} emitLog - The function to emit log messages.
15
+ * @returns {Promise<leakServiceData | null>} - Parsed service data or null if invalid.
16
+ */
17
+ static parseServiceData(serviceData: Buffer, manufacturerData: Buffer, emitLog: (level: string, message: string) => void): Promise<waterLeakDetectorServiceData | null>;
18
+ constructor(peripheral: NobleTypes['peripheral'], noble: NobleTypes['noble']);
19
+ }
20
+ //# sourceMappingURL=woleak.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"woleak.d.ts","sourceRoot":"","sources":["../../src/device/woleak.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAA;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C;;;GAGG;AACH,qBAAa,MAAO,SAAQ,eAAe;IACzC;;;;;;OAMG;WACU,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAChD,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC;gBAqCnC,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC;CAG7E"}
@@ -0,0 +1,48 @@
1
+ import { SwitchbotDevice } from '../device.js';
2
+ import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types/types.js';
3
+ /**
4
+ * Class representing a WoLeak device.
5
+ * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/meter.md#outdoor-temperaturehumidity-sensor
6
+ */
7
+ export class WoLeak extends SwitchbotDevice {
8
+ /**
9
+ * Parses the service data for WoLeak.
10
+ * @param {Buffer} serviceData - The service data buffer.
11
+ * @param {Buffer} manufacturerData - The manufacturer data buffer.
12
+ * @param {Function} emitLog - The function to emit log messages.
13
+ * @returns {Promise<leakServiceData | null>} - Parsed service data or null if invalid.
14
+ */
15
+ static async parseServiceData(serviceData, manufacturerData, emitLog) {
16
+ if (!serviceData || serviceData.length < 3) {
17
+ emitLog('debugerror', `[parseServiceDataForWoLeakDetector] Service Data Buffer length ${serviceData?.length ?? 0} < 3!`);
18
+ return null;
19
+ }
20
+ const modelId = serviceData.readUInt8(0);
21
+ if (modelId !== 0x26) {
22
+ // Not a Water Leak Detector
23
+ emitLog('debugerror', `[parseServiceDataForWoLeakDetector] Model ID ${modelId} !== 0x26!`);
24
+ return null;
25
+ }
26
+ const eventFlags = serviceData.readUInt8(1);
27
+ const waterLeakDetected = !!(eventFlags & 0b00000001); // Bit 0
28
+ const deviceTampered = !!(eventFlags & 0b00000010); // Bit 1
29
+ const batteryInfo = serviceData.readUInt8(2);
30
+ const batteryLevel = batteryInfo & 0b01111111; // Bits 0-6
31
+ const lowBattery = !!(batteryInfo & 0b10000000); // Bit 7
32
+ // Manufacturer data can be processed here if needed
33
+ const data = {
34
+ model: SwitchBotBLEModel.Leak,
35
+ modelName: SwitchBotBLEModelName.Leak,
36
+ modelFriendlyName: SwitchBotBLEModelFriendlyName.Leak,
37
+ leak: waterLeakDetected,
38
+ tampered: deviceTampered,
39
+ battery: batteryLevel,
40
+ low_battery: lowBattery,
41
+ };
42
+ return data;
43
+ }
44
+ constructor(peripheral, noble) {
45
+ super(peripheral, noble);
46
+ }
47
+ }
48
+ //# sourceMappingURL=woleak.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"woleak.js","sourceRoot":"","sources":["../../src/device/woleak.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAE3G;;;GAGG;AACH,MAAM,OAAO,MAAO,SAAQ,eAAe;IACzC;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAC3B,WAAmB,EACnB,gBAAwB,EACxB,OAAiD;QAEjD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,YAAY,EAAE,kEAAkE,WAAW,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,CAAA;YACxH,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAExC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,4BAA4B;YAC5B,OAAO,CAAC,YAAY,EAAE,gDAAgD,OAAO,YAAY,CAAC,CAAA;YAC1F,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC3C,MAAM,iBAAiB,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,CAAA,CAAC,QAAQ;QAC9D,MAAM,cAAc,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,CAAA,CAAC,QAAQ;QAE3D,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC5C,MAAM,YAAY,GAAG,WAAW,GAAG,UAAU,CAAA,CAAC,WAAW;QACzD,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC,CAAA,CAAC,QAAQ;QAExD,oDAAoD;QAEpD,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,iBAAiB,CAAC,IAAI;YAC7B,SAAS,EAAE,qBAAqB,CAAC,IAAI;YACrC,iBAAiB,EAAE,6BAA6B,CAAC,IAAI;YACrD,IAAI,EAAE,iBAAiB;YACvB,QAAQ,EAAE,cAAc;YACxB,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,UAAU;SACxB,CAAA;QAED,OAAO,IAAoC,CAAA;IAC7C,CAAC;IAED,YAAY,UAAoC,EAAE,KAA0B;QAC1E,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;IAC1B,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import type { plugMiniJPServiceData, plugMiniUSServiceData } from '../types/bledevicestatus.js';
1
+ import type { plugMiniUSServiceData } from '../types/bledevicestatus.js';
2
2
  import type { NobleTypes } from '../types/types.js';
3
3
  import { Buffer } from 'node:buffer';
4
4
  import { SwitchbotDevice } from '../device.js';
@@ -6,30 +6,15 @@ import { SwitchbotDevice } from '../device.js';
6
6
  * Class representing a WoPlugMini device.
7
7
  * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/plugmini.md
8
8
  */
9
- export declare class WoPlugMini extends SwitchbotDevice {
9
+ export declare class WoPlugMiniUS extends SwitchbotDevice {
10
+ constructor(peripheral: NobleTypes['peripheral'], noble: NobleTypes['noble']);
10
11
  /**
11
12
  * Parses the service data for WoPlugMini US.
12
13
  * @param {Buffer} manufacturerData - The manufacturer data buffer.
13
14
  * @param {Function} emitLog - The function to emit log messages.
14
15
  * @returns {Promise<plugMiniUSServiceData | null>} - Parsed service data or null if invalid.
15
16
  */
16
- static parseServiceData_US(manufacturerData: Buffer, emitLog: (level: string, message: string) => void): Promise<plugMiniUSServiceData | null>;
17
- /**
18
- * Parses the service data for WoPlugMini JP.
19
- * @param {Buffer} manufacturerData - The manufacturer data buffer.
20
- * @param {Function} emitLog - The function to emit log messages.
21
- * @returns {Promise<plugMiniJPServiceData | null>} - Parsed service data or null if invalid.
22
- */
23
- static parseServiceData_JP(manufacturerData: Buffer, emitLog: (level: string, message: string) => void): Promise<plugMiniJPServiceData | null>;
24
- /**
25
- * Parses the service data for WoPlugMini.
26
- * @param {Buffer} manufacturerData - The manufacturer data buffer.
27
- * @param {SwitchBotBLEModel} model - The model of the plug mini.
28
- * @param {Function} emitLog - The function to emit log messages.
29
- * @returns {Promise<plugMiniUSServiceData | plugMiniJPServiceData | null>} - Parsed service data or null if invalid.
30
- */
31
- private static parseServiceData;
32
- constructor(peripheral: NobleTypes['peripheral'], noble: NobleTypes['noble']);
17
+ static parseServiceData(manufacturerData: Buffer, emitLog: (level: string, message: string) => void): Promise<plugMiniUSServiceData | null>;
33
18
  /**
34
19
  * Reads the state of the plug.
35
20
  * @returns {Promise<boolean>} - Resolves with a boolean that tells whether the plug is ON (true) or OFF (false).
@@ -1 +1 @@
1
- {"version":3,"file":"woplugmini.d.ts","sourceRoot":"","sources":["../../src/device/woplugmini.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAC/F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C;;;GAGG;AACH,qBAAa,UAAW,SAAQ,eAAe;IAC7C;;;;;OAKG;WACU,mBAAmB,CAC9B,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAChD,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAIxC;;;;;OAKG;WACU,mBAAmB,CAC9B,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAChD,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAIxC;;;;;;OAMG;mBACkB,gBAAgB;gBA0CzB,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC;IAI5E;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAInC;;;;;OAKG;YACW,QAAQ;IAKtB;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAIhC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAIjC;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAIhC;;;;OAIG;IACU,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAgB5D"}
1
+ {"version":3,"file":"woplugmini.d.ts","sourceRoot":"","sources":["../../src/device/woplugmini.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C;;;GAGG;AACH,qBAAa,YAAa,SAAQ,eAAe;gBACnC,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC;IAI5E;;;;;OAKG;WACU,gBAAgB,CAC3B,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAChD,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAsCxC;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAInC;;;;;OAKG;YACW,QAAQ;IAKtB;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAIhC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAIjC;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAIhC;;;;OAIG;IACU,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAgB5D"}
@@ -5,33 +5,17 @@ import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName
5
5
  * Class representing a WoPlugMini device.
6
6
  * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/plugmini.md
7
7
  */
8
- export class WoPlugMini extends SwitchbotDevice {
8
+ export class WoPlugMiniUS extends SwitchbotDevice {
9
+ constructor(peripheral, noble) {
10
+ super(peripheral, noble);
11
+ }
9
12
  /**
10
13
  * Parses the service data for WoPlugMini US.
11
14
  * @param {Buffer} manufacturerData - The manufacturer data buffer.
12
15
  * @param {Function} emitLog - The function to emit log messages.
13
16
  * @returns {Promise<plugMiniUSServiceData | null>} - Parsed service data or null if invalid.
14
17
  */
15
- static async parseServiceData_US(manufacturerData, emitLog) {
16
- return this.parseServiceData(manufacturerData, SwitchBotBLEModel.PlugMiniUS, emitLog);
17
- }
18
- /**
19
- * Parses the service data for WoPlugMini JP.
20
- * @param {Buffer} manufacturerData - The manufacturer data buffer.
21
- * @param {Function} emitLog - The function to emit log messages.
22
- * @returns {Promise<plugMiniJPServiceData | null>} - Parsed service data or null if invalid.
23
- */
24
- static async parseServiceData_JP(manufacturerData, emitLog) {
25
- return this.parseServiceData(manufacturerData, SwitchBotBLEModel.PlugMiniJP, emitLog);
26
- }
27
- /**
28
- * Parses the service data for WoPlugMini.
29
- * @param {Buffer} manufacturerData - The manufacturer data buffer.
30
- * @param {SwitchBotBLEModel} model - The model of the plug mini.
31
- * @param {Function} emitLog - The function to emit log messages.
32
- * @returns {Promise<plugMiniUSServiceData | plugMiniJPServiceData | null>} - Parsed service data or null if invalid.
33
- */
34
- static async parseServiceData(manufacturerData, model, emitLog) {
18
+ static async parseServiceData(manufacturerData, emitLog) {
35
19
  if (manufacturerData.length !== 14) {
36
20
  emitLog('debugerror', `[parseServiceDataForWoPlugMini] Buffer length ${manufacturerData.length} should be 14`);
37
21
  return null;
@@ -51,7 +35,7 @@ export class WoPlugMini extends SwitchbotDevice {
51
35
  const overload = !!(byte12 & 0b10000000);
52
36
  const currentPower = (((byte12 & 0b01111111) << 8) + byte13) / 10; // in watt
53
37
  const data = {
54
- model: model === SwitchBotBLEModel.PlugMiniUS ? SwitchBotBLEModel.PlugMiniUS : SwitchBotBLEModel.PlugMiniJP,
38
+ model: SwitchBotBLEModel.PlugMiniUS,
55
39
  modelName: SwitchBotBLEModelName.PlugMini,
56
40
  modelFriendlyName: SwitchBotBLEModelFriendlyName.PlugMini,
57
41
  state: state ?? 'unknown',
@@ -64,9 +48,6 @@ export class WoPlugMini extends SwitchbotDevice {
64
48
  };
65
49
  return data;
66
50
  }
67
- constructor(peripheral, noble) {
68
- super(peripheral, noble);
69
- }
70
51
  /**
71
52
  * Reads the state of the plug.
72
53
  * @returns {Promise<boolean>} - Resolves with a boolean that tells whether the plug is ON (true) or OFF (false).
@@ -1 +1 @@
1
- {"version":3,"file":"woplugmini.js","sourceRoot":"","sources":["../../src/device/woplugmini.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"woplugmini.js","sourceRoot":"","sources":["../../src/device/woplugmini.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import type { plugMiniJPServiceData } from '../types/bledevicestatus.js';
2
+ import type { NobleTypes } from '../types/types.js';
3
+ import { Buffer } from 'node:buffer';
4
+ import { SwitchbotDevice } from '../device.js';
5
+ /**
6
+ * Class representing a WoPlugMini device.
7
+ * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/plugmini.md
8
+ */
9
+ export declare class WoPlugMiniJP extends SwitchbotDevice {
10
+ constructor(peripheral: NobleTypes['peripheral'], noble: NobleTypes['noble']);
11
+ /**
12
+ * Parses the service data for WoPlugMini JP.
13
+ * @param {Buffer} manufacturerData - The manufacturer data buffer.
14
+ * @param {Function} emitLog - The function to emit log messages.
15
+ * @returns {Promise<plugMiniJPServiceData | null>} - Parsed service data or null if invalid.
16
+ */
17
+ static parseServiceData(manufacturerData: Buffer, emitLog: (level: string, message: string) => void): Promise<plugMiniJPServiceData | null>;
18
+ /**
19
+ * Reads the state of the plug.
20
+ * @returns {Promise<boolean>} - Resolves with a boolean that tells whether the plug is ON (true) or OFF (false).
21
+ */
22
+ readState(): Promise<boolean>;
23
+ /**
24
+ * Sets the state of the plug.
25
+ * @private
26
+ * @param {number[]} reqByteArray - The request byte array.
27
+ * @returns {Promise<boolean>} - Resolves with a boolean that tells whether the plug is ON (true) or OFF (false).
28
+ */
29
+ private setState;
30
+ /**
31
+ * Turns on the plug.
32
+ * @returns {Promise<boolean>} - Resolves with a boolean that tells whether the plug is ON (true) or OFF (false).
33
+ */
34
+ turnOn(): Promise<boolean>;
35
+ /**
36
+ * Turns off the plug.
37
+ * @returns {Promise<boolean>} - Resolves with a boolean that tells whether the plug is ON (true) or OFF (false).
38
+ */
39
+ turnOff(): Promise<boolean>;
40
+ /**
41
+ * Toggles the state of the plug.
42
+ * @returns {Promise<boolean>} - Resolves with a boolean that tells whether the plug is ON (true) or OFF (false).
43
+ */
44
+ toggle(): Promise<boolean>;
45
+ /**
46
+ * Operates the plug with the given bytes.
47
+ * @param {number[]} bytes - The byte array to send to the plug.
48
+ * @returns {Promise<boolean>} - Resolves with a boolean that tells whether the plug is ON (true) or OFF (false).
49
+ */
50
+ operatePlug(bytes: number[]): Promise<boolean>;
51
+ }
52
+ //# sourceMappingURL=woplugmini_jp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"woplugmini_jp.d.ts","sourceRoot":"","sources":["../../src/device/woplugmini_jp.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C;;;GAGG;AACH,qBAAa,YAAa,SAAQ,eAAe;gBACnC,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC;IAI5E;;;;;OAKG;WACU,gBAAgB,CAC3B,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAChD,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAsCxC;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAInC;;;;;OAKG;YACW,QAAQ;IAKtB;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAIhC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAIjC;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAIhC;;;;OAIG;IACU,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAgB5D"}
@@ -0,0 +1,110 @@
1
+ import { Buffer } from 'node:buffer';
2
+ import { SwitchbotDevice } from '../device.js';
3
+ import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types/types.js';
4
+ /**
5
+ * Class representing a WoPlugMini device.
6
+ * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/plugmini.md
7
+ */
8
+ export class WoPlugMiniJP extends SwitchbotDevice {
9
+ constructor(peripheral, noble) {
10
+ super(peripheral, noble);
11
+ }
12
+ /**
13
+ * Parses the service data for WoPlugMini JP.
14
+ * @param {Buffer} manufacturerData - The manufacturer data buffer.
15
+ * @param {Function} emitLog - The function to emit log messages.
16
+ * @returns {Promise<plugMiniJPServiceData | null>} - Parsed service data or null if invalid.
17
+ */
18
+ static async parseServiceData(manufacturerData, emitLog) {
19
+ if (manufacturerData.length !== 14) {
20
+ emitLog('debugerror', `[parseServiceDataForWoPlugMiniJP] Buffer length ${manufacturerData.length} should be 14`);
21
+ return null;
22
+ }
23
+ const [byte9, byte10, byte11, byte12, byte13] = [
24
+ manufacturerData.readUInt8(9),
25
+ manufacturerData.readUInt8(10),
26
+ manufacturerData.readUInt8(11),
27
+ manufacturerData.readUInt8(12),
28
+ manufacturerData.readUInt8(13),
29
+ ];
30
+ const state = byte9 === 0x00 ? 'off' : byte9 === 0x80 ? 'on' : null;
31
+ const delay = !!(byte10 & 0b00000001);
32
+ const timer = !!(byte10 & 0b00000010);
33
+ const syncUtcTime = !!(byte10 & 0b00000100);
34
+ const wifiRssi = byte11;
35
+ const overload = !!(byte12 & 0b10000000);
36
+ const currentPower = (((byte12 & 0b01111111) << 8) + byte13) / 10; // in watt
37
+ const data = {
38
+ model: SwitchBotBLEModel.PlugMiniJP,
39
+ modelName: SwitchBotBLEModelName.PlugMini,
40
+ modelFriendlyName: SwitchBotBLEModelFriendlyName.PlugMini,
41
+ state: state ?? 'unknown',
42
+ delay,
43
+ timer,
44
+ syncUtcTime,
45
+ wifiRssi,
46
+ overload,
47
+ currentPower,
48
+ };
49
+ return data;
50
+ }
51
+ /**
52
+ * Reads the state of the plug.
53
+ * @returns {Promise<boolean>} - Resolves with a boolean that tells whether the plug is ON (true) or OFF (false).
54
+ */
55
+ async readState() {
56
+ return this.operatePlug([0x57, 0x0F, 0x51, 0x01]);
57
+ }
58
+ /**
59
+ * Sets the state of the plug.
60
+ * @private
61
+ * @param {number[]} reqByteArray - The request byte array.
62
+ * @returns {Promise<boolean>} - Resolves with a boolean that tells whether the plug is ON (true) or OFF (false).
63
+ */
64
+ async setState(reqByteArray) {
65
+ const base = [0x57, 0x0F, 0x50, 0x01];
66
+ return this.operatePlug([...base, ...reqByteArray]);
67
+ }
68
+ /**
69
+ * Turns on the plug.
70
+ * @returns {Promise<boolean>} - Resolves with a boolean that tells whether the plug is ON (true) or OFF (false).
71
+ */
72
+ async turnOn() {
73
+ return this.setState([0x01, 0x80]);
74
+ }
75
+ /**
76
+ * Turns off the plug.
77
+ * @returns {Promise<boolean>} - Resolves with a boolean that tells whether the plug is ON (true) or OFF (false).
78
+ */
79
+ async turnOff() {
80
+ return this.setState([0x01, 0x00]);
81
+ }
82
+ /**
83
+ * Toggles the state of the plug.
84
+ * @returns {Promise<boolean>} - Resolves with a boolean that tells whether the plug is ON (true) or OFF (false).
85
+ */
86
+ async toggle() {
87
+ return this.setState([0x02, 0x80]);
88
+ }
89
+ /**
90
+ * Operates the plug with the given bytes.
91
+ * @param {number[]} bytes - The byte array to send to the plug.
92
+ * @returns {Promise<boolean>} - Resolves with a boolean that tells whether the plug is ON (true) or OFF (false).
93
+ */
94
+ async operatePlug(bytes) {
95
+ const reqBuf = Buffer.from(bytes);
96
+ const resBytes = await this.command(reqBuf);
97
+ const resBuf = Buffer.from(resBytes);
98
+ if (resBuf.length !== 2) {
99
+ throw new Error(`Expecting a 2-byte response, got instead: 0x${resBuf.toString('hex')}`);
100
+ }
101
+ const code = resBuf.readUInt8(1);
102
+ if (code === 0x00 || code === 0x80) {
103
+ return code === 0x80;
104
+ }
105
+ else {
106
+ throw new Error(`The device returned an error: 0x${resBuf.toString('hex')}`);
107
+ }
108
+ }
109
+ }
110
+ //# sourceMappingURL=woplugmini_jp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"woplugmini_jp.js","sourceRoot":"","sources":["../../src/device/woplugmini_jp.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Buffer } from 'node:buffer';
2
- import type { meterPlusServiceData, meterProServiceData, meterServiceData } from '../types/bledevicestatus.js';
2
+ import type { meterServiceData } from '../types/bledevicestatus.js';
3
3
  import type { NobleTypes } from '../types/types.js';
4
4
  import { SwitchbotDevice } from '../device.js';
5
5
  /**
@@ -9,8 +9,5 @@ import { SwitchbotDevice } from '../device.js';
9
9
  export declare class WoSensorTH extends SwitchbotDevice {
10
10
  constructor(peripheral: NobleTypes['peripheral'], noble: NobleTypes['noble']);
11
11
  static parseServiceData(serviceData: Buffer, emitLog: (level: string, message: string) => void): Promise<meterServiceData | null>;
12
- static parseServiceData_Plus(serviceData: Buffer, emitLog: (level: string, message: string) => void): Promise<meterPlusServiceData | null>;
13
- static parseServiceData_Pro(serviceData: Buffer, emitLog: (level: string, message: string) => void): Promise<meterProServiceData | null>;
14
- private static parseServiceDataCommon;
15
12
  }
16
13
  //# sourceMappingURL=wosensorth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wosensorth.d.ts","sourceRoot":"","sources":["../../src/device/wosensorth.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C;;;GAGG;AACH,qBAAa,UAAW,SAAQ,eAAe;gBACjC,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC;WAI/D,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAChD,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;WAItB,qBAAqB,CAChC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAChD,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;WAI1B,oBAAoB,CAC/B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAChD,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;mBAIjB,sBAAsB;CA4C5C"}
1
+ {"version":3,"file":"wosensorth.d.ts","sourceRoot":"","sources":["../../src/device/wosensorth.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C;;;GAGG;AACH,qBAAa,UAAW,SAAQ,eAAe;gBACjC,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC;WAI/D,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAChD,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;CA4BpC"}