node-switchbot 3.6.0-beta.8 → 3.6.0

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 (238) hide show
  1. package/.github/copilot-instructions.md +165 -0
  2. package/CHANGELOG.md +5 -1
  3. package/dist/device.d.ts +21 -2
  4. package/dist/device.d.ts.map +1 -1
  5. package/dist/device.js +43 -0
  6. package/dist/device.js.map +1 -1
  7. package/dist/types/ble.d.ts +11 -1
  8. package/dist/types/ble.d.ts.map +1 -1
  9. package/docs/assets/hierarchy.js +1 -1
  10. package/docs/assets/navigation.js +1 -1
  11. package/docs/assets/search.js +1 -1
  12. package/docs/classes/Advertising.html +4 -4
  13. package/docs/classes/ErrorUtils.html +5 -5
  14. package/docs/classes/ParameterChecker.html +10 -10
  15. package/docs/classes/SwitchBotBLE.html +8 -8
  16. package/docs/classes/SwitchBotOpenAPI.html +7 -7
  17. package/docs/classes/SwitchbotDevice.html +12 -12
  18. package/docs/classes/ValidationUtils.html +8 -8
  19. package/docs/classes/WoAirPurifier.html +18 -18
  20. package/docs/classes/WoAirPurifierTable.html +18 -18
  21. package/docs/classes/WoBlindTilt.html +21 -21
  22. package/docs/classes/WoBulb.html +19 -19
  23. package/docs/classes/WoCeilingLight.html +22 -22
  24. package/docs/classes/WoContact.html +13 -13
  25. package/docs/classes/WoCurtain.html +18 -18
  26. package/docs/classes/WoHand.html +18 -18
  27. package/docs/classes/WoHub2.html +13 -13
  28. package/docs/classes/WoHub3.html +52 -0
  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 +3 -2
  49. package/docs/enums/SwitchBotBLEModelFriendlyName.html +3 -2
  50. package/docs/enums/SwitchBotBLEModelName.html +3 -2
  51. package/docs/enums/SwitchBotModel.html +3 -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 +3 -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 -1
  93. package/docs/types/airPurifierPM25WebhookContext.html +1 -1
  94. package/docs/types/airPurifierServiceData.html +1 -1
  95. package/docs/types/airPurifierStatus.html +1 -1
  96. package/docs/types/airPurifierTable.html +1 -1
  97. package/docs/types/airPurifierTablePM25WebhookContext.html +1 -1
  98. package/docs/types/airPurifierTableServiceData.html +1 -1
  99. package/docs/types/airPurifierTableStatus.html +1 -1
  100. package/docs/types/airPurifierTableVOC.html +1 -1
  101. package/docs/types/airPurifierTableVOCStatus.html +1 -1
  102. package/docs/types/airPurifierTableVOCWebhookContext.html +1 -1
  103. package/docs/types/airPurifierTableWebhookContext.html +1 -1
  104. package/docs/types/airPurifierVOC.html +1 -1
  105. package/docs/types/airPurifierVOCStatus.html +1 -1
  106. package/docs/types/airPurifierVOCWebhookContext.html +1 -1
  107. package/docs/types/airPurifierWebhookContext.html +1 -1
  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/hub3ServiceData.html +1 -0
  154. package/docs/types/humidifier.html +1 -1
  155. package/docs/types/humidifier2ServiceData.html +1 -1
  156. package/docs/types/humidifier2Status.html +1 -1
  157. package/docs/types/humidifier2WebhookContext.html +1 -1
  158. package/docs/types/humidifierServiceData.html +1 -1
  159. package/docs/types/humidifierStatus.html +1 -1
  160. package/docs/types/humidifierWebhookContext.html +1 -1
  161. package/docs/types/indoorCameraWebhookContext.html +1 -1
  162. package/docs/types/keypad.html +1 -1
  163. package/docs/types/keypadDetectorServiceData.html +1 -1
  164. package/docs/types/keypadTouch.html +1 -1
  165. package/docs/types/keypadTouchWebhookContext.html +1 -1
  166. package/docs/types/keypadWebhookContext.html +1 -1
  167. package/docs/types/lock.html +1 -1
  168. package/docs/types/lockPro.html +1 -1
  169. package/docs/types/lockProServiceData.html +1 -1
  170. package/docs/types/lockProStatus.html +1 -1
  171. package/docs/types/lockProWebhookContext.html +1 -1
  172. package/docs/types/lockServiceData.html +1 -1
  173. package/docs/types/lockStatus.html +1 -1
  174. package/docs/types/lockWebhookContext.html +1 -1
  175. package/docs/types/meter.html +1 -1
  176. package/docs/types/meterPlus.html +1 -1
  177. package/docs/types/meterPlusServiceData.html +1 -1
  178. package/docs/types/meterPlusStatus.html +1 -1
  179. package/docs/types/meterPlusWebhookContext.html +1 -1
  180. package/docs/types/meterPro.html +1 -1
  181. package/docs/types/meterProCO2ServiceData.html +1 -1
  182. package/docs/types/meterProCO2Status.html +1 -1
  183. package/docs/types/meterProCO2WebhookContext.html +1 -1
  184. package/docs/types/meterProServiceData.html +1 -1
  185. package/docs/types/meterProStatus.html +1 -1
  186. package/docs/types/meterProWebhookContext.html +1 -1
  187. package/docs/types/meterServiceData.html +1 -1
  188. package/docs/types/meterStatus.html +1 -1
  189. package/docs/types/meterWebhookContext.html +1 -1
  190. package/docs/types/motionSensor.html +1 -1
  191. package/docs/types/motionSensorServiceData.html +1 -1
  192. package/docs/types/motionSensorStatus.html +1 -1
  193. package/docs/types/motionSensorWebhookContext.html +1 -1
  194. package/docs/types/onadvertisement.html +1 -1
  195. package/docs/types/ondiscover.html +1 -1
  196. package/docs/types/outdoorMeter.html +1 -1
  197. package/docs/types/outdoorMeterServiceData.html +1 -1
  198. package/docs/types/outdoorMeterStatus.html +1 -1
  199. package/docs/types/outdoorMeterWebhookContext.html +1 -1
  200. package/docs/types/panTiltCamWebhookContext.html +1 -1
  201. package/docs/types/pantiltCam.html +1 -1
  202. package/docs/types/pantiltCam2k.html +1 -1
  203. package/docs/types/plug.html +1 -1
  204. package/docs/types/plugMini.html +1 -1
  205. package/docs/types/plugMiniJPServiceData.html +1 -1
  206. package/docs/types/plugMiniJPWebhookContext.html +1 -1
  207. package/docs/types/plugMiniStatus.html +1 -1
  208. package/docs/types/plugMiniUSServiceData.html +1 -1
  209. package/docs/types/plugMiniUSWebhookContext.html +1 -1
  210. package/docs/types/plugStatus.html +1 -1
  211. package/docs/types/plugWebhookContext.html +1 -1
  212. package/docs/types/relaySwitch1Context.html +1 -1
  213. package/docs/types/relaySwitch1PMContext.html +1 -1
  214. package/docs/types/relaySwitch1PMServiceData.html +1 -1
  215. package/docs/types/relaySwitch1PMStatus.html +1 -1
  216. package/docs/types/relaySwitch1ServiceData.html +1 -1
  217. package/docs/types/relaySwitch1Status.html +1 -1
  218. package/docs/types/remote.html +1 -1
  219. package/docs/types/remoteServiceData.html +1 -1
  220. package/docs/types/robotVacuumCleanerS1.html +1 -1
  221. package/docs/types/robotVacuumCleanerS1Plus.html +1 -1
  222. package/docs/types/robotVacuumCleanerS1PlusStatus.html +1 -1
  223. package/docs/types/robotVacuumCleanerS1PlusWebhookContext.html +1 -1
  224. package/docs/types/robotVacuumCleanerS1Status.html +1 -1
  225. package/docs/types/robotVacuumCleanerS1WebhookContext.html +1 -1
  226. package/docs/types/robotVacuumCleanerServiceData.html +1 -1
  227. package/docs/types/stripLight.html +1 -1
  228. package/docs/types/stripLightServiceData.html +1 -1
  229. package/docs/types/stripLightStatus.html +1 -1
  230. package/docs/types/stripLightWebhookContext.html +1 -1
  231. package/docs/types/waterLeakDetector.html +1 -1
  232. package/docs/types/waterLeakDetectorServiceData.html +1 -1
  233. package/docs/types/waterLeakDetectorStatus.html +1 -1
  234. package/docs/types/waterLeakDetectorWebhookContext.html +1 -1
  235. package/docs/variables/parameterChecker.html +1 -1
  236. package/docs/variables/urls.html +1 -1
  237. package/package.json +6 -6
  238. package/.github/npm-version-script-esm.js +0 -97
