homebridge 2.0.0-beta.44 → 2.0.0-beta.45

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 (321) hide show
  1. package/dist/api.d.ts +3 -365
  2. package/dist/api.d.ts.map +1 -1
  3. package/dist/api.js +13 -85
  4. package/dist/api.js.map +1 -1
  5. package/dist/bridgeService.d.ts +0 -25
  6. package/dist/bridgeService.d.ts.map +1 -1
  7. package/dist/bridgeService.js +32 -85
  8. package/dist/bridgeService.js.map +1 -1
  9. package/dist/childBridgeFork.d.ts +12 -15
  10. package/dist/childBridgeFork.d.ts.map +1 -1
  11. package/dist/childBridgeFork.js +126 -80
  12. package/dist/childBridgeFork.js.map +1 -1
  13. package/dist/childBridgeService.d.ts +21 -105
  14. package/dist/childBridgeService.d.ts.map +1 -1
  15. package/dist/childBridgeService.js +57 -134
  16. package/dist/childBridgeService.js.map +1 -1
  17. package/dist/cli.js +0 -2
  18. package/dist/cli.js.map +1 -1
  19. package/dist/externalPortService.d.ts +0 -21
  20. package/dist/externalPortService.d.ts.map +1 -1
  21. package/dist/externalPortService.js +0 -28
  22. package/dist/externalPortService.js.map +1 -1
  23. package/dist/index.d.ts +0 -112
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +0 -44
  26. package/dist/index.js.map +1 -1
  27. package/dist/ipcService.d.ts +23 -15
  28. package/dist/ipcService.d.ts.map +1 -1
  29. package/dist/ipcService.js +6 -12
  30. package/dist/ipcService.js.map +1 -1
  31. package/dist/logger.d.ts +0 -46
  32. package/dist/logger.d.ts.map +1 -1
  33. package/dist/logger.js +13 -57
  34. package/dist/logger.js.map +1 -1
  35. package/dist/matter/BaseMatterManager.d.ts +19 -0
  36. package/dist/matter/BaseMatterManager.d.ts.map +1 -0
  37. package/dist/matter/BaseMatterManager.js +170 -0
  38. package/dist/matter/BaseMatterManager.js.map +1 -0
  39. package/dist/matter/ChildBridgeMatterManager.d.ts +5 -69
  40. package/dist/matter/ChildBridgeMatterManager.d.ts.map +1 -1
  41. package/dist/matter/ChildBridgeMatterManager.js +36 -227
  42. package/dist/matter/ChildBridgeMatterManager.js.map +1 -1
  43. package/dist/matter/ClusterCommandMapper.d.ts +5 -0
  44. package/dist/matter/ClusterCommandMapper.d.ts.map +1 -0
  45. package/dist/matter/ClusterCommandMapper.js +203 -0
  46. package/dist/matter/ClusterCommandMapper.js.map +1 -0
  47. package/dist/matter/ExternalMatterAccessoryPublisher.d.ts +0 -27
  48. package/dist/matter/ExternalMatterAccessoryPublisher.d.ts.map +1 -1
  49. package/dist/matter/ExternalMatterAccessoryPublisher.js +2 -27
  50. package/dist/matter/ExternalMatterAccessoryPublisher.js.map +1 -1
  51. package/dist/matter/MatterAPIImpl.d.ts +0 -68
  52. package/dist/matter/MatterAPIImpl.d.ts.map +1 -1
  53. package/dist/matter/MatterAPIImpl.js +6 -106
  54. package/dist/matter/MatterAPIImpl.js.map +1 -1
  55. package/dist/matter/MatterBridgeManager.d.ts +9 -60
  56. package/dist/matter/MatterBridgeManager.d.ts.map +1 -1
  57. package/dist/matter/MatterBridgeManager.js +139 -215
  58. package/dist/matter/MatterBridgeManager.js.map +1 -1
  59. package/dist/matter/MatterConfigCollector.d.ts +1 -20
  60. package/dist/matter/MatterConfigCollector.d.ts.map +1 -1
  61. package/dist/matter/MatterConfigCollector.js +14 -27
  62. package/dist/matter/MatterConfigCollector.js.map +1 -1
  63. package/dist/matter/accessoryCache.d.ts +0 -48
  64. package/dist/matter/accessoryCache.d.ts.map +1 -1
  65. package/dist/matter/accessoryCache.js +1 -60
  66. package/dist/matter/accessoryCache.js.map +1 -1
  67. package/dist/matter/behaviors/AirQualityBehavior.d.ts +0 -42
  68. package/dist/matter/behaviors/AirQualityBehavior.d.ts.map +1 -1
  69. package/dist/matter/behaviors/AirQualityBehavior.js +0 -44
  70. package/dist/matter/behaviors/AirQualityBehavior.js.map +1 -1
  71. package/dist/matter/behaviors/BehaviorRegistry.d.ts +4 -42
  72. package/dist/matter/behaviors/BehaviorRegistry.d.ts.map +1 -1
  73. package/dist/matter/behaviors/BehaviorRegistry.js +12 -42
  74. package/dist/matter/behaviors/BehaviorRegistry.js.map +1 -1
  75. package/dist/matter/behaviors/ColorControlBehavior.d.ts +0 -49
  76. package/dist/matter/behaviors/ColorControlBehavior.d.ts.map +1 -1
  77. package/dist/matter/behaviors/ColorControlBehavior.js +0 -90
  78. package/dist/matter/behaviors/ColorControlBehavior.js.map +1 -1
  79. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.d.ts +0 -91
  80. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.d.ts.map +1 -1
  81. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.js +0 -96
  82. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.js.map +1 -1
  83. package/dist/matter/behaviors/DoorLockBehavior.d.ts +0 -11
  84. package/dist/matter/behaviors/DoorLockBehavior.d.ts.map +1 -1
  85. package/dist/matter/behaviors/DoorLockBehavior.js +0 -25
  86. package/dist/matter/behaviors/DoorLockBehavior.js.map +1 -1
  87. package/dist/matter/behaviors/FanControlBehavior.d.ts +0 -11
  88. package/dist/matter/behaviors/FanControlBehavior.d.ts.map +1 -1
  89. package/dist/matter/behaviors/FanControlBehavior.js +0 -25
  90. package/dist/matter/behaviors/FanControlBehavior.js.map +1 -1
  91. package/dist/matter/behaviors/IdentifyBehavior.d.ts +0 -11
  92. package/dist/matter/behaviors/IdentifyBehavior.d.ts.map +1 -1
  93. package/dist/matter/behaviors/IdentifyBehavior.js +0 -17
  94. package/dist/matter/behaviors/IdentifyBehavior.js.map +1 -1
  95. package/dist/matter/behaviors/LevelControlBehavior.d.ts +0 -20
  96. package/dist/matter/behaviors/LevelControlBehavior.d.ts.map +1 -1
  97. package/dist/matter/behaviors/LevelControlBehavior.js +0 -52
  98. package/dist/matter/behaviors/LevelControlBehavior.js.map +1 -1
  99. package/dist/matter/behaviors/OnOffBehavior.d.ts +0 -17
  100. package/dist/matter/behaviors/OnOffBehavior.d.ts.map +1 -1
  101. package/dist/matter/behaviors/OnOffBehavior.js +0 -38
  102. package/dist/matter/behaviors/OnOffBehavior.js.map +1 -1
  103. package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts +0 -11
  104. package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts.map +1 -1
  105. package/dist/matter/behaviors/RvcCleanModeBehavior.js +0 -17
  106. package/dist/matter/behaviors/RvcCleanModeBehavior.js.map +1 -1
  107. package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts +0 -11
  108. package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts.map +1 -1
  109. package/dist/matter/behaviors/RvcOperationalStateBehavior.js +0 -29
  110. package/dist/matter/behaviors/RvcOperationalStateBehavior.js.map +1 -1
  111. package/dist/matter/behaviors/RvcRunModeBehavior.d.ts +0 -11
  112. package/dist/matter/behaviors/RvcRunModeBehavior.d.ts.map +1 -1
  113. package/dist/matter/behaviors/RvcRunModeBehavior.js +0 -17
  114. package/dist/matter/behaviors/RvcRunModeBehavior.js.map +1 -1
  115. package/dist/matter/behaviors/ServiceAreaBehavior.d.ts +0 -11
  116. package/dist/matter/behaviors/ServiceAreaBehavior.d.ts.map +1 -1
  117. package/dist/matter/behaviors/ServiceAreaBehavior.js +0 -23
  118. package/dist/matter/behaviors/ServiceAreaBehavior.js.map +1 -1
  119. package/dist/matter/behaviors/ThermostatBehavior.d.ts +0 -11
  120. package/dist/matter/behaviors/ThermostatBehavior.d.ts.map +1 -1
  121. package/dist/matter/behaviors/ThermostatBehavior.js +0 -39
  122. package/dist/matter/behaviors/ThermostatBehavior.js.map +1 -1
  123. package/dist/matter/behaviors/WindowCoveringBehavior.d.ts +0 -17
  124. package/dist/matter/behaviors/WindowCoveringBehavior.d.ts.map +1 -1
  125. package/dist/matter/behaviors/WindowCoveringBehavior.js +0 -56
  126. package/dist/matter/behaviors/WindowCoveringBehavior.js.map +1 -1
  127. package/dist/matter/behaviors/index.d.ts +0 -5
  128. package/dist/matter/behaviors/index.d.ts.map +1 -1
  129. package/dist/matter/behaviors/index.js +0 -5
  130. package/dist/matter/behaviors/index.js.map +1 -1
  131. package/dist/matter/configValidator.d.ts +0 -55
  132. package/dist/matter/configValidator.d.ts.map +1 -1
  133. package/dist/matter/configValidator.js +1 -68
  134. package/dist/matter/configValidator.js.map +1 -1
  135. package/dist/matter/errorHandler.d.ts +0 -22
  136. package/dist/matter/errorHandler.d.ts.map +1 -1
  137. package/dist/matter/errorHandler.js +0 -32
  138. package/dist/matter/errorHandler.js.map +1 -1
  139. package/dist/matter/errors.d.ts +0 -132
  140. package/dist/matter/errors.d.ts.map +1 -1
  141. package/dist/matter/errors.js +0 -132
  142. package/dist/matter/errors.js.map +1 -1
  143. package/dist/matter/index.d.ts +0 -30
  144. package/dist/matter/index.d.ts.map +1 -1
  145. package/dist/matter/index.js +0 -13
  146. package/dist/matter/index.js.map +1 -1
  147. package/dist/matter/logFormatter.d.ts +0 -17
  148. package/dist/matter/logFormatter.d.ts.map +1 -1
  149. package/dist/matter/logFormatter.js +5 -63
  150. package/dist/matter/logFormatter.js.map +1 -1
  151. package/dist/matter/server.d.ts +12 -236
  152. package/dist/matter/server.d.ts.map +1 -1
  153. package/dist/matter/server.js +177 -488
  154. package/dist/matter/server.js.map +1 -1
  155. package/dist/matter/serverHelpers.d.ts +0 -56
  156. package/dist/matter/serverHelpers.d.ts.map +1 -1
  157. package/dist/matter/serverHelpers.js +1 -66
  158. package/dist/matter/serverHelpers.js.map +1 -1
  159. package/dist/matter/sharedTypes.d.ts +0 -83
  160. package/dist/matter/sharedTypes.d.ts.map +1 -1
  161. package/dist/matter/sharedTypes.js +0 -26
  162. package/dist/matter/sharedTypes.js.map +1 -1
  163. package/dist/matter/storage.d.ts +0 -90
  164. package/dist/matter/storage.d.ts.map +1 -1
  165. package/dist/matter/storage.js +2 -130
  166. package/dist/matter/storage.js.map +1 -1
  167. package/dist/matter/typeHelpers.d.ts +0 -30
  168. package/dist/matter/typeHelpers.d.ts.map +1 -1
  169. package/dist/matter/typeHelpers.js +0 -24
  170. package/dist/matter/typeHelpers.js.map +1 -1
  171. package/dist/matter/types.d.ts +0 -273
  172. package/dist/matter/types.d.ts.map +1 -1
  173. package/dist/matter/types.js +0 -83
  174. package/dist/matter/types.js.map +1 -1
  175. package/dist/platformAccessory.d.ts +0 -15
  176. package/dist/platformAccessory.d.ts.map +1 -1
  177. package/dist/platformAccessory.js +6 -32
  178. package/dist/platformAccessory.js.map +1 -1
  179. package/dist/plugin.d.ts +0 -3
  180. package/dist/plugin.d.ts.map +1 -1
  181. package/dist/plugin.js +6 -29
  182. package/dist/plugin.js.map +1 -1
  183. package/dist/pluginManager.d.ts +0 -22
  184. package/dist/pluginManager.d.ts.map +1 -1
  185. package/dist/pluginManager.js +18 -41
  186. package/dist/pluginManager.js.map +1 -1
  187. package/dist/server.d.ts +9 -29
  188. package/dist/server.d.ts.map +1 -1
  189. package/dist/server.js +304 -157
  190. package/dist/server.js.map +1 -1
  191. package/dist/user.d.ts +0 -3
  192. package/dist/user.d.ts.map +1 -1
  193. package/dist/user.js +2 -5
  194. package/dist/user.js.map +1 -1
  195. package/dist/util/mac.js +0 -1
  196. package/dist/util/mac.js.map +1 -1
  197. package/package.json +4 -4
  198. package/dist/api.spec.d.ts +0 -2
  199. package/dist/api.spec.d.ts.map +0 -1
  200. package/dist/api.spec.js +0 -413
  201. package/dist/api.spec.js.map +0 -1
  202. package/dist/logger.spec.d.ts +0 -2
  203. package/dist/logger.spec.d.ts.map +0 -1
  204. package/dist/logger.spec.js +0 -95
  205. package/dist/logger.spec.js.map +0 -1
  206. package/dist/matter/ExternalMatterAccessoryPublisher.spec.d.ts +0 -2
  207. package/dist/matter/ExternalMatterAccessoryPublisher.spec.d.ts.map +0 -1
  208. package/dist/matter/ExternalMatterAccessoryPublisher.spec.js +0 -293
  209. package/dist/matter/ExternalMatterAccessoryPublisher.spec.js.map +0 -1
  210. package/dist/matter/accessoryCache.spec.d.ts +0 -2
  211. package/dist/matter/accessoryCache.spec.d.ts.map +0 -1
  212. package/dist/matter/accessoryCache.spec.js +0 -452
  213. package/dist/matter/accessoryCache.spec.js.map +0 -1
  214. package/dist/matter/behaviors/AirQualityBehavior.spec.d.ts +0 -5
  215. package/dist/matter/behaviors/AirQualityBehavior.spec.d.ts.map +0 -1
  216. package/dist/matter/behaviors/AirQualityBehavior.spec.js +0 -46
  217. package/dist/matter/behaviors/AirQualityBehavior.spec.js.map +0 -1
  218. package/dist/matter/behaviors/BehaviorRegistry.spec.d.ts +0 -2
  219. package/dist/matter/behaviors/BehaviorRegistry.spec.d.ts.map +0 -1
  220. package/dist/matter/behaviors/BehaviorRegistry.spec.js +0 -307
  221. package/dist/matter/behaviors/BehaviorRegistry.spec.js.map +0 -1
  222. package/dist/matter/behaviors/ColorControlBehavior.spec.d.ts +0 -2
  223. package/dist/matter/behaviors/ColorControlBehavior.spec.d.ts.map +0 -1
  224. package/dist/matter/behaviors/ColorControlBehavior.spec.js +0 -29
  225. package/dist/matter/behaviors/ColorControlBehavior.spec.js.map +0 -1
  226. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.spec.d.ts +0 -5
  227. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.spec.d.ts.map +0 -1
  228. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.spec.js +0 -95
  229. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.spec.js.map +0 -1
  230. package/dist/matter/behaviors/DoorLockBehavior.spec.d.ts +0 -2
  231. package/dist/matter/behaviors/DoorLockBehavior.spec.d.ts.map +0 -1
  232. package/dist/matter/behaviors/DoorLockBehavior.spec.js +0 -120
  233. package/dist/matter/behaviors/DoorLockBehavior.spec.js.map +0 -1
  234. package/dist/matter/behaviors/FanControlBehavior.spec.d.ts +0 -2
  235. package/dist/matter/behaviors/FanControlBehavior.spec.d.ts.map +0 -1
  236. package/dist/matter/behaviors/FanControlBehavior.spec.js +0 -23
  237. package/dist/matter/behaviors/FanControlBehavior.spec.js.map +0 -1
  238. package/dist/matter/behaviors/IdentifyBehavior.spec.d.ts +0 -2
  239. package/dist/matter/behaviors/IdentifyBehavior.spec.d.ts.map +0 -1
  240. package/dist/matter/behaviors/IdentifyBehavior.spec.js +0 -64
  241. package/dist/matter/behaviors/IdentifyBehavior.spec.js.map +0 -1
  242. package/dist/matter/behaviors/LevelControlBehavior.spec.d.ts +0 -2
  243. package/dist/matter/behaviors/LevelControlBehavior.spec.d.ts.map +0 -1
  244. package/dist/matter/behaviors/LevelControlBehavior.spec.js +0 -145
  245. package/dist/matter/behaviors/LevelControlBehavior.spec.js.map +0 -1
  246. package/dist/matter/behaviors/OnOffBehavior.spec.d.ts +0 -2
  247. package/dist/matter/behaviors/OnOffBehavior.spec.d.ts.map +0 -1
  248. package/dist/matter/behaviors/OnOffBehavior.spec.js +0 -128
  249. package/dist/matter/behaviors/OnOffBehavior.spec.js.map +0 -1
  250. package/dist/matter/behaviors/RvcCleanModeBehavior.spec.d.ts +0 -2
  251. package/dist/matter/behaviors/RvcCleanModeBehavior.spec.d.ts.map +0 -1
  252. package/dist/matter/behaviors/RvcCleanModeBehavior.spec.js +0 -57
  253. package/dist/matter/behaviors/RvcCleanModeBehavior.spec.js.map +0 -1
  254. package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.d.ts +0 -2
  255. package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.d.ts.map +0 -1
  256. package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.js +0 -55
  257. package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.js.map +0 -1
  258. package/dist/matter/behaviors/RvcRunModeBehavior.spec.d.ts +0 -2
  259. package/dist/matter/behaviors/RvcRunModeBehavior.spec.d.ts.map +0 -1
  260. package/dist/matter/behaviors/RvcRunModeBehavior.spec.js +0 -57
  261. package/dist/matter/behaviors/RvcRunModeBehavior.spec.js.map +0 -1
  262. package/dist/matter/behaviors/ServiceAreaBehavior.spec.d.ts +0 -2
  263. package/dist/matter/behaviors/ServiceAreaBehavior.spec.d.ts.map +0 -1
  264. package/dist/matter/behaviors/ServiceAreaBehavior.spec.js +0 -53
  265. package/dist/matter/behaviors/ServiceAreaBehavior.spec.js.map +0 -1
  266. package/dist/matter/behaviors/ThermostatBehavior.spec.d.ts +0 -2
  267. package/dist/matter/behaviors/ThermostatBehavior.spec.d.ts.map +0 -1
  268. package/dist/matter/behaviors/ThermostatBehavior.spec.js +0 -23
  269. package/dist/matter/behaviors/ThermostatBehavior.spec.js.map +0 -1
  270. package/dist/matter/behaviors/WindowCoveringBehavior.spec.d.ts +0 -2
  271. package/dist/matter/behaviors/WindowCoveringBehavior.spec.d.ts.map +0 -1
  272. package/dist/matter/behaviors/WindowCoveringBehavior.spec.js +0 -27
  273. package/dist/matter/behaviors/WindowCoveringBehavior.spec.js.map +0 -1
  274. package/dist/matter/configValidator.spec.d.ts +0 -2
  275. package/dist/matter/configValidator.spec.d.ts.map +0 -1
  276. package/dist/matter/configValidator.spec.js +0 -390
  277. package/dist/matter/configValidator.spec.js.map +0 -1
  278. package/dist/matter/errorHandler.spec.d.ts +0 -2
  279. package/dist/matter/errorHandler.spec.d.ts.map +0 -1
  280. package/dist/matter/errorHandler.spec.js +0 -159
  281. package/dist/matter/errorHandler.spec.js.map +0 -1
  282. package/dist/matter/logFormatter.spec.d.ts +0 -2
  283. package/dist/matter/logFormatter.spec.d.ts.map +0 -1
  284. package/dist/matter/logFormatter.spec.js +0 -252
  285. package/dist/matter/logFormatter.spec.js.map +0 -1
  286. package/dist/matter/serverHelpers.spec.d.ts +0 -2
  287. package/dist/matter/serverHelpers.spec.d.ts.map +0 -1
  288. package/dist/matter/serverHelpers.spec.js +0 -527
  289. package/dist/matter/serverHelpers.spec.js.map +0 -1
  290. package/dist/matter/storage.spec.d.ts +0 -2
  291. package/dist/matter/storage.spec.d.ts.map +0 -1
  292. package/dist/matter/storage.spec.js +0 -570
  293. package/dist/matter/storage.spec.js.map +0 -1
  294. package/dist/matter/typeHelpers.spec.d.ts +0 -2
  295. package/dist/matter/typeHelpers.spec.d.ts.map +0 -1
  296. package/dist/matter/typeHelpers.spec.js +0 -127
  297. package/dist/matter/typeHelpers.spec.js.map +0 -1
  298. package/dist/platformAccessory.spec.d.ts +0 -2
  299. package/dist/platformAccessory.spec.d.ts.map +0 -1
  300. package/dist/platformAccessory.spec.js +0 -126
  301. package/dist/platformAccessory.spec.js.map +0 -1
  302. package/dist/pluginManager.spec.d.ts +0 -2
  303. package/dist/pluginManager.spec.d.ts.map +0 -1
  304. package/dist/pluginManager.spec.js +0 -43
  305. package/dist/pluginManager.spec.js.map +0 -1
  306. package/dist/server.spec.d.ts +0 -2
  307. package/dist/server.spec.d.ts.map +0 -1
  308. package/dist/server.spec.js +0 -57
  309. package/dist/server.spec.js.map +0 -1
  310. package/dist/user.spec.d.ts +0 -2
  311. package/dist/user.spec.d.ts.map +0 -1
  312. package/dist/user.spec.js +0 -31
  313. package/dist/user.spec.js.map +0 -1
  314. package/dist/util/mac.spec.d.ts +0 -2
  315. package/dist/util/mac.spec.d.ts.map +0 -1
  316. package/dist/util/mac.spec.js +0 -36
  317. package/dist/util/mac.spec.js.map +0 -1
  318. package/dist/version.spec.d.ts +0 -2
  319. package/dist/version.spec.d.ts.map +0 -1
  320. package/dist/version.spec.js +0 -20
  321. package/dist/version.spec.js.map +0 -1
