node-switchbot 2.5.0-beta.1 → 2.5.0-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 (178) hide show
  1. package/dist/advertising.d.ts +32 -15
  2. package/dist/advertising.d.ts.map +1 -1
  3. package/dist/advertising.js +72 -72
  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 +22 -22
  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 +26 -22
  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 +34 -40
  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 +86 -223
  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/parameter-checker.d.ts +78 -18
  70. package/dist/parameter-checker.d.ts.map +1 -1
  71. package/dist/parameter-checker.js +139 -334
  72. package/dist/parameter-checker.js.map +1 -1
  73. package/dist/settings.d.ts +23 -0
  74. package/dist/settings.d.ts.map +1 -1
  75. package/dist/settings.js +23 -2
  76. package/dist/settings.js.map +1 -1
  77. package/dist/switchbot.d.ts +67 -35
  78. package/dist/switchbot.d.ts.map +1 -1
  79. package/dist/switchbot.js +182 -380
  80. package/dist/switchbot.js.map +1 -1
  81. package/dist/test/woblindtilt.test.d.ts.map +1 -0
  82. package/dist/test/woblindtilt.test.js +93 -0
  83. package/dist/test/woblindtilt.test.js.map +1 -0
  84. package/dist/{device → test}/wobulb.test.d.ts.map +1 -1
  85. package/dist/test/wobulb.test.js +100 -0
  86. package/dist/test/wobulb.test.js.map +1 -0
  87. package/dist/test/woceilinglight.test.d.ts.map +1 -0
  88. package/dist/test/woceilinglight.test.js +91 -0
  89. package/dist/test/woceilinglight.test.js.map +1 -0
  90. package/dist/test/wocontact.test.d.ts.map +1 -0
  91. package/dist/test/wocontact.test.js +34 -0
  92. package/dist/test/wocontact.test.js.map +1 -0
  93. package/dist/test/wocurtain.test.d.ts.map +1 -0
  94. package/dist/test/wocurtain.test.js +72 -0
  95. package/dist/test/wocurtain.test.js.map +1 -0
  96. package/dist/{device → test}/wohand.test.d.ts.map +1 -1
  97. package/dist/test/wohand.test.js +72 -0
  98. package/dist/test/wohand.test.js.map +1 -0
  99. package/dist/test/wohub2.test.d.ts +2 -0
  100. package/dist/test/wohub2.test.d.ts.map +1 -0
  101. package/dist/{device/wohand2.test.js → test/wohub2.test.js} +6 -4
  102. package/dist/test/wohub2.test.js.map +1 -0
  103. package/dist/{device → test}/wohumi.test.d.ts.map +1 -1
  104. package/dist/{device → test}/wohumi.test.js +1 -2
  105. package/dist/test/wohumi.test.js.map +1 -0
  106. package/dist/test/woiosensorth.test.d.ts.map +1 -0
  107. package/dist/{device → test}/woiosensorth.test.js +7 -5
  108. package/dist/test/woiosensorth.test.js.map +1 -0
  109. package/dist/test/woplugmini.test.d.ts.map +1 -0
  110. package/dist/{device → test}/woplugmini.test.js +6 -5
  111. package/dist/test/woplugmini.test.js.map +1 -0
  112. package/dist/test/wopresence.test.d.ts.map +1 -0
  113. package/dist/{device → test}/wopresence.test.js +1 -1
  114. package/dist/test/wopresence.test.js.map +1 -0
  115. package/dist/test/wosensorth.test.d.ts.map +1 -0
  116. package/dist/{device → test}/wosensorth.test.js +3 -4
  117. package/dist/test/wosensorth.test.js.map +1 -0
  118. package/dist/test/wosmartlock.test.d.ts.map +1 -0
  119. package/dist/test/wosmartlock.test.js +143 -0
  120. package/dist/test/wosmartlock.test.js.map +1 -0
  121. package/dist/test/wosmartlockpro.test.d.ts.map +1 -0
  122. package/dist/{device → test}/wosmartlockpro.test.js +26 -26
  123. package/dist/test/wosmartlockpro.test.js.map +1 -0
  124. package/dist/{device → test}/wostrip.test.d.ts.map +1 -1
  125. package/dist/{device → test}/wostrip.test.js +18 -19
  126. package/dist/test/wostrip.test.js.map +1 -0
  127. package/dist/types/types.d.ts +52 -120
  128. package/dist/types/types.d.ts.map +1 -1
  129. package/dist/types/types.js.map +1 -1
  130. package/package.json +1 -1
  131. package/dist/device/woblindtilt.test.d.ts.map +0 -1
  132. package/dist/device/woblindtilt.test.js +0 -26
  133. package/dist/device/woblindtilt.test.js.map +0 -1
  134. package/dist/device/wobulb.test.js +0 -52
  135. package/dist/device/wobulb.test.js.map +0 -1
  136. package/dist/device/woceilinglight.test.d.ts.map +0 -1
  137. package/dist/device/woceilinglight.test.js +0 -63
  138. package/dist/device/woceilinglight.test.js.map +0 -1
  139. package/dist/device/wocontact.test.d.ts.map +0 -1
  140. package/dist/device/wocontact.test.js +0 -34
  141. package/dist/device/wocontact.test.js.map +0 -1
  142. package/dist/device/wocurtain.test.d.ts.map +0 -1
  143. package/dist/device/wocurtain.test.js +0 -33
  144. package/dist/device/wocurtain.test.js.map +0 -1
  145. package/dist/device/wohand.test.js +0 -62
  146. package/dist/device/wohand.test.js.map +0 -1
  147. package/dist/device/wohand2.test.d.ts +0 -2
  148. package/dist/device/wohand2.test.d.ts.map +0 -1
  149. package/dist/device/wohand2.test.js.map +0 -1
  150. package/dist/device/wohumi.test.js.map +0 -1
  151. package/dist/device/woiosensorth.test.d.ts.map +0 -1
  152. package/dist/device/woiosensorth.test.js.map +0 -1
  153. package/dist/device/woplugmini.test.d.ts.map +0 -1
  154. package/dist/device/woplugmini.test.js.map +0 -1
  155. package/dist/device/wopresence.test.d.ts.map +0 -1
  156. package/dist/device/wopresence.test.js.map +0 -1
  157. package/dist/device/wosensorth.test.d.ts.map +0 -1
  158. package/dist/device/wosensorth.test.js.map +0 -1
  159. package/dist/device/wosmartlock.test.d.ts.map +0 -1
  160. package/dist/device/wosmartlock.test.js +0 -84
  161. package/dist/device/wosmartlock.test.js.map +0 -1
  162. package/dist/device/wosmartlockpro.test.d.ts.map +0 -1
  163. package/dist/device/wosmartlockpro.test.js.map +0 -1
  164. package/dist/device/wostrip.test.js.map +0 -1
  165. /package/dist/{device → test}/woblindtilt.test.d.ts +0 -0
  166. /package/dist/{device → test}/wobulb.test.d.ts +0 -0
  167. /package/dist/{device → test}/woceilinglight.test.d.ts +0 -0
  168. /package/dist/{device → test}/wocontact.test.d.ts +0 -0
  169. /package/dist/{device → test}/wocurtain.test.d.ts +0 -0
  170. /package/dist/{device → test}/wohand.test.d.ts +0 -0
  171. /package/dist/{device → test}/wohumi.test.d.ts +0 -0
  172. /package/dist/{device → test}/woiosensorth.test.d.ts +0 -0
  173. /package/dist/{device → test}/woplugmini.test.d.ts +0 -0
  174. /package/dist/{device → test}/wopresence.test.d.ts +0 -0
  175. /package/dist/{device → test}/wosensorth.test.d.ts +0 -0
  176. /package/dist/{device → test}/wosmartlock.test.d.ts +0 -0
  177. /package/dist/{device → test}/wosmartlockpro.test.d.ts +0 -0
  178. /package/dist/{device → test}/wostrip.test.d.ts +0 -0
