node-switchbot 3.6.0-beta.4 → 3.6.0-beta.5

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 (236) hide show
  1. package/dist/device.d.ts +118 -4
  2. package/dist/device.d.ts.map +1 -1
  3. package/dist/device.js +318 -0
  4. package/dist/device.js.map +1 -1
  5. package/dist/types/ble.d.ts +29 -1
  6. package/dist/types/ble.d.ts.map +1 -1
  7. package/dist/types/openapi.d.ts +58 -0
  8. package/dist/types/openapi.d.ts.map +1 -1
  9. package/dist/types/openapi.js.map +1 -1
  10. package/docs/assets/hierarchy.js +1 -1
  11. package/docs/assets/navigation.js +1 -1
  12. package/docs/assets/search.js +1 -1
  13. package/docs/classes/Advertising.html +4 -4
  14. package/docs/classes/ErrorUtils.html +5 -5
  15. package/docs/classes/ParameterChecker.html +10 -10
  16. package/docs/classes/SwitchBotBLE.html +8 -8
  17. package/docs/classes/SwitchBotOpenAPI.html +7 -7
  18. package/docs/classes/SwitchbotDevice.html +12 -12
  19. package/docs/classes/ValidationUtils.html +8 -8
  20. package/docs/classes/WoAirPurifier.html +83 -0
  21. package/docs/classes/WoAirPurifierTable.html +83 -0
  22. package/docs/classes/WoBlindTilt.html +21 -21
  23. package/docs/classes/WoBulb.html +19 -19
  24. package/docs/classes/WoCeilingLight.html +22 -22
  25. package/docs/classes/WoContact.html +13 -13
  26. package/docs/classes/WoCurtain.html +18 -18
  27. package/docs/classes/WoHand.html +18 -18
  28. package/docs/classes/WoHub2.html +13 -13
  29. package/docs/classes/WoHumi.html +20 -20
  30. package/docs/classes/WoHumi2.html +20 -20
  31. package/docs/classes/WoIOSensorTH.html +13 -13
  32. package/docs/classes/WoKeypad.html +13 -13
  33. package/docs/classes/WoLeak.html +13 -13
  34. package/docs/classes/WoPlugMiniJP.html +18 -18
  35. package/docs/classes/WoPlugMiniUS.html +18 -18
  36. package/docs/classes/WoPresence.html +13 -13
  37. package/docs/classes/WoRelaySwitch1.html +15 -15
  38. package/docs/classes/WoRelaySwitch1PM.html +15 -15
  39. package/docs/classes/WoRemote.html +13 -13
  40. package/docs/classes/WoSensorTH.html +12 -12
  41. package/docs/classes/WoSensorTHPlus.html +12 -12
  42. package/docs/classes/WoSensorTHPro.html +12 -12
  43. package/docs/classes/WoSensorTHProCO2.html +12 -12
  44. package/docs/classes/WoSmartLock.html +23 -23
  45. package/docs/classes/WoSmartLockPro.html +23 -23
  46. package/docs/classes/WoStrip.html +20 -20
  47. package/docs/enums/LogLevel.html +2 -2
  48. package/docs/enums/SwitchBotBLEModel.html +4 -2
  49. package/docs/enums/SwitchBotBLEModelFriendlyName.html +8 -2
  50. package/docs/enums/SwitchBotBLEModelName.html +4 -2
  51. package/docs/enums/SwitchBotModel.html +4 -2
  52. package/docs/functions/updateBaseURL.html +1 -1
  53. package/docs/hierarchy.html +1 -1
  54. package/docs/interfaces/AdvertisementData.html +2 -2
  55. package/docs/interfaces/Chars.html +2 -2
  56. package/docs/interfaces/ColorLightServiceDataBase.html +2 -2
  57. package/docs/interfaces/ErrorObject.html +2 -2
  58. package/docs/interfaces/LockBaseServiceData.html +2 -2
  59. package/docs/interfaces/NobleTypes.html +2 -2
  60. package/docs/interfaces/Params.html +2 -2
  61. package/docs/interfaces/PlugMiniServiceDataBase.html +2 -2
  62. package/docs/interfaces/Rule.html +2 -2
  63. package/docs/interfaces/ServiceData.html +2 -2
  64. package/docs/interfaces/SwitchBotBLEDevice.html +4 -2
  65. package/docs/interfaces/SwitchBotScanner.html +3 -3
  66. package/docs/interfaces/TemperatureServiceDataBase.html +2 -2
  67. package/docs/interfaces/WebhookDetail.html +2 -2
  68. package/docs/interfaces/ad.html +2 -2
  69. package/docs/interfaces/body.html +2 -2
  70. package/docs/interfaces/bodyChange.html +2 -2
  71. package/docs/interfaces/deleteWebhookResponse.html +2 -2
  72. package/docs/interfaces/device.html +2 -2
  73. package/docs/interfaces/deviceList.html +2 -2
  74. package/docs/interfaces/deviceStatus.html +2 -2
  75. package/docs/interfaces/deviceStatusRequest.html +2 -2
  76. package/docs/interfaces/deviceWebhook.html +2 -2
  77. package/docs/interfaces/deviceWebhookContext.html +2 -2
  78. package/docs/interfaces/devices.html +2 -2
  79. package/docs/interfaces/infraredRemoteList.html +2 -2
  80. package/docs/interfaces/irdevice.html +2 -2
  81. package/docs/interfaces/pushRequest.html +2 -2
  82. package/docs/interfaces/pushResponse.html +2 -2
  83. package/docs/interfaces/pushResponseBody.html +2 -2
  84. package/docs/interfaces/queryWebhookResponse.html +2 -2
  85. package/docs/interfaces/setupWebhookResponse.html +2 -2
  86. package/docs/interfaces/updateWebhookResponse.html +2 -2
  87. package/docs/interfaces/webhookRequest.html +2 -2
  88. package/docs/modules.html +1 -1
  89. package/docs/types/BLEDeviceServiceData.html +1 -1
  90. package/docs/types/IndoorCam.html +1 -1
  91. package/docs/types/MacAddress.html +1 -1
  92. package/docs/types/airPurifier.html +1 -0
  93. package/docs/types/airPurifierPM25WebhookContext.html +1 -0
  94. package/docs/types/airPurifierServiceData.html +1 -0
  95. package/docs/types/airPurifierStatus.html +1 -0
  96. package/docs/types/airPurifierTable.html +1 -0
  97. package/docs/types/airPurifierTablePM25WebhookContext.html +1 -0
  98. package/docs/types/airPurifierTableServiceData.html +1 -0
  99. package/docs/types/airPurifierTableStatus.html +1 -0
  100. package/docs/types/airPurifierTableVOC.html +1 -0
  101. package/docs/types/airPurifierTableVOCStatus.html +1 -0
  102. package/docs/types/airPurifierTableVOCWebhookContext.html +1 -0
  103. package/docs/types/airPurifierTableWebhookContext.html +1 -0
  104. package/docs/types/airPurifierVOC.html +1 -0
  105. package/docs/types/airPurifierVOCStatus.html +1 -0
  106. package/docs/types/airPurifierVOCWebhookContext.html +1 -0
  107. package/docs/types/airPurifierWebhookContext.html +1 -0
  108. package/docs/types/batteryCirculatorFan.html +1 -1
  109. package/docs/types/batteryCirculatorFanServiceData.html +1 -1
  110. package/docs/types/batteryCirculatorFanStatus.html +1 -1
  111. package/docs/types/batteryCirculatorFanWebhookContext.html +1 -1
  112. package/docs/types/blindTilt.html +1 -1
  113. package/docs/types/blindTiltServiceData.html +1 -1
  114. package/docs/types/blindTiltStatus.html +1 -1
  115. package/docs/types/blindTiltWebhookContext.html +1 -1
  116. package/docs/types/bot.html +1 -1
  117. package/docs/types/botServiceData.html +1 -1
  118. package/docs/types/botStatus.html +1 -1
  119. package/docs/types/botWebhookContext.html +1 -1
  120. package/docs/types/ceilingLight.html +1 -1
  121. package/docs/types/ceilingLightPro.html +1 -1
  122. package/docs/types/ceilingLightProServiceData.html +1 -1
  123. package/docs/types/ceilingLightProStatus.html +1 -1
  124. package/docs/types/ceilingLightProWebhookContext.html +1 -1
  125. package/docs/types/ceilingLightServiceData.html +1 -1
  126. package/docs/types/ceilingLightStatus.html +1 -1
  127. package/docs/types/ceilingLightWebhookContext.html +1 -1
  128. package/docs/types/circulatorFanStatus.html +1 -1
  129. package/docs/types/circulatorFanWebhookContext.html +1 -1
  130. package/docs/types/colorBulb.html +1 -1
  131. package/docs/types/colorBulbServiceData.html +1 -1
  132. package/docs/types/colorBulbStatus.html +1 -1
  133. package/docs/types/colorBulbWebhookContext.html +1 -1
  134. package/docs/types/commandType.html +1 -1
  135. package/docs/types/contactSensor.html +1 -1
  136. package/docs/types/contactSensorServiceData.html +1 -1
  137. package/docs/types/contactSensorStatus.html +1 -1
  138. package/docs/types/contactSensorWebhookContext.html +1 -1
  139. package/docs/types/curtain.html +1 -1
  140. package/docs/types/curtain3.html +1 -1
  141. package/docs/types/curtain3ServiceData.html +1 -1
  142. package/docs/types/curtain3WebhookContext.html +1 -1
  143. package/docs/types/curtainServiceData.html +1 -1
  144. package/docs/types/curtainStatus.html +1 -1
  145. package/docs/types/curtainWebhookContext.html +1 -1
  146. package/docs/types/floorCleaningRobotS10.html +1 -1
  147. package/docs/types/floorCleaningRobotS10Status.html +1 -1
  148. package/docs/types/floorCleaningRobotS10WebhookContext.html +1 -1
  149. package/docs/types/hub2.html +1 -1
  150. package/docs/types/hub2ServiceData.html +1 -1
  151. package/docs/types/hub2Status.html +1 -1
  152. package/docs/types/hub2WebhookContext.html +1 -1
  153. package/docs/types/humidifier.html +1 -1
  154. package/docs/types/humidifier2ServiceData.html +1 -1
  155. package/docs/types/humidifier2Status.html +1 -1
  156. package/docs/types/humidifier2WebhookContext.html +1 -1
  157. package/docs/types/humidifierServiceData.html +1 -1
  158. package/docs/types/humidifierStatus.html +1 -1
  159. package/docs/types/humidifierWebhookContext.html +1 -1
  160. package/docs/types/indoorCameraWebhookContext.html +1 -1
  161. package/docs/types/keypad.html +1 -1
  162. package/docs/types/keypadDetectorServiceData.html +1 -1
  163. package/docs/types/keypadTouch.html +1 -1
  164. package/docs/types/keypadTouchWebhookContext.html +1 -1
  165. package/docs/types/keypadWebhookContext.html +1 -1
  166. package/docs/types/lock.html +1 -1
  167. package/docs/types/lockPro.html +1 -1
  168. package/docs/types/lockProServiceData.html +1 -1
  169. package/docs/types/lockProStatus.html +1 -1
  170. package/docs/types/lockProWebhookContext.html +1 -1
  171. package/docs/types/lockServiceData.html +1 -1
  172. package/docs/types/lockStatus.html +1 -1
  173. package/docs/types/lockWebhookContext.html +1 -1
  174. package/docs/types/meter.html +1 -1
  175. package/docs/types/meterPlus.html +1 -1
  176. package/docs/types/meterPlusServiceData.html +1 -1
  177. package/docs/types/meterPlusStatus.html +1 -1
  178. package/docs/types/meterPlusWebhookContext.html +1 -1
  179. package/docs/types/meterPro.html +1 -1
  180. package/docs/types/meterProCO2ServiceData.html +1 -1
  181. package/docs/types/meterProCO2Status.html +1 -1
  182. package/docs/types/meterProCO2WebhookContext.html +1 -1
  183. package/docs/types/meterProServiceData.html +1 -1
  184. package/docs/types/meterProStatus.html +1 -1
  185. package/docs/types/meterProWebhookContext.html +1 -1
  186. package/docs/types/meterServiceData.html +1 -1
  187. package/docs/types/meterStatus.html +1 -1
  188. package/docs/types/meterWebhookContext.html +1 -1
  189. package/docs/types/motionSensor.html +1 -1
  190. package/docs/types/motionSensorServiceData.html +1 -1
  191. package/docs/types/motionSensorStatus.html +1 -1
  192. package/docs/types/motionSensorWebhookContext.html +1 -1
  193. package/docs/types/onadvertisement.html +1 -1
  194. package/docs/types/ondiscover.html +1 -1
  195. package/docs/types/outdoorMeter.html +1 -1
  196. package/docs/types/outdoorMeterServiceData.html +1 -1
  197. package/docs/types/outdoorMeterStatus.html +1 -1
  198. package/docs/types/outdoorMeterWebhookContext.html +1 -1
  199. package/docs/types/panTiltCamWebhookContext.html +1 -1
  200. package/docs/types/pantiltCam.html +1 -1
  201. package/docs/types/pantiltCam2k.html +1 -1
  202. package/docs/types/plug.html +1 -1
  203. package/docs/types/plugMini.html +1 -1
  204. package/docs/types/plugMiniJPServiceData.html +1 -1
  205. package/docs/types/plugMiniJPWebhookContext.html +1 -1
  206. package/docs/types/plugMiniStatus.html +1 -1
  207. package/docs/types/plugMiniUSServiceData.html +1 -1
  208. package/docs/types/plugMiniUSWebhookContext.html +1 -1
  209. package/docs/types/plugStatus.html +1 -1
  210. package/docs/types/plugWebhookContext.html +1 -1
  211. package/docs/types/relaySwitch1Context.html +1 -1
  212. package/docs/types/relaySwitch1PMContext.html +1 -1
  213. package/docs/types/relaySwitch1PMServiceData.html +1 -1
  214. package/docs/types/relaySwitch1PMStatus.html +1 -1
  215. package/docs/types/relaySwitch1ServiceData.html +1 -1
  216. package/docs/types/relaySwitch1Status.html +1 -1
  217. package/docs/types/remote.html +1 -1
  218. package/docs/types/remoteServiceData.html +1 -1
  219. package/docs/types/robotVacuumCleanerS1.html +1 -1
  220. package/docs/types/robotVacuumCleanerS1Plus.html +1 -1
  221. package/docs/types/robotVacuumCleanerS1PlusStatus.html +1 -1
  222. package/docs/types/robotVacuumCleanerS1PlusWebhookContext.html +1 -1
  223. package/docs/types/robotVacuumCleanerS1Status.html +1 -1
  224. package/docs/types/robotVacuumCleanerS1WebhookContext.html +1 -1
  225. package/docs/types/robotVacuumCleanerServiceData.html +1 -1
  226. package/docs/types/stripLight.html +1 -1
  227. package/docs/types/stripLightServiceData.html +1 -1
  228. package/docs/types/stripLightStatus.html +1 -1
  229. package/docs/types/stripLightWebhookContext.html +1 -1
  230. package/docs/types/waterLeakDetector.html +1 -1
  231. package/docs/types/waterLeakDetectorServiceData.html +1 -1
  232. package/docs/types/waterLeakDetectorStatus.html +1 -1
  233. package/docs/types/waterLeakDetectorWebhookContext.html +1 -1
  234. package/docs/variables/parameterChecker.html +1 -1
  235. package/docs/variables/urls.html +1 -1
  236. package/package.json +1 -1