@@ -1,304 +1,76 @@
1
- /**
2
- * Matter Types for Homebridge Plugin API
3
- *
4
- * This module provides types and interfaces for plugin developers
5
- * to create Matter-compatible accessories.
6
- */
7
1
  import type { Endpoint, EndpointType } from '@matter/main';
8
2
  import { EventEmitter } from 'node:events';
9
3
  import * as clusters from '@matter/main/clusters';
10
4
  import * as devices from '@matter/main/devices';
11
5
  export type { EndpointType };
12
- /**
13
- * Handler context information
14
- * Provides information about which part of a composed device triggered the handler
15
- */
16
6
  export interface MatterHandlerContext {
17
- /** Parent accessory UUID */
18
7
  uuid: string;
19
- /** Part ID if this handler was triggered from a part, undefined for main accessory */
20
8
  partId?: string;
21
9
  }
22
- /**
23
- * Matter command handler function type
24
- *
25
- * Handlers can be synchronous or asynchronous (returning a Promise).
26
- * The args parameter contains the command arguments passed by Matter.js (optional).
27
- * The context parameter provides information about which part triggered the handler (for composed devices).
28
- */
29
10
  export type MatterCommandHandler<TArgs = unknown> = (args?: TArgs, context?: MatterHandlerContext) => Promise<void> | void;