@@ -1,15 +1,8 @@
1
1
  import type * as Noble from '@stoprocent/noble';
2
- import { Buffer } from 'node:buffer';
3
- export type Ad = {
4
- id: string;
5
- address: string;
6
- rssi: number;
7
- serviceData: Record<string, unknown>;
8
- } | null;
9
- export interface AdvertisementData {
10
- serviceData: Buffer | null;
11
- manufacturerData: Buffer | null;
12
- }
2
+ import type { Ad } from './types/types.js';
3
+ /**
4
+ * Represents the advertising data parser for SwitchBot devices.
5
+ */
13
6
  export declare class Advertising {
14
7
  constructor();
15
8
  /**
@@ -18,10 +11,34 @@ export declare class Advertising {
18
11
  * This function processes advertising packets received from SwitchBot devices
19
12
  * and extracts relevant information based on the device type.
20
13
  *
21
- * @param peripheral - The peripheral device object from noble.
22
- * @param onlog - A logging function for debugging purposes.
23
- * @returns An object containing parsed data specific to the SwitchBot device type, or `null` if the device is not recognized.
14
+ * @param {Noble.Peripheral} peripheral - The peripheral device object from noble.
15
+ * @param {(message: string) => void} [onlog] - A logging function for debugging purposes.
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
+ */
18
+ static parse(peripheral: Noble.Peripheral, onlog?: (message: string) => void): Promise<Ad | null>;
19
+ /**
20
+ * Validates if the buffer is a valid Buffer object with a minimum length.
21
+ *
22
+ * @param {any} buffer - The buffer to validate.
23
+ * @returns {boolean} - True if the buffer is valid, false otherwise.
24
+ */
25
+ private static validateBuffer;
26
+ /**
27
+ * Parses the service data based on the device model.
28
+ *
29
+ * @param {string} model - The device model.
30
+ * @param {Buffer} serviceData - The service data buffer.
31
+ * @param {Buffer} manufacturerData - The manufacturer data buffer.
32
+ * @param {(message: string) => void} [onlog] - A logging function for debugging purposes.
33
+ * @returns {Promise<any>} - The parsed service data.
34
+ */
35
+ private static parseServiceData;
36
+ /**
37
+ * Formats the address of the peripheral.
38
+ *
39
+ * @param {Noble.Peripheral} peripheral - The peripheral device object from noble.
40
+ * @returns {string} - The formatted address.
24
41
  */
25
- static parse(peripheral: Noble.Peripheral, onlog?: (message: string) => void): Promise<Ad>;
42
+ private static formatAddress;
26
43
  }