package/dist/device.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type Noble from '@stoprocent/noble';
2
2
  import type { Characteristic, Peripheral } from '@stoprocent/noble';
3
- import type { batteryCirculatorFanServiceData, blindTiltServiceData, botServiceData, ceilingLightProServiceData, ceilingLightServiceData, colorBulbServiceData, contactSensorServiceData, curtain3ServiceData, curtainServiceData, hub2ServiceData, humidifier2ServiceData, humidifierServiceData, keypadDetectorServiceData, lockProServiceData, lockServiceData, meterPlusServiceData, meterProCO2ServiceData, meterProServiceData, meterServiceData, motionSensorServiceData, outdoorMeterServiceData, plugMiniJPServiceData, plugMiniUSServiceData, relaySwitch1PMServiceData, relaySwitch1ServiceData, remoteServiceData, robotVacuumCleanerServiceData, stripLightServiceData, waterLeakDetectorServiceData } from './types/ble.js';
3
+ import type { airPurifierServiceData, airPurifierTableServiceData, batteryCirculatorFanServiceData, blindTiltServiceData, botServiceData, ceilingLightProServiceData, ceilingLightServiceData, colorBulbServiceData, contactSensorServiceData, curtain3ServiceData, curtainServiceData, hub2ServiceData, humidifier2ServiceData, humidifierServiceData, keypadDetectorServiceData, lockProServiceData, lockServiceData, meterPlusServiceData, meterProCO2ServiceData, meterProServiceData, meterServiceData, motionSensorServiceData, outdoorMeterServiceData, plugMiniJPServiceData, plugMiniUSServiceData, relaySwitch1PMServiceData, relaySwitch1ServiceData, remoteServiceData, robotVacuumCleanerServiceData, stripLightServiceData, waterLeakDetectorServiceData } from './types/ble.js';
4
4
  import { Buffer } from 'node:buffer';
