homebridge 2.0.0-beta.4 → 2.0.0-beta.40

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 (359) hide show
  1. package/README.md +16 -17
  2. package/bin/homebridge.js +22 -0
  3. package/config-sample.json +3 -3
  4. package/dist/api.d.ts +499 -0
  5. package/dist/api.d.ts.map +1 -0
  6. package/dist/api.js +223 -0
  7. package/dist/api.js.map +1 -0
  8. package/dist/api.spec.d.ts +2 -0
  9. package/dist/api.spec.d.ts.map +1 -0
  10. package/dist/api.spec.js +413 -0
  11. package/dist/api.spec.js.map +1 -0
  12. package/{lib → dist}/bridgeService.d.ts +19 -10
  13. package/dist/bridgeService.d.ts.map +1 -0
  14. package/{lib → dist}/bridgeService.js +85 -117
  15. package/dist/bridgeService.js.map +1 -0
  16. package/{lib → dist}/childBridgeFork.d.ts +11 -5
  17. package/dist/childBridgeFork.d.ts.map +1 -0
  18. package/{lib → dist}/childBridgeFork.js +93 -44
  19. package/dist/childBridgeFork.js.map +1 -0
  20. package/{lib → dist}/childBridgeService.d.ts +37 -7
  21. package/dist/childBridgeService.d.ts.map +1 -0
  22. package/{lib → dist}/childBridgeService.js +127 -69
  23. package/dist/childBridgeService.js.map +1 -0
  24. package/dist/cli.d.ts +3 -0
  25. package/dist/cli.d.ts.map +1 -0
  26. package/dist/cli.js +90 -0
  27. package/dist/cli.js.map +1 -0
  28. package/dist/externalPortService.d.ts +47 -0
  29. package/dist/externalPortService.d.ts.map +1 -0
  30. package/dist/externalPortService.js +105 -0
  31. package/dist/externalPortService.js.map +1 -0
  32. package/dist/index.d.ts +141 -0
  33. package/dist/index.d.ts.map +1 -0
  34. package/dist/index.js +53 -0
  35. package/dist/index.js.map +1 -0
  36. package/dist/ipcService.d.ts +48 -0
  37. package/dist/ipcService.d.ts.map +1 -0
  38. package/{lib → dist}/ipcService.js +12 -14
  39. package/dist/ipcService.js.map +1 -0
  40. package/{lib → dist}/logger.d.ts +12 -6
  41. package/dist/logger.d.ts.map +1 -0
  42. package/{lib → dist}/logger.js +27 -28
  43. package/dist/logger.js.map +1 -0
  44. package/dist/logger.spec.d.ts +2 -0
  45. package/dist/logger.spec.d.ts.map +1 -0
  46. package/dist/logger.spec.js +95 -0
  47. package/dist/logger.spec.js.map +1 -0
  48. package/dist/matter/ChildBridgeMatterManager.d.ts +96 -0
  49. package/dist/matter/ChildBridgeMatterManager.d.ts.map +1 -0
  50. package/dist/matter/ChildBridgeMatterManager.js +399 -0
  51. package/dist/matter/ChildBridgeMatterManager.js.map +1 -0
  52. package/dist/matter/ExternalMatterAccessoryPublisher.d.ts +48 -0
  53. package/dist/matter/ExternalMatterAccessoryPublisher.d.ts.map +1 -0
  54. package/dist/matter/ExternalMatterAccessoryPublisher.js +73 -0
  55. package/dist/matter/ExternalMatterAccessoryPublisher.js.map +1 -0
  56. package/dist/matter/ExternalMatterAccessoryPublisher.spec.d.ts +2 -0
  57. package/dist/matter/ExternalMatterAccessoryPublisher.spec.d.ts.map +1 -0
  58. package/dist/matter/ExternalMatterAccessoryPublisher.spec.js +293 -0
  59. package/dist/matter/ExternalMatterAccessoryPublisher.spec.js.map +1 -0
  60. package/dist/matter/MatterAPIImpl.d.ts +504 -0
  61. package/dist/matter/MatterAPIImpl.d.ts.map +1 -0
  62. package/dist/matter/MatterAPIImpl.js +305 -0
  63. package/dist/matter/MatterAPIImpl.js.map +1 -0
  64. package/dist/matter/MatterBridgeManager.d.ts +87 -0
  65. package/dist/matter/MatterBridgeManager.d.ts.map +1 -0
  66. package/dist/matter/MatterBridgeManager.js +413 -0
  67. package/dist/matter/MatterBridgeManager.js.map +1 -0
  68. package/dist/matter/MatterConfigCollector.d.ts +26 -0
  69. package/dist/matter/MatterConfigCollector.d.ts.map +1 -0
  70. package/dist/matter/MatterConfigCollector.js +78 -0
  71. package/dist/matter/MatterConfigCollector.js.map +1 -0
  72. package/dist/matter/accessoryCache.d.ts +105 -0
  73. package/dist/matter/accessoryCache.d.ts.map +1 -0
  74. package/dist/matter/accessoryCache.js +214 -0
  75. package/dist/matter/accessoryCache.js.map +1 -0
  76. package/dist/matter/accessoryCache.spec.d.ts +2 -0
  77. package/dist/matter/accessoryCache.spec.d.ts.map +1 -0
  78. package/dist/matter/accessoryCache.spec.js +452 -0
  79. package/dist/matter/accessoryCache.spec.js.map +1 -0
  80. package/dist/matter/behaviors/BehaviorRegistry.d.ts +65 -0
  81. package/dist/matter/behaviors/BehaviorRegistry.d.ts.map +1 -0
  82. package/dist/matter/behaviors/BehaviorRegistry.js +139 -0
  83. package/dist/matter/behaviors/BehaviorRegistry.js.map +1 -0
  84. package/dist/matter/behaviors/BehaviorRegistry.spec.d.ts +2 -0
  85. package/dist/matter/behaviors/BehaviorRegistry.spec.d.ts.map +1 -0
  86. package/dist/matter/behaviors/BehaviorRegistry.spec.js +307 -0
  87. package/dist/matter/behaviors/BehaviorRegistry.spec.js.map +1 -0
  88. package/dist/matter/behaviors/ColorControlBehavior.d.ts +63 -0
  89. package/dist/matter/behaviors/ColorControlBehavior.d.ts.map +1 -0
  90. package/dist/matter/behaviors/ColorControlBehavior.js +223 -0
  91. package/dist/matter/behaviors/ColorControlBehavior.js.map +1 -0
  92. package/dist/matter/behaviors/ColorControlBehavior.spec.d.ts +2 -0
  93. package/dist/matter/behaviors/ColorControlBehavior.spec.d.ts.map +1 -0
  94. package/dist/matter/behaviors/ColorControlBehavior.spec.js +29 -0
  95. package/dist/matter/behaviors/ColorControlBehavior.spec.js.map +1 -0
  96. package/dist/matter/behaviors/DoorLockBehavior.d.ts +20 -0
  97. package/dist/matter/behaviors/DoorLockBehavior.d.ts.map +1 -0
  98. package/dist/matter/behaviors/DoorLockBehavior.js +71 -0
  99. package/dist/matter/behaviors/DoorLockBehavior.js.map +1 -0
  100. package/dist/matter/behaviors/DoorLockBehavior.spec.d.ts +2 -0
  101. package/dist/matter/behaviors/DoorLockBehavior.spec.d.ts.map +1 -0
  102. package/dist/matter/behaviors/DoorLockBehavior.spec.js +120 -0
  103. package/dist/matter/behaviors/DoorLockBehavior.spec.js.map +1 -0
  104. package/dist/matter/behaviors/FanControlBehavior.d.ts +20 -0
  105. package/dist/matter/behaviors/FanControlBehavior.d.ts.map +1 -0
  106. package/dist/matter/behaviors/FanControlBehavior.js +71 -0
  107. package/dist/matter/behaviors/FanControlBehavior.js.map +1 -0
  108. package/dist/matter/behaviors/FanControlBehavior.spec.d.ts +2 -0
  109. package/dist/matter/behaviors/FanControlBehavior.spec.d.ts.map +1 -0
  110. package/dist/matter/behaviors/FanControlBehavior.spec.js +23 -0
  111. package/dist/matter/behaviors/FanControlBehavior.spec.js.map +1 -0
  112. package/dist/matter/behaviors/IdentifyBehavior.d.ts +20 -0
  113. package/dist/matter/behaviors/IdentifyBehavior.d.ts.map +1 -0
  114. package/dist/matter/behaviors/IdentifyBehavior.js +41 -0
  115. package/dist/matter/behaviors/IdentifyBehavior.js.map +1 -0
  116. package/dist/matter/behaviors/IdentifyBehavior.spec.d.ts +2 -0
  117. package/dist/matter/behaviors/IdentifyBehavior.spec.d.ts.map +1 -0
  118. package/dist/matter/behaviors/IdentifyBehavior.spec.js +64 -0
  119. package/dist/matter/behaviors/IdentifyBehavior.spec.js.map +1 -0
  120. package/dist/matter/behaviors/LevelControlBehavior.d.ts +33 -0
  121. package/dist/matter/behaviors/LevelControlBehavior.d.ts.map +1 -0
  122. package/dist/matter/behaviors/LevelControlBehavior.js +138 -0
  123. package/dist/matter/behaviors/LevelControlBehavior.js.map +1 -0
  124. package/dist/matter/behaviors/LevelControlBehavior.spec.d.ts +2 -0
  125. package/dist/matter/behaviors/LevelControlBehavior.spec.d.ts.map +1 -0
  126. package/dist/matter/behaviors/LevelControlBehavior.spec.js +145 -0
  127. package/dist/matter/behaviors/LevelControlBehavior.spec.js.map +1 -0
  128. package/dist/matter/behaviors/OnOffBehavior.d.ts +27 -0
  129. package/dist/matter/behaviors/OnOffBehavior.d.ts.map +1 -0
  130. package/dist/matter/behaviors/OnOffBehavior.js +95 -0
  131. package/dist/matter/behaviors/OnOffBehavior.js.map +1 -0
  132. package/dist/matter/behaviors/OnOffBehavior.spec.d.ts +2 -0
  133. package/dist/matter/behaviors/OnOffBehavior.spec.d.ts.map +1 -0
  134. package/dist/matter/behaviors/OnOffBehavior.spec.js +128 -0
  135. package/dist/matter/behaviors/OnOffBehavior.spec.js.map +1 -0
  136. package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts +19 -0
  137. package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts.map +1 -0
  138. package/dist/matter/behaviors/RvcCleanModeBehavior.js +41 -0
  139. package/dist/matter/behaviors/RvcCleanModeBehavior.js.map +1 -0
  140. package/dist/matter/behaviors/RvcCleanModeBehavior.spec.d.ts +2 -0
  141. package/dist/matter/behaviors/RvcCleanModeBehavior.spec.d.ts.map +1 -0
  142. package/dist/matter/behaviors/RvcCleanModeBehavior.spec.js +57 -0
  143. package/dist/matter/behaviors/RvcCleanModeBehavior.spec.js.map +1 -0
  144. package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts +22 -0
  145. package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts.map +1 -0
  146. package/dist/matter/behaviors/RvcOperationalStateBehavior.js +86 -0
  147. package/dist/matter/behaviors/RvcOperationalStateBehavior.js.map +1 -0
  148. package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.d.ts +2 -0
  149. package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.d.ts.map +1 -0
  150. package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.js +55 -0
  151. package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.js.map +1 -0
  152. package/dist/matter/behaviors/RvcRunModeBehavior.d.ts +19 -0
  153. package/dist/matter/behaviors/RvcRunModeBehavior.d.ts.map +1 -0
  154. package/dist/matter/behaviors/RvcRunModeBehavior.js +41 -0
  155. package/dist/matter/behaviors/RvcRunModeBehavior.js.map +1 -0
  156. package/dist/matter/behaviors/RvcRunModeBehavior.spec.d.ts +2 -0
  157. package/dist/matter/behaviors/RvcRunModeBehavior.spec.d.ts.map +1 -0
  158. package/dist/matter/behaviors/RvcRunModeBehavior.spec.js +57 -0
  159. package/dist/matter/behaviors/RvcRunModeBehavior.spec.js.map +1 -0
  160. package/dist/matter/behaviors/ServiceAreaBehavior.d.ts +21 -0
  161. package/dist/matter/behaviors/ServiceAreaBehavior.d.ts.map +1 -0
  162. package/dist/matter/behaviors/ServiceAreaBehavior.js +61 -0
  163. package/dist/matter/behaviors/ServiceAreaBehavior.js.map +1 -0
  164. package/dist/matter/behaviors/ServiceAreaBehavior.spec.d.ts +2 -0
  165. package/dist/matter/behaviors/ServiceAreaBehavior.spec.d.ts.map +1 -0
  166. package/dist/matter/behaviors/ServiceAreaBehavior.spec.js +53 -0
  167. package/dist/matter/behaviors/ServiceAreaBehavior.spec.js.map +1 -0
  168. package/dist/matter/behaviors/ThermostatBehavior.d.ts +22 -0
  169. package/dist/matter/behaviors/ThermostatBehavior.d.ts.map +1 -0
  170. package/dist/matter/behaviors/ThermostatBehavior.js +127 -0
  171. package/dist/matter/behaviors/ThermostatBehavior.js.map +1 -0
  172. package/dist/matter/behaviors/ThermostatBehavior.spec.d.ts +2 -0
  173. package/dist/matter/behaviors/ThermostatBehavior.spec.d.ts.map +1 -0
  174. package/dist/matter/behaviors/ThermostatBehavior.spec.js +23 -0
  175. package/dist/matter/behaviors/ThermostatBehavior.spec.js.map +1 -0
  176. package/dist/matter/behaviors/WindowCoveringBehavior.d.ts +31 -0
  177. package/dist/matter/behaviors/WindowCoveringBehavior.d.ts.map +1 -0
  178. package/dist/matter/behaviors/WindowCoveringBehavior.js +158 -0
  179. package/dist/matter/behaviors/WindowCoveringBehavior.js.map +1 -0
  180. package/dist/matter/behaviors/WindowCoveringBehavior.spec.d.ts +2 -0
  181. package/dist/matter/behaviors/WindowCoveringBehavior.spec.d.ts.map +1 -0
  182. package/dist/matter/behaviors/WindowCoveringBehavior.spec.js +27 -0
  183. package/dist/matter/behaviors/WindowCoveringBehavior.spec.js.map +1 -0
  184. package/dist/matter/behaviors/index.d.ts +20 -0
  185. package/dist/matter/behaviors/index.d.ts.map +1 -0
  186. package/dist/matter/behaviors/index.js +21 -0
  187. package/dist/matter/behaviors/index.js.map +1 -0
  188. package/dist/matter/configValidator.d.ts +81 -0
  189. package/dist/matter/configValidator.d.ts.map +1 -0
  190. package/dist/matter/configValidator.js +240 -0
  191. package/dist/matter/configValidator.js.map +1 -0
  192. package/dist/matter/configValidator.spec.d.ts +2 -0
  193. package/dist/matter/configValidator.spec.d.ts.map +1 -0
  194. package/dist/matter/configValidator.spec.js +390 -0
  195. package/dist/matter/configValidator.spec.js.map +1 -0
  196. package/dist/matter/errorHandler.d.ts +33 -0
  197. package/dist/matter/errorHandler.d.ts.map +1 -0
  198. package/dist/matter/errorHandler.js +113 -0
  199. package/dist/matter/errorHandler.js.map +1 -0
  200. package/dist/matter/errorHandler.spec.d.ts +2 -0
  201. package/dist/matter/errorHandler.spec.d.ts.map +1 -0
  202. package/dist/matter/errorHandler.spec.js +159 -0
  203. package/dist/matter/errorHandler.spec.js.map +1 -0
  204. package/dist/matter/errors.d.ts +178 -0
  205. package/dist/matter/errors.d.ts.map +1 -0
  206. package/dist/matter/errors.js +200 -0
  207. package/dist/matter/errors.js.map +1 -0
  208. package/dist/matter/index.d.ts +127 -0
  209. package/dist/matter/index.d.ts.map +1 -0
  210. package/dist/matter/index.js +23 -0
  211. package/dist/matter/index.js.map +1 -0
  212. package/dist/matter/logFormatter.d.ts +19 -0
  213. package/dist/matter/logFormatter.d.ts.map +1 -0
  214. package/dist/matter/logFormatter.js +158 -0
  215. package/dist/matter/logFormatter.js.map +1 -0
  216. package/dist/matter/logFormatter.spec.d.ts +2 -0
  217. package/dist/matter/logFormatter.spec.d.ts.map +1 -0
  218. package/dist/matter/logFormatter.spec.js +252 -0
  219. package/dist/matter/logFormatter.spec.js.map +1 -0
  220. package/dist/matter/server.d.ts +336 -0
  221. package/dist/matter/server.d.ts.map +1 -0
  222. package/dist/matter/server.js +1810 -0
  223. package/dist/matter/server.js.map +1 -0
  224. package/dist/matter/serverHelpers.d.ts +81 -0
  225. package/dist/matter/serverHelpers.d.ts.map +1 -0
  226. package/dist/matter/serverHelpers.js +326 -0
  227. package/dist/matter/serverHelpers.js.map +1 -0
  228. package/dist/matter/serverHelpers.spec.d.ts +2 -0
  229. package/dist/matter/serverHelpers.spec.d.ts.map +1 -0
  230. package/dist/matter/serverHelpers.spec.js +521 -0
  231. package/dist/matter/serverHelpers.spec.js.map +1 -0
  232. package/dist/matter/sharedTypes.d.ts +164 -0
  233. package/dist/matter/sharedTypes.d.ts.map +1 -0
  234. package/dist/matter/sharedTypes.js +46 -0
  235. package/dist/matter/sharedTypes.js.map +1 -0
  236. package/dist/matter/storage.d.ts +135 -0
  237. package/dist/matter/storage.d.ts.map +1 -0
  238. package/dist/matter/storage.js +424 -0
  239. package/dist/matter/storage.js.map +1 -0
  240. package/dist/matter/storage.spec.d.ts +2 -0
  241. package/dist/matter/storage.spec.d.ts.map +1 -0
  242. package/dist/matter/storage.spec.js +570 -0
  243. package/dist/matter/storage.spec.js.map +1 -0
  244. package/dist/matter/typeHelpers.d.ts +45 -0
  245. package/dist/matter/typeHelpers.d.ts.map +1 -0
  246. package/dist/matter/typeHelpers.js +57 -0
  247. package/dist/matter/typeHelpers.js.map +1 -0
  248. package/dist/matter/typeHelpers.spec.d.ts +2 -0
  249. package/dist/matter/typeHelpers.spec.d.ts.map +1 -0
  250. package/dist/matter/typeHelpers.spec.js +127 -0
  251. package/dist/matter/typeHelpers.spec.js.map +1 -0
  252. package/dist/matter/types.d.ts +826 -0
  253. package/dist/matter/types.d.ts.map +1 -0
  254. package/dist/matter/types.js +204 -0
  255. package/dist/matter/types.js.map +1 -0
  256. package/{lib → dist}/platformAccessory.d.ts +8 -6
  257. package/dist/platformAccessory.d.ts.map +1 -0
  258. package/{lib → dist}/platformAccessory.js +19 -16
  259. package/dist/platformAccessory.js.map +1 -0
  260. package/dist/platformAccessory.spec.d.ts +2 -0
  261. package/dist/platformAccessory.spec.d.ts.map +1 -0
  262. package/dist/platformAccessory.spec.js +126 -0
  263. package/dist/platformAccessory.spec.js.map +1 -0
  264. package/{lib → dist}/plugin.d.ts +2 -3
  265. package/dist/plugin.d.ts.map +1 -0
  266. package/{lib → dist}/plugin.js +39 -51
  267. package/dist/plugin.js.map +1 -0
  268. package/{lib → dist}/pluginManager.d.ts +3 -3
  269. package/dist/pluginManager.d.ts.map +1 -0
  270. package/{lib → dist}/pluginManager.js +76 -81
  271. package/dist/pluginManager.js.map +1 -0
  272. package/dist/pluginManager.spec.d.ts +2 -0
  273. package/dist/pluginManager.spec.d.ts.map +1 -0
  274. package/dist/pluginManager.spec.js +43 -0
  275. package/dist/pluginManager.spec.js.map +1 -0
  276. package/{lib → dist}/server.d.ts +14 -1
  277. package/dist/server.d.ts.map +1 -0
  278. package/{lib → dist}/server.js +193 -123
  279. package/dist/server.js.map +1 -0
  280. package/dist/server.spec.d.ts +2 -0
  281. package/dist/server.spec.d.ts.map +1 -0
  282. package/dist/server.spec.js +57 -0
  283. package/dist/server.spec.js.map +1 -0
  284. package/{lib → dist}/storageService.d.ts.map +1 -1
  285. package/dist/storageService.js +41 -0
  286. package/dist/storageService.js.map +1 -0
  287. package/{lib → dist}/user.d.ts +1 -0
  288. package/dist/user.d.ts.map +1 -0
  289. package/dist/user.js +32 -0
  290. package/dist/user.js.map +1 -0
  291. package/dist/user.spec.d.ts +2 -0
  292. package/dist/user.spec.d.ts.map +1 -0
  293. package/dist/user.spec.js +31 -0
  294. package/dist/user.spec.js.map +1 -0
  295. package/{lib → dist}/util/mac.d.ts +1 -0
  296. package/dist/util/mac.d.ts.map +1 -0
  297. package/dist/util/mac.js +14 -0
  298. package/dist/util/mac.js.map +1 -0
  299. package/dist/util/mac.spec.d.ts +2 -0
  300. package/dist/util/mac.spec.d.ts.map +1 -0
  301. package/dist/util/mac.spec.js +36 -0
  302. package/dist/util/mac.spec.js.map +1 -0
  303. package/dist/version.d.ts.map +1 -0
  304. package/dist/version.js +16 -0
  305. package/dist/version.js.map +1 -0
  306. package/dist/version.spec.d.ts +2 -0
  307. package/dist/version.spec.d.ts.map +1 -0
  308. package/dist/version.spec.js +20 -0
  309. package/dist/version.spec.js.map +1 -0
  310. package/package.json +49 -50
  311. package/bin/homebridge +0 -17
  312. package/lib/api.d.ts +0 -210
  313. package/lib/api.d.ts.map +0 -1
  314. package/lib/api.js +0 -155
  315. package/lib/api.js.map +0 -1
  316. package/lib/bridgeService.d.ts.map +0 -1
  317. package/lib/bridgeService.js.map +0 -1
  318. package/lib/childBridgeFork.d.ts.map +0 -1
  319. package/lib/childBridgeFork.js.map +0 -1
  320. package/lib/childBridgeService.d.ts.map +0 -1
  321. package/lib/childBridgeService.js.map +0 -1
  322. package/lib/cli.d.ts +0 -4
  323. package/lib/cli.d.ts.map +0 -1
  324. package/lib/cli.js +0 -111
  325. package/lib/cli.js.map +0 -1
  326. package/lib/externalPortService.d.ts +0 -33
  327. package/lib/externalPortService.d.ts.map +0 -1
  328. package/lib/externalPortService.js +0 -64
  329. package/lib/externalPortService.js.map +0 -1
  330. package/lib/index.d.ts +0 -76
  331. package/lib/index.d.ts.map +0 -1
  332. package/lib/index.js +0 -72
  333. package/lib/index.js.map +0 -1
  334. package/lib/ipcService.d.ts +0 -33
  335. package/lib/ipcService.d.ts.map +0 -1
  336. package/lib/ipcService.js.map +0 -1
  337. package/lib/logger.d.ts.map +0 -1
  338. package/lib/logger.js.map +0 -1
  339. package/lib/platformAccessory.d.ts.map +0 -1
  340. package/lib/platformAccessory.js.map +0 -1
  341. package/lib/plugin.d.ts.map +0 -1
  342. package/lib/plugin.js.map +0 -1
  343. package/lib/pluginManager.d.ts.map +0 -1
  344. package/lib/pluginManager.js.map +0 -1
  345. package/lib/server.d.ts.map +0 -1
  346. package/lib/server.js.map +0 -1
  347. package/lib/storageService.js +0 -70
  348. package/lib/storageService.js.map +0 -1
  349. package/lib/user.d.ts.map +0 -1
  350. package/lib/user.js +0 -36
  351. package/lib/user.js.map +0 -1
  352. package/lib/util/mac.d.ts.map +0 -1
  353. package/lib/util/mac.js +0 -20
  354. package/lib/util/mac.js.map +0 -1
  355. package/lib/version.d.ts.map +0 -1
  356. package/lib/version.js +0 -21
  357. package/lib/version.js.map +0 -1
  358. /package/{lib → dist}/storageService.d.ts +0 -0
  359. /package/{lib → dist}/version.d.ts +0 -0
