node-switchbot 2.5.0-beta.2 → 2.5.0-beta.21

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 (197) hide show
  1. package/dist/advertising.d.ts +31 -20
  2. package/dist/advertising.d.ts.map +1 -1
  3. package/dist/advertising.js +72 -75
  4. package/dist/advertising.js.map +1 -1
  5. package/dist/device/woblindtilt.d.ts +19 -50
  6. package/dist/device/woblindtilt.d.ts.map +1 -1
  7. package/dist/device/woblindtilt.js +39 -98
  8. package/dist/device/woblindtilt.js.map +1 -1
  9. package/dist/device/wobulb.d.ts +41 -15
  10. package/dist/device/wobulb.d.ts.map +1 -1
  11. package/dist/device/wobulb.js +71 -127
  12. package/dist/device/wobulb.js.map +1 -1
  13. package/dist/device/woceilinglight.d.ts +47 -21
  14. package/dist/device/woceilinglight.d.ts.map +1 -1
  15. package/dist/device/woceilinglight.js +94 -169
  16. package/dist/device/woceilinglight.js.map +1 -1
  17. package/dist/device/wocontact.d.ts +11 -1
  18. package/dist/device/wocontact.d.ts.map +1 -1
  19. package/dist/device/wocontact.js +22 -21
  20. package/dist/device/wocontact.js.map +1 -1
  21. package/dist/device/wocurtain.d.ts +39 -1
  22. package/dist/device/wocurtain.d.ts.map +1 -1
  23. package/dist/device/wocurtain.js +68 -102
  24. package/dist/device/wocurtain.js.map +1 -1
  25. package/dist/device/wohand.d.ts +37 -2
  26. package/dist/device/wohand.d.ts.map +1 -1
  27. package/dist/device/wohand.js +54 -88
  28. package/dist/device/wohand.js.map +1 -1
  29. package/dist/device/wohub2.d.ts +11 -1
  30. package/dist/device/wohub2.d.ts.map +1 -1
  31. package/dist/device/wohub2.js +20 -28
  32. package/dist/device/wohub2.js.map +1 -1
  33. package/dist/device/wohumi.d.ts +37 -2
  34. package/dist/device/wohumi.d.ts.map +1 -1
  35. package/dist/device/wohumi.js +51 -82
  36. package/dist/device/wohumi.js.map +1 -1
  37. package/dist/device/woiosensorth.d.ts +12 -1
  38. package/dist/device/woiosensorth.d.ts.map +1 -1
  39. package/dist/device/woiosensorth.js +24 -28
  40. package/dist/device/woiosensorth.js.map +1 -1
  41. package/dist/device/woplugmini.d.ts +45 -12
  42. package/dist/device/woplugmini.d.ts.map +1 -1
  43. package/dist/device/woplugmini.js +69 -75
  44. package/dist/device/woplugmini.js.map +1 -1
  45. package/dist/device/wopresence.d.ts +11 -1
  46. package/dist/device/wopresence.d.ts.map +1 -1
  47. package/dist/device/wopresence.js +20 -26
  48. package/dist/device/wopresence.js.map +1 -1
  49. package/dist/device/wosensorth.d.ts +18 -2
  50. package/dist/device/wosensorth.d.ts.map +1 -1
  51. package/dist/device/wosensorth.js +32 -48
  52. package/dist/device/wosensorth.js.map +1 -1
  53. package/dist/device/wosmartlock.d.ts +56 -13
  54. package/dist/device/wosmartlock.d.ts.map +1 -1
  55. package/dist/device/wosmartlock.js +106 -194
  56. package/dist/device/wosmartlock.js.map +1 -1
  57. package/dist/device/wosmartlockpro.d.ts +61 -18
  58. package/dist/device/wosmartlockpro.d.ts.map +1 -1
  59. package/dist/device/wosmartlockpro.js +114 -203
  60. package/dist/device/wosmartlockpro.js.map +1 -1
  61. package/dist/device/wostrip.d.ts +37 -18
  62. package/dist/device/wostrip.d.ts.map +1 -1
  63. package/dist/device/wostrip.js +78 -124
  64. package/dist/device/wostrip.js.map +1 -1
  65. package/dist/device.d.ts +87 -224
  66. package/dist/device.d.ts.map +1 -1
  67. package/dist/device.js +123 -407
  68. package/dist/device.js.map +1 -1
  69. package/dist/index.d.ts +8 -0
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +8 -0
  72. package/dist/index.js.map +1 -1
  73. package/dist/parameter-checker.d.ts +78 -18
  74. package/dist/parameter-checker.d.ts.map +1 -1
  75. package/dist/parameter-checker.js +139 -334
  76. package/dist/parameter-checker.js.map +1 -1
  77. package/dist/settings.d.ts +46 -0
  78. package/dist/settings.d.ts.map +1 -1
  79. package/dist/settings.js +46 -2
  80. package/dist/settings.js.map +1 -1
  81. package/dist/switchbot-openapi.d.ts +56 -0
  82. package/dist/switchbot-openapi.d.ts.map +1 -0
  83. package/dist/switchbot-openapi.js +241 -0
  84. package/dist/switchbot-openapi.js.map +1 -0
  85. package/dist/switchbot.d.ts +41 -17
  86. package/dist/switchbot.d.ts.map +1 -1
  87. package/dist/switchbot.js +311 -176
  88. package/dist/switchbot.js.map +1 -1
  89. package/dist/test/woblindtilt.test.d.ts.map +1 -0
  90. package/dist/test/woblindtilt.test.js +97 -0
  91. package/dist/test/woblindtilt.test.js.map +1 -0
  92. package/dist/{device → test}/wobulb.test.d.ts.map +1 -1
  93. package/dist/test/wobulb.test.js +104 -0
  94. package/dist/test/wobulb.test.js.map +1 -0
  95. package/dist/test/woceilinglight.test.d.ts.map +1 -0
  96. package/dist/test/woceilinglight.test.js +95 -0
  97. package/dist/test/woceilinglight.test.js.map +1 -0
  98. package/dist/test/wocontact.test.d.ts.map +1 -0
  99. package/dist/test/wocontact.test.js +38 -0
  100. package/dist/test/wocontact.test.js.map +1 -0
  101. package/dist/test/wocurtain.test.d.ts.map +1 -0
  102. package/dist/test/wocurtain.test.js +76 -0
  103. package/dist/test/wocurtain.test.js.map +1 -0
  104. package/dist/{device → test}/wohand.test.d.ts.map +1 -1
  105. package/dist/test/wohand.test.js +76 -0
  106. package/dist/test/wohand.test.js.map +1 -0
  107. package/dist/test/wohub2.test.d.ts +2 -0
  108. package/dist/test/wohub2.test.d.ts.map +1 -0
  109. package/dist/{device/wohand2.test.js → test/wohub2.test.js} +10 -8
  110. package/dist/test/wohub2.test.js.map +1 -0
  111. package/dist/{device → test}/wohumi.test.d.ts.map +1 -1
  112. package/dist/{device → test}/wohumi.test.js +5 -2
  113. package/dist/test/wohumi.test.js.map +1 -0
  114. package/dist/test/woiosensorth.test.d.ts.map +1 -0
  115. package/dist/{device → test}/woiosensorth.test.js +11 -9
  116. package/dist/test/woiosensorth.test.js.map +1 -0
  117. package/dist/test/woplugmini.test.d.ts.map +1 -0
  118. package/dist/{device → test}/woplugmini.test.js +10 -5
  119. package/dist/test/woplugmini.test.js.map +1 -0
  120. package/dist/test/wopresence.test.d.ts.map +1 -0
  121. package/dist/{device → test}/wopresence.test.js +5 -1
  122. package/dist/test/wopresence.test.js.map +1 -0
  123. package/dist/test/wosensorth.test.d.ts.map +1 -0
  124. package/dist/{device → test}/wosensorth.test.js +5 -14
  125. package/dist/test/wosensorth.test.js.map +1 -0
  126. package/dist/test/wosmartlock.test.d.ts.map +1 -0
  127. package/dist/test/wosmartlock.test.js +147 -0
  128. package/dist/test/wosmartlock.test.js.map +1 -0
  129. package/dist/test/wosmartlockpro.test.d.ts.map +1 -0
  130. package/dist/{device → test}/wosmartlockpro.test.js +30 -26
  131. package/dist/test/wosmartlockpro.test.js.map +1 -0
  132. package/dist/{device → test}/wostrip.test.d.ts.map +1 -1
  133. package/dist/{device → test}/wostrip.test.js +18 -19
  134. package/dist/test/wostrip.test.js.map +1 -0
  135. package/dist/types/bledevicestatus.d.ts +4 -12
  136. package/dist/types/bledevicestatus.d.ts.map +1 -1
  137. package/dist/types/devicelist.d.ts.map +1 -1
  138. package/dist/types/devicelist.js +0 -4
  139. package/dist/types/devicelist.js.map +1 -1
  140. package/dist/types/deviceresponse.d.ts.map +1 -1
  141. package/dist/types/devicestatus.d.ts.map +1 -1
  142. package/dist/types/irdevicelist.d.ts.map +1 -1
  143. package/dist/types/pushbody.d.ts +1 -1
  144. package/dist/types/pushbody.d.ts.map +1 -1
  145. package/dist/types/types.d.ts +71 -120
  146. package/dist/types/types.d.ts.map +1 -1
  147. package/dist/types/types.js +10 -0
  148. package/dist/types/types.js.map +1 -1
  149. package/package.json +6 -4
  150. package/dist/device/woblindtilt.test.d.ts.map +0 -1
  151. package/dist/device/woblindtilt.test.js +0 -26
  152. package/dist/device/woblindtilt.test.js.map +0 -1
  153. package/dist/device/wobulb.test.js +0 -52
  154. package/dist/device/wobulb.test.js.map +0 -1
  155. package/dist/device/woceilinglight.test.d.ts.map +0 -1
  156. package/dist/device/woceilinglight.test.js +0 -63
  157. package/dist/device/woceilinglight.test.js.map +0 -1
  158. package/dist/device/wocontact.test.d.ts.map +0 -1
  159. package/dist/device/wocontact.test.js +0 -34
  160. package/dist/device/wocontact.test.js.map +0 -1
  161. package/dist/device/wocurtain.test.d.ts.map +0 -1
  162. package/dist/device/wocurtain.test.js +0 -33
  163. package/dist/device/wocurtain.test.js.map +0 -1
  164. package/dist/device/wohand.test.js +0 -62
  165. package/dist/device/wohand.test.js.map +0 -1
  166. package/dist/device/wohand2.test.d.ts +0 -2
  167. package/dist/device/wohand2.test.d.ts.map +0 -1
  168. package/dist/device/wohand2.test.js.map +0 -1
  169. package/dist/device/wohumi.test.js.map +0 -1
  170. package/dist/device/woiosensorth.test.d.ts.map +0 -1
  171. package/dist/device/woiosensorth.test.js.map +0 -1
  172. package/dist/device/woplugmini.test.d.ts.map +0 -1
  173. package/dist/device/woplugmini.test.js.map +0 -1
  174. package/dist/device/wopresence.test.d.ts.map +0 -1
  175. package/dist/device/wopresence.test.js.map +0 -1
  176. package/dist/device/wosensorth.test.d.ts.map +0 -1
  177. package/dist/device/wosensorth.test.js.map +0 -1
  178. package/dist/device/wosmartlock.test.d.ts.map +0 -1
  179. package/dist/device/wosmartlock.test.js +0 -84
  180. package/dist/device/wosmartlock.test.js.map +0 -1
  181. package/dist/device/wosmartlockpro.test.d.ts.map +0 -1
  182. package/dist/device/wosmartlockpro.test.js.map +0 -1
  183. package/dist/device/wostrip.test.js.map +0 -1
  184. /package/dist/{device → test}/woblindtilt.test.d.ts +0 -0
  185. /package/dist/{device → test}/wobulb.test.d.ts +0 -0
  186. /package/dist/{device → test}/woceilinglight.test.d.ts +0 -0
  187. /package/dist/{device → test}/wocontact.test.d.ts +0 -0
  188. /package/dist/{device → test}/wocurtain.test.d.ts +0 -0
  189. /package/dist/{device → test}/wohand.test.d.ts +0 -0
  190. /package/dist/{device → test}/wohumi.test.d.ts +0 -0
  191. /package/dist/{device → test}/woiosensorth.test.d.ts +0 -0
  192. /package/dist/{device → test}/woplugmini.test.d.ts +0 -0
  193. /package/dist/{device → test}/wopresence.test.d.ts +0 -0
  194. /package/dist/{device → test}/wosensorth.test.d.ts +0 -0
  195. /package/dist/{device → test}/wosmartlock.test.d.ts +0 -0
  196. /package/dist/{device → test}/wosmartlockpro.test.d.ts +0 -0
  197. /package/dist/{device → test}/wostrip.test.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"wohub2.js","sourceRoot":"","sources":["../../src/device/wohub2.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAE3G,MAAM,OAAO,MAAO,SAAQ,eAAe;IACzC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAC3B,gBAAwB,EACxB,KAA8C;QAE9C,IAAI,gBAAgB,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACnC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBACzC,KAAK,CAAC,iDAAiD,gBAAgB,CAAC,MAAM,UAAU,CAAC,CAAA;YAC3F,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC3C,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAE7C,MAAM,SAAS,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAA;QAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAA;QAC5D,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,CAAA;QAEpC,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,iBAAiB,CAAC,IAAI;YAC7B,SAAS,EAAE,qBAAqB,CAAC,IAAI;YACrC,iBAAiB,EAAE,6BAA6B,CAAC,IAAI;YACrD;;;eAGG;YACH,WAAW,EAAE;gBACX,CAAC,EAAE,MAAM;gBACT,CAAC,EAAE,MAAM;aACV;YACD,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,MAAM;YAClB,eAAe,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC;YACvC,QAAQ,EAAE,KAAK,GAAG,UAAU;YAC5B,UAAU,EAAE,WAAW;SACxB,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
1
+ {"version":3,"file":"wohub2.js","sourceRoot":"","sources":["../../src/device/wohub2.ts"],"names":[],"mappings":"AAMA,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;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAC3B,gBAAwB,EACxB,KAAiC;QAEjC,IAAI,gBAAgB,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACnC,KAAK,EAAE,CAAC,6CAA6C,gBAAgB,CAAC,MAAM,UAAU,CAAC,CAAA;YACvF,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,AAAD,EAAG,AAAD,EAAG,AAAD,EAAG,AAAD,EAAG,AAAD,EAAG,AAAD,EAAG,AAAD,EAAG,AAAD,EAAG,AAAD,EAAG,MAAM,CAAC,GAAG,gBAAgB,CAAA;QAExE,MAAM,QAAQ,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5C,MAAM,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAA;QAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAA;QAC1D,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,CAAA;QAEnC,OAAO;YACL,KAAK,EAAE,iBAAiB,CAAC,IAAI;YAC7B,SAAS,EAAE,qBAAqB,CAAC,IAAI;YACrC,iBAAiB,EAAE,6BAA6B,CAAC,IAAI;YACrD,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,KAAK;YACjB,eAAe,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC;YACvC,QAAQ,EAAE,KAAK,GAAG,UAAU;YAC5B,UAAU;SACX,CAAA;IACH,CAAC;CACF"}
@@ -1,12 +1,47 @@
1
1
  import { Buffer } from 'node:buffer';
2
2
  import { SwitchbotDevice } from '../device.js';
3
+ /**
4
+ * Class representing a WoHumi device.
5
+ * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/tree/latest/devicetypes
6
+ */
3
7
  export declare class WoHumi extends SwitchbotDevice {
4
- static parseServiceData(serviceData: Buffer, onlog: ((message: string) => void) | undefined): Promise<object | null>;
8
+ /**
9
+ * Parses the service data for WoHumi.
10
+ * @param {Buffer} serviceData - The service data buffer.
11
+ * @param {Function} [onlog] - Optional logging function.
12
+ * @returns {Promise<object | null>} - Parsed service data or null if invalid.
13
+ */
14
+ static parseServiceData(serviceData: Buffer, onlog?: (message: string) => void): Promise<object | null>;
15
+ /**
16
+ * Sends a command to the humidifier.
17
+ * @param {number[]} bytes - The command bytes.
18
+ * @returns {Promise<void>}
19
+ */
20
+ operateHumi(bytes: number[]): Promise<void>;
21
+ /**
22
+ * Presses the humidifier button.
23
+ * @returns {Promise<void>}
24
+ */
5
25
  press(): Promise<void>;
26
+ /**
27
+ * Turns on the humidifier.
28
+ * @returns {Promise<void>}
29
+ */
6
30
  turnOn(): Promise<void>;
31
+ /**
32
+ * Turns off the humidifier.
33
+ * @returns {Promise<void>}
34
+ */
7
35
  turnOff(): Promise<void>;
36
+ /**
37
+ * Decreases the humidifier setting.
38
+ * @returns {Promise<void>}
39
+ */
8
40
  down(): Promise<void>;
41
+ /**
42
+ * Increases the humidifier setting.
43
+ * @returns {Promise<void>}
44
+ */
9
45
  up(): Promise<void>;
10
- operateHumi(bytes: number[]): Promise<void>;
11
46
  }
12
47
  //# sourceMappingURL=wohumi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wohumi.d.ts","sourceRoot":"","sources":["../../src/device/wohumi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAMpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C,qBAAa,MAAO,SAAQ,eAAe;WAC5B,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,GAC7C,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAuCnB,KAAK;IAeL,MAAM;IAeN,OAAO;IAeP,IAAI;IAeJ,EAAE;IAIF,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE;CAelC"}
1
+ {"version":3,"file":"wohumi.d.ts","sourceRoot":"","sources":["../../src/device/wohumi.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C;;;GAGG;AACH,qBAAa,MAAO,SAAQ,eAAe;IACzC;;;;;OAKG;WACU,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAyBzB;;;;OAIG;IACU,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAUxD;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B;;;OAGG;IACG,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC;CAG1B"}
@@ -1,16 +1,24 @@
1
- import { Buffer } from 'node:buffer';
2
1
  /* Copyright(C) 2024, donavanbecker (https://github.com/donavanbecker). All rights reserved.
3
2
  *
4
3
  * wohumi.ts: Switchbot BLE API registration.
5
4
  */
5
+ import { Buffer } from 'node:buffer';
6
6
  import { SwitchbotDevice } from '../device.js';
7
7
  import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types/types.js';
8
+ /**
9
+ * Class representing a WoHumi device.
10
+ * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/tree/latest/devicetypes
11
+ */
8
12
  export class WoHumi extends SwitchbotDevice {
13
+ /**
14
+ * Parses the service data for WoHumi.
15
+ * @param {Buffer} serviceData - The service data buffer.
16
+ * @param {Function} [onlog] - Optional logging function.
17
+ * @returns {Promise<object | null>} - Parsed service data or null if invalid.
18
+ */
9
19
  static async parseServiceData(serviceData, onlog) {
10
20
  if (serviceData.length !== 8) {
11
- if (onlog && typeof onlog === 'function') {
12
- onlog(`[parseServiceDataForWoHumi] Buffer length ${serviceData.length} !== 8!`);
13
- }
21
+ onlog?.(`[parseServiceDataForWoHumi] Buffer length ${serviceData.length} !== 8!`);
14
22
  return null;
15
23
  }
16
24
  const byte1 = serviceData.readUInt8(1);
@@ -19,7 +27,7 @@ export class WoHumi extends SwitchbotDevice {
19
27
  const autoMode = !!(byte4 & 0b10000000); // 1 - auto
20
28
  const percentage = byte4 & 0b01111111; // 0-100%, 101/102/103 - Quick gear 1/2/3
21
29
  const humidity = autoMode ? 0 : percentage === 101 ? 33 : percentage === 102 ? 66 : percentage === 103 ? 100 : percentage;
22
- const data = {
30
+ return {
23
31
  model: SwitchBotBLEModel.Humidifier,
24
32
  modelName: SwitchBotBLEModelName.Humidifier,
25
33
  modelFriendlyName: SwitchBotBLEModelFriendlyName.Humidifier,
@@ -28,93 +36,54 @@ export class WoHumi extends SwitchbotDevice {
28
36
  percentage: autoMode ? 0 : percentage,
29
37
  humidity,
30
38
  };
31
- return data;
32
39
  }
33
- /* ------------------------------------------------------------------
34
- * press()
35
- * - Press
36
- *
37
- * [Arguments]
38
- * - none
39
- *
40
- * [Return value]
41
- * - Promise object
42
- * Nothing will be passed to the `resolve()`.
43
- * ---------------------------------------------------------------- */
40
+ /**
41
+ * Sends a command to the humidifier.
42
+ * @param {number[]} bytes - The command bytes.
43
+ * @returns {Promise<void>}
44
+ */
45
+ async operateHumi(bytes) {
46
+ const reqBuf = Buffer.from(bytes);
47
+ const resBuf = await this.command(reqBuf);
48
+ const code = resBuf.readUInt8(0);
49
+ if (resBuf.length !== 3 || (code !== 0x01 && code !== 0x05)) {
50
+ throw new Error(`The device returned an error: 0x${resBuf.toString('hex')}`);
51
+ }
52
+ }
53
+ /**
54
+ * Presses the humidifier button.
55
+ * @returns {Promise<void>}
56
+ */
44
57
  async press() {
45
- return await this.operateHumi([0x57, 0x01, 0x00]);
58
+ await this.operateHumi([0x57, 0x01, 0x00]);
46
59
  }
47
- /* ------------------------------------------------------------------
48
- * turnOn()
49
- * - Turn on
50
- *
51
- * [Arguments]
52
- * - none
53
- *
54
- * [Return value]
55
- * - Promise object
56
- * Nothing will be passed to the `resolve()`.
57
- * ---------------------------------------------------------------- */
60
+ /**
61
+ * Turns on the humidifier.
62
+ * @returns {Promise<void>}
63
+ */
58
64
  async turnOn() {
59
- return await this.operateHumi([0x57, 0x01, 0x01]);
65
+ await this.operateHumi([0x57, 0x01, 0x01]);
60
66
  }
61
- /* ------------------------------------------------------------------
62
- * turnOff()
63
- * - Turn off
64
- *
65
- * [Arguments]
66
- * - none
67
- *
68
- * [Return value]
69
- * - Promise object
70
- * Nothing will be passed to the `resolve()`.
71
- * ---------------------------------------------------------------- */
67
+ /**
68
+ * Turns off the humidifier.
69
+ * @returns {Promise<void>}
70
+ */
72
71
  async turnOff() {
73
- return await this.operateHumi([0x57, 0x01, 0x02]);
72
+ await this.operateHumi([0x57, 0x01, 0x02]);
74
73
  }
75
- /* ------------------------------------------------------------------
76
- * down()
77
- * - Down
78
- *
79
- * [Arguments]
80
- * - none
81
- *
82
- * [Return value]
83
- * - Promise object
84
- * Nothing will be passed to the `resolve()`.
85
- * ---------------------------------------------------------------- */
74
+ /**
75
+ * Decreases the humidifier setting.
76
+ * @returns {Promise<void>}
77
+ */
86
78
  async down() {
87
- return await this.operateHumi([0x57, 0x01, 0x03]);
79
+ await this.operateHumi([0x57, 0x01, 0x03]);
88
80
  }
89
- /* ------------------------------------------------------------------
90
- * up()
91
- * - Up
92
- *
93
- * [Arguments]
94
- * - none
95
- *
96
- * [Return value]
97
- * - Promise object
98
- * Nothing will be passed to the `resolve()`.
99
- * ---------------------------------------------------------------- */
81
+ /**
82
+ * Increases the humidifier setting.
83
+ * @returns {Promise<void>}
84
+ */
100
85
  async up() {
101
- return await this.operateHumi([0x57, 0x01, 0x04]);
102
- }
103
- async operateHumi(bytes) {
104
- const req_buf = Buffer.from(bytes);
105
- await this.command(req_buf)
106
- .then((res_buf) => {
107
- const code = res_buf.readUInt8(0);
108
- if (res_buf.length === 3 && (code === 0x01 || code === 0x05)) {
109
- // Intentionally left empty
110
- }
111
- else {
112
- throw new Error(`The device returned an error: 0x${res_buf.toString('hex')}`);
113
- }
114
- })
115
- .catch((error) => {
116
- throw error;
117
- });
86
+ await this.operateHumi([0x57, 0x01, 0x04]);
118
87
  }
119
88
  }
120
89
  //# sourceMappingURL=wohumi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wohumi.js","sourceRoot":"","sources":["../../src/device/wohumi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wohumi.js","sourceRoot":"","sources":["../../src/device/wohumi.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,17 @@
1
1
  import type { Buffer } from 'node:buffer';
2
2
  import { SwitchbotDevice } from '../device.js';
3
+ /**
4
+ * Class representing a WoIOSensorTH device.
5
+ * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/meter.md#outdoor-temperaturehumidity-sensor
6
+ */
3
7
  export declare class WoIOSensorTH extends SwitchbotDevice {
4
- static parseServiceData(serviceData: Buffer, manufacturerData: Buffer, onlog: ((message: string) => void) | undefined): Promise<object | null>;
8
+ /**
9
+ * Parses the service data for WoIOSensorTH.
10
+ * @param {Buffer} serviceData - The service data buffer.
11
+ * @param {Buffer} manufacturerData - The manufacturer data buffer.
12
+ * @param {Function} [onlog] - Optional logging function.
13
+ * @returns {Promise<object | null>} - Parsed service data or null if invalid.
14
+ */
15
+ static parseServiceData(serviceData: Buffer, manufacturerData: Buffer, onlog?: (message: string) => void): Promise<object | null>;
5
16
  }
6
17
  //# sourceMappingURL=woiosensorth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"woiosensorth.d.ts","sourceRoot":"","sources":["../../src/device/woiosensorth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAMzC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C,qBAAa,YAAa,SAAQ,eAAe;WAClC,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,GAC7C,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CA4C1B"}
1
+ {"version":3,"file":"woiosensorth.d.ts","sourceRoot":"","sources":["../../src/device/woiosensorth.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C;;;GAGG;AACH,qBAAa,YAAa,SAAQ,eAAe;IAC/C;;;;;;OAMG;WACU,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAgC1B"}
@@ -1,49 +1,45 @@
1
- /* Copyright(C) 2024, donavanbecker (https://github.com/donavanbecker). All rights reserved.
2
- *
3
- * woiosensorth.ts: Switchbot BLE API registration.
4
- */
5
1
  import { SwitchbotDevice } from '../device.js';
6
2
  import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types/types.js';
3
+ /**
4
+ * Class representing a WoIOSensorTH device.
5
+ * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/meter.md#outdoor-temperaturehumidity-sensor
6
+ */
7
7
  export class WoIOSensorTH extends SwitchbotDevice {
8
+ /**
9
+ * Parses the service data for WoIOSensorTH.
10
+ * @param {Buffer} serviceData - The service data buffer.
11
+ * @param {Buffer} manufacturerData - The manufacturer data buffer.
12
+ * @param {Function} [onlog] - Optional logging function.
13
+ * @returns {Promise<object | null>} - Parsed service data or null if invalid.
14
+ */
8
15
  static async parseServiceData(serviceData, manufacturerData, onlog) {
9
16
  if (serviceData.length !== 3) {
10
- if (onlog && typeof onlog === 'function') {
11
- onlog(`[parseServiceDataForWoIOSensorTH] Service Data Buffer length ${serviceData.length} !== 3!`);
12
- }
17
+ onlog?.(`[parseServiceDataForWoIOSensorTH] Service Data Buffer length ${serviceData.length} !== 3!`);
13
18
  return null;
14
19
  }
15
20
  if (manufacturerData.length !== 14) {
16
- if (onlog && typeof onlog === 'function') {
17
- onlog(`[parseServiceDataForWoIOSensorTH] Manufacturer Data Buffer length ${manufacturerData.length} !== 14!`);
18
- }
21
+ onlog?.(`[parseServiceDataForWoIOSensorTH] Manufacturer Data Buffer length ${manufacturerData.length} !== 14!`);
19
22
  return null;
20
23
  }
21
- const mdByte10 = manufacturerData.readUInt8(10);
22
- const mdByte11 = manufacturerData.readUInt8(11);
23
- const mdByte12 = manufacturerData.readUInt8(12);
24
+ const [mdByte10, mdByte11, mdByte12] = [
25
+ manufacturerData.readUInt8(10),
26
+ manufacturerData.readUInt8(11),
27
+ manufacturerData.readUInt8(12),
28
+ ];
24
29
  const sdByte2 = serviceData.readUInt8(2);
25
- const temp_sign = mdByte11 & 0b10000000 ? 1 : -1;
26
- const temp_c = temp_sign * ((mdByte11 & 0b01111111) + (mdByte10 & 0b00001111) / 10);
27
- const temp_f = Math.round(((temp_c * 9 / 5) + 32) * 10) / 10;
28
- const data = {
30
+ const tempSign = mdByte11 & 0b10000000 ? 1 : -1;
31
+ const tempC = tempSign * ((mdByte11 & 0b01111111) + (mdByte10 & 0b00001111) / 10);
32
+ const tempF = Math.round(((tempC * 9) / 5 + 32) * 10) / 10;
33
+ return {
29
34
  model: SwitchBotBLEModel.OutdoorMeter,
30
35
  modelName: SwitchBotBLEModelName.OutdoorMeter,
31
36
  modelFriendlyName: SwitchBotBLEModelFriendlyName.OutdoorMeter,
32
- /**
33
- * @deprecated The `temperature` object is deprecated and will be removed in future versions.
34
- * Use the `celsius` and `fahrenheit` properties directly instead.
35
- */
36
- temperature: {
37
- c: temp_c,
38
- f: temp_f,
39
- },
40
- celsius: temp_c,
41
- fahrenheit: temp_f,
37
+ celsius: tempC,
38
+ fahrenheit: tempF,
42
39
  fahrenheit_mode: !!(mdByte12 & 0b10000000),
43
40
  humidity: mdByte12 & 0b01111111,
44
41
  battery: sdByte2 & 0b01111111,
45
42
  };
46
- return data;
47
43
  }
48
44
  }
49
45
  //# sourceMappingURL=woiosensorth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"woiosensorth.js","sourceRoot":"","sources":["../../src/device/woiosensorth.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAE3G,MAAM,OAAO,YAAa,SAAQ,eAAe;IAC/C,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAC3B,WAAmB,EACnB,gBAAwB,EACxB,KAA8C;QAE9C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBACzC,KAAK,CAAC,gEAAgE,WAAW,CAAC,MAAM,SAAS,CAAC,CAAA;YACpG,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,gBAAgB,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACnC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBACzC,KAAK,CAAC,qEAAqE,gBAAgB,CAAC,MAAM,UAAU,CAAC,CAAA;YAC/G,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAC/C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAC/C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAE/C,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAExC,MAAM,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAChD,MAAM,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAA;QACnF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAA;QAE5D,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,iBAAiB,CAAC,YAAY;YACrC,SAAS,EAAE,qBAAqB,CAAC,YAAY;YAC7C,iBAAiB,EAAE,6BAA6B,CAAC,YAAY;YAC7D;;;eAGG;YACH,WAAW,EAAE;gBACX,CAAC,EAAE,MAAM;gBACT,CAAC,EAAE,MAAM;aACV;YACD,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,MAAM;YAClB,eAAe,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,UAAU,CAAC;YAC1C,QAAQ,EAAE,QAAQ,GAAG,UAAU;YAC/B,OAAO,EAAE,OAAO,GAAG,UAAU;SAC9B,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
1
+ {"version":3,"file":"woiosensorth.js","sourceRoot":"","sources":["../../src/device/woiosensorth.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAE3G;;;GAGG;AACH,MAAM,OAAO,YAAa,SAAQ,eAAe;IAC/C;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAC3B,WAAmB,EACnB,gBAAwB,EACxB,KAAiC;QAEjC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,KAAK,EAAE,CAAC,gEAAgE,WAAW,CAAC,MAAM,SAAS,CAAC,CAAA;YACpG,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,gBAAgB,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACnC,KAAK,EAAE,CAAC,qEAAqE,gBAAgB,CAAC,MAAM,UAAU,CAAC,CAAA;YAC/G,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG;YACrC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;SAC/B,CAAA;QACD,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAExC,MAAM,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/C,MAAM,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAA;QACjF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAA;QAE1D,OAAO;YACL,KAAK,EAAE,iBAAiB,CAAC,YAAY;YACrC,SAAS,EAAE,qBAAqB,CAAC,YAAY;YAC7C,iBAAiB,EAAE,6BAA6B,CAAC,YAAY;YAC7D,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,KAAK;YACjB,eAAe,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,UAAU,CAAC;YAC1C,QAAQ,EAAE,QAAQ,GAAG,UAAU;YAC/B,OAAO,EAAE,OAAO,GAAG,UAAU;SAC9B,CAAA;IACH,CAAC;CACF"}
@@ -1,31 +1,64 @@
1
1
  import { Buffer } from 'node:buffer';
2
2
  import { SwitchbotDevice } from '../device.js';
3
3
  /**
4
+ * Class representing a WoPlugMini device.
4
5
  * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/plugmini.md
5
6
  */
6
7
  export declare class WoPlugMini extends SwitchbotDevice {
7
- static parseServiceData_US(manufacturerData: Buffer, onlog: ((message: string) => void) | undefined): Promise<object | null>;
8
- static parseServiceData_JP(manufacturerData: Buffer, onlog: ((message: string) => void) | undefined): Promise<object | null>;
9
8
  /**
10
- * @returns resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
9
+ * Parses the service data for WoPlugMini US.
10
+ * @param {Buffer} manufacturerData - The manufacturer data buffer.
11
+ * @param {Function} [onlog] - Optional logging function.
12
+ * @returns {Promise<object | null>} - Parsed service data or null if invalid.
11
13
  */
12
- readState(): Promise<void>;
14
+ static parseServiceData_US(manufacturerData: Buffer, onlog?: (message: string) => void): Promise<object | null>;
13
15
  /**
16
+ * Parses the service data for WoPlugMini JP.
17
+ * @param {Buffer} manufacturerData - The manufacturer data buffer.
18
+ * @param {Function} [onlog] - Optional logging function.
19
+ * @returns {Promise<object | null>} - Parsed service data or null if invalid.
20
+ */
21
+ static parseServiceData_JP(manufacturerData: Buffer, onlog?: (message: string) => void): Promise<object | null>;
22
+ /**
23
+ * Parses the service data for WoPlugMini.
24
+ * @param {Buffer} manufacturerData - The manufacturer data buffer.
25
+ * @param {SwitchBotBLEModel} model - The model of the plug mini.
26
+ * @param {Function} [onlog] - Optional logging function.
27
+ * @returns {Promise<object | null>} - Parsed service data or null if invalid.
28
+ */
29
+ private static parseServiceData;
30
+ /**
31
+ * Reads the state of the plug.
32
+ * @returns {Promise<boolean>} - Resolves with a boolean that tells whether the plug is ON (true) or OFF (false).
33
+ */
34
+ readState(): Promise<boolean>;
35
+ /**
36
+ * Sets the state of the plug.
14
37
  * @private
38
+ * @param {number[]} reqByteArray - The request byte array.
39
+ * @returns {Promise<boolean>} - Resolves with a boolean that tells whether the plug is ON (true) or OFF (false).
40
+ */
41
+ private setState;
42
+ /**
43
+ * Turns on the plug.
44
+ * @returns {Promise<boolean>} - Resolves with a boolean that tells whether the plug is ON (true) or OFF (false).
15
45
  */
16
- setState(reqByteArray: number[]): Promise<void>;
46
+ turnOn(): Promise<boolean>;
17
47
  /**
18
- * @returns resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
48
+ * Turns off the plug.
49
+ * @returns {Promise<boolean>} - Resolves with a boolean that tells whether the plug is ON (true) or OFF (false).
19
50
  */
20
- turnOn(): Promise<void>;
51
+ turnOff(): Promise<boolean>;
21
52
  /**
22
- * @returns resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
53
+ * Toggles the state of the plug.
54
+ * @returns {Promise<boolean>} - Resolves with a boolean that tells whether the plug is ON (true) or OFF (false).
23
55
  */
24
- turnOff(): Promise<void>;
56
+ toggle(): Promise<boolean>;
25
57
  /**
26
- * @returns resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
58
+ * Operates the plug with the given bytes.
59
+ * @param {number[]} bytes - The byte array to send to the plug.
60
+ * @returns {Promise<boolean>} - Resolves with a boolean that tells whether the plug is ON (true) or OFF (false).
27
61
  */
28
- toggle(): Promise<void>;
29
- operatePlug(bytes: number[]): Promise<void>;
62
+ operatePlug(bytes: number[]): Promise<boolean>;
30
63
  }
31
64
  //# sourceMappingURL=woplugmini.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"woplugmini.d.ts","sourceRoot":"","sources":["../../src/device/woplugmini.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAMpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C;;GAEG;AACH,qBAAa,UAAW,SAAQ,eAAe;WAChC,mBAAmB,CAC9B,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,GAC7C,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;WAsCZ,mBAAmB,CAC9B,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,GAC7C,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAsCzB;;OAEG;IACG,SAAS;IAIf;;OAEG;IACG,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE;IAKrC;;OAEG;IACG,MAAM;IAIZ;;OAEG;IACG,OAAO;IAIb;;OAEG;IACG,MAAM;IAIN,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE;CAqBlC"}
1
+ {"version":3,"file":"woplugmini.d.ts","sourceRoot":"","sources":["../../src/device/woplugmini.ts"],"names":[],"mappings":"AAIA,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,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIzB;;;;;OAKG;WACU,mBAAmB,CAC9B,gBAAgB,EAAE,MAAM,EACxB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIzB;;;;;;OAMG;mBACkB,gBAAgB;IAwCrC;;;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"}