5
5
  import { EventEmitter } from 'node:events';
6
6
  export type MacAddress = string;
@@ -42,6 +42,8 @@ export declare interface SwitchBotBLEDevice {
42
42
  CeilingLightPro: DeviceInfo;
43
43
  BlindTilt: DeviceInfo;
44
44
  Unknown: DeviceInfo;
45
+ AirPurifier: DeviceInfo;
46
+ AirPurifierTable: DeviceInfo;
45
47
  }
46
48
  export declare enum SwitchBotModel {
47
49
  HubMini = "W0202200",
@@ -89,7 +91,9 @@ export declare enum SwitchBotModel {
89
91
  WaterDetector = "W4402000",
90
92
  RelaySwitch1 = "W5502300",
91
93
  RelaySwitch1PM = "W5502310",
92
- Unknown = "Unknown"
94
+ Unknown = "Unknown",
95
+ AirPurifier = "W5302300",
96
+ AirPurifierTable = "W5302310"
93
97
  }
94
98
  export declare enum SwitchBotBLEModel {
95
99
  Bot = "H",
@@ -119,7 +123,9 @@ export declare enum SwitchBotBLEModel {
119
123
  RelaySwitch1 = ";",
120
124
  RelaySwitch1PM = "<",
121
125
  Remote = "b",
122
- Unknown = "Unknown"
126
+ Unknown = "Unknown",
127
+ AirPurifier = "+",
128
+ AirPurifierTable = "7"
123
129
  }
124
130
  export declare enum SwitchBotBLEModelName {
125
131
  Bot = "WoHand",
@@ -148,6 +154,8 @@ export declare enum SwitchBotBLEModelName {
148
154
  RelaySwitch1 = "WoRelaySwitch1Plus",
149
155
  RelaySwitch1PM = "WoRelaySwitch1PM",
150
156
  Remote = "WoRemote",
157
+ AirPurifier = "WoAirPurifier",
158
+ AirPurifierTable = "WoAirPurifierTable",
151
159
  Unknown = "Unknown"
152
160
  }
153
161
  export declare enum SwitchBotBLEModelFriendlyName {
@@ -179,7 +187,13 @@ export declare enum SwitchBotBLEModelFriendlyName {
179
187
  RelaySwitch1 = "Relay Switch 1",
180
188
  RelaySwitch1PM = "Relay Switch 1PM",
181
189
  Remote = "Remote",
182
- Unknown = "Unknown"
190
+ AirPurifier = "Air Purifier",
191
+ AirPurifierTable = "Air Purifier Table",
192
+ Unknown = "Unknown",
193
+ AirPurifierVOC = "Air Purifier VOC",
194
+ AirPurifierTableVOC = "Air Purifier Table VOC",
195
+ AirPurifierPM2_5 = "Air Purifier PM2.5",
196
+ AirPurifierTablePM2_5 = "Air Purifier Table PM2.5"
183
197
  }
184
198
  export interface Params {
185
199
  duration?: number;
@@ -1419,5 +1433,105 @@ export declare class WoStrip extends SwitchbotDevice {
1419
1433
  */
1420
1434
  operateStripLight(bytes: number[]): Promise<boolean>;
1421
1435
  }
1436
+ /**
1437
+ * Class representing a SwitchBot Air Purifier device.
1438
+ * @extends SwitchbotDevice
1439
+ */
1440
+ export declare class WoAirPurifier extends SwitchbotDevice {
1441
+ /**
1442
+ * Parses service data for air purifier devices.
1443
+ * @param {Buffer | null} serviceData - The service data buffer.
1444
+ * @param {Buffer | null} manufacturerData - The manufacturer data buffer.
1445
+ * @param {Function} emitLog - The function to emit log messages.
1446
+ * @returns {airPurifierServiceData | null} - The parsed service data or null.
1447
+ */
1448
+ static parseServiceData(serviceData: Buffer | null, manufacturerData: Buffer | null, emitLog?: (level: string, message: string) => void): airPurifierServiceData | null;
1449
+ /**
1450
+ * Sets the state of the air purifier.
1451
+ * @param {number[]} reqByteArray - The request byte array.
1452
+ * @returns {Promise<boolean>} - Resolves with a boolean indicating whether the operation was successful.
1453
+ * @private
1454
+ */
1455
+ setState(reqByteArray: number[]): Promise<boolean>;
1456
+ /**
1457
+ * Turns the air purifier on.
1458
+ * @returns {Promise<boolean>} - Resolves with true if the air purifier is turned on.
1459
+ */
1460
+ turnOn(): Promise<boolean>;
1461
+ /**
1462
+ * Turns the air purifier off.
1463
+ * @returns {Promise<boolean>} - Resolves with true if the air purifier is turned off.
1464
+ */
1465
+ turnOff(): Promise<boolean>;
1466
+ /**
1467
+ * Sets the speed of the air purifier.
1468
+ * @param {number} speed - The speed value (0-100).
1469
+ * @returns {Promise<boolean>} - Resolves with true if the operation was successful.
1470
+ */
1471
+ setSpeed(speed: number): Promise<boolean>;
1472
+ /**
1473
+ * Sets the mode of the air purifier.
1474
+ * @param {number} mode - The mode value (1-4).
1475
+ * @returns {Promise<boolean>} - Resolves with true if the operation was successful.
1476
+ */
1477
+ setMode(mode: number): Promise<boolean>;
1478
+ /**
1479
+ * Operates the air purifier with the given byte array.
1480
+ * @public
1481
+ * @param {number[]} bytes - The byte array to send.
1482
+ * @returns {Promise<boolean>} - Resolves with true if the operation was successful.
1483
+ */
1484
+ operateAirPurifier(bytes: number[]): Promise<boolean>;
1485
+ }
1486
+ /**
1487
+ * Class representing a SwitchBot Air Purifier Table device.
1488
+ * @extends SwitchbotDevice
1489
+ */
1490
+ export declare class WoAirPurifierTable extends SwitchbotDevice {
1491
+ /**
1492
+ * Parses service data for air purifier table devices.
1493
+ * @param {Buffer | null} serviceData - The service data buffer.
1494
+ * @param {Buffer | null} manufacturerData - The manufacturer data buffer.
1495
+ * @param {Function} emitLog - The function to emit log messages.
1496
+ * @returns {airPurifierTableServiceData | null} - The parsed service data or null.
1497
+ */
1498
+ static parseServiceData(serviceData: Buffer | null, manufacturerData: Buffer | null, emitLog?: (level: string, message: string) => void): airPurifierTableServiceData | null;
1499
+ /**
1500
+ * Sets the state of the air purifier table.
1501
+ * @param {number[]} reqByteArray - The request byte array.
1502
+ * @returns {Promise<boolean>} - Resolves with a boolean indicating whether the operation was successful.
1503
+ * @private
1504
+ */
1505
+ setState(reqByteArray: number[]): Promise<boolean>;
1506
+ /**
1507
+ * Turns the air purifier table on.
1508
+ * @returns {Promise<boolean>} - Resolves with true if the air purifier table is turned on.
1509
+ */
1510
+ turnOn(): Promise<boolean>;
1511
+ /**
1512
+ * Turns the air purifier table off.
1513
+ * @returns {Promise<boolean>} - Resolves with true if the air purifier table is turned off.
1514
+ */
1515
+ turnOff(): Promise<boolean>;
1516
+ /**
1517
+ * Sets the speed of the air purifier table.
1518
+ * @param {number} speed - The speed value (0-100).
1519
+ * @returns {Promise<boolean>} - Resolves with true if the operation was successful.
1520
+ */
1521
+ setSpeed(speed: number): Promise<boolean>;
1522
+ /**
1523
+ * Sets the mode of the air purifier table.
1524
+ * @param {number} mode - The mode value (1-4).
1525
+ * @returns {Promise<boolean>} - Resolves with true if the operation was successful.
1526
+ */
1527
+ setMode(mode: number): Promise<boolean>;
1528
+ /**
1529
+ * Operates the air purifier table with the given byte array.
1530
+ * @public
1531
+ * @param {number[]} bytes - The byte array to send.
1532
+ * @returns {Promise<boolean>} - Resolves with true if the operation was successful.
1533
+ */
1534
+ operateAirPurifierTable(bytes: number[]): Promise<boolean>;
1535
+ }
1422
1536
  export {};
1423
1537
  //# sourceMappingURL=device.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../src/device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../src/device.ts"],"names":[],"mappings":"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"}
package/dist/device.js CHANGED
@@ -31,12 +31,38 @@ const DEVICE_COMMANDS = {
31
31
  SET_AUTO_MODE: '570105',
32
32
  SET_MANUAL_MODE: '570106',
33
33
  },
34
+ AIR_PURIFIER: {
35
+ TURN_ON: [0x57, 0x01, 0x01],
36
+ TURN_OFF: [0x57, 0x01, 0x02],
37
+ SET_MODE: [0x57, 0x02],
38
+ SET_SPEED: [0x57, 0x03],
39
+ },
34
40
  // Common commands used across multiple devices
35
41
  COMMON: {
36
42
  POWER_ON: [0x57, 0x01, 0x01],
37
43
  POWER_OFF: [0x57, 0x01, 0x02],
38
44
  },
39
45
  };
46
+ /**
47
+ * Air quality level constants for air purifier devices.
48
+ */
49
+ const AIR_QUALITY_LEVELS = {
50
+ EXCELLENT: 'excellent',
51
+ GOOD: 'good',
52
+ FAIR: 'fair',
53
+ POOR: 'poor',
54
+ };
55
+ /**
56
+ * Air purifier mode constants.
57
+ */
58
+ const AIR_PURIFIER_MODES = {
59
+ MANUAL: 'manual',
60
+ AUTO: 'auto',
61
+ SLEEP: 'sleep',
62
+ LEVEL_1: 'level_1',
63
+ LEVEL_2: 'level_2',
64
+ LEVEL_3: 'level_3',
65
+ };
40
66
  // Legacy constants for backward compatibility
41
67
  const BLIND_TILT_COMMANDS = DEVICE_COMMANDS.BLIND_TILT;
42
68
  const BULB_COMMANDS = DEVICE_COMMANDS.BULB;
@@ -95,6 +121,8 @@ export var SwitchBotModel;
95
121
  SwitchBotModel["RelaySwitch1"] = "W5502300";
96
122
  SwitchBotModel["RelaySwitch1PM"] = "W5502310";
97
123
  SwitchBotModel["Unknown"] = "Unknown";
124
+ SwitchBotModel["AirPurifier"] = "W5302300";
125
+ SwitchBotModel["AirPurifierTable"] = "W5302310";
98
126
  })(SwitchBotModel || (SwitchBotModel = {}));
99
127
  export var SwitchBotBLEModel;
100
128
  (function (SwitchBotBLEModel) {
@@ -126,6 +154,8 @@ export var SwitchBotBLEModel;
126
154
  SwitchBotBLEModel["RelaySwitch1PM"] = "<";
127
155
  SwitchBotBLEModel["Remote"] = "b";
128
156
  SwitchBotBLEModel["Unknown"] = "Unknown";
157
+ SwitchBotBLEModel["AirPurifier"] = "+";
158
+ SwitchBotBLEModel["AirPurifierTable"] = "7";
129
159
  })(SwitchBotBLEModel || (SwitchBotBLEModel = {}));
130
160
  export var SwitchBotBLEModelName;
131
161
  (function (SwitchBotBLEModelName) {
@@ -155,6 +185,8 @@ export var SwitchBotBLEModelName;
155
185
  SwitchBotBLEModelName["RelaySwitch1"] = "WoRelaySwitch1Plus";
156
186
  SwitchBotBLEModelName["RelaySwitch1PM"] = "WoRelaySwitch1PM";
157
187
  SwitchBotBLEModelName["Remote"] = "WoRemote";
188
+ SwitchBotBLEModelName["AirPurifier"] = "WoAirPurifier";
189
+ SwitchBotBLEModelName["AirPurifierTable"] = "WoAirPurifierTable";
158
190
  SwitchBotBLEModelName["Unknown"] = "Unknown";
159
191
  })(SwitchBotBLEModelName || (SwitchBotBLEModelName = {}));
160
192
  export var SwitchBotBLEModelFriendlyName;
@@ -187,7 +219,13 @@ export var SwitchBotBLEModelFriendlyName;
187
219
  SwitchBotBLEModelFriendlyName["RelaySwitch1"] = "Relay Switch 1";
188
220
  SwitchBotBLEModelFriendlyName["RelaySwitch1PM"] = "Relay Switch 1PM";
189
221
  SwitchBotBLEModelFriendlyName["Remote"] = "Remote";
222
+ SwitchBotBLEModelFriendlyName["AirPurifier"] = "Air Purifier";
223
+ SwitchBotBLEModelFriendlyName["AirPurifierTable"] = "Air Purifier Table";
190
224
  SwitchBotBLEModelFriendlyName["Unknown"] = "Unknown";
225
+ SwitchBotBLEModelFriendlyName["AirPurifierVOC"] = "Air Purifier VOC";
226
+ SwitchBotBLEModelFriendlyName["AirPurifierTableVOC"] = "Air Purifier Table VOC";
227
+ SwitchBotBLEModelFriendlyName["AirPurifierPM2_5"] = "Air Purifier PM2.5";
228
+ SwitchBotBLEModelFriendlyName["AirPurifierTablePM2_5"] = "Air Purifier Table PM2.5";
191
229
  })(SwitchBotBLEModelFriendlyName || (SwitchBotBLEModelFriendlyName = {}));