@@ -0,0 +1,165 @@
1
+ # Node-SwitchBot Development Instructions
2
+
3
+ Always reference these instructions first and fallback to search or bash commands only when you encounter unexpected information that does not match the info here.
4
+
5
+ ## Working Effectively
6
+
7
+ ### Bootstrap and Setup
8
+ - Install Node.js (^20 || ^22 || ^24): Use the existing version if available
9
+ - Install dependencies: `npm install` -- takes ~5-25 seconds (varies by cache). **NEVER CANCEL**
10
+ - Build the project: `npm run build` -- takes ~5 seconds. **NEVER CANCEL**
11
+ - Run tests: `npm run test` -- takes ~1 second with 12 tests. **NEVER CANCEL**
12
+
13
+ ### Development Workflow
14
+ - **ALWAYS run these commands in order when starting work:**
15
+ 1. `npm install`
16
+ 2. `npm run build`
17
+ 3. `npm run test`
18
+ 4. `npm run lint`
19
+ - **Build and validate EVERY change**: After any code modification, always run `npm run build && npm run test && npm run lint`
20
+ - **NEVER skip linting**: Run `npm run lint` before committing or the CI (.github/workflows/build.yml) will fail
21
+ - **Use lint:fix for automatic fixes**: `npm run lint:fix` to automatically fix ESLint issues
22
+
23
+ ### Platform Requirements and Constraints
24
+ - **BLE functionality requires Linux-based OS only** (Raspbian, Ubuntu, etc.)
25
+ - **Windows and macOS are NOT supported** for BLE operations (use OpenAPI instead)
26
+ - **Node.js versions**: Must use ^20, ^22, or ^24 (currently using v20.19.4)
27
+ - **ES Modules**: This project uses `"type": "module"` - always use ES import/export syntax
28
+
29
+ ### Testing and Validation
30
+ - **Basic functionality test**: After any changes to core classes, run this validation:
31
+ ```javascript
32
+ const { SwitchBotBLE, SwitchBotOpenAPI } = require('./dist/index.js');
33
+ const ble = new SwitchBotBLE(); // Should not throw
34
+ const api = new SwitchBotOpenAPI('test', 'test'); // Should not throw
35
+ ```
36
+ - **Complete test suite**: `npm run test` (12 tests) -- should always pass before committing
37
+ - **Test coverage**: `npm run test-coverage` to see coverage report (~15% coverage is normal)
38
+ - **Documentation generation**: `npm run docs` generates TypeDoc documentation in ./docs/
39
+
40
+ ### Build and Timing Expectations
41
+ - **npm install**: ~5-25 seconds (varies by cache) -- **NEVER CANCEL**. Set timeout to 5+ minutes for safety
42
+ - **npm run build**: ~5 seconds -- **NEVER CANCEL**. Set timeout to 2+ minutes for safety
43
+ - **npm run test**: ~1 second (12 tests) -- **NEVER CANCEL**. Set timeout to 2+ minutes for safety
44
+ - **npm run lint**: ~3 seconds -- **NEVER CANCEL**. Set timeout to 2+ minutes for safety
45
+ - **npm run docs**: ~2 seconds -- **NEVER CANCEL**. Set timeout to 2+ minutes for safety
46
+
47
+ ## Project Structure and Key Files
48
+
49
+ ### Source Code Organization
50
+ - **src/index.ts**: Main export file - exports SwitchBotBLE, SwitchBotOpenAPI, and device classes
51
+ - **src/switchbot-ble.ts**: Bluetooth Low Energy interface for direct device control
52
+ - **src/switchbot-openapi.ts**: HTTP API interface for cloud-based SwitchBot control
53
+ - **src/device.ts**: Individual device classes (WoHand, WoCurtain, WoSmartLock, etc.)
54
+ - **src/types/**: TypeScript type definitions for all device interfaces
55
+ - **src/settings.ts**: Configuration constants and API URLs
56
+ - **dist/**: Compiled JavaScript output (generated by `npm run build`)
57
+
58
+ ### Configuration Files
59
+ - **package.json**: Main project config - scripts, dependencies, ES module config
60
+ - **tsconfig.json**: TypeScript compilation settings (target: ES2022, module: ES2022)
61
+ - **eslint.config.js**: ESLint configuration using @antfu/eslint-config
62
+ - **jest.config.js**: Test configuration (uses Vitest, not Jest)
63
+ - **.gitignore**: Excludes dist/, node_modules/, coverage/, and build artifacts
64
+
65
+ ### Documentation
66
+ - **README.md**: Main project documentation and installation instructions
67
+ - **BLE.md**: Comprehensive BLE usage documentation and device examples
68
+ - **OpenAPI.md**: OpenAPI usage documentation and authentication setup
69
+ - **CHANGELOG.md**: Version history and release notes
70
+ - **docs/**: Generated TypeDoc API documentation (HTML format)
71
+
72
+ ## Common Development Tasks
73
+
74
+ ### Adding New Device Support
75
+ - **Add device class**: Create new class in src/device.ts extending SwitchbotDevice
76
+ - **Update exports**: Add export to src/index.ts
77
+ - **Add type definitions**: Create types in src/types/ if needed
78
+ - **Test basic instantiation**: Ensure the device class can be imported and instantiated
79
+ - **Always run full build and test cycle**: `npm run build && npm run test && npm run lint`
80
+
81
+ ### API Changes and Extensions
82
+ - **OpenAPI changes**: Modify src/switchbot-openapi.ts
83
+ - **BLE changes**: Modify src/switchbot-ble.ts
84
+ - **Update type definitions**: Modify corresponding files in src/types/
85
+ - **Always verify exports**: Check that new functionality is exported in src/index.ts
86
+ - **Test import functionality**: Verify new exports can be imported correctly
87
+
88
+ ### Working with Dependencies
89
+ - **Noble (BLE)**: @stoprocent/noble for Bluetooth functionality - Linux only
90
+ - **HTTP requests**: Uses undici for HTTP calls (not axios or fetch)
91
+ - **Async operations**: Uses async-mutex for concurrency control
92
+ - **Adding dependencies**: Use `npm install --save` for runtime deps, `--save-dev` for dev deps
93
+
94
+ ## Validation and Quality Assurance
95
+
96
+ ### Pre-commit Checklist
97
+ 1. **Build succeeds**: `npm run build` completes without errors
98
+ 2. **All tests pass**: `npm run test` shows all 12 tests passing
99
+ 3. **Linting passes**: `npm run lint` shows no errors
100
+ 4. **Documentation builds**: `npm run docs` generates without warnings
101
+ 5. **Basic import works**: Can import and instantiate main classes
102
+
103
+ ### Manual Testing Scenarios
104
+ - **SwitchBotBLE instantiation**: `new SwitchBotBLE()` should not throw errors
105
+ - **SwitchBotOpenAPI instantiation**: `new SwitchBotOpenAPI('token', 'secret')` should not throw
106
+ - **Module exports**: All exported classes should be importable from main package
107
+ - **TypeScript compilation**: No TypeScript errors in dist/ output
108
+ - **Documentation completeness**: Check that new public APIs appear in generated docs
109
+
110
+ ### CI/CD Integration
111
+ - **GitHub Actions**: Build runs on push to 'latest' branch and PRs
112
+ - **External workflows**: Uses OpenWonderLabs/.github/.github/workflows/nodejs-build-and-test.yml
113
+ - **Required checks**: Build, test, and lint must all pass
114
+ - **Coverage reporting**: Test coverage is tracked and reported
115
+
116
+ ## Troubleshooting Common Issues
117
+
118
+ ### BLE Not Working
119
+ - **Check OS**: BLE only works on Linux-based systems
120
+ - **Install noble prerequisites**: May need additional system libraries for @stoprocent/noble
121
+ - **Use OpenAPI instead**: For Windows/macOS development, use SwitchBotOpenAPI class
122
+
123
+ ### Build Failures
124
+ - **Check Node.js version**: Must be ^20, ^22, or ^24
125
+ - **Clean and rebuild**: `npm run clean && npm install && npm run build`
126
+ - **TypeScript errors**: Check tsconfig.json settings and type definitions
127
+
128
+ ### Test Failures
129
+ - **Run individual tests**: Use `npm run test:watch` for interactive testing
130
+ - **Check imports**: Ensure all imports use correct ES module syntax
131
+ - **Verify exports**: Check that src/index.ts exports all necessary components
132
+
133
+ ### Linting Errors
134
+ - **Auto-fix**: Use `npm run lint:fix` to automatically fix many issues
135
+ - **ESLint config**: Review eslint.config.js for current rules
136
+ - **Import sorting**: ESLint enforces specific import order - use lint:fix
137
+
138
+ ## Frequently Referenced Information
139
+
140
+ ### Package Scripts (from package.json)
141
+ ```bash
142
+ npm run build # Clean and compile TypeScript
143
+ npm run test # Run test suite with Vitest
144
+ npm run lint # Run ESLint on src/**/*.ts
145
+ npm run lint:fix # Auto-fix ESLint issues
146
+ npm run docs # Generate TypeDoc documentation
147
+ npm run clean # Remove dist/ directory
148
+ npm run watch # Build and link for development
149
+ ```
150
+
151
+ ### Main Exports (from src/index.ts)
152
+ - **SwitchBotBLE**: Bluetooth interface class
153
+ - **SwitchBotOpenAPI**: HTTP API interface class
154
+ - **SwitchbotDevice**: Base device class
155
+ - **Device classes**: WoHand, WoCurtain, WoSmartLock, etc.
156
+ - **Type definitions**: All device status and response types
157
+
158
+ ### Dependencies Summary
159
+ - **@stoprocent/noble**: BLE functionality (Linux only)
160
+ - **undici**: HTTP client for API requests
161
+ - **async-mutex**: Concurrency control
162
+ - **TypeScript**: Language and compilation
163
+ - **Vitest**: Testing framework
164
+ - **ESLint**: Code linting with @antfu/eslint-config
165
+ - **TypeDoc**: API documentation generation
package/CHANGELOG.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. This project uses [Semantic Versioning](https://semver.org/)
4
4
 
5
- ## [3.6.0](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v3.6.0) (2025-07-27)
5
+ ## [3.6.0](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v3.6.0) (2025-08-27)
6
6
 
7
7
  ### What's Changed
8
8
  - Housekeeping and update dependencies
@@ -18,6 +18,10 @@ All notable changes to this project will be documented in this file. This projec
18
18
  - **Fix**: Enhanced NobleTypes interface to properly support newer noble version
19
19
  - **Code Quality**: Improved JSDoc documentation throughout device classes
20
20
  - **Code Quality**: Standardized validation across all device classes
21
+ - **Docs**: Updated BLE.md and OpenAPI.md for new validation and error handling features
22
+ - **Internal**: Refactored device instantiation logic for consistency
23
+ - **Internal**: Improved test coverage for validation utilities and error scenarios
24
+ - **Chore**: Synced package scripts and documentation with latest development workflow
21
25
 
22
26
  **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v3.5.1...v3.6.0
23
27
 
package/dist/device.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Characteristic, Noble, Peripheral } from '@stoprocent/noble';
2
- 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';
2
+ import type { airPurifierServiceData, airPurifierTableServiceData, batteryCirculatorFanServiceData, blindTiltServiceData, botServiceData, ceilingLightProServiceData, ceilingLightServiceData, colorBulbServiceData, contactSensorServiceData, curtain3ServiceData, curtainServiceData, hub2ServiceData, hub3ServiceData, humidifier2ServiceData, humidifierServiceData, keypadDetectorServiceData, lockProServiceData, lockServiceData, meterPlusServiceData, meterProCO2ServiceData, meterProServiceData, meterServiceData, motionSensorServiceData, outdoorMeterServiceData, plugMiniJPServiceData, plugMiniUSServiceData, relaySwitch1PMServiceData, relaySwitch1ServiceData, remoteServiceData, robotVacuumCleanerServiceData, stripLightServiceData, waterLeakDetectorServiceData } from './types/ble.js';
3
3
  import { Buffer } from 'node:buffer';
4
4
  import { EventEmitter } from 'node:events';
5
5
  export type MacAddress = string;
@@ -7,7 +7,7 @@ export interface ad {
7
7
  id: string;
8
8
  address: string;
9
9
  rssi: number;
10
- serviceData: botServiceData | colorBulbServiceData | contactSensorServiceData | curtainServiceData | curtain3ServiceData | stripLightServiceData | ServiceData | lockProServiceData | ServiceData | meterPlusServiceData | meterProServiceData | meterProCO2ServiceData | motionSensorServiceData | outdoorMeterServiceData | plugMiniUSServiceData | plugMiniJPServiceData | blindTiltServiceData | ceilingLightServiceData | ceilingLightProServiceData | hub2ServiceData | batteryCirculatorFanServiceData | waterLeakDetectorServiceData | humidifierServiceData | humidifier2ServiceData | robotVacuumCleanerServiceData | keypadDetectorServiceData | relaySwitch1PMServiceData | relaySwitch1ServiceData | remoteServiceData;
10
+ serviceData: airPurifierServiceData | airPurifierTableServiceData | botServiceData | colorBulbServiceData | contactSensorServiceData | curtainServiceData | curtain3ServiceData | stripLightServiceData | lockServiceData | lockProServiceData | meterServiceData | meterPlusServiceData | meterProServiceData | meterProCO2ServiceData | motionSensorServiceData | outdoorMeterServiceData | plugMiniUSServiceData | plugMiniJPServiceData | blindTiltServiceData | ceilingLightServiceData | ceilingLightProServiceData | hub2ServiceData | hub3ServiceData | batteryCirculatorFanServiceData | waterLeakDetectorServiceData | humidifierServiceData | humidifier2ServiceData | robotVacuumCleanerServiceData | keypadDetectorServiceData | relaySwitch1PMServiceData | relaySwitch1ServiceData | remoteServiceData;
11
11
  [key: string]: unknown;
12
12
  }
13
13
  export type ondiscover = (device: SwitchbotDevice) => Promise<void> | void;
@@ -28,6 +28,7 @@ export declare interface SwitchBotBLEDevice {
28
28
  MeterPro: DeviceInfo;
29
29
  MeterProCO2: DeviceInfo;
30
30
  Hub2: DeviceInfo;
31
+ Hub3: DeviceInfo;
31
32
  OutdoorMeter: DeviceInfo;
32
33
  MotionSensor: DeviceInfo;
33
34
  ContactSensor: DeviceInfo;
@@ -48,6 +49,7 @@ export declare enum SwitchBotModel {
48
49
  HubMini = "W0202200",
49
50
  HubPlus = "SwitchBot Hub S1",
50
51
  Hub2 = "W3202100",
52
+ Hub3 = "W3302100",
51
53
  Bot = "SwitchBot S1",
52
54
  Curtain = "W0701600",
53
55
  Curtain3 = "W2400000",
@@ -105,6 +107,7 @@ export declare enum SwitchBotBLEModel {
105
107
  MeterPro = "4",
106
108
  MeterProCO2 = "5",
107
109
  Hub2 = "v",
110
+ Hub3 = "V",
108
111
  OutdoorMeter = "w",
109
112
  MotionSensor = "s",
110
113
  ContactSensor = "d",
@@ -129,6 +132,7 @@ export declare enum SwitchBotBLEModel {
129
132
  export declare enum SwitchBotBLEModelName {
130
133
  Bot = "WoHand",
131
134
  Hub2 = "WoHub2",
135
+ Hub3 = "WoHub3",
132
136
  ColorBulb = "WoBulb",
133
137
  Curtain = "WoCurtain",
134
138
  Curtain3 = "WoCurtain3",
@@ -160,6 +164,7 @@ export declare enum SwitchBotBLEModelName {
160
164
  export declare enum SwitchBotBLEModelFriendlyName {
161
165
  Bot = "Bot",
162
166
  Hub2 = "Hub 2",
167
+ Hub3 = "Hub 3",
163
168
  ColorBulb = "Color Bulb",
164
169
  Curtain = "Curtain",
165
170
  Curtain3 = "Curtain 3",
@@ -837,6 +842,20 @@ export declare class WoHub2 extends SwitchbotDevice {
837
842
  static parseServiceData(manufacturerData: Buffer, emitLog: (level: string, message: string) => void): Promise<hub2ServiceData | null>;
838
843
  constructor(peripheral: NobleTypes['peripheral'], noble: NobleTypes['noble']);
839
844
  }
845
+ /**
846
+ * Class representing a WoHub3 device.
847
+ * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/meter.md
848
+ */
849
+ export declare class WoHub3 extends SwitchbotDevice {
850
+ /**
851
+ * Parses the service data for WoHub3.
852
+ * @param {Buffer} manufacturerData - The manufacturer data buffer.
853
+ * @param {Function} emitLog - The function to emit log messages.
854
+ * @returns {Promise<hub3ServiceData | null>} - Parsed service data or null if invalid.
855
+ */
856
+ static parseServiceData(manufacturerData: Buffer, emitLog: (level: string, message: string) => void): Promise<hub3ServiceData | null>;
857
+ constructor(peripheral: NobleTypes['peripheral'], noble: NobleTypes['noble']);
858
+ }
840
859
  /**
841
860
  * Class representing a WoHumi device.
842
861
  * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/tree/latest/devicetypes
@@ -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
@@ -78,6 +78,7 @@ export var SwitchBotModel;
78
78
  SwitchBotModel["HubMini"] = "W0202200";
79
79
  SwitchBotModel["HubPlus"] = "SwitchBot Hub S1";
80
80
  SwitchBotModel["Hub2"] = "W3202100";
81
+ SwitchBotModel["Hub3"] = "W3302100";
81
82
  SwitchBotModel["Bot"] = "SwitchBot S1";
82
83
  SwitchBotModel["Curtain"] = "W0701600";
83
84
  SwitchBotModel["Curtain3"] = "W2400000";
@@ -136,6 +137,7 @@ export var SwitchBotBLEModel;
136
137
  SwitchBotBLEModel["MeterPro"] = "4";
137
138
  SwitchBotBLEModel["MeterProCO2"] = "5";
138
139
  SwitchBotBLEModel["Hub2"] = "v";
140
+ SwitchBotBLEModel["Hub3"] = "V";
139
141
  SwitchBotBLEModel["OutdoorMeter"] = "w";
140
142
  SwitchBotBLEModel["MotionSensor"] = "s";
141
143
  SwitchBotBLEModel["ContactSensor"] = "d";
@@ -161,6 +163,7 @@ export var SwitchBotBLEModelName;
161
163
  (function (SwitchBotBLEModelName) {
162
164
  SwitchBotBLEModelName["Bot"] = "WoHand";
163
165
  SwitchBotBLEModelName["Hub2"] = "WoHub2";
166
+ SwitchBotBLEModelName["Hub3"] = "WoHub3";
164
167
  SwitchBotBLEModelName["ColorBulb"] = "WoBulb";
165
168
  SwitchBotBLEModelName["Curtain"] = "WoCurtain";
166
169
  SwitchBotBLEModelName["Curtain3"] = "WoCurtain3";
@@ -193,6 +196,7 @@ export var SwitchBotBLEModelFriendlyName;
193
196
  (function (SwitchBotBLEModelFriendlyName) {
194
197
  SwitchBotBLEModelFriendlyName["Bot"] = "Bot";
195
198
  SwitchBotBLEModelFriendlyName["Hub2"] = "Hub 2";
199
+ SwitchBotBLEModelFriendlyName["Hub3"] = "Hub 3";
196
200
  SwitchBotBLEModelFriendlyName["ColorBulb"] = "Color Bulb";
197
201
  SwitchBotBLEModelFriendlyName["Curtain"] = "Curtain";
198
202
  SwitchBotBLEModelFriendlyName["Curtain3"] = "Curtain 3";
@@ -854,6 +858,8 @@ export class Advertising {
854
858
  return WoSensorTHProCO2.parseServiceData(serviceData, manufacturerData, emitLog);
855
859
  case SwitchBotBLEModel.Hub2:
856
860
  return WoHub2.parseServiceData(manufacturerData, emitLog);
861
+ case SwitchBotBLEModel.Hub3:
862
+ return WoHub3.parseServiceData(manufacturerData, emitLog);
857
863
  case SwitchBotBLEModel.OutdoorMeter:
858
864
  return WoIOSensorTH.parseServiceData(serviceData, manufacturerData, emitLog);
859
865
  case SwitchBotBLEModel.AirPurifier:
@@ -1666,6 +1672,43 @@ export class WoHub2 extends SwitchbotDevice {
1666
1672
  super(peripheral, noble);
1667
1673
  }
1668
1674
  }
1675
+ /**
1676
+ * Class representing a WoHub3 device.
1677
+ * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/meter.md
1678
+ */
1679
+ export class WoHub3 extends SwitchbotDevice {
1680
+ /**
1681
+ * Parses the service data for WoHub3.
1682
+ * @param {Buffer} manufacturerData - The manufacturer data buffer.
1683
+ * @param {Function} emitLog - The function to emit log messages.
1684
+ * @returns {Promise<hub3ServiceData | null>} - Parsed service data or null if invalid.
1685
+ */
1686
+ static async parseServiceData(manufacturerData, emitLog) {
1687
+ if (manufacturerData.length !== 16) {
1688
+ emitLog('debugerror', `[parseServiceDataForWoHub3] Buffer length ${manufacturerData.length} !== 16!`);
1689
+ return null;
1690
+ }
1691
+ const [byte0, byte1, byte2, , , , , , , , , , byte12] = manufacturerData;
1692
+ const tempSign = byte1 & 0b10000000 ? 1 : -1;
1693
+ const tempC = tempSign * ((byte1 & 0b01111111) + (byte0 & 0b00001111) / 10);
1694
+ const tempF = Math.round(((tempC * 9) / 5 + 32) * 10) / 10;
1695
+ const lightLevel = byte12 & 0b11111;
1696
+ const data = {
1697
+ model: SwitchBotBLEModel.Hub3,
1698
+ modelName: SwitchBotBLEModelName.Hub3,
1699
+ modelFriendlyName: SwitchBotBLEModelFriendlyName.Hub3,
1700
+ celsius: tempC,
1701
+ fahrenheit: tempF,
1702
+ fahrenheit_mode: !!(byte2 & 0b10000000),
1703
+ humidity: byte2 & 0b01111111,
1704
+ lightLevel,
1705
+ };
1706
+ return data;
1707
+ }
1708
+ constructor(peripheral, noble) {
1709
+ super(peripheral, noble);
1710
+ }
1711
+ }
1669
1712
  /**
1670
1713
  * Class representing a WoHumi device.
1671
1714
  * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/tree/latest/devicetypes