homebridge 2.0.0-beta.44 → 2.0.0-beta.46

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 +152 -83
  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 +7 -69
  40. package/dist/matter/ChildBridgeMatterManager.d.ts.map +1 -1
  41. package/dist/matter/ChildBridgeMatterManager.js +51 -234
  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 +3 -28
  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 +7 -107
  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 +140 -216
  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 +15 -28
  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 +308 -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 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/user.d.ts CHANGED
@@ -1,6 +1,3 @@
1
- /**
2
- * Manages user settings and storage locations.
3
- */
4
1
  export declare class User {
5
2
  private static customStoragePath?;
6
3
  private static storageAccessed;
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,qBAAa,IAAI;IACf,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAQ;IACzC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAQ;IAEtC,MAAM,CAAC,UAAU,IAAI,MAAM;IAI3B,MAAM,CAAC,WAAW,IAAI,MAAM;IAI5B,MAAM,CAAC,UAAU,IAAI,MAAM;IAI3B,MAAM,CAAC,mBAAmB,IAAI,MAAM;IAIpC,MAAM,CAAC,WAAW,IAAI,MAAM;WAMd,cAAc,CAAC,GAAG,mBAAmB,EAAE,MAAM,EAAE,GAAG,IAAI;CAOrE"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"AAMA,qBAAa,IAAI;IACf,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAQ;IACzC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAQ;IAEtC,MAAM,CAAC,UAAU,IAAI,MAAM;IAI3B,MAAM,CAAC,WAAW,IAAI,MAAM;IAI5B,MAAM,CAAC,UAAU,IAAI,MAAM;IAI3B,MAAM,CAAC,mBAAmB,IAAI,MAAM;IAIpC,MAAM,CAAC,WAAW,IAAI,MAAM;WAMd,cAAc,CAAC,GAAG,mBAAmB,EAAE,MAAM,EAAE,GAAG,IAAI;CAOrE"}
package/dist/user.js CHANGED
@@ -1,8 +1,5 @@
1
1
  import { homedir } from 'node:os';
2
2
  import { join, resolve } from 'node:path';
3
- /**
4
- * Manages user settings and storage locations.
5
- */
6
3
  export class User {
7
4
  static customStoragePath;
8
5
  static storageAccessed = false;
@@ -10,10 +7,10 @@ export class User {
10
7
  return join(User.storagePath(), 'config.json');
11
8
  }
12
9
  static persistPath() {
13
- return join(User.storagePath(), 'persist'); // hap-nodejs data is stored here
10
+ return join(User.storagePath(), 'persist');
14
11
  }
15
12
  static matterPath() {
16
- return join(User.storagePath(), 'matter'); // matter data is stored here
13
+ return join(User.storagePath(), 'matter');
17
14
  }
18
15
  static cachedAccessoryPath() {
19
16
  return join(User.storagePath(), 'accessories');
package/dist/user.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEzC;;GAEG;AACH,MAAM,OAAO,IAAI;IACP,MAAM,CAAC,iBAAiB,CAAS;IACjC,MAAM,CAAC,eAAe,GAAG,KAAK,CAAA;IAEtC,MAAM,CAAC,UAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAA,CAAC,iCAAiC;IAC9E,CAAC;IAED,MAAM,CAAC,UAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAA,CAAC,6BAA6B;IACzE,CAAC;IAED,MAAM,CAAC,mBAAmB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAE3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,CAAA;IACzF,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,GAAG,mBAA6B;QAC3D,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,qHAAqH,CAAC,CAAA;QACxI,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,GAAG,mBAAmB,CAAC,CAAA;IAC1D,CAAC"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKzC,MAAM,OAAO,IAAI;IACP,MAAM,CAAC,iBAAiB,CAAS;IACjC,MAAM,CAAC,eAAe,GAAG,KAAK,CAAA;IAEtC,MAAM,CAAC,UAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,CAAC,UAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;IAED,MAAM,CAAC,mBAAmB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAE3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,CAAA;IACzF,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,GAAG,mBAA6B;QAC3D,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,qHAAqH,CAAC,CAAA;QACxI,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,GAAG,mBAAmB,CAAC,CAAA;IAC1D,CAAC"}
package/dist/util/mac.js CHANGED
@@ -1,4 +1,3 @@
1
- /* global NodeJS */
2
1
  import { createHash } from 'node:crypto';
3
2
  const validMac = /^(?:[0-9A-F]{2}:){5}[0-9A-F]{2}$/;
4
3
  export function validMacAddress(address) {
@@ -1 +1 @@
1
- {"version":3,"file":"mac.js","sourceRoot":"","sources":["../../src/util/mac.ts"],"names":[],"mappings":"AAEA,mBAAmB;AACnB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,MAAM,QAAQ,GAAG,kCAAkC,CAAA;AAInD,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAoD;IAC3E,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAClC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACpB,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAE/B,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;AACtE,CAAC"}
1
+ {"version":3,"file":"mac.js","sourceRoot":"","sources":["../../src/util/mac.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,MAAM,QAAQ,GAAG,kCAAkC,CAAA;AAInD,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAoD;IAC3E,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAClC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACpB,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAE/B,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;AACtE,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "homebridge",
3
3
  "type": "module",
4
- "version": "2.0.0-beta.44",
4
+ "version": "2.0.0-beta.46",
5
5
  "description": "HomeKit support for the impatient",
6
6
  "author": "Nick Farina",
7
7
  "license": "Apache-2.0",
@@ -48,7 +48,7 @@
48
48
  "watch": "nodemon"
49
49
  },
50
50
  "dependencies": {
51
- "@matter/main": "0.16.0-alpha.0-20251103-b47ffa15b",
51
+ "@matter/main": "0.16.0-alpha.0-20251104-8c3166ea3",
52
52
  "chalk": "5.6.2",
53
53
  "commander": "14.0.2",
54
54
  "fs-extra": "11.3.2",
@@ -65,13 +65,13 @@
65
65
  "@types/node": "^24.10.0",
66
66
  "@types/semver": "^7.7.1",
67
67
  "@types/source-map-support": "^0.5.10",
68
- "@vitest/coverage-v8": "^4.0.6",
68
+ "@vitest/coverage-v8": "^4.0.7",
69
69
  "eslint-plugin-format": "^1.0.2",
70
70
  "nodemon": "^3.1.10",
71
71
  "rimraf": "^6.1.0",
72
72
  "ts-node": "^10.9.2",
73
73
  "typedoc": "^0.28.14",
74
74
  "typescript": "^5.9.3",
75
- "vitest": "^4.0.6"
75
+ "vitest": "^4.0.7"
76
76
  }
77
77
  }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=api.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.spec.d.ts","sourceRoot":"","sources":["../src/api.spec.ts"],"names":[],"mappings":""}
package/dist/api.spec.js DELETED
@@ -1,413 +0,0 @@
1
- import { Service } from 'hap-nodejs';
2
- import { describe, expect, it, vi } from 'vitest';
3
- import { HomebridgeAPI } from './api.js';
4
- const api = new HomebridgeAPI();
5
- const emitSpy = vi.spyOn(api, 'emit');
6
- class ExampleAccessory {
7
- getServices() {
8
- return [new Service.Switch('TestSwitch')];
9
- }
10
- }
11
- class ExamplePlatform {
12
- configureAccessory() {
13
- // do nothing
14
- }
15
- }
16
- const pluginName = 'homebridge-example';
17
- const accessoryName = 'MyCoolAccessory';
18
- const platformName = 'MyCoolPlatform';
19
- describe('homebridgeAPI', () => {
20
- describe('homebridgeAPI.prototype.registerAccessory', () => {
21
- it('should register accessory with legacy style signature', () => {
22
- api.registerAccessory(pluginName, accessoryName, ExampleAccessory);
23
- expect(emitSpy).toHaveBeenLastCalledWith("registerAccessory" /* InternalAPIEvent.REGISTER_ACCESSORY */, accessoryName, ExampleAccessory, pluginName);
24
- });
25
- it('should register accessory without passing plugin name', () => {
26
- api.registerAccessory(accessoryName, ExampleAccessory);
27
- expect(emitSpy).toHaveBeenLastCalledWith("registerAccessory" /* InternalAPIEvent.REGISTER_ACCESSORY */, accessoryName, ExampleAccessory);
28
- });
29
- });
30
- describe('homebridgeAPI.prototype.registerPlatform', () => {
31
- it('should register platform with legacy style signature', () => {
32
- api.registerPlatform(pluginName, platformName, ExamplePlatform);
33
- expect(emitSpy).toHaveBeenLastCalledWith("registerPlatform" /* InternalAPIEvent.REGISTER_PLATFORM */, platformName, ExamplePlatform, pluginName);
34
- });
35
- it('should register platform without passing plugin name', () => {
36
- api.registerPlatform(platformName, ExamplePlatform);
37
- expect(emitSpy).toHaveBeenLastCalledWith("registerPlatform" /* InternalAPIEvent.REGISTER_PLATFORM */, platformName, ExamplePlatform);
38
- });
39
- });
40
- describe('matter API', () => {
41
- const matterPluginName = 'homebridge-matter-example';
42
- const matterPlatformName = 'MatterExamplePlatform';
43
- describe('api.matter property access', () => {
44
- it('should expose matter API', () => {
45
- expect(api.matter).toBeDefined();
46
- expect(typeof api.matter).toBe('object');
47
- });
48
- it('should expose uuid generator (alias of hap.uuid)', () => {
49
- expect(api.matter.uuid).toBeDefined();
50
- expect(api.matter.uuid).toBe(api.hap.uuid);
51
- });
52
- it('should expose deviceTypes', () => {
53
- expect(api.matter.deviceTypes).toBeDefined();
54
- expect(typeof api.matter.deviceTypes).toBe('object');
55
- });
56
- it('should expose clusters', () => {
57
- expect(api.matter.clusters).toBeDefined();
58
- expect(typeof api.matter.clusters).toBe('object');
59
- });
60
- it('should expose clusterNames', () => {
61
- expect(api.matter.clusterNames).toBeDefined();
62
- expect(typeof api.matter.clusterNames).toBe('object');
63
- });
64
- it('should expose types', () => {
65
- expect(api.matter.types).toBeDefined();
66
- expect(typeof api.matter.types).toBe('object');
67
- });
68
- });
69
- describe('api.matter.registerPlatformAccessories', () => {
70
- it('should register Matter platform accessories', () => {
71
- const matterAccessories = [
72
- {
73
- uuid: api.matter.uuid.generate('test-light-1'),
74
- displayName: 'Test Light 1',
75
- deviceType: api.matter.deviceTypes.OnOffLight,
76
- serialNumber: 'SN-001',
77
- manufacturer: 'Test Manufacturer',
78
- model: 'Test Model',
79
- clusters: {
80
- onOff: {
81
- onOff: false,
82
- },
83
- },
84
- },
85
- ];
86
- api.matter.registerPlatformAccessories(matterPluginName, matterPlatformName, matterAccessories);
87
- expect(emitSpy).toHaveBeenLastCalledWith("registerMatterPlatformAccessories" /* InternalAPIEvent.REGISTER_MATTER_PLATFORM_ACCESSORIES */, matterPluginName, matterPlatformName, matterAccessories);
88
- });
89
- it('should register multiple Matter platform accessories', () => {
90
- const matterAccessories = [
91
- {
92
- uuid: api.matter.uuid.generate('test-light-1'),
93
- displayName: 'Test Light 1',
94
- deviceType: api.matter.deviceTypes.OnOffLight,
95
- serialNumber: 'SN-001',
96
- manufacturer: 'Test',
97
- model: 'Test',
98
- clusters: { onOff: { onOff: false } },
99
- },
100
- {
101
- uuid: api.matter.uuid.generate('test-light-2'),
102
- displayName: 'Test Light 2',
103
- deviceType: api.matter.deviceTypes.DimmableLight,
104
- serialNumber: 'SN-002',
105
- manufacturer: 'Test',
106
- model: 'Test',
107
- clusters: {
108
- onOff: { onOff: true },
109
- levelControl: { currentLevel: 100 },
110
- },
111
- },
112
- ];
113
- api.matter.registerPlatformAccessories(matterPluginName, matterPlatformName, matterAccessories);
114
- expect(emitSpy).toHaveBeenLastCalledWith("registerMatterPlatformAccessories" /* InternalAPIEvent.REGISTER_MATTER_PLATFORM_ACCESSORIES */, matterPluginName, matterPlatformName, matterAccessories);
115
- });
116
- });
117
- describe('api.matter.updatePlatformAccessories', () => {
118
- it('should update Matter platform accessories', () => {
119
- const matterAccessories = [
120
- {
121
- uuid: api.matter.uuid.generate('test-light-1'),
122
- displayName: 'Updated Light Name',
123
- deviceType: api.matter.deviceTypes.OnOffLight,
124
- serialNumber: 'SN-001',
125
- manufacturer: 'Updated Manufacturer',
126
- model: 'Updated Model',
127
- firmwareRevision: '2.0.0',
128
- clusters: { onOff: { onOff: true } },
129
- },
130
- ];
131
- api.matter.updatePlatformAccessories(matterAccessories);
132
- expect(emitSpy).toHaveBeenLastCalledWith("updateMatterPlatformAccessories" /* InternalAPIEvent.UPDATE_MATTER_PLATFORM_ACCESSORIES */, matterAccessories);
133
- });
134
- it('should update multiple Matter platform accessories', () => {
135
- const matterAccessories = [
136
- {
137
- uuid: api.matter.uuid.generate('test-light-1'),
138
- displayName: 'Light 1 - Updated',
139
- deviceType: api.matter.deviceTypes.OnOffLight,
140
- serialNumber: 'SN-001',
141
- manufacturer: 'Test',
142
- model: 'Test',
143
- },
144
- {
145
- uuid: api.matter.uuid.generate('test-light-2'),
146
- displayName: 'Light 2 - Updated',
147
- deviceType: api.matter.deviceTypes.DimmableLight,
148
- serialNumber: 'SN-002',
149
- manufacturer: 'Test',
150
- model: 'Test',
151
- },
152
- ];
153
- api.matter.updatePlatformAccessories(matterAccessories);
154
- expect(emitSpy).toHaveBeenLastCalledWith("updateMatterPlatformAccessories" /* InternalAPIEvent.UPDATE_MATTER_PLATFORM_ACCESSORIES */, matterAccessories);
155
- });
156
- it('should handle updating single accessory', () => {
157
- const accessory = {
158
- uuid: api.matter.uuid.generate('test-vacuum'),
159
- displayName: 'Kitchen Vacuum - Renamed',
160
- deviceType: api.matter.deviceTypes.RoboticVacuumCleaner,
161
- serialNumber: 'VAC-001',
162
- manufacturer: 'Test',
163
- model: 'V2',
164
- firmwareRevision: '3.1.0',
165
- };
166
- api.matter.updatePlatformAccessories([accessory]);
167
- expect(emitSpy).toHaveBeenLastCalledWith("updateMatterPlatformAccessories" /* InternalAPIEvent.UPDATE_MATTER_PLATFORM_ACCESSORIES */, [accessory]);
168
- });
169
- });
170
- describe('api.matter.unregisterPlatformAccessories', () => {
171
- it('should unregister Matter platform accessories', () => {
172
- const matterAccessories = [
173
- {
174
- uuid: api.matter.uuid.generate('test-light-1'),
175
- displayName: 'Test Light 1',
176
- deviceType: api.matter.deviceTypes.OnOffLight,
177
- serialNumber: 'SN-001',
178
- manufacturer: 'Test',
179
- model: 'Test',
180
- },
181
- ];
182
- api.matter.unregisterPlatformAccessories(matterPluginName, matterPlatformName, matterAccessories);
183
- expect(emitSpy).toHaveBeenLastCalledWith("unregisterMatterPlatformAccessories" /* InternalAPIEvent.UNREGISTER_MATTER_PLATFORM_ACCESSORIES */, matterPluginName, matterPlatformName, matterAccessories);
184
- });
185
- it('should unregister multiple Matter platform accessories', () => {
186
- const matterAccessories = [
187
- {
188
- uuid: api.matter.uuid.generate('test-light-1'),
189
- displayName: 'Light 1',
190
- deviceType: api.matter.deviceTypes.OnOffLight,
191
- serialNumber: 'SN-001',
192
- manufacturer: 'Test',
193
- model: 'Test',
194
- },
195
- {
196
- uuid: api.matter.uuid.generate('test-light-2'),
197
- displayName: 'Light 2',
198
- deviceType: api.matter.deviceTypes.OnOffLight,
199
- serialNumber: 'SN-002',
200
- manufacturer: 'Test',
201
- model: 'Test',
202
- },
203
- ];
204
- api.matter.unregisterPlatformAccessories(matterPluginName, matterPlatformName, matterAccessories);
205
- expect(emitSpy).toHaveBeenLastCalledWith("unregisterMatterPlatformAccessories" /* InternalAPIEvent.UNREGISTER_MATTER_PLATFORM_ACCESSORIES */, matterPluginName, matterPlatformName, matterAccessories);
206
- });
207
- it('should automatically unregister RoboticVacuumCleaner as external accessory', () => {
208
- const vacuumAccessory = {
209
- uuid: api.matter.uuid.generate('test-vacuum-1'),
210
- displayName: 'Test Vacuum',
211
- deviceType: api.matter.deviceTypes.RoboticVacuumCleaner,
212
- serialNumber: 'SN-VAC-001',
213
- manufacturer: 'Test',
214
- model: 'Test',
215
- };
216
- api.matter.unregisterPlatformAccessories(matterPluginName, matterPlatformName, [vacuumAccessory]);
217
- expect(emitSpy).toHaveBeenLastCalledWith("unregisterExternalMatterAccessories" /* InternalAPIEvent.UNREGISTER_EXTERNAL_MATTER_ACCESSORIES */, [vacuumAccessory]);
218
- });
219
- it('should split unregister into normal and external based on device type', () => {
220
- emitSpy.mockClear();
221
- const mixedAccessories = [
222
- {
223
- uuid: api.matter.uuid.generate('test-light-1'),
224
- displayName: 'Light 1',
225
- deviceType: api.matter.deviceTypes.OnOffLight,
226
- serialNumber: 'SN-001',
227
- manufacturer: 'Test',
228
- model: 'Test',
229
- },
230
- {
231
- uuid: api.matter.uuid.generate('test-vacuum-1'),
232
- displayName: 'Vacuum 1',
233
- deviceType: api.matter.deviceTypes.RoboticVacuumCleaner,
234
- serialNumber: 'SN-002',
235
- manufacturer: 'Test',
236
- model: 'Test',
237
- },
238
- {
239
- uuid: api.matter.uuid.generate('test-light-2'),
240
- displayName: 'Light 2',
241
- deviceType: api.matter.deviceTypes.DimmableLight,
242
- serialNumber: 'SN-003',
243
- manufacturer: 'Test',
244
- model: 'Test',
245
- },
246
- ];
247
- api.matter.unregisterPlatformAccessories(matterPluginName, matterPlatformName, mixedAccessories);
248
- expect(emitSpy).toHaveBeenCalledTimes(2);
249
- const calls = emitSpy.mock.calls;
250
- const unregisterCall = calls.find(call => call[0] === "unregisterMatterPlatformAccessories" /* InternalAPIEvent.UNREGISTER_MATTER_PLATFORM_ACCESSORIES */);
251
- const unregisterExternalCall = calls.find(call => call[0] === "unregisterExternalMatterAccessories" /* InternalAPIEvent.UNREGISTER_EXTERNAL_MATTER_ACCESSORIES */);
252
- expect(unregisterCall).toBeDefined();
253
- expect(unregisterCall[3]).toHaveLength(2);
254
- expect(unregisterCall[3][0].displayName).toBe('Light 1');
255
- expect(unregisterCall[3][1].displayName).toBe('Light 2');
256
- expect(unregisterExternalCall).toBeDefined();
257
- expect(unregisterExternalCall[1]).toHaveLength(1);
258
- expect(unregisterExternalCall[1][0].displayName).toBe('Vacuum 1');
259
- });
260
- });
261
- describe('registerPlatformAccessories - external device handling', () => {
262
- it('should automatically publish RoboticVacuumCleaner as external accessory', () => {
263
- const vacuumAccessory = {
264
- uuid: api.matter.uuid.generate('test-vacuum-1'),
265
- displayName: 'Test Vacuum',
266
- deviceType: api.matter.deviceTypes.RoboticVacuumCleaner,
267
- serialNumber: 'SN-VAC-001',
268
- manufacturer: 'Test Manufacturer',
269
- model: 'Vacuum Model',
270
- clusters: {
271
- onOff: { onOff: false },
272
- rvcRunMode: { currentMode: 0 },
273
- },
274
- };
275
- api.matter.registerPlatformAccessories(matterPluginName, matterPlatformName, [vacuumAccessory]);
276
- expect(emitSpy).toHaveBeenLastCalledWith("publishExternalMatterAccessories" /* InternalAPIEvent.PUBLISH_EXTERNAL_MATTER_ACCESSORIES */, expect.arrayContaining([
277
- expect.objectContaining({
278
- uuid: vacuumAccessory.uuid,
279
- displayName: 'Test Vacuum',
280
- _associatedPlugin: matterPluginName,
281
- }),
282
- ]), expect.any(String));
283
- });
284
- it('should split accessories into normal and external based on device type', () => {
285
- emitSpy.mockClear();
286
- const mixedAccessories = [
287
- {
288
- uuid: api.matter.uuid.generate('test-light-1'),
289
- displayName: 'Light 1',
290
- deviceType: api.matter.deviceTypes.OnOffLight,
291
- serialNumber: 'SN-001',
292
- manufacturer: 'Test',
293
- model: 'Test',
294
- },
295
- {
296
- uuid: api.matter.uuid.generate('test-vacuum-1'),
297
- displayName: 'Vacuum 1',
298
- deviceType: api.matter.deviceTypes.RoboticVacuumCleaner,
299
- serialNumber: 'SN-002',
300
- manufacturer: 'Test',
301
- model: 'Test',
302
- },
303
- {
304
- uuid: api.matter.uuid.generate('test-light-2'),
305
- displayName: 'Light 2',
306
- deviceType: api.matter.deviceTypes.DimmableLight,
307
- serialNumber: 'SN-003',
308
- manufacturer: 'Test',
309
- model: 'Test',
310
- },
311
- ];
312
- api.matter.registerPlatformAccessories(matterPluginName, matterPlatformName, mixedAccessories);
313
- expect(emitSpy).toHaveBeenCalledTimes(2);
314
- const calls = emitSpy.mock.calls;
315
- const registerCall = calls.find(call => call[0] === "registerMatterPlatformAccessories" /* InternalAPIEvent.REGISTER_MATTER_PLATFORM_ACCESSORIES */);
316
- const publishCall = calls.find(call => call[0] === "publishExternalMatterAccessories" /* InternalAPIEvent.PUBLISH_EXTERNAL_MATTER_ACCESSORIES */);
317
- expect(registerCall).toBeDefined();
318
- expect(registerCall[3]).toHaveLength(2);
319
- expect(registerCall[3][0].displayName).toBe('Light 1');
320
- expect(registerCall[3][1].displayName).toBe('Light 2');
321
- expect(publishCall).toBeDefined();
322
- expect(publishCall[1]).toHaveLength(1);
323
- expect(publishCall[1][0].displayName).toBe('Vacuum 1');
324
- });
325
- });
326
- describe('api.matter.updateAccessoryState', () => {
327
- it('should update Matter accessory state', () => {
328
- const uuid = api.matter.uuid.generate('test-light-update');
329
- const cluster = api.matter.clusterNames.OnOff;
330
- const attributes = { onOff: true };
331
- api.matter.updateAccessoryState(uuid, cluster, attributes);
332
- expect(emitSpy).toHaveBeenLastCalledWith("updateMatterAccessoryState" /* InternalAPIEvent.UPDATE_MATTER_ACCESSORY_STATE */, uuid, cluster, attributes, undefined);
333
- });
334
- it('should update Matter accessory state for specific part', () => {
335
- const uuid = api.matter.uuid.generate('test-power-strip');
336
- const cluster = api.matter.clusterNames.OnOff;
337
- const attributes = { onOff: true };
338
- const partId = 'outlet-2';
339
- api.matter.updateAccessoryState(uuid, cluster, attributes, partId);
340
- expect(emitSpy).toHaveBeenLastCalledWith("updateMatterAccessoryState" /* InternalAPIEvent.UPDATE_MATTER_ACCESSORY_STATE */, uuid, cluster, attributes, partId);
341
- });
342
- it('should update different cluster types', () => {
343
- const uuid = api.matter.uuid.generate('test-dimmable-light');
344
- // Update OnOff cluster
345
- api.matter.updateAccessoryState(uuid, api.matter.clusterNames.OnOff, { onOff: true });
346
- expect(emitSpy).toHaveBeenCalledWith("updateMatterAccessoryState" /* InternalAPIEvent.UPDATE_MATTER_ACCESSORY_STATE */, uuid, api.matter.clusterNames.OnOff, { onOff: true }, undefined);
347
- // Update LevelControl cluster
348
- api.matter.updateAccessoryState(uuid, api.matter.clusterNames.LevelControl, { currentLevel: 200 });
349
- expect(emitSpy).toHaveBeenLastCalledWith("updateMatterAccessoryState" /* InternalAPIEvent.UPDATE_MATTER_ACCESSORY_STATE */, uuid, api.matter.clusterNames.LevelControl, { currentLevel: 200 }, undefined);
350
- });
351
- });
352
- describe('api.matter.getAccessoryState', () => {
353
- it('should have getAccessoryState method', () => {
354
- expect(typeof api.matter.getAccessoryState).toBe('function');
355
- });
356
- it('should accept uuid and cluster parameters', () => {
357
- const uuid = api.matter.uuid.generate('test-light-get');
358
- const cluster = api.matter.clusterNames.OnOff;
359
- // Just verify it can be called without error
360
- // Actual state retrieval requires MatterServer to be running
361
- expect(() => api.matter.getAccessoryState(uuid, cluster)).not.toThrow();
362
- });
363
- it('should accept optional partId parameter', () => {
364
- const uuid = api.matter.uuid.generate('test-power-strip-get');
365
- const cluster = api.matter.clusterNames.OnOff;
366
- const partId = 'outlet-1';
367
- expect(() => api.matter.getAccessoryState(uuid, cluster, partId)).not.toThrow();
368
- });
369
- });
370
- describe('matter cluster names', () => {
371
- it('should include common cluster names', () => {
372
- expect(api.matter.clusterNames.OnOff).toBe('onOff');
373
- expect(api.matter.clusterNames.LevelControl).toBe('levelControl');
374
- expect(api.matter.clusterNames.ColorControl).toBe('colorControl');
375
- expect(api.matter.clusterNames.DoorLock).toBe('doorLock');
376
- expect(api.matter.clusterNames.Thermostat).toBe('thermostat');
377
- expect(api.matter.clusterNames.WindowCovering).toBe('windowCovering');
378
- expect(api.matter.clusterNames.FanControl).toBe('fanControl');
379
- });
380
- it('should include RVC cluster names', () => {
381
- expect(api.matter.clusterNames.RvcRunMode).toBe('rvcRunMode');
382
- expect(api.matter.clusterNames.RvcCleanMode).toBe('rvcCleanMode');
383
- expect(api.matter.clusterNames.RvcOperationalState).toBe('rvcOperationalState');
384
- expect(api.matter.clusterNames.ServiceArea).toBe('serviceArea');
385
- });
386
- });
387
- describe('matter device types', () => {
388
- it('should include common device types', () => {
389
- expect(api.matter.deviceTypes.OnOffLight).toBeDefined();
390
- expect(api.matter.deviceTypes.DimmableLight).toBeDefined();
391
- expect(api.matter.deviceTypes.ColorTemperatureLight).toBeDefined();
392
- expect(api.matter.deviceTypes.ExtendedColorLight).toBeDefined();
393
- expect(api.matter.deviceTypes.OnOffOutlet).toBeDefined();
394
- expect(api.matter.deviceTypes.OnOffSwitch).toBeDefined();
395
- expect(api.matter.deviceTypes.DoorLock).toBeDefined();
396
- expect(api.matter.deviceTypes.Thermostat).toBeDefined();
397
- expect(api.matter.deviceTypes.WindowCovering).toBeDefined();
398
- expect(api.matter.deviceTypes.Fan).toBeDefined();
399
- });
400
- it('should include specialized device types', () => {
401
- expect(api.matter.deviceTypes.RoboticVacuumCleaner).toBeDefined();
402
- expect(api.matter.deviceTypes.ContactSensor).toBeDefined();
403
- expect(api.matter.deviceTypes.LightSensor).toBeDefined();
404
- expect(api.matter.deviceTypes.MotionSensor).toBeDefined();
405
- expect(api.matter.deviceTypes.TemperatureSensor).toBeDefined();
406
- expect(api.matter.deviceTypes.HumiditySensor).toBeDefined();
407
- expect(api.matter.deviceTypes.LeakSensor).toBeDefined();
408
- expect(api.matter.deviceTypes.SmokeSensor).toBeDefined();
409
- });
410
- });
411
- });
412
- });
413
- //# sourceMappingURL=api.spec.js.map