192
230
  /**
193
231
  * Enum for log levels.
@@ -818,6 +856,10 @@ export class Advertising {
818
856
  return WoHub2.parseServiceData(manufacturerData, emitLog);
819
857
  case SwitchBotBLEModel.OutdoorMeter:
820
858
  return WoIOSensorTH.parseServiceData(serviceData, manufacturerData, emitLog);
859
+ case SwitchBotBLEModel.AirPurifier:
860
+ return WoAirPurifier.parseServiceData(serviceData, manufacturerData, emitLog);
861
+ case SwitchBotBLEModel.AirPurifierTable:
862
+ return WoAirPurifierTable.parseServiceData(serviceData, manufacturerData, emitLog);
821
863
  case SwitchBotBLEModel.MotionSensor:
822
864
  return WoPresence.parseServiceData(serviceData, emitLog);
823
865
  case SwitchBotBLEModel.ContactSensor:
@@ -3061,4 +3103,280 @@ export class WoStrip extends SwitchbotDevice {
3061
3103
  }
3062
3104
  }
3063
3105
  }
3106
+ /**
3107
+ * Class representing a SwitchBot Air Purifier device.
3108
+ * @extends SwitchbotDevice
3109
+ */
3110
+ export class WoAirPurifier extends SwitchbotDevice {
3111
+ /**
3112
+ * Parses service data for air purifier devices.
3113
+ * @param {Buffer | null} serviceData - The service data buffer.
3114
+ * @param {Buffer | null} manufacturerData - The manufacturer data buffer.
3115
+ * @param {Function} emitLog - The function to emit log messages.
3116
+ * @returns {airPurifierServiceData | null} - The parsed service data or null.
3117
+ */
3118
+ static parseServiceData(serviceData, manufacturerData, emitLog) {
3119
+ if (!manufacturerData || manufacturerData.length < 14) {
3120
+ return null;
3121
+ }
3122
+ const deviceData = manufacturerData.subarray(6);
3123
+ if (deviceData.length < 8) {
3124
+ return null;
3125
+ }
3126
+ const sequenceNumber = deviceData[0];
3127
+ const isOn = Boolean(deviceData[1] & 0b10000000);
3128
+ const mode = deviceData[1] & 0b00000111;
3129
+ const isAqiValid = Boolean(deviceData[2] & 0b00000100);
3130
+ const childLock = Boolean(deviceData[2] & 0b00000010);
3131
+ const speed = deviceData[3] & 0b01111111;
3132
+ const aqiLevelRaw = (deviceData[4] & 0b00000110) >> 1;
3133
+ const workTime = (deviceData[5] << 8) | deviceData[6];
3134
+ const errCode = deviceData[7];
3135
+ // Map AQI level to string using the defined constant
3136
+ const aqiLevelValues = [
3137
+ AIR_QUALITY_LEVELS.EXCELLENT,
3138
+ AIR_QUALITY_LEVELS.GOOD,
3139
+ AIR_QUALITY_LEVELS.FAIR,
3140
+ AIR_QUALITY_LEVELS.POOR,
3141
+ ];
3142
+ const aqiLevel = aqiLevelValues[aqiLevelRaw] || 'unknown';
3143
+ // Determine mode based on mode value and speed
3144
+ let modeString = null;
3145
+ if (mode === 1) {
3146
+ if (speed >= 0 && speed <= 33) {
3147
+ modeString = AIR_PURIFIER_MODES.LEVEL_1;
3148
+ }
3149
+ else if (speed >= 34 && speed <= 66) {
3150
+ modeString = AIR_PURIFIER_MODES.LEVEL_2;
3151
+ }
3152
+ else {
3153
+ modeString = AIR_PURIFIER_MODES.LEVEL_3;
3154
+ }
3155
+ }
3156
+ else if (mode > 1 && mode <= 4) {
3157
+ const modeMap = [null, null, 'auto', 'sleep', 'manual'];
3158
+ modeString = modeMap[mode + 2] || null;
3159
+ }
3160
+ if (emitLog) {
3161
+ emitLog('debug', `Air Purifier Service Data: isOn=${isOn}, mode=${modeString}, speed=${speed}, AQI=${aqiLevel}`);
3162
+ }
3163
+ return {
3164
+ model: SwitchBotBLEModel.AirPurifier,
3165
+ modelName: SwitchBotBLEModelName.AirPurifier,
3166
+ modelFriendlyName: SwitchBotBLEModelFriendlyName.AirPurifier,
3167
+ isOn,
3168
+ mode: modeString,
3169
+ isAqiValid,
3170
+ child_lock: childLock,
3171
+ speed,
3172
+ aqi_level: aqiLevel,
3173
+ filter_element_working_time: workTime,
3174
+ err_code: errCode,
3175
+ sequence_number: sequenceNumber,
3176
+ };
3177
+ }
3178
+ /**
3179
+ * Sets the state of the air purifier.
3180
+ * @param {number[]} reqByteArray - The request byte array.
3181
+ * @returns {Promise<boolean>} - Resolves with a boolean indicating whether the operation was successful.
3182
+ * @private
3183
+ */
3184
+ async setState(reqByteArray) {
3185
+ return this.operateAirPurifier(reqByteArray);
3186
+ }
3187
+ /**
3188
+ * Turns the air purifier on.
3189
+ * @returns {Promise<boolean>} - Resolves with true if the air purifier is turned on.
3190
+ */
3191
+ async turnOn() {
3192
+ return this.setState([...DEVICE_COMMANDS.AIR_PURIFIER.TURN_ON]);
3193
+ }
3194
+ /**
3195
+ * Turns the air purifier off.
3196
+ * @returns {Promise<boolean>} - Resolves with true if the air purifier is turned off.
3197
+ */
3198
+ async turnOff() {
3199
+ return this.setState([...DEVICE_COMMANDS.AIR_PURIFIER.TURN_OFF]);
3200
+ }
3201
+ /**
3202
+ * Sets the speed of the air purifier.
3203
+ * @param {number} speed - The speed value (0-100).
3204
+ * @returns {Promise<boolean>} - Resolves with true if the operation was successful.
3205
+ */
3206
+ async setSpeed(speed) {
3207
+ if (typeof speed !== 'number' || speed < 0 || speed > 100) {
3208
+ throw new TypeError(`Invalid speed value: ${speed}`);
3209
+ }
3210
+ return this.setState([...DEVICE_COMMANDS.AIR_PURIFIER.SET_SPEED, speed]);
3211
+ }
3212
+ /**
3213
+ * Sets the mode of the air purifier.
3214
+ * @param {number} mode - The mode value (1-4).
3215
+ * @returns {Promise<boolean>} - Resolves with true if the operation was successful.
3216
+ */
3217
+ async setMode(mode) {
3218
+ if (typeof mode !== 'number' || mode < 1 || mode > 4) {
3219
+ throw new TypeError(`Invalid mode value: ${mode}`);
3220
+ }
3221
+ return this.setState([...DEVICE_COMMANDS.AIR_PURIFIER.SET_MODE, mode]);
3222
+ }
3223
+ /**
3224
+ * Operates the air purifier with the given byte array.
3225
+ * @public
3226
+ * @param {number[]} bytes - The byte array to send.
3227
+ * @returns {Promise<boolean>} - Resolves with true if the operation was successful.
3228
+ */
3229
+ async operateAirPurifier(bytes) {
3230
+ const req_buf = Buffer.from(bytes);
3231
+ const res_buf = await this.command(req_buf);
3232
+ if (res_buf.length !== 2) {
3233
+ throw new Error(`Expecting a 2-byte response, got instead: 0x${res_buf.toString('hex')}`);
3234
+ }
3235
+ const code = res_buf.readUInt8(1);
3236
+ if (code === 0x00 || code === 0x80) {
3237
+ return code === 0x80;
3238
+ }
3239
+ else {
3240
+ throw new Error(`The device returned an error: 0x${res_buf.toString('hex')}`);
3241
+ }
3242
+ }
3243
+ }
3244
+ /**
3245
+ * Class representing a SwitchBot Air Purifier Table device.
3246
+ * @extends SwitchbotDevice
3247
+ */
3248
+ export class WoAirPurifierTable extends SwitchbotDevice {
3249
+ /**
3250
+ * Parses service data for air purifier table devices.
3251
+ * @param {Buffer | null} serviceData - The service data buffer.
3252
+ * @param {Buffer | null} manufacturerData - The manufacturer data buffer.
3253
+ * @param {Function} emitLog - The function to emit log messages.
3254
+ * @returns {airPurifierTableServiceData | null} - The parsed service data or null.
3255
+ */
3256
+ static parseServiceData(serviceData, manufacturerData, emitLog) {
3257
+ if (!manufacturerData || manufacturerData.length < 14) {
3258
+ return null;
3259
+ }
3260
+ const deviceData = manufacturerData.subarray(6);
3261
+ if (deviceData.length < 8) {
3262
+ return null;
3263
+ }
3264
+ const sequenceNumber = deviceData[0];
3265
+ const isOn = Boolean(deviceData[1] & 0b10000000);
3266
+ const mode = deviceData[1] & 0b00000111;
3267
+ const isAqiValid = Boolean(deviceData[2] & 0b00000100);
3268
+ const childLock = Boolean(deviceData[2] & 0b00000010);
3269
+ const speed = deviceData[3] & 0b01111111;
3270
+ const aqiLevelRaw = (deviceData[4] & 0b00000110) >> 1;
3271
+ const workTime = (deviceData[5] << 8) | deviceData[6];
3272
+ const errCode = deviceData[7];
3273
+ // Map AQI level to string using the defined constant
3274
+ const aqiLevelValues = [
3275
+ AIR_QUALITY_LEVELS.EXCELLENT,
3276
+ AIR_QUALITY_LEVELS.GOOD,
3277
+ AIR_QUALITY_LEVELS.FAIR,
3278
+ AIR_QUALITY_LEVELS.POOR,
3279
+ ];
3280
+ const aqiLevel = aqiLevelValues[aqiLevelRaw] || 'unknown';
3281
+ // Determine mode based on mode value and speed
3282
+ let modeString = null;
3283
+ if (mode === 1) {
3284
+ if (speed >= 0 && speed <= 33) {
3285
+ modeString = AIR_PURIFIER_MODES.LEVEL_1;
3286
+ }
3287
+ else if (speed >= 34 && speed <= 66) {
3288
+ modeString = AIR_PURIFIER_MODES.LEVEL_2;
3289
+ }
3290
+ else {
3291
+ modeString = AIR_PURIFIER_MODES.LEVEL_3;
3292
+ }
3293
+ }
3294
+ else if (mode > 1 && mode <= 4) {
3295
+ const modeMap = [null, null, 'auto', 'sleep', 'manual'];
3296
+ modeString = modeMap[mode + 2] || null;
3297
+ }
3298
+ if (emitLog) {
3299
+ emitLog('debug', `Air Purifier Table Service Data: isOn=${isOn}, mode=${modeString}, speed=${speed}, AQI=${aqiLevel}`);
3300
+ }
3301
+ return {
3302
+ model: SwitchBotBLEModel.AirPurifierTable,
3303
+ modelName: SwitchBotBLEModelName.AirPurifierTable,
3304
+ modelFriendlyName: SwitchBotBLEModelFriendlyName.AirPurifierTable,
3305
+ isOn,
3306
+ mode: modeString,
3307
+ isAqiValid,
3308
+ child_lock: childLock,
3309
+ speed,
3310
+ aqi_level: aqiLevel,
3311
+ filter_element_working_time: workTime,
3312
+ err_code: errCode,
3313
+ sequence_number: sequenceNumber,
3314
+ };
3315
+ }
3316
+ /**
3317
+ * Sets the state of the air purifier table.
3318
+ * @param {number[]} reqByteArray - The request byte array.
3319
+ * @returns {Promise<boolean>} - Resolves with a boolean indicating whether the operation was successful.
3320
+ * @private
3321
+ */
3322
+ async setState(reqByteArray) {
3323
+ return this.operateAirPurifierTable(reqByteArray);
3324
+ }
3325
+ /**
3326
+ * Turns the air purifier table on.
3327
+ * @returns {Promise<boolean>} - Resolves with true if the air purifier table is turned on.
3328
+ */
3329
+ async turnOn() {
3330
+ return this.setState([...DEVICE_COMMANDS.AIR_PURIFIER.TURN_ON]);
3331
+ }
3332
+ /**
3333
+ * Turns the air purifier table off.
3334
+ * @returns {Promise<boolean>} - Resolves with true if the air purifier table is turned off.
3335
+ */
3336
+ async turnOff() {
3337
+ return this.setState([...DEVICE_COMMANDS.AIR_PURIFIER.TURN_OFF]);
3338
+ }
3339
+ /**
3340
+ * Sets the speed of the air purifier table.
3341
+ * @param {number} speed - The speed value (0-100).
3342
+ * @returns {Promise<boolean>} - Resolves with true if the operation was successful.
3343
+ */
3344
+ async setSpeed(speed) {
3345
+ if (typeof speed !== 'number' || speed < 0 || speed > 100) {
3346
+ throw new TypeError(`Invalid speed value: ${speed}`);
3347
+ }
3348
+ return this.setState([...DEVICE_COMMANDS.AIR_PURIFIER.SET_SPEED, speed]);
3349
+ }
3350
+ /**
3351
+ * Sets the mode of the air purifier table.
3352
+ * @param {number} mode - The mode value (1-4).
3353
+ * @returns {Promise<boolean>} - Resolves with true if the operation was successful.
3354
+ */
3355
+ async setMode(mode) {
3356
+ if (typeof mode !== 'number' || mode < 1 || mode > 4) {
3357
+ throw new TypeError(`Invalid mode value: ${mode}`);
3358
+ }
3359
+ return this.setState([...DEVICE_COMMANDS.AIR_PURIFIER.SET_MODE, mode]);
3360
+ }
3361
+ /**
3362
+ * Operates the air purifier table with the given byte array.
3363
+ * @public
3364
+ * @param {number[]} bytes - The byte array to send.
3365
+ * @returns {Promise<boolean>} - Resolves with true if the operation was successful.
3366
+ */
3367
+ async operateAirPurifierTable(bytes) {
3368
+ const req_buf = Buffer.from(bytes);
3369
+ const res_buf = await this.command(req_buf);
3370
+ if (res_buf.length !== 2) {
3371
+ throw new Error(`Expecting a 2-byte response, got instead: 0x${res_buf.toString('hex')}`);
3372
+ }
3373
+ const code = res_buf.readUInt8(1);
3374
+ if (code === 0x00 || code === 0x80) {
3375
+ return code === 0x80;
3376
+ }
3377
+ else {
3378
+ throw new Error(`The device returned an error: 0x${res_buf.toString('hex')}`);
3379
+ }
3380
+ }
3381
+ }
3064
3382
  //# sourceMappingURL=device.js.map