30
- /**
31
- * Matter cluster handlers interface
32
- *
33
- * Maps command names to their handler functions.
34
- * Each command can have custom argument types.
35
- */
36
11
  export interface MatterClusterHandlers {
37
12
  [commandName: string]: MatterCommandHandler<any>;
38
13
  }
39
- /**
40
- * Matter Accessory Part - Sub-device in a composed accessory
41
- *
42
- * Represents a child endpoint in a composed device (e.g., individual outlets in a power strip).
43
- * Parts are added as child endpoints to the main accessory.
44
- */
45
14
  export interface MatterAccessoryPart {
46
- /** Unique identifier for this part within the accessory (e.g., 'outlet-1', 'light', 'shade') */
47
15
  id: string;
48
- /** Display name for this part (optional, defaults to parent's name + part id) */
49
16
  displayName?: string;
50
- /** Matter device type for this part */
51
17
  deviceType: EndpointType;
52
- /**
53
- * Initial cluster states for this part
54
- * Same format as `MatterAccessory.clusters`
55
- */
56
18
  clusters: {
57
19
  [clusterName: string]: {
58
20
  [attributeName: string]: unknown;
59
21
  };
60
22
  };
61
- /**
62
- * Handlers for this part's commands
63
- * Handlers receive context.partId to identify which part was triggered
64
- */
65
23
  handlers?: {
66
24
  [clusterName: string]: MatterClusterHandlers;
67
25
  };
68
26
  }