@@ -0,0 +1,504 @@
1
+ /**
2
+ * Matter API Implementation
3
+ *
4
+ * This class implements the Matter API facade, keeping Matter-specific logic
5
+ * separate from the core HomebridgeAPI class.
6
+ *
7
+ * Benefits:
8
+ * - Reduces changes to core api.ts file
9
+ * - Lazy-loads Matter code only when used
10
+ * - Clear separation between HAP and Matter
11
+ * - Easier to test in isolation
12
+ * - Validates accessories before registration
13
+ * - Provides detailed error messages for debugging
14
+ */
15
+ import type { EndpointType } from '@matter/main';
16
+ import type { HomebridgeAPI, MatterAPI, PlatformName, PluginIdentifier } from '../api.js';
17
+ import { clusters, MatterAccessory } from './index.js';
18
+ /**
19
+ * Implementation of the Matter API
20
+ * Delegates to the HomebridgeAPI instance for event emission and server access
21
+ * Provides validation and coordination for Matter accessory operations
22
+ */
23
+ export declare class MatterAPIImpl implements MatterAPI {
24
+ private readonly api;
25
+ constructor(api: HomebridgeAPI);
26
+ /**
27
+ * Validate a Matter accessory has required fields
28
+ * @throws MatterAccessoryValidationError if validation fails
29
+ */
30
+ private validateAccessory;
31
+ /**
32
+ * Validate an array of accessories, logging errors for invalid ones
33
+ * @returns Array of valid accessories only
34
+ */
35
+ private validateAccessories;
36
+ /**
37
+ * Validate cluster name is valid
38
+ */
39
+ private validateClusterName;
40
+ /**
41
+ * UUID generator (alias of api.hap.uuid for convenience)
42
+ */
43
+ get uuid(): typeof import("hap-nodejs/dist/lib/util/uuid.js");
44
+ /**
45
+ * Matter device types for creating accessories
46
+ */
47
+ get deviceTypes(): {
48
+ readonly OnOffLight: import("@matter/node/devices").OnOffLightDevice;
49
+ readonly DimmableLight: import("@matter/node/devices").DimmableLightDevice;
50
+ readonly ColorTemperatureLight: import("@matter/node/devices").ColorTemperatureLightDevice;
51
+ readonly ExtendedColorLight: import("@matter/node/devices").ExtendedColorLightDevice;
52
+ readonly OnOffSwitch: import("@matter/node/devices").OnOffLightSwitchDevice;
53
+ readonly OnOffOutlet: import("@matter/node/devices").OnOffPlugInUnitDevice;
54
+ readonly DimmableOutlet: import("@matter/node/devices").DimmablePlugInUnitDevice;
55
+ readonly TemperatureSensor: import("@matter/node/devices").TemperatureSensorDevice;
56
+ readonly HumiditySensor: import("@matter/node/devices").HumiditySensorDevice;
57
+ readonly LightSensor: import("@matter/node/devices").LightSensorDevice;
58
+ readonly MotionSensor: import("@matter/node/devices").OccupancySensorDevice;
59
+ readonly ContactSensor: import("@matter/node/devices").ContactSensorDevice;
60
+ readonly LeakSensor: import("@matter/node/devices").WaterLeakDetectorDevice;
61
+ readonly SmokeSensor: import("@matter/node/devices").SmokeCoAlarmDevice;
62
+ readonly Thermostat: import("@matter/main").MutableEndpoint.With<EndpointType.For<{
63
+ readonly name: "Thermostat";
64
+ readonly deviceType: 769;
65
+ readonly deviceRevision: 4;
66
+ readonly requirements: typeof import("@matter/node/devices").ThermostatRequirements;
67
+ readonly behaviors: {
68
+ readonly identify: typeof import("@matter/node/behaviors").IdentifyServer;
69
+ };
70
+ }>, import("@matter/main").SupportedBehaviors.With<{
71
+ readonly identify: typeof import("@matter/node/behaviors").IdentifyServer;
72
+ }, readonly [import("@matter/main").ClusterBehavior.Type<import("@matter/types").ClusterComposer.WithFeatures<import("@matter/types").ClusterType.Of<{
73
+ readonly id: 513;
74
+ readonly name: "Thermostat";
75
+ readonly revision: 9;
76
+ readonly features: {
77
+ readonly heating: import("@matter/types").BitFlag;
78
+ readonly cooling: import("@matter/types").BitFlag;
79
+ readonly occupancy: import("@matter/types").BitFlag;
80
+ readonly scheduleConfiguration: import("@matter/types").BitFlag;
81
+ readonly setback: import("@matter/types").BitFlag;
82
+ readonly autoMode: import("@matter/types").BitFlag;
83
+ readonly localTemperatureNotExposed: import("@matter/types").BitFlag;
84
+ readonly matterScheduleConfiguration: import("@matter/types").BitFlag;
85
+ readonly presets: import("@matter/types").BitFlag;
86
+ };
87
+ readonly attributes: {
88
+ readonly localTemperature: import("@matter/types").Attribute<number | null, any>;
89
+ readonly outdoorTemperature: import("@matter/types").OptionalAttribute<number | null, any>;
90
+ readonly hvacSystemTypeConfiguration: import("@matter/types").OptionalWritableAttribute<import("@matter/types").TypeFromPartialBitSchema<{
91
+ coolingStage: import("@matter/types").BitField;
92
+ heatingStage: import("@matter/types").BitField;
93
+ heatingIsHeatPump: import("@matter/types").BitFlag;
94
+ heatingUsesFuel: import("@matter/types").BitFlag;
95
+ }>, any>;
96
+ readonly remoteSensing: import("@matter/types").OptionalWritableAttribute<import("@matter/types").TypeFromPartialBitSchema<{
97
+ localTemperature: import("@matter/types").BitFlag;
98
+ outdoorTemperature: import("@matter/types").BitFlag;
99
+ occupancy: import("@matter/types").BitFlag;
100
+ }>, any>;
101
+ readonly controlSequenceOfOperation: import("@matter/types").WritableAttribute<clusters.Thermostat.ControlSequenceOfOperation, any>;
102
+ readonly systemMode: import("@matter/types").WritableAttribute<clusters.Thermostat.SystemMode, any>;
103
+ readonly temperatureSetpointHold: import("@matter/types").OptionalWritableAttribute<clusters.Thermostat.TemperatureSetpointHold, any>;
104
+ readonly temperatureSetpointHoldDuration: import("@matter/types").OptionalWritableAttribute<number | null, any>;
105
+ readonly thermostatProgrammingOperationMode: import("@matter/types").OptionalWritableAttribute<import("@matter/types").TypeFromPartialBitSchema<{
106
+ scheduleActive: import("@matter/types").BitFlag;
107
+ autoRecovery: import("@matter/types").BitFlag;
108
+ economy: import("@matter/types").BitFlag;
109
+ }>, any>;
110
+ readonly thermostatRunningState: import("@matter/types").OptionalAttribute<import("@matter/types").TypeFromPartialBitSchema<{
111
+ heat: import("@matter/types").BitFlag;
112
+ cool: import("@matter/types").BitFlag;
113
+ fan: import("@matter/types").BitFlag;
114
+ heatStage2: import("@matter/types").BitFlag;
115
+ coolStage2: import("@matter/types").BitFlag;
116
+ fanStage2: import("@matter/types").BitFlag;
117
+ fanStage3: import("@matter/types").BitFlag;
118
+ }>, any>;
119
+ readonly setpointChangeSource: import("@matter/types").OptionalAttribute<clusters.Thermostat.SetpointChangeSource, any>;
120
+ readonly setpointChangeAmount: import("@matter/types").OptionalAttribute<number | null, any>;
121
+ readonly setpointChangeSourceTimestamp: import("@matter/types").OptionalAttribute<number, any>;
122
+ readonly emergencyHeatDelta: import("@matter/types").OptionalWritableAttribute<number, any>;
123
+ readonly acType: import("@matter/types").OptionalWritableAttribute<clusters.Thermostat.AcType, any>;
124
+ readonly acCapacity: import("@matter/types").OptionalWritableAttribute<number, any>;
125
+ readonly acRefrigerantType: import("@matter/types").OptionalWritableAttribute<clusters.Thermostat.AcRefrigerantType, any>;
126
+ readonly acCompressorType: import("@matter/types").OptionalWritableAttribute<clusters.Thermostat.AcCompressorType, any>;
127
+ readonly acErrorCode: import("@matter/types").OptionalWritableAttribute<import("@matter/types").TypeFromPartialBitSchema<{
128
+ compressorFail: import("@matter/types").BitFlag;
129
+ roomSensorFail: import("@matter/types").BitFlag;
130
+ outdoorSensorFail: import("@matter/types").BitFlag;
131
+ coilSensorFail: import("@matter/types").BitFlag;
132
+ fanFail: import("@matter/types").BitFlag;
133
+ }>, any>;
134
+ readonly acLouverPosition: import("@matter/types").OptionalWritableAttribute<clusters.Thermostat.AcLouverPosition, any>;
135
+ readonly acCoilTemperature: import("@matter/types").OptionalAttribute<number | null, any>;
136
+ readonly acCapacityFormat: import("@matter/types").OptionalWritableAttribute<clusters.Thermostat.AcCapacityFormat, any>;
137
+ readonly setpointHoldExpiryTimestamp: import("@matter/types").OptionalAttribute<number | null, any>;
138
+ };
139
+ readonly commands: {
140
+ readonly setpointRaiseLower: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
141
+ mode: import("@matter/types").FieldType<clusters.Thermostat.SetpointRaiseLowerMode>;
142
+ amount: import("@matter/types").FieldType<number>;
143
+ }>, void, any>;
144
+ readonly atomicRequest: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
145
+ requestType: import("@matter/types").FieldType<clusters.Thermostat.RequestType>;
146
+ attributeRequests: import("@matter/types").FieldType<import("@matter/main").AttributeId[]>;
147
+ timeout: import("@matter/types").OptionalFieldType<number>;
148
+ }>, import("@matter/types").TypeFromFields<{
149
+ statusCode: import("@matter/types").FieldType<import("@matter/types").Status>;
150
+ attributeStatus: import("@matter/types").FieldType<import("@matter/types").TypeFromFields<{
151
+ attributeId: import("@matter/types").FieldType<import("@matter/main").AttributeId>;
152
+ statusCode: import("@matter/types").FieldType<import("@matter/types").Status>;
153
+ }>[]>;
154
+ timeout: import("@matter/types").OptionalFieldType<number>;
155
+ }>, any>;
156
+ };
157
+ readonly extensions: readonly [{
158
+ readonly flags: {
159
+ readonly occupancy: true;
160
+ };
161
+ readonly component: {
162
+ readonly attributes: {
163
+ readonly occupancy: import("@matter/types").Attribute<import("@matter/types").TypeFromPartialBitSchema<{
164
+ occupied: import("@matter/types").BitFlag;
165
+ }>, any>;
166
+ };
167
+ };
168
+ }, {
169
+ readonly flags: {
170
+ readonly heating: true;
171
+ };
172
+ readonly component: {
173
+ readonly attributes: {
174
+ readonly absMinHeatSetpointLimit: import("@matter/types").OptionalFixedAttribute<number, any>;
175
+ readonly absMaxHeatSetpointLimit: import("@matter/types").OptionalFixedAttribute<number, any>;
176
+ readonly piHeatingDemand: import("@matter/types").OptionalAttribute<number, any>;
177
+ readonly occupiedHeatingSetpoint: import("@matter/types").WritableAttribute<number, any>;
178
+ readonly minHeatSetpointLimit: import("@matter/types").OptionalWritableAttribute<number, any>;
179
+ readonly maxHeatSetpointLimit: import("@matter/types").OptionalWritableAttribute<number, any>;
180
+ };
181
+ };
182
+ }, {
183
+ readonly flags: {
184
+ readonly cooling: true;
185
+ };
186
+ readonly component: {
187
+ readonly attributes: {
188
+ readonly absMinCoolSetpointLimit: import("@matter/types").OptionalFixedAttribute<number, any>;
189
+ readonly absMaxCoolSetpointLimit: import("@matter/types").OptionalFixedAttribute<number, any>;
190
+ readonly piCoolingDemand: import("@matter/types").OptionalAttribute<number, any>;
191
+ readonly occupiedCoolingSetpoint: import("@matter/types").WritableAttribute<number, any>;
192
+ readonly minCoolSetpointLimit: import("@matter/types").OptionalWritableAttribute<number, any>;
193
+ readonly maxCoolSetpointLimit: import("@matter/types").OptionalWritableAttribute<number, any>;
194
+ };
195
+ };
196
+ }, {
197
+ readonly flags: {
198
+ readonly localTemperatureNotExposed: false;
199
+ };
200
+ readonly component: {
201
+ readonly attributes: {
202
+ readonly localTemperatureCalibration: import("@matter/types").OptionalWritableAttribute<number, any>;
203
+ };
204
+ };
205
+ }, {
206
+ readonly flags: {
207
+ readonly cooling: true;
208
+ readonly occupancy: true;
209
+ };
210
+ readonly component: {
211
+ readonly attributes: {
212
+ readonly unoccupiedCoolingSetpoint: import("@matter/types").WritableAttribute<number, any>;
213
+ };
214
+ };
215
+ }, {
216
+ readonly flags: {
217
+ readonly heating: true;
218
+ readonly occupancy: true;
219
+ };
220
+ readonly component: {
221
+ readonly attributes: {
222
+ readonly unoccupiedHeatingSetpoint: import("@matter/types").WritableAttribute<number, any>;
223
+ };
224
+ };
225
+ }, {
226
+ readonly flags: {
227
+ readonly autoMode: true;
228
+ };
229
+ readonly component: {
230
+ readonly attributes: {
231
+ readonly minSetpointDeadBand: import("@matter/types").WritableAttribute<number, any>;
232
+ readonly thermostatRunningMode: import("@matter/types").OptionalAttribute<clusters.Thermostat.ThermostatRunningMode, any>;
233
+ };
234
+ };
235
+ }, {
236
+ readonly flags: {
237
+ readonly scheduleConfiguration: true;
238
+ };
239
+ readonly component: {
240
+ readonly attributes: {
241
+ readonly startOfWeek: import("@matter/types").FixedAttribute<clusters.Thermostat.StartOfWeek, any>;
242
+ readonly numberOfWeeklyTransitions: import("@matter/types").FixedAttribute<number, any>;
243
+ readonly numberOfDailyTransitions: import("@matter/types").FixedAttribute<number, any>;
244
+ };
245
+ readonly commands: {
246
+ readonly setWeeklySchedule: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
247
+ numberOfTransitionsForSequence: import("@matter/types").FieldType<number>;
248
+ dayOfWeekForSequence: import("@matter/types").FieldType<import("@matter/types").TypeFromPartialBitSchema<{
249
+ sunday: import("@matter/types").BitFlag;
250
+ monday: import("@matter/types").BitFlag;
251
+ tuesday: import("@matter/types").BitFlag;
252
+ wednesday: import("@matter/types").BitFlag;
253
+ thursday: import("@matter/types").BitFlag;
254
+ friday: import("@matter/types").BitFlag;
255
+ saturday: import("@matter/types").BitFlag;
256
+ away: import("@matter/types").BitFlag;
257
+ }>>;
258
+ modeForSequence: import("@matter/types").FieldType<import("@matter/types").TypeFromPartialBitSchema<{
259
+ heatSetpointPresent: import("@matter/types").BitFlag;
260
+ coolSetpointPresent: import("@matter/types").BitFlag;
261
+ }>>;
262
+ transitions: import("@matter/types").FieldType<import("@matter/types").TypeFromFields<{
263
+ transitionTime: import("@matter/types").FieldType<number>;
264
+ heatSetpoint: import("@matter/types").FieldType<number | null>;
265
+ coolSetpoint: import("@matter/types").FieldType<number | null>;
266
+ }>[]>;
267
+ }>, void, any>;
268
+ readonly getWeeklySchedule: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
269
+ daysToReturn: import("@matter/types").FieldType<import("@matter/types").TypeFromPartialBitSchema<{
270
+ sunday: import("@matter/types").BitFlag;
271
+ monday: import("@matter/types").BitFlag;
272
+ tuesday: import("@matter/types").BitFlag;
273
+ wednesday: import("@matter/types").BitFlag;
274
+ thursday: import("@matter/types").BitFlag;
275
+ friday: import("@matter/types").BitFlag;
276
+ saturday: import("@matter/types").BitFlag;
277
+ away: import("@matter/types").BitFlag;
278
+ }>>;
279
+ modeToReturn: import("@matter/types").FieldType<import("@matter/types").TypeFromPartialBitSchema<{
280
+ heatSetpointPresent: import("@matter/types").BitFlag;
281
+ coolSetpointPresent: import("@matter/types").BitFlag;
282
+ }>>;
283
+ }>, import("@matter/types").TypeFromFields<{
284
+ numberOfTransitionsForSequence: import("@matter/types").FieldType<number>;
285
+ dayOfWeekForSequence: import("@matter/types").FieldType<import("@matter/types").TypeFromPartialBitSchema<{
286
+ sunday: import("@matter/types").BitFlag;
287
+ monday: import("@matter/types").BitFlag;
288
+ tuesday: import("@matter/types").BitFlag;
289
+ wednesday: import("@matter/types").BitFlag;
290
+ thursday: import("@matter/types").BitFlag;
291
+ friday: import("@matter/types").BitFlag;
292
+ saturday: import("@matter/types").BitFlag;
293
+ away: import("@matter/types").BitFlag;
294
+ }>>;
295
+ modeForSequence: import("@matter/types").FieldType<import("@matter/types").TypeFromPartialBitSchema<{
296
+ heatSetpointPresent: import("@matter/types").BitFlag;
297
+ coolSetpointPresent: import("@matter/types").BitFlag;
298
+ }>>;
299
+ transitions: import("@matter/types").FieldType<import("@matter/types").TypeFromFields<{
300
+ transitionTime: import("@matter/types").FieldType<number>;
301
+ heatSetpoint: import("@matter/types").FieldType<number | null>;
302
+ coolSetpoint: import("@matter/types").FieldType<number | null>;
303
+ }>[]>;
304
+ }>, any>;
305
+ readonly clearWeeklySchedule: import("@matter/types").Command<void, void, any>;
306
+ };
307
+ };
308
+ }, {
309
+ readonly flags: {
310
+ readonly setback: true;
311
+ };
312
+ readonly component: {
313
+ readonly attributes: {
314
+ readonly occupiedSetback: import("@matter/types").WritableAttribute<number | null, any>;
315
+ readonly occupiedSetbackMin: import("@matter/types").FixedAttribute<number | null, any>;
316
+ readonly occupiedSetbackMax: import("@matter/types").FixedAttribute<number | null, any>;
317
+ };
318
+ };
319
+ }, {
320
+ readonly flags: {
321
+ readonly setback: true;
322
+ readonly occupancy: true;
323
+ };
324
+ readonly component: {
325
+ readonly attributes: {
326
+ readonly unoccupiedSetback: import("@matter/types").WritableAttribute<number | null, any>;
327
+ readonly unoccupiedSetbackMin: import("@matter/types").FixedAttribute<number | null, any>;
328
+ readonly unoccupiedSetbackMax: import("@matter/types").FixedAttribute<number | null, any>;
329
+ };
330
+ };
331
+ }, {
332
+ readonly flags: {
333
+ readonly presets: true;
334
+ };
335
+ readonly component: {
336
+ readonly attributes: {
337
+ readonly presetTypes: import("@matter/types").FixedAttribute<import("@matter/types").TypeFromFields<{
338
+ presetScenario: import("@matter/types").FieldType<clusters.Thermostat.PresetScenario>;
339
+ numberOfPresets: import("@matter/types").FieldType<number>;
340
+ presetTypeFeatures: import("@matter/types").FieldType<import("@matter/types").TypeFromPartialBitSchema<{
341
+ automatic: import("@matter/types").BitFlag;
342
+ supportsNames: import("@matter/types").BitFlag;
343
+ }>>;
344
+ }>[], any>;
345
+ readonly numberOfPresets: import("@matter/types").FixedAttribute<number, any>;
346
+ readonly activePresetHandle: import("@matter/types").Attribute<AllowSharedBufferSource | null, any>;
347
+ readonly presets: import("@matter/types").WritableAttribute<import("@matter/types").TypeFromFields<{
348
+ presetHandle: import("@matter/types").FieldType<AllowSharedBufferSource | null>;
349
+ presetScenario: import("@matter/types").FieldType<clusters.Thermostat.PresetScenario>;
350
+ name: import("@matter/types").OptionalFieldType<string | null>;
351
+ coolingSetpoint: import("@matter/types").OptionalFieldType<number>;
352
+ heatingSetpoint: import("@matter/types").OptionalFieldType<number>;
353
+ builtIn: import("@matter/types").FieldType<boolean | null>;
354
+ }>[], any>;
355
+ };
356
+ readonly commands: {
357
+ readonly setActivePresetRequest: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
358
+ presetHandle: import("@matter/types").FieldType<AllowSharedBufferSource | null>;
359
+ }>, void, any>;
360
+ };
361
+ };
362
+ }, {
363
+ readonly flags: {
364
+ readonly matterScheduleConfiguration: true;
365
+ };
366
+ readonly component: {
367
+ readonly attributes: {
368
+ readonly scheduleTypes: import("@matter/types").FixedAttribute<import("@matter/types").TypeFromFields<{
369
+ systemMode: import("@matter/types").FieldType<clusters.Thermostat.SystemMode>;
370
+ numberOfSchedules: import("@matter/types").FieldType<number>;
371
+ scheduleTypeFeatures: import("@matter/types").FieldType<import("@matter/types").TypeFromPartialBitSchema<{
372
+ supportsPresets: import("@matter/types").BitFlag;
373
+ supportsSetpoints: import("@matter/types").BitFlag;
374
+ supportsNames: import("@matter/types").BitFlag;
375
+ supportsOff: import("@matter/types").BitFlag;
376
+ }>>;
377
+ }>[], any>;
378
+ readonly numberOfSchedules: import("@matter/types").FixedAttribute<number, any>;
379
+ readonly numberOfScheduleTransitions: import("@matter/types").FixedAttribute<number, any>;
380
+ readonly numberOfScheduleTransitionPerDay: import("@matter/types").FixedAttribute<number | null, any>;
381
+ readonly activeScheduleHandle: import("@matter/types").Attribute<AllowSharedBufferSource | null, any>;
382
+ readonly schedules: import("@matter/types").WritableAttribute<import("@matter/types").TypeFromFields<{
383
+ scheduleHandle: import("@matter/types").FieldType<AllowSharedBufferSource | null>;
384
+ systemMode: import("@matter/types").FieldType<clusters.Thermostat.SystemMode>;
385
+ name: import("@matter/types").OptionalFieldType<string>;
386
+ presetHandle: import("@matter/types").OptionalFieldType<AllowSharedBufferSource>;
387
+ transitions: import("@matter/types").FieldType<import("@matter/types").TypeFromFields<{
388
+ dayOfWeek: import("@matter/types").FieldType<import("@matter/types").TypeFromPartialBitSchema<{
389
+ sunday: import("@matter/types").BitFlag;
390
+ monday: import("@matter/types").BitFlag;
391
+ tuesday: import("@matter/types").BitFlag;
392
+ wednesday: import("@matter/types").BitFlag;
393
+ thursday: import("@matter/types").BitFlag;
394
+ friday: import("@matter/types").BitFlag;
395
+ saturday: import("@matter/types").BitFlag;
396
+ away: import("@matter/types").BitFlag;
397
+ }>>;
398
+ transitionTime: import("@matter/types").FieldType<number>;
399
+ presetHandle: import("@matter/types").OptionalFieldType<AllowSharedBufferSource>;
400
+ systemMode: import("@matter/types").OptionalFieldType<clusters.Thermostat.SystemMode>;
401
+ coolingSetpoint: import("@matter/types").OptionalFieldType<number>;
402
+ heatingSetpoint: import("@matter/types").OptionalFieldType<number>;
403
+ }>[]>;
404
+ builtIn: import("@matter/types").FieldType<boolean | null>;
405
+ }>[], any>;
406
+ };
407
+ readonly commands: {
408
+ readonly setActiveScheduleRequest: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
409
+ scheduleHandle: import("@matter/types").FieldType<AllowSharedBufferSource>;
410
+ }>, void, any>;
411
+ };
412
+ };
413
+ }, {
414
+ readonly flags: {
415
+ readonly autoMode: true;
416
+ readonly heating: false;
417
+ };
418
+ readonly component: false;
419
+ }, {
420
+ readonly flags: {
421
+ readonly autoMode: true;
422
+ readonly cooling: false;
423
+ };
424
+ readonly component: false;
425
+ }, {
426
+ readonly flags: {
427
+ readonly heating: false;
428
+ readonly cooling: false;
429
+ };
430
+ readonly component: false;
431
+ }];
432
+ }>, readonly ["Heating", "Cooling"]>, typeof import("@matter/node/behaviors").ThermostatServer, import("@matter/node/behaviors").ThermostatInterface>]>>;
433
+ readonly Fan: import("@matter/node/devices").FanDevice;
434
+ readonly DoorLock: import("@matter/node/devices").DoorLockDevice;
435
+ readonly WindowCovering: import("@matter/node/devices").WindowCoveringDevice;
436
+ readonly RoboticVacuumCleaner: import("@matter/node/devices").RoboticVacuumCleanerDevice;
437
+ readonly GenericSwitch: import("@matter/node/devices").GenericSwitchDevice;
438
+ readonly Pump: import("@matter/node/devices").PumpDevice;
439
+ readonly RoomAirConditioner: import("@matter/node/devices").RoomAirConditionerDevice;
440
+ };
441
+ /**
442
+ * Matter clusters - Direct access to Matter.js cluster definitions
443
+ */
444
+ get clusters(): typeof clusters;
445
+ /**
446
+ * Matter cluster names for type safety and autocomplete
447
+ */
448
+ get clusterNames(): {
449
+ readonly OnOff: "onOff";
450
+ readonly LevelControl: "levelControl";
451
+ readonly ColorControl: "colorControl";
452
+ readonly DoorLock: "doorLock";
453
+ readonly WindowCovering: "windowCovering";
454
+ readonly Thermostat: "thermostat";
455
+ readonly FanControl: "fanControl";
456
+ readonly TemperatureMeasurement: "temperatureMeasurement";
457
+ readonly RelativeHumidityMeasurement: "relativeHumidityMeasurement";
458
+ readonly IlluminanceMeasurement: "illuminanceMeasurement";
459
+ readonly OccupancySensing: "occupancySensing";
460
+ readonly BooleanState: "booleanState";
461
+ readonly SmokeCoAlarm: "smokeCoAlarm";
462
+ readonly RvcRunMode: "rvcRunMode";
463
+ readonly RvcOperationalState: "rvcOperationalState";
464
+ readonly RvcCleanMode: "rvcCleanMode";
465
+ readonly ServiceArea: "serviceArea";
466
+ readonly PumpConfigurationAndControl: "pumpConfigurationAndControl";
467
+ readonly Identify: "identify";
468
+ readonly BasicInformation: "basicInformation";
469
+ readonly BridgedDeviceBasicInformation: "bridgedDeviceBasicInformation";
470
+ };
471
+ /**
472
+ * Matter types - Access to Matter.js cluster type definitions and enums
473
+ */
474
+ get types(): typeof clusters;
475
+ /**
476
+ * Register Matter platform accessories
477
+ * Automatically handles external accessories (e.g., RoboticVacuumCleaner) that need dedicated bridges
478
+ * Validates accessories before registration
479
+ * Returns a promise that resolves when all accessories are fully registered
480
+ */
481
+ registerPlatformAccessories(pluginIdentifier: PluginIdentifier, platformName: PlatformName, accessories: MatterAccessory[]): Promise<void>;
482
+ /**
483
+ * Update Matter platform accessories in the cache
484
+ * Similar to api.updatePlatformAccessories() for HAP accessories
485
+ */
486
+ updatePlatformAccessories(accessories: MatterAccessory[]): Promise<void>;
487
+ /**
488
+ * Unregister Matter platform accessories
489
+ * Automatically handles external accessories (e.g., RoboticVacuumCleaner) that have dedicated bridges
490
+ */
491
+ unregisterPlatformAccessories(pluginIdentifier: PluginIdentifier, platformName: PlatformName, accessories: MatterAccessory[]): Promise<void>;
492
+ /**
493
+ * Update a Matter accessory's cluster state
494
+ * Validates inputs before updating
495
+ */
496
+ updateAccessoryState(uuid: string, cluster: string, attributes: Record<string, unknown>, partId?: string): Promise<void>;
497
+ /**
498
+ * Get a Matter accessory's current cluster state
499
+ * Checks both external servers and main bridge server
500
+ * Validates inputs before retrieving state
501
+ */
502
+ getAccessoryState(uuid: string, cluster: string, partId?: string): Promise<Record<string, unknown> | undefined>;
503
+ }
504
+ //# sourceMappingURL=MatterAPIImpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MatterAPIImpl.d.ts","sourceRoot":"","sources":["../../src/matter/MatterAPIImpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAKzF,OAAO,EAAgB,QAAQ,EAAe,eAAe,EAA6B,MAAM,YAAY,CAAA;AA8B5G;;;;GAIG;AACH,qBAAa,aAAc,YAAW,SAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,aAAa;IAE/C;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA4CzB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAoB3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;OAEG;IACH,IAAI,IAAI,sDAEP;IAED;;OAEG;IACH,IAAI,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uFA+Py+9B,uBAAuB;;4EAAmL,uBAAuB;;;;;;;;;;4EAAkpB,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;yFAAwwC,uBAAuB;;8EAAuL,uBAAuB;;;oFAAwO,uBAAuB;;;;;;;;;;;;;wFAAk2B,uBAAuB;;;;;;;;;;8EAAymB,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA7PtmmC;IAED;;OAEG;IACH,IAAI,QAAQ,oBAEX;IAED;;OAEG;IACH,IAAI,YAAY;;;;;;;;;;;;;;;;;;;;;;MAEf;IAED;;OAEG;IACH,IAAI,KAAK,oBAER;IAED;;;;;OAKG;IACG,2BAA2B,CAC/B,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,eAAe,EAAE,GAC7B,OAAO,CAAC,IAAI,CAAC;IA8EhB;;;OAGG;IACG,yBAAyB,CAAC,WAAW,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAY9E;;;OAGG;IACG,6BAA6B,CACjC,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,eAAe,EAAE,GAC7B,OAAO,CAAC,IAAI,CAAC;IAmChB;;;OAGG;IACG,oBAAoB,CACxB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IA2BhB;;;;OAIG;IACG,iBAAiB,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAqChD"}