27
44
  //# sourceMappingURL=advertising.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"advertising.d.ts","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAmBpC,MAAM,MAAM,EAAE,GAAG;IACf,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACrC,GAAG,IAAI,CAAA;AAER,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC;AAED,qBAAa,WAAW;;IAGtB;;;;;;;;;OASG;WACU,KAAK,CAChB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC,EAAE,CAAC;CAiHf"}
1
+ {"version":3,"file":"advertising.d.ts","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,EAAE,EAAE,EAAe,MAAM,kBAAkB,CAAA;AAqBvD;;GAEG;AACH,qBAAa,WAAW;;IAGtB;;;;;;;;;OASG;WACU,KAAK,CAChB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;IAgCrB;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAI7B;;;;;;;;OAQG;mBACkB,gBAAgB;IAkDrC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;CAY7B"}
@@ -15,6 +15,9 @@ import { WoSmartLock } from './device/wosmartlock.js';
15
15
  import { WoSmartLockPro } from './device/wosmartlockpro.js';
16
16
  import { WoStrip } from './device/wostrip.js';
17
17
  import { SwitchBotBLEModel } from './types/types.js';
18
+ /**
19
+ * Represents the advertising data parser for SwitchBot devices.
20
+ */
18
21
  export class Advertising {
19
22
  constructor() { }
20
23
  /**
@@ -23,119 +26,116 @@ export class Advertising {
23
26
  * This function processes advertising packets received from SwitchBot devices
24
27
  * and extracts relevant information based on the device type.
25
28
  *
26
- * @param peripheral - The peripheral device object from noble.
27
- * @param onlog - A logging function for debugging purposes.
28
- * @returns An object containing parsed data specific to the SwitchBot device type, or `null` if the device is not recognized.
29
+ * @param {Noble.Peripheral} peripheral - The peripheral device object from noble.
30
+ * @param {(message: string) => void} [onlog] - A logging function for debugging purposes.
31
+ * @returns {Promise<Ad | null>} - An object containing parsed data specific to the SwitchBot device type, or `null` if the device is not recognized.
29
32
  */
30
33
  static async parse(peripheral, onlog) {
31
34
  const ad = peripheral.advertisement;
32
35
  if (!ad || !ad.serviceData) {
33
36
  return null;
34
37
  }
35
- const adServiceData = ad.serviceData[0] || ad.serviceData;
38
+ const serviceData = ad.serviceData[0]?.data;
36
39
  const manufacturerData = ad.manufacturerData;
37
- const serviceData = adServiceData.data;
38
- function validateBuffer(buffer) {
39
- return buffer && Buffer.isBuffer(buffer) && buffer.length >= 3;
40
- }
41
- if (!validateBuffer(serviceData) || !validateBuffer(manufacturerData)) {
40
+ if (!Advertising.validateBuffer(serviceData) || !Advertising.validateBuffer(manufacturerData)) {
42
41
  return null;
43
42
  }
44
43
  const model = serviceData.subarray(0, 1).toString('utf8');
45
- let sd;
44
+ const sd = await Advertising.parseServiceData(model, serviceData, manufacturerData, onlog);
45
+ if (!sd) {
46
+ onlog?.(`[parseAdvertising.${peripheral.id}.${model}] return null, parsed serviceData empty!`);
47
+ return null;
48
+ }
49
+ const address = Advertising.formatAddress(peripheral);
50
+ const data = {
51
+ id: peripheral.id,
52
+ address,
53
+ rssi: peripheral.rssi,
54
+ serviceData: { model, ...sd },
55
+ };
56
+ onlog?.(`[parseAdvertising.${peripheral.id}.${model}] return ${JSON.stringify(data)}`);
57
+ return data;
58
+ }
59
+ /**
60
+ * Validates if the buffer is a valid Buffer object with a minimum length.
61
+ *
62
+ * @param {any} buffer - The buffer to validate.
63
+ * @returns {boolean} - True if the buffer is valid, false otherwise.
64
+ */
65
+ static validateBuffer(buffer) {
66
+ return buffer && Buffer.isBuffer(buffer) && buffer.length >= 3;
67
+ }
68
+ /**
69
+ * Parses the service data based on the device model.
70
+ *
71
+ * @param {string} model - The device model.
72
+ * @param {Buffer} serviceData - The service data buffer.
73
+ * @param {Buffer} manufacturerData - The manufacturer data buffer.
74
+ * @param {(message: string) => void} [onlog] - A logging function for debugging purposes.
75
+ * @returns {Promise<any>} - The parsed service data.
76
+ */
77
+ static async parseServiceData(model, serviceData, manufacturerData, onlog) {
46
78
  switch (model) {
47
79
  case SwitchBotBLEModel.Bot:
48
- sd = await WoHand.parseServiceData(serviceData, onlog);
49
- break;
80
+ return WoHand.parseServiceData(serviceData, onlog);
50
81
  case SwitchBotBLEModel.Curtain:
51
82
  case SwitchBotBLEModel.Curtain3:
52
- sd = await WoCurtain.parseServiceData(serviceData, manufacturerData, onlog);
53
- break;
83
+ return WoCurtain.parseServiceData(serviceData, manufacturerData, onlog);
54
84
  case SwitchBotBLEModel.Humidifier:
55
- sd = await WoHumi.parseServiceData(serviceData, onlog);
56
- break;
85
+ return WoHumi.parseServiceData(serviceData, onlog);
57
86
  case SwitchBotBLEModel.Meter:
58
- sd = await WoSensorTH.parseServiceData(serviceData, onlog);
59
- break;
87
+ return WoSensorTH.parseServiceData(serviceData, onlog);
60
88
  case SwitchBotBLEModel.MeterPlus:
61
- sd = await WoSensorTH.parseServiceData_Plus(serviceData, onlog);
62
- break;
89
+ return WoSensorTH.parseServiceData_Plus(serviceData, onlog);
63
90
  case SwitchBotBLEModel.Hub2:
64
- sd = await WoHub2.parseServiceData(manufacturerData, onlog);
65
- break;
91
+ return WoHub2.parseServiceData(manufacturerData, onlog);
66
92
  case SwitchBotBLEModel.OutdoorMeter:
67
- sd = await WoIOSensorTH.parseServiceData(serviceData, manufacturerData, onlog);
68
- break;
93
+ return WoIOSensorTH.parseServiceData(serviceData, manufacturerData, onlog);
69
94
  case SwitchBotBLEModel.MotionSensor:
70
- sd = await WoPresence.parseServiceData(serviceData, onlog);
71
- break;
95
+ return WoPresence.parseServiceData(serviceData, onlog);
72
96
  case SwitchBotBLEModel.ContactSensor:
73
- sd = await WoContact.parseServiceData(serviceData, onlog);
74
- break;
97
+ return WoContact.parseServiceData(serviceData, onlog);
75
98
  case SwitchBotBLEModel.ColorBulb:
76
- sd = await WoBulb.parseServiceData(serviceData, manufacturerData, onlog);
77
- break;
99
+ return WoBulb.parseServiceData(serviceData, manufacturerData, onlog);
78
100
  case SwitchBotBLEModel.CeilingLight:
79
- sd = await WoCeilingLight.parseServiceData(manufacturerData, onlog);
80
- break;
101
+ return WoCeilingLight.parseServiceData(manufacturerData, onlog);
81
102
  case SwitchBotBLEModel.CeilingLightPro:
82
- sd = await WoCeilingLight.parseServiceData_Pro(manufacturerData, onlog);
83
- break;
103
+ return WoCeilingLight.parseServiceData_Pro(manufacturerData, onlog);
84
104
  case SwitchBotBLEModel.StripLight:
85
- sd = await WoStrip.parseServiceData(serviceData, onlog);
86
- break;
105
+ return WoStrip.parseServiceData(serviceData, onlog);
87
106
  case SwitchBotBLEModel.PlugMiniUS:
88
- sd = await WoPlugMini.parseServiceData_US(manufacturerData, onlog);
89
- break;
107
+ return WoPlugMini.parseServiceData_US(manufacturerData, onlog);
90
108
  case SwitchBotBLEModel.PlugMiniJP:
91
- sd = await WoPlugMini.parseServiceData_JP(manufacturerData, onlog);
92
- break;
109
+ return WoPlugMini.parseServiceData_JP(manufacturerData, onlog);
93
110
  case SwitchBotBLEModel.Lock:
94
- sd = await WoSmartLock.parseServiceData(serviceData, manufacturerData, onlog);
95
- break;
111
+ return WoSmartLock.parseServiceData(serviceData, manufacturerData, onlog);
96
112
  case SwitchBotBLEModel.LockPro:
97
- sd = await WoSmartLockPro.parseServiceData(serviceData, manufacturerData, onlog);
98
- break;
113
+ return WoSmartLockPro.parseServiceData(serviceData, manufacturerData, onlog);
99
114
  case SwitchBotBLEModel.BlindTilt:
100
- sd = await WoBlindTilt.parseServiceData(serviceData, manufacturerData, onlog);
101
- break;
115
+ return WoBlindTilt.parseServiceData(serviceData, manufacturerData, onlog);
102
116
  default:
103
- if (onlog && typeof onlog === 'function') {
104
- onlog(`[parseAdvertising.${peripheral.id}] return null, model "${model}" not available!`);
105
- }
117
+ onlog?.(`[parseAdvertising.${model}] return null, model "${model}" not available!`);
106
118
  return null;
107
119
  }
108
- if (!sd) {
109
- if (onlog && typeof onlog === 'function') {
110
- onlog(`[parseAdvertising.${peripheral.id}.${model}] return null, parsed serviceData empty!`);
111
- }
112
- return null;
113
- }
120
+ }
121
+ /**
122
+ * Formats the address of the peripheral.
123
+ *
124
+ * @param {Noble.Peripheral} peripheral - The peripheral device object from noble.
125
+ * @returns {string} - The formatted address.
126
+ */
127
+ static formatAddress(peripheral) {
114
128
  let address = peripheral.address || '';
115
129
  if (address === '') {
116
- const str = peripheral.advertisement.manufacturerData
117
- .toString('hex')
118
- .slice(4, 16);
130
+ const str = peripheral.advertisement.manufacturerData?.toString('hex').slice(4, 16) || '';
119
131
  if (str !== '') {
120
- address = str.substring(0, 2);
121
- for (let i = 2; i < str.length; i += 2) {
122
- address = `${address}:${str.substring(i, i + 2)}`;
123
- }
132
+ address = str.match(/.{1,2}/g)?.join(':') || '';
124
133
  }
125
134
  }
126
135
  else {
127
136
  address = address.replace(/-/g, ':');
128
137
  }
129
- const data = {
130
- id: peripheral.id,
131
- address,
132
- rssi: peripheral.rssi,
133
- serviceData: sd,
134
- };
135
- if (onlog && typeof onlog === 'function') {
136
- onlog(`[parseAdvertising.${peripheral.id}.${model}] return ${JSON.stringify(data)}`);
137
- }
138
- return data;
138
+ return address;
139
139
  }
140
140
  }
141
141
  //# sourceMappingURL=advertising.js.map
@@ -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,106 +1,75 @@
1
1
  import { Buffer } from 'node:buffer';
2
2
  import { SwitchbotDevice } from '../device.js';
3
+ /**
4
+ * Class representing a WoBlindTilt device.
5
+ * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/curtain.md
6
+ */
3
7
  export declare class WoBlindTilt extends SwitchbotDevice {
4
8
  private _reverse;
5
9
  /**
6
10
  * Parses the service data and manufacturer data for the WoBlindTilt device.
7
- *
8
11
  * @param {Buffer} serviceData - The service data buffer.
9
12
  * @param {Buffer} manufacturerData - The manufacturer data buffer.
10
13
  * @param {(message: string) => void} [onlog] - Optional logging function.
11
14
  * @param {boolean} [reverse] - Whether to reverse the tilt percentage.
12
- * @returns {object | null} The parsed data object or null if the data is invalid.
15
+ * @returns {Promise<object | null>} - The parsed data object or null if the data is invalid.
13
16
  */
14
- static parseServiceData(serviceData: Buffer, manufacturerData: Buffer, onlog: ((message: string) => void) | undefined, reverse?: boolean): Promise<object | null>;
17
+ static parseServiceData(serviceData: Buffer, manufacturerData: Buffer, onlog?: (message: string) => void, reverse?: boolean): Promise<object | null>;
15
18
  /**
16
- * open
17
- *
18
19
  * Opens the blind tilt to the fully open position.
19
- *
20
- * @returns {Promise<void>} - A promise that resolves when the operation is complete. Nothing will be passed to the `resolve()`.
20
+ * @returns {Promise<void>}
21
21
  */
22
22
  open(): Promise<void>;
23
23
  /**
24
- * closeUp
25
- *
26
24
  * Closes the blind tilt up to the nearest endpoint.
27
- *
28
- * @returns {Promise<void>} - A promise that resolves when the operation is complete. Nothing will be passed to the `resolve()`.
25
+ * @returns {Promise<void>}
29
26
  */
30
27
  closeUp(): Promise<void>;
31
28
  /**
32
- * closeDown
33
- *
34
29
  * Closes the blind tilt down to the nearest endpoint.
35
- *
36
- * @returns {Promise<void>} - A promise that resolves when the operation is complete. Nothing will be passed to the `resolve()`.
30
+ * @returns {Promise<void>}
37
31
  */
38
32
  closeDown(): Promise<void>;
39
33
  /**
40
- * close
41
- *
42
34
  * Closes the blind tilt to the nearest endpoint.
43
- *
44
- * @returns {Promise<void>} - A promise that resolves when the operation is complete. Nothing will be passed to the `resolve()`.
35
+ * @returns {Promise<void>}
45
36
  */
46
37
  close(): Promise<void>;
47
38
  /**
48
- * getPosition
49
- *
50
39
  * Retrieves the current position of the blind tilt.
51
- *
52
- * @returns {number} - The current position of the blind tilt (0-100).
40
+ * @returns {Promise<number>} - The current position of the blind tilt (0-100).
53
41
  */
54
42
  getPosition(): Promise<number>;
55
43
  /**
56
- * _getAdvValue
57
- *
58
44
  * Retrieves the advertised value for a given key.
59
- *
60
45
  * @param {string} key - The key for the advertised value.
61
46
  * @returns {Promise<number>} - The advertised value.
47
+ * @private
62
48
  */
63
49
  private _getAdvValue;
64
50
  /**
65
- * getBasicInfo
66
- *
67
51
  * Retrieves the basic information of the blind tilt.
68
- *
69
- * @returns {Promise<object>} - A promise that resolves to an object containing the basic information of the blind tilt.
52
+ * @returns {Promise<object | null>} - A promise that resolves to an object containing the basic information of the blind tilt.
70
53
  */
71
54
  getBasicInfo(): Promise<object | null>;
72
55
  /**
73
56
  * Pauses the blind tilt operation.
74
- *
75
- * This method sends a command to pause the current operation of the blind tilt.
76
- *
77
- * @returns {Promise<void>} A promise that resolves when the operation is complete.
78
- * No value is passed to the `resolve()` function.
57
+ * @returns {Promise<void>}
79
58
  */
80
59
  pause(): Promise<void>;
81
60
  /**
82
- * runToPos the blind tilt operation.
83
- *
84
- * This method sends a command to run the blind tilt to the specified position.
85
- *
61
+ * Runs the blind tilt to the specified position.
86
62
  * @param {number} percent - The target position percentage (0-100).
87
63
  * @param {number} mode - The running mode (0 or 1).
88
- * @returns {Promise<void>} - A promise that resolves when the operation is complete.
64
+ * @returns {Promise<void>}
89
65
  */
90
66
  runToPos(percent: number, mode: number): Promise<void>;
91
67
  /**
92
68
  * Sends a command to operate the blind tilt and handles the response.
93
- *
94
- * This method constructs a buffer from the provided byte array and sends it as a command to the device.
95
- * It returns a promise that resolves if the device responds with a success code (0x01) and rejects if the device
96
- * returns an error or if the command fails.
97
- *
98
69
  * @param {number[]} bytes - The byte array representing the command to be sent to the device.
99
- * @returns {Promise<void>} A promise that resolves when the command is successfully executed or rejects with an
100
- * error if the command fails.
101
- *
102
- * @throws {Error} Throws an error if the device returns an error code or if the command fails.
70
+ * @returns {Promise<void>}
71
+ * @private
103
72
  */
104
- operateBlindTilt(bytes: number[]): Promise<void>;
73
+ private operateBlindTilt;
105
74
  }
106
75
  //# sourceMappingURL=woblindtilt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"woblindtilt.d.ts","sourceRoot":"","sources":["../../src/device/woblindtilt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAMpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C,qBAAa,WAAY,SAAQ,eAAe;IAC9C,OAAO,CAAC,QAAQ,CAAiB;IACjC;;;;;;;;OAQG;WACU,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,EAC9C,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAkCzB;;;;;;OAMG;IACG,IAAI;IAIV;;;;;;OAMG;IACG,OAAO;IAIb;;;;;;OAMG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC;;;;;;OAMG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5B;;;;;;OAMG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAQpC;;;;;;;OAOG;YACW,YAAY;IAQ1B;;;;;;OAMG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA2C5C;;;;;;;OAOG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;;;;;;;OAQG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB5D;;;;;;;;;;;;OAYG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAavD"}
1
+ {"version":3,"file":"woblindtilt.d.ts","sourceRoot":"","sources":["../../src/device/woblindtilt.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C;;;GAGG;AACH,qBAAa,WAAY,SAAQ,eAAe;IAC9C,OAAO,CAAC,QAAQ,CAAiB;IAEjC;;;;;;;OAOG;WACU,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EACjC,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA6BzB;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5B;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAKpC;;;;;OAKG;YACW,YAAY;IAO1B;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA2C5C;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;;;;OAKG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5D;;;;;OAKG;YACW,gBAAgB;CAO/B"}