69
- /**
70
- * Matter Accessory - Plugin API Interface
71
- *
72
- * This is the main interface that plugin developers use to register
73
- * Matter accessories with Homebridge.
74
- *
75
- * For composed devices (devices with multiple subcomponents), use the `parts` array
76
- * to define child endpoints. Each part appears as a separate device in the Home app.
77
- */
78
27
  export interface MatterAccessory<T = Record<string, unknown>> {
79
- /** Unique identifier for this accessory (must be unique across all accessories) */
80
28
  uuid: string;
81
- /** Display name for the accessory */
82
29
  displayName: string;
83
- /** Matter device type (e.g., OnOffLightDevice, DimmableLightDevice, etc.) */
84
30
  deviceType: EndpointType;
85
- /** Serial number for the device */
86
31
  serialNumber: string;
87
- /** Manufacturer name */
88
32
  manufacturer: string;
89
- /** Model name/identifier */
90
33
  model: string;
91
- /** Firmware revision (optional) */
92
34
  firmwareRevision?: string;
93
- /** Hardware revision (optional) */
94
35
  hardwareRevision?: string;
95
- /** Software version (optional) */
96
36
  softwareVersion?: string;
97
- /**
98
- * Plugin developer storage - persists across restarts
99
- * This is a way for plugin developers to store custom data with their accessory
100
- * Similar to `PlatformAccessory.context` for HAP accessories
101
- */
102
37
  context?: T;
103
- /**
104
- * Initial cluster states
105
- * Key is the cluster name, value is an object of attribute name -> value
106
- *
107
- * Example:
108
- * {
109
- * onOff: { onOff: true },
110
- * levelControl: { currentLevel: 127, minLevel: 1, maxLevel: 254 }
111
- * }
112
- *
113
- * Note: If using `parts`, this is optional (main accessory may only be a container)
114
- */
115
38
  clusters?: {
116
39
  [clusterName: string]: {
117
40
  [attributeName: string]: unknown;
118
41
  };
119
42
  };
120
- /**
121
- * Handlers for Matter commands (Home app → Device)
122
- *
123
- * These handlers are called when a user controls the accessory via the Home app.
124
- * Use handlers to send commands to your actual device (cloud API, local network, etc.).
125
- */
126
43
  handlers?: {
127
44
  [clusterName: string]: MatterClusterHandlers;
128
45
  };
129
- /**
130
- * Optional: Get current state handler
131
- * Called when a Matter controller reads an attribute
132
- * If not provided, the last set value is returned
133
- */
134
46
  getState?: (cluster: string, attribute: string) => Promise<any> | any;
135
- /**
136
- * Optional: Array of child endpoints (parts) for composed devices
137
- *
138
- * Use this to create devices with multiple independent subcomponents, such as:
139
- * - Power strip with multiple outlets
140
- * - Window covering with shade + light
141
- * - Multi-zone thermostat or speaker system
142
- *
143
- * Each part appears as a separate device in the Home app and can be controlled independently.
144
- *
145
- * Example:
146
- * ```typescript
147
- * parts: [
148
- * {
149
- * id: 'outlet-1',
150
- * displayName: 'Outlet 1',
151
- * deviceType: api.matter.deviceTypes.OnOffOutlet,
152
- * clusters: { onOff: { onOff: false } },
153
- * handlers: {
154
- * onOff: {
155
- * on: async (args, context) => {
156
- * console.log(`Part ${context.partId} turned on`)
157
- * await controlOutlet(1, true)
158
- * }
159
- * }
160
- * }
161
- * },
162
- * // ... more outlets
163
- * ]
164
- * ```
165
- */
166
47
  parts?: MatterAccessoryPart[];
167
- /**
168
- * Event emitter for accessory lifecycle events.
169
- *
170
- * **Only available for external accessories** published via `api.matter.publishExternalAccessories()`.
171
- * This property is `undefined` for accessories registered via `api.matter.registerPlatformAccessories()`.
172
- *
173
- * The event emitter is created automatically when the accessory is published and allows
174
- * plugins to listen for the 'ready' event (fired when the Matter server starts).
175
- *
176
- * **HAP Equivalent:** Similar to accessing events on `PlatformAccessory._associatedHAPAccessory`
177
- *
178
- * @example
179
- * ```typescript
180
- * const accessory: MatterAccessory = { ... };
181
- * api.matter.publishExternalAccessories('plugin', [accessory]);
182
- *
183
- * // Listen for when the accessory is ready on the network
184
- * accessory._eventEmitter?.on(MatterAccessoryEventTypes.READY, (port) => {
185
- * console.log(`Accessory ready on port ${port}`);
186
- * // Safe to start device integration, polling, webhooks, etc.
187
- * });
188
- *
189
- * // Listen for commissioning events
190
- * accessory._eventEmitter?.on(MatterAccessoryEventTypes.COMMISSIONED, () => {
191
- * console.log('Accessory paired with a controller');
192
- * });
193
- * ```
194
- *
195
- * @see MatterAccessoryEventTypes for available events
196
- */
197
48
  _eventEmitter?: MatterAccessoryEventEmitter;
198
49
  }
199
- /**
200
- * Matter Configuration (for bridge or child bridge)
201
- */
202
50
  export interface MatterConfig extends Record<string, unknown> {
203
- /** Port for Matter server (optional, will auto-assign if not specified) */
204
51
  port?: number;
205
- /** Name for the Matter bridge (optional) */
206
52
  name?: string;
207
53
  }
208
- /**
209
- * Matter Server Events
210
- *
211
- * Currently empty - all events removed as they were unused.
212
- * Status information is queried on-demand rather than pushed via events.
213
- */
214
54
  export interface MatterServerEvents {
215
55
  'commissioning-status-changed': (commissioned: boolean, fabricCount: number) => void;
216
56
  }
217
- /**
218
- * Matter Accessory Event Types
219
- *
220
- * Events that can be emitted by Matter accessories during their lifecycle.
221
- *
222
- * @example
223
- * ```typescript
224
- * Listen for when a Matter accessory is ready
225
- * const accessory: MatterAccessory = { ... };
226
- * api.matter.publishExternalAccessories('plugin-name', [accessory]);
227
- *
228
- * const internal = accessory as any;
229
- * internal._eventEmitter?.on(MatterAccessoryEventTypes.READY, (port: number) => {
230
- * console.log(`Accessory ready on port ${port}`);
231
- * });
232
- * ```
233
- *
234
- * @group Matter Accessory
235
- */
236
57
  export declare enum MatterAccessoryEventTypes {
237
- /**
238
- * Emitted when the Matter server is ready and the accessory is available on the network.
239
- * This is the main event to listen for to know when an external accessory is ready.
240
- *
241
- * **HAP Equivalent:** `AccessoryEventTypes.ADVERTISED`
242
- *
243
- * @param port - The port number the Matter server is listening on
244
- */
245
58
  READY = "ready"
246
59
  }
247
- /**
248
- * Matter Accessory Event Emitter Interface
249
- *
250
- * Defines the typed event emitter interface for Matter accessories.
251
- * This interface extends Node's EventEmitter to provide type-safe event handling
252
- * for Matter accessory lifecycle events.
253
- *
254
- * **Usage Pattern:**
255
- * ```typescript
256
- * const accessory: MatterAccessory = { ... };
257
- * api.matter.publishExternalAccessories('plugin-name', [accessory]);
258
- *
259
- * Access the event emitter (note: created during registration)
260
- * const internal = accessory as InternalMatterAccessory;
261
- * internal._eventEmitter?.on(MatterAccessoryEventTypes.READY, (port: number) => {
262
- * console.log(`Accessory ready on port ${port}`);
263
- * });
264
- * ```
265
- *
266
- * @group Matter Accessory
267
- */
268
60
  export interface MatterAccessoryEventEmitter extends EventEmitter {
269
- /** Register listener for 'ready' event (fired when accessory is available on network) */
270
61
  on: (event: 'ready', listener: (port: number) => void) => this;
271
- /** Emit 'ready' event */
272
62
  emit: (event: 'ready', port: number) => boolean;
273
63
  }
274
- /**
275
- * Internal representation of a part endpoint
276
- */
277
64
  export interface InternalMatterAccessoryPart extends MatterAccessoryPart {
278
- /** Matter.js endpoint instance for this part */
279
65
  endpoint?: Endpoint;
280
66
  }
281
- /**
282
- * Internal Matter accessory representation
283
- * (Used internally by MatterServer)
284
- *
285
- * @internal
286
- */
287
67
  export interface InternalMatterAccessory extends MatterAccessory {
288
- /** Plugin identifier (set when registered) */
289
68
  _associatedPlugin?: string;
290
- /** Platform name (set when registered) */
291
69
  _associatedPlatform?: string;
292
- /** Matter.js endpoint instance */
293
70
  endpoint?: Endpoint;
294
- /** Whether this accessory is currently registered */
295
71
  registered: boolean;
296
- /** Internal part endpoints (if using parts) */
297
72
  _parts?: InternalMatterAccessoryPart[];
298
73
  }
299
- /**
300
- * Matter error type enum (for error handler categorization)
301
- */
302
74
  export declare enum MatterErrorType {
303
75
  INITIALIZATION = "INITIALIZATION",
304
76
  NETWORK = "NETWORK",
@@ -310,9 +82,6 @@ export declare enum MatterErrorType {
310
82
  DEVICE_ERROR = "DEVICE_ERROR",
311
83
  UNKNOWN = "UNKNOWN"
312
84
  }
313
- /**
314
- * Matter error details interface
315
- */
316
85
  export interface MatterErrorDetails {
317
86
  type?: MatterErrorType;
318
87
  recoverable?: boolean;
@@ -320,9 +89,6 @@ export interface MatterErrorDetails {
320
89
  context?: string;
321
90
  originalError?: Error;
322
91
  }
323
- /**
324
- * Matter error types
325
- */
326
92
  export declare class MatterError extends Error {
327
93
  readonly code: string;
328
94
  readonly details?: MatterErrorDetails | undefined;
@@ -345,10 +111,6 @@ export declare class MatterNetworkError extends MatterError {
345
111
  }
346
112
  export { clusters };
347
113
  export { devices };
348
- /**
349
- * Friendly device type names for the Plugin API
350
- * Maps simplified names to actual Matter.js device types
351
- */
352
114
  export declare const deviceTypes: {
353
115
  readonly OnOffLight: devices.OnOffLightDevice;
354
116
  readonly DimmableLight: devices.DimmableLightDevice;
@@ -744,18 +506,6 @@ export declare const deviceTypes: {
744
506
  readonly Pump: devices.PumpDevice;
745
507
  readonly RoomAirConditioner: devices.RoomAirConditionerDevice;
746
508
  };
747
- /**
748
- * Matter Cluster Names
749
- * Commonly used cluster names for type safety and autocomplete
750
- * Use these with api.updateMatterAccessoryState() and api.getAccessoryState()
751
- *
752
- * @example
753
- * ```typescript
754
- * With autocomplete and type safety:
755
- * api.updateMatterAccessoryState(uuid, api.matterClusterNames.OnOff, { onOff: true })
756
- * api.getAccessoryState(uuid, api.matterClusterNames.LevelControl)
757
- * ```
758
- */
759
509
  export declare const clusterNames: {
760
510
  readonly OnOff: "onOff";
761
511
  readonly LevelControl: "levelControl";
@@ -785,33 +535,13 @@ export declare const clusterNames: {
785
535
  readonly BasicInformation: "basicInformation";
786
536
  readonly BridgedDeviceBasicInformation: "bridgedDeviceBasicInformation";
787
537
  };
788
- /**
789
- * Type for Matter cluster names
790
- * Provides type safety for cluster name strings
791
- */
792
538
  export type MatterClusterName = typeof clusterNames[keyof typeof clusterNames];
793
- /**
794
- * Type-safe accessory map for MatterServer
795
- */
796
539
  export type MatterAccessoryMap = Map<string, InternalMatterAccessory>;
797
- /**
798
- * Check if endpoint has state property (runtime check)
799
- */
800
540
  export declare function hasEndpointState(endpoint: Endpoint): boolean;
801
- /**
802
- * Safely update endpoint state
803
- * Uses the Endpoint's set method to update cluster attributes
804
- */
805
541
  export declare function updateEndpointState(endpoint: Endpoint, cluster: string, attributes: Record<string, unknown>): Promise<void>;
806
- /**
807
- * Device type with behaviors (internal Matter.js structure)
808
- */
809
542
  export interface DeviceTypeWithBehaviors extends EndpointType {
810
543
  with: (...behaviors: any[]) => DeviceTypeWithBehaviors;
811
544
  }
812
- /**
813
- * WindowCovering cluster with dynamic attributes
814
- */
815
545
  export interface WindowCoveringCluster {
816
546
  type?: number;
817
547
  configStatus?: {
@@ -826,8 +556,5 @@ export interface WindowCoveringCluster {
826
556
  currentPositionTiltPercent100ths?: number;
827
557
  operationalStatus?: number;
828
558
  }
829
- /**
830
- * Type-safe cluster access for WindowCovering
831
- */
832
559
  export declare function getWindowCoveringCluster(accessory: MatterAccessory): WindowCoveringCluster | undefined;
833
560
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/matter/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/matter/types.ts"],"names":[],"mappings":"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"}
@@ -1,45 +1,9 @@
1
- /**
2
- * Matter Types for Homebridge Plugin API
3
- *
4
- * This module provides types and interfaces for plugin developers
5
- * to create Matter-compatible accessories.
6
- */
7
1
  import * as clusters from '@matter/main/clusters';
8
2
  import * as devices from '@matter/main/devices';
9
- /**
10
- * Matter Accessory Event Types
11
- *
12
- * Events that can be emitted by Matter accessories during their lifecycle.
13
- *
14
- * @example
15
- * ```typescript
16
- * Listen for when a Matter accessory is ready
17
- * const accessory: MatterAccessory = { ... };
18
- * api.matter.publishExternalAccessories('plugin-name', [accessory]);
19
- *
20
- * const internal = accessory as any;
21
- * internal._eventEmitter?.on(MatterAccessoryEventTypes.READY, (port: number) => {
22
- * console.log(`Accessory ready on port ${port}`);
23
- * });
24
- * ```
25
- *
26
- * @group Matter Accessory
27
- */
28
3
  export var MatterAccessoryEventTypes;
29
4
  (function (MatterAccessoryEventTypes) {
30
- /**
31
- * Emitted when the Matter server is ready and the accessory is available on the network.
32
- * This is the main event to listen for to know when an external accessory is ready.
33
- *
34
- * **HAP Equivalent:** `AccessoryEventTypes.ADVERTISED`
35
- *
36
- * @param port - The port number the Matter server is listening on
37
- */
38
5
  MatterAccessoryEventTypes["READY"] = "ready";
39
6
  })(MatterAccessoryEventTypes || (MatterAccessoryEventTypes = {}));
40
- /**
41
- * Matter error type enum (for error handler categorization)
42
- */
43
7
  export var MatterErrorType;
44
8
  (function (MatterErrorType) {
45
9
  MatterErrorType["INITIALIZATION"] = "INITIALIZATION";
@@ -52,9 +16,6 @@ export var MatterErrorType;
52
16
  MatterErrorType["DEVICE_ERROR"] = "DEVICE_ERROR";
53
17
  MatterErrorType["UNKNOWN"] = "UNKNOWN";
54
18
  })(MatterErrorType || (MatterErrorType = {}));
55
- /**
56
- * Matter error types
57
- */
58
19
  export class MatterError extends Error {
59
20
  code;
60
21
  details;
@@ -95,25 +56,16 @@ export class MatterNetworkError extends MatterError {
95
56
  this.name = 'MatterNetworkError';
96
57
  }
97
58
  }
98
- // Export Matter.js clusters for direct access
99
59
  export { clusters };
100
- // Export raw devices namespace (for advanced use)
101
60
  export { devices };
102
- /**
103
- * Friendly device type names for the Plugin API
104
- * Maps simplified names to actual Matter.js device types
105
- */
106
61
  export const deviceTypes = {
107
- // Lighting
108
62
  OnOffLight: devices.OnOffLightDevice,
109
63
  DimmableLight: devices.DimmableLightDevice,
110
64
  ColorTemperatureLight: devices.ColorTemperatureLightDevice,
111
65
  ExtendedColorLight: devices.ExtendedColorLightDevice,
112
- // Switches & Outlets
113
66
  OnOffSwitch: devices.OnOffLightSwitchDevice,
114
67
  OnOffOutlet: devices.OnOffPlugInUnitDevice,
115
68
  DimmableOutlet: devices.DimmablePlugInUnitDevice,
116
- // Sensors
117
69
  AirQualitySensor: devices.AirQualitySensorDevice,
118
70
  TemperatureSensor: devices.TemperatureSensorDevice,
119
71
  HumiditySensor: devices.HumiditySensorDevice,
@@ -122,36 +74,16 @@ export const deviceTypes = {
122
74
  ContactSensor: devices.ContactSensorDevice,
123
75
  LeakSensor: devices.WaterLeakDetectorDevice,
124
76
  SmokeSensor: devices.SmokeCoAlarmDevice,
125
- // HVAC
126
77
  Thermostat: devices.ThermostatDevice.with(devices.ThermostatRequirements.ThermostatServer.with('Heating', 'Cooling')),
127
78
  Fan: devices.FanDevice,
128
- // Security
129
79
  DoorLock: devices.DoorLockDevice,
130
- // Window Coverings (features will be auto-detected based on accessory attributes)
131
80
  WindowCovering: devices.WindowCoveringDevice,
132
- // Appliances
133
- // RVC optional clusters (RvcCleanMode, ServiceArea) are added dynamically in matterServer
134
- // based on whether they're defined in the accessory configuration
135
81
  RoboticVacuumCleaner: devices.RoboticVacuumCleanerDevice,
136
- // Other
137
82
  GenericSwitch: devices.GenericSwitchDevice,
138
83
  Pump: devices.PumpDevice,
139
84
  RoomAirConditioner: devices.RoomAirConditionerDevice,
140
85
  };
141
- /**
142
- * Matter Cluster Names
143
- * Commonly used cluster names for type safety and autocomplete
144
- * Use these with api.updateMatterAccessoryState() and api.getAccessoryState()
145
- *
146
- * @example
147
- * ```typescript
148
- * With autocomplete and type safety:
149
- * api.updateMatterAccessoryState(uuid, api.matterClusterNames.OnOff, { onOff: true })
150
- * api.getAccessoryState(uuid, api.matterClusterNames.LevelControl)
151
- * ```
152
- */
153
86
  export const clusterNames = {
154
- // Control Clusters
155
87
  OnOff: 'onOff',
156
88
  LevelControl: 'levelControl',
157
89
  ColorControl: 'colorControl',
@@ -159,7 +91,6 @@ export const clusterNames = {
159
91
  WindowCovering: 'windowCovering',
160
92
  Thermostat: 'thermostat',
161
93
  FanControl: 'fanControl',
162
- // Sensor Clusters
163
94
  AirQuality: 'airQuality',
164
95
  CarbonMonoxideConcentrationMeasurement: 'carbonMonoxideConcentrationMeasurement',
165
96
  NitrogenDioxideConcentrationMeasurement: 'nitrogenDioxideConcentrationMeasurement',
@@ -172,29 +103,18 @@ export const clusterNames = {
172
103
  OccupancySensing: 'occupancySensing',
173
104
  BooleanState: 'booleanState',
174
105
  SmokeCoAlarm: 'smokeCoAlarm',
175
- // Robotic Vacuum Cleaner Clusters
176
106
  RvcRunMode: 'rvcRunMode',
177
107
  RvcOperationalState: 'rvcOperationalState',
178
108
  RvcCleanMode: 'rvcCleanMode',
179
109
  ServiceArea: 'serviceArea',
180
- // Pump & Other
181
110
  PumpConfigurationAndControl: 'pumpConfigurationAndControl',
182
- // Identification
183
111
  Identify: 'identify',
184
- // Device Information (read-only, set during registration)
185
112
  BasicInformation: 'basicInformation',
186
113
  BridgedDeviceBasicInformation: 'bridgedDeviceBasicInformation',
187
114
  };
188
- /**
189
- * Check if endpoint has state property (runtime check)
190
- */
191
115
  export function hasEndpointState(endpoint) {
192
116
  return 'state' in endpoint && typeof endpoint.state === 'object';
193
117
  }
194
- /**
195
- * Safely update endpoint state
196
- * Uses the Endpoint's set method to update cluster attributes
197
- */
198
118
  export async function updateEndpointState(endpoint, cluster, attributes) {
199
119
  if (!hasEndpointState(endpoint)) {
200
120
  throw new Error('Endpoint does not support state updates');
@@ -202,9 +122,6 @@ export async function updateEndpointState(endpoint, cluster, attributes) {
202
122
  const updateObject = { [cluster]: attributes };
203
123
  await endpoint.set(updateObject);
204
124
  }
205
- /**
206
- * Type-safe cluster access for WindowCovering
207
- */
208
125
  export function getWindowCoveringCluster(accessory) {
209
126
  return accessory.clusters?.windowCovering;
210
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/matter/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/matter/types.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AACjD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAiQ/C,MAAM,CAAN,IAAY,yBAUX;AAVD,WAAY,yBAAyB;IASnC,4CAAe,CAAA;AACjB,CAAC,EAVW,yBAAyB,KAAzB,yBAAyB,QAUpC;AAmED,MAAM,CAAN,IAAY,eAUX;AAVD,WAAY,eAAe;IACzB,oDAAiC,CAAA;IACjC,sCAAmB,CAAA;IACnB,kDAA+B,CAAA;IAC/B,8CAA2B,CAAA;IAC3B,oCAAiB,CAAA;IACjB,sCAAmB,CAAA;IACnB,kDAA+B,CAAA;IAC/B,gDAA6B,CAAA;IAC7B,sCAAmB,CAAA;AACrB,CAAC,EAVW,eAAe,KAAf,eAAe,QAU1B;AAgBD,MAAM,OAAO,WAAY,SAAQ,KAAK;IAOlB;IACA;IAPF,IAAI,CAAiB;IACrB,SAAS,CAAM;IACf,WAAW,CAAS;IAEpC,YACE,OAAe,EACC,IAAY,EACZ,OAA4B;QAE5C,KAAK,CAAC,OAAO,CAAC,CAAA;QAHE,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAqB;QAG5C,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;QACzB,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,eAAe,CAAC,OAAO,CAAA;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAA;QAC3B,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,IAAI,CAAA;IACjD,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,WAAW;IACvD,YAAY,OAAe,EAAE,OAA4B;QACvD,KAAK,CAAC,OAAO,EAAE,qBAAqB,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,aAAa,EAAE,CAAC,CAAA;QAC1F,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAA;IACxC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IACjD,YAAY,OAAe,EAAE,OAA4B;QACvD,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,CAAC,CAAA;QAC9E,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;IAClC,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAChD,YAAY,OAAe,EAAE,OAA4B;QACvD,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,YAAY,EAAE,CAAC,CAAA;QAClF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IACjD,YAAY,OAAe,EAAE,OAA4B;QACvD,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,CAAC,CAAA;QAC9E,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;IAClC,CAAC;CACF;AAGD,OAAO,EAAE,QAAQ,EAAE,CAAA;AAGnB,OAAO,EAAE,OAAO,EAAE,CAAA;AAMlB,MAAM,CAAC,MAAM,WAAW,GAAG;IAEzB,UAAU,EAAE,OAAO,CAAC,gBAAgB;IACpC,aAAa,EAAE,OAAO,CAAC,mBAAmB;IAC1C,qBAAqB,EAAE,OAAO,CAAC,2BAA2B;IAC1D,kBAAkB,EAAE,OAAO,CAAC,wBAAwB;IAGpD,WAAW,EAAE,OAAO,CAAC,sBAAsB;IAC3C,WAAW,EAAE,OAAO,CAAC,qBAAqB;IAC1C,cAAc,EAAE,OAAO,CAAC,wBAAwB;IAGhD,gBAAgB,EAAE,OAAO,CAAC,sBAAsB;IAChD,iBAAiB,EAAE,OAAO,CAAC,uBAAuB;IAClD,cAAc,EAAE,OAAO,CAAC,oBAAoB;IAC5C,WAAW,EAAE,OAAO,CAAC,iBAAiB;IACtC,YAAY,EAAE,OAAO,CAAC,qBAAqB;IAC3C,aAAa,EAAE,OAAO,CAAC,mBAAmB;IAC1C,UAAU,EAAE,OAAO,CAAC,uBAAuB;IAC3C,WAAW,EAAE,OAAO,CAAC,kBAAkB;IAGvC,UAAU,EAAE,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACrH,GAAG,EAAE,OAAO,CAAC,SAAS;IAGtB,QAAQ,EAAE,OAAO,CAAC,cAAc;IAGhC,cAAc,EAAE,OAAO,CAAC,oBAAoB;IAK5C,oBAAoB,EAAE,OAAO,CAAC,0BAA0B;IAGxD,aAAa,EAAE,OAAO,CAAC,mBAAmB;IAC1C,IAAI,EAAE,OAAO,CAAC,UAAU;IACxB,kBAAkB,EAAE,OAAO,CAAC,wBAAwB;CAC5C,CAAA;AAcV,MAAM,CAAC,MAAM,YAAY,GAAG;IAE1B,KAAK,EAAE,OAAO;IACd,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,QAAQ,EAAE,UAAU;IACpB,cAAc,EAAE,gBAAgB;IAChC,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IAGxB,UAAU,EAAE,YAAY;IACxB,sCAAsC,EAAE,wCAAwC;IAChF,uCAAuC,EAAE,yCAAyC;IAClF,6BAA6B,EAAE,+BAA+B;IAC9D,4BAA4B,EAAE,8BAA8B;IAC5D,4BAA4B,EAAE,8BAA8B;IAC5D,sBAAsB,EAAE,wBAAwB;IAChD,2BAA2B,EAAE,6BAA6B;IAC1D,sBAAsB,EAAE,wBAAwB;IAChD,gBAAgB,EAAE,kBAAkB;IACpC,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAG5B,UAAU,EAAE,YAAY;IACxB,mBAAmB,EAAE,qBAAqB;IAC1C,YAAY,EAAE,cAAc;IAC5B,WAAW,EAAE,aAAa;IAG1B,2BAA2B,EAAE,6BAA6B;IAG1D,QAAQ,EAAE,UAAU;IAGpB,gBAAgB,EAAE,kBAAkB;IACpC,6BAA6B,EAAE,+BAA+B;CACtD,CAAA;AAgBV,MAAM,UAAU,gBAAgB,CAAC,QAAkB;IACjD,OAAO,OAAO,IAAI,QAAQ,IAAI,OAAQ,QAAgB,CAAC,KAAK,KAAK,QAAQ,CAAA;AAC3E,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAkB,EAClB,OAAe,EACf,UAAmC;IAEnC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAC5D,CAAC;IAED,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAA;IAC9C,MAAO,QAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;AAC3C,CAAC;AA8BD,MAAM,UAAU,wBAAwB,CAAC,SAA0B;IACjE,OAAO,SAAS,CAAC,QAAQ,EAAE,cAAmD,CAAA;AAChF,CAAC"}
@@ -25,9 +25,6 @@ export declare class PlatformAccessory<T extends UnknownContext = UnknownContext
25
25
  UUID: string;
26
26
  category: Categories;
27
27
  services: Service[];
28
- /**
29
- * This is a way for Plugin developers to store custom data with their accessory
30
- */
31
28
  context: T;
32
29
  constructor(displayName: string, uuid: string, category?: Categories);
33
30
  updateDisplayName(name: string): void;
@@ -36,19 +33,7 @@ export declare class PlatformAccessory<T extends UnknownContext = UnknownContext
36
33
  removeService(service: Service): void;
37
34
  getService<T extends WithUUID<typeof Service>>(name: string | T): Service | undefined;
38
35
  getServiceById<T extends WithUUID<typeof Service>>(uuid: string | T, subType: string): Service | undefined;
39
- /**
40
- * Configures a new controller for the given accessory.
41
- * See {@link https://developers.homebridge.io/HAP-NodeJS/classes/accessory.html#configurecontroller | Accessory.configureController}.
42
- *
43
- * @param controller
44
- */
45
36
  configureController(controller: Controller | ControllerConstructor): void;
46
- /**
47
- * Removes a configured controller from the given accessory.
48
- * See {@link https://developers.homebridge.io/HAP-NodeJS/classes/accessory.html#removecontroller | Accessory.removeController}.
49
- *
50
- * @param controller
51
- */
52
37
  removeController(controller: Controller): void;
53
38
  static serialize(accessory: PlatformAccessory): SerializedPlatformAccessory;
54
39
  static deserialize(json: SerializedPlatformAccessory): PlatformAccessory;
@@ -1 +1 @@
1
- {"version":3,"file":"platformAccessory.d.ts","sourceRoot":"","sources":["../src/platformAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,OAAO,EAEP,QAAQ,EACT,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE/D,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE1E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,SAAS,EAAuB,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvE,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAEhD,MAAM,WAAW,2BAA2B,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,mBAAmB;IACjH,MAAM,EAAE,UAAU,CAAA;IAClB,QAAQ,EAAE,YAAY,CAAA;IACtB,OAAO,EAAE,CAAC,CAAA;CACX;AAGD,0BAAkB,sBAAsB;IACtC,QAAQ,aAAa;CACtB;AAGD,MAAM,CAAC,OAAO,WAAW,iBAAiB;IACxC,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;IACrD,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAA;CACrC;AAGD,qBAAa,iBAAiB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,YAAY;IAE5F,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAW;IAE5C,iBAAiB,CAAC,EAAE,gBAAgB,CAAA;IACpC,mBAAmB,CAAC,EAAE,YAAY,CAAA;IAClC,uBAAuB,EAAE,SAAS,CAAA;IAGlC,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,UAAU,CAAA;IACpB,QAAQ,EAAE,OAAO,EAAE,CAAK;IAGxB;;OAEG;IACI,OAAO,EAAE,CAAC,CAAU;gBAEf,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,UAAU;IAuB7D,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOrC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IACrC,UAAU,CAAC,CAAC,SAAS,OAAO,OAAO,EAAE,kBAAkB,EAAE,CAAC,EAAE,GAAG,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO;IAQ5G,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIrC,UAAU,CAAC,CAAC,SAAS,QAAQ,CAAC,OAAO,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,OAAO,GAAG,SAAS;IAIrF,cAAc,CAAC,CAAC,SAAS,QAAQ,CAAC,OAAO,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAIjH;;;;;OAKG;IACI,mBAAmB,CAAC,UAAU,EAAE,UAAU,GAAG,qBAAqB,GAAG,IAAI;IAIhF;;;;;OAKG;IACI,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAKrD,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,iBAAiB,GAAG,2BAA2B;IAU3E,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,2BAA2B,GAAG,iBAAiB;CAczE"}
1
+ {"version":3,"file":"platformAccessory.d.ts","sourceRoot":"","sources":["../src/platformAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,OAAO,EAEP,QAAQ,EACT,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE/D,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE1E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,SAAS,EAAuB,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvE,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAEhD,MAAM,WAAW,2BAA2B,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,mBAAmB;IACjH,MAAM,EAAE,UAAU,CAAA;IAClB,QAAQ,EAAE,YAAY,CAAA;IACtB,OAAO,EAAE,CAAC,CAAA;CACX;AAGD,0BAAkB,sBAAsB;IACtC,QAAQ,aAAa;CACtB;AAGD,MAAM,CAAC,OAAO,WAAW,iBAAiB;IACxC,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;IACrD,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAA;CACrC;AAGD,qBAAa,iBAAiB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,YAAY;IAE5F,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAW;IAE5C,iBAAiB,CAAC,EAAE,gBAAgB,CAAA;IACpC,mBAAmB,CAAC,EAAE,YAAY,CAAA;IAClC,uBAAuB,EAAE,SAAS,CAAA;IAGlC,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,UAAU,CAAA;IACpB,QAAQ,EAAE,OAAO,EAAE,CAAK;IAMjB,OAAO,EAAE,CAAC,CAAU;gBAEf,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,UAAU;IAuB7D,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOrC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IACrC,UAAU,CAAC,CAAC,SAAS,OAAO,OAAO,EAAE,kBAAkB,EAAE,CAAC,EAAE,GAAG,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO;IAQ5G,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIrC,UAAU,CAAC,CAAC,SAAS,QAAQ,CAAC,OAAO,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,OAAO,GAAG,SAAS;IAIrF,cAAc,CAAC,CAAC,SAAS,QAAQ,CAAC,OAAO,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAU1G,mBAAmB,CAAC,UAAU,EAAE,UAAU,GAAG,qBAAqB,GAAG,IAAI;IAUzE,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAKrD,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,iBAAiB,GAAG,2BAA2B;IAU3E,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,2BAA2B,GAAG,iBAAiB;CAczE"}