homebridge 2.0.0-beta.6 → 2.0.0-beta.60

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 (286) 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 +136 -0
  5. package/dist/api.d.ts.map +1 -0
  6. package/dist/api.js +151 -0
  7. package/dist/api.js.map +1 -0
  8. package/{lib → dist}/bridgeService.d.ts +16 -32
  9. package/dist/bridgeService.d.ts.map +1 -0
  10. package/dist/bridgeService.js +341 -0
  11. package/dist/bridgeService.js.map +1 -0
  12. package/dist/childBridgeFork.d.ts +40 -0
  13. package/dist/childBridgeFork.d.ts.map +1 -0
  14. package/dist/childBridgeFork.js +354 -0
  15. package/dist/childBridgeFork.js.map +1 -0
  16. package/dist/childBridgeService.d.ts +146 -0
  17. package/dist/childBridgeService.d.ts.map +1 -0
  18. package/dist/childBridgeService.js +416 -0
  19. package/dist/childBridgeService.js.map +1 -0
  20. package/dist/cli.d.ts +3 -0
  21. package/dist/cli.d.ts.map +1 -0
  22. package/dist/cli.js +88 -0
  23. package/dist/cli.js.map +1 -0
  24. package/dist/externalPortService.d.ts +26 -0
  25. package/dist/externalPortService.d.ts.map +1 -0
  26. package/dist/externalPortService.js +77 -0
  27. package/dist/externalPortService.js.map +1 -0
  28. package/dist/index.d.ts +29 -0
  29. package/dist/index.d.ts.map +1 -0
  30. package/dist/index.js +9 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/ipcService.d.ts +58 -0
  33. package/dist/ipcService.d.ts.map +1 -0
  34. package/dist/ipcService.js +43 -0
  35. package/dist/ipcService.js.map +1 -0
  36. package/dist/logger.d.ts +38 -0
  37. package/dist/logger.d.ts.map +1 -0
  38. package/dist/logger.js +102 -0
  39. package/dist/logger.js.map +1 -0
  40. package/dist/matter/BaseMatterManager.d.ts +21 -0
  41. package/dist/matter/BaseMatterManager.d.ts.map +1 -0
  42. package/dist/matter/BaseMatterManager.js +197 -0
  43. package/dist/matter/BaseMatterManager.js.map +1 -0
  44. package/dist/matter/ChildBridgeMatterManager.d.ts +35 -0
  45. package/dist/matter/ChildBridgeMatterManager.d.ts.map +1 -0
  46. package/dist/matter/ChildBridgeMatterManager.js +222 -0
  47. package/dist/matter/ChildBridgeMatterManager.js.map +1 -0
  48. package/dist/matter/ClusterCommandMapper.d.ts +5 -0
  49. package/dist/matter/ClusterCommandMapper.d.ts.map +1 -0
  50. package/dist/matter/ClusterCommandMapper.js +222 -0
  51. package/dist/matter/ClusterCommandMapper.js.map +1 -0
  52. package/dist/matter/ExternalMatterAccessoryPublisher.d.ts +22 -0
  53. package/dist/matter/ExternalMatterAccessoryPublisher.d.ts.map +1 -0
  54. package/dist/matter/ExternalMatterAccessoryPublisher.js +49 -0
  55. package/dist/matter/ExternalMatterAccessoryPublisher.js.map +1 -0
  56. package/dist/matter/MatterAPIImpl.d.ts +473 -0
  57. package/dist/matter/MatterAPIImpl.d.ts.map +1 -0
  58. package/dist/matter/MatterAPIImpl.js +210 -0
  59. package/dist/matter/MatterAPIImpl.js.map +1 -0
  60. package/dist/matter/MatterBridgeManager.d.ts +39 -0
  61. package/dist/matter/MatterBridgeManager.d.ts.map +1 -0
  62. package/dist/matter/MatterBridgeManager.js +323 -0
  63. package/dist/matter/MatterBridgeManager.js.map +1 -0
  64. package/dist/matter/accessoryCache.d.ts +57 -0
  65. package/dist/matter/accessoryCache.d.ts.map +1 -0
  66. package/dist/matter/accessoryCache.js +155 -0
  67. package/dist/matter/accessoryCache.js.map +1 -0
  68. package/dist/matter/behaviors/AirQualityBehavior.d.ts +8 -0
  69. package/dist/matter/behaviors/AirQualityBehavior.d.ts.map +1 -0
  70. package/dist/matter/behaviors/AirQualityBehavior.js +11 -0
  71. package/dist/matter/behaviors/AirQualityBehavior.js.map +1 -0
  72. package/dist/matter/behaviors/BehaviorRegistry.d.ts +27 -0
  73. package/dist/matter/behaviors/BehaviorRegistry.d.ts.map +1 -0
  74. package/dist/matter/behaviors/BehaviorRegistry.js +110 -0
  75. package/dist/matter/behaviors/BehaviorRegistry.js.map +1 -0
  76. package/dist/matter/behaviors/ColorControlBehavior.d.ts +12 -0
  77. package/dist/matter/behaviors/ColorControlBehavior.d.ts.map +1 -0
  78. package/dist/matter/behaviors/ColorControlBehavior.js +139 -0
  79. package/dist/matter/behaviors/ColorControlBehavior.js.map +1 -0
  80. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.d.ts +32 -0
  81. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.d.ts.map +1 -0
  82. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.js +51 -0
  83. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.js.map +1 -0
  84. package/dist/matter/behaviors/DoorLockBehavior.d.ts +7 -0
  85. package/dist/matter/behaviors/DoorLockBehavior.d.ts.map +1 -0
  86. package/dist/matter/behaviors/DoorLockBehavior.js +48 -0
  87. package/dist/matter/behaviors/DoorLockBehavior.js.map +1 -0
  88. package/dist/matter/behaviors/FanControlBehavior.d.ts +7 -0
  89. package/dist/matter/behaviors/FanControlBehavior.d.ts.map +1 -0
  90. package/dist/matter/behaviors/FanControlBehavior.js +57 -0
  91. package/dist/matter/behaviors/FanControlBehavior.js.map +1 -0
  92. package/dist/matter/behaviors/IdentifyBehavior.d.ts +7 -0
  93. package/dist/matter/behaviors/IdentifyBehavior.d.ts.map +1 -0
  94. package/dist/matter/behaviors/IdentifyBehavior.js +25 -0
  95. package/dist/matter/behaviors/IdentifyBehavior.js.map +1 -0
  96. package/dist/matter/behaviors/LevelControlBehavior.d.ts +11 -0
  97. package/dist/matter/behaviors/LevelControlBehavior.d.ts.map +1 -0
  98. package/dist/matter/behaviors/LevelControlBehavior.js +100 -0
  99. package/dist/matter/behaviors/LevelControlBehavior.js.map +1 -0
  100. package/dist/matter/behaviors/OnOffBehavior.d.ts +8 -0
  101. package/dist/matter/behaviors/OnOffBehavior.d.ts.map +1 -0
  102. package/dist/matter/behaviors/OnOffBehavior.js +60 -0
  103. package/dist/matter/behaviors/OnOffBehavior.js.map +1 -0
  104. package/dist/matter/behaviors/RegistryManager.d.ts +15 -0
  105. package/dist/matter/behaviors/RegistryManager.d.ts.map +1 -0
  106. package/dist/matter/behaviors/RegistryManager.js +31 -0
  107. package/dist/matter/behaviors/RegistryManager.js.map +1 -0
  108. package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts +14 -0
  109. package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts.map +1 -0
  110. package/dist/matter/behaviors/RvcCleanModeBehavior.js +29 -0
  111. package/dist/matter/behaviors/RvcCleanModeBehavior.js.map +1 -0
  112. package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts +10 -0
  113. package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts.map +1 -0
  114. package/dist/matter/behaviors/RvcOperationalStateBehavior.js +81 -0
  115. package/dist/matter/behaviors/RvcOperationalStateBehavior.js.map +1 -0
  116. package/dist/matter/behaviors/RvcRunModeBehavior.d.ts +14 -0
  117. package/dist/matter/behaviors/RvcRunModeBehavior.d.ts.map +1 -0
  118. package/dist/matter/behaviors/RvcRunModeBehavior.js +29 -0
  119. package/dist/matter/behaviors/RvcRunModeBehavior.js.map +1 -0
  120. package/dist/matter/behaviors/ServiceAreaBehavior.d.ts +9 -0
  121. package/dist/matter/behaviors/ServiceAreaBehavior.d.ts.map +1 -0
  122. package/dist/matter/behaviors/ServiceAreaBehavior.js +62 -0
  123. package/dist/matter/behaviors/ServiceAreaBehavior.js.map +1 -0
  124. package/dist/matter/behaviors/ThermostatBehavior.d.ts +9 -0
  125. package/dist/matter/behaviors/ThermostatBehavior.d.ts.map +1 -0
  126. package/dist/matter/behaviors/ThermostatBehavior.js +92 -0
  127. package/dist/matter/behaviors/ThermostatBehavior.js.map +1 -0
  128. package/dist/matter/behaviors/WindowCoveringBehavior.d.ts +12 -0
  129. package/dist/matter/behaviors/WindowCoveringBehavior.d.ts.map +1 -0
  130. package/dist/matter/behaviors/WindowCoveringBehavior.js +108 -0
  131. package/dist/matter/behaviors/WindowCoveringBehavior.js.map +1 -0
  132. package/dist/matter/behaviors/index.d.ts +18 -0
  133. package/dist/matter/behaviors/index.d.ts.map +1 -0
  134. package/dist/matter/behaviors/index.js +17 -0
  135. package/dist/matter/behaviors/index.js.map +1 -0
  136. package/dist/matter/clusterTypes.d.ts +182 -0
  137. package/dist/matter/clusterTypes.d.ts.map +1 -0
  138. package/dist/matter/clusterTypes.js +2 -0
  139. package/dist/matter/clusterTypes.js.map +1 -0
  140. package/dist/matter/config.d.ts +9 -0
  141. package/dist/matter/config.d.ts.map +1 -0
  142. package/dist/matter/config.js +84 -0
  143. package/dist/matter/config.js.map +1 -0
  144. package/dist/matter/configValidator.d.ts +26 -0
  145. package/dist/matter/configValidator.d.ts.map +1 -0
  146. package/dist/matter/configValidator.js +173 -0
  147. package/dist/matter/configValidator.js.map +1 -0
  148. package/dist/matter/errorHandler.d.ts +11 -0
  149. package/dist/matter/errorHandler.d.ts.map +1 -0
  150. package/dist/matter/errorHandler.js +81 -0
  151. package/dist/matter/errorHandler.js.map +1 -0
  152. package/dist/matter/errors.d.ts +46 -0
  153. package/dist/matter/errors.d.ts.map +1 -0
  154. package/dist/matter/errors.js +68 -0
  155. package/dist/matter/errors.js.map +1 -0
  156. package/dist/matter/index.d.ts +97 -0
  157. package/dist/matter/index.d.ts.map +1 -0
  158. package/dist/matter/index.js +10 -0
  159. package/dist/matter/index.js.map +1 -0
  160. package/dist/matter/logFormatter.d.ts +2 -0
  161. package/dist/matter/logFormatter.d.ts.map +1 -0
  162. package/dist/matter/logFormatter.js +100 -0
  163. package/dist/matter/logFormatter.js.map +1 -0
  164. package/dist/matter/managerTypes.d.ts +57 -0
  165. package/dist/matter/managerTypes.d.ts.map +1 -0
  166. package/dist/matter/managerTypes.js +2 -0
  167. package/dist/matter/managerTypes.js.map +1 -0
  168. package/dist/matter/server.d.ts +112 -0
  169. package/dist/matter/server.d.ts.map +1 -0
  170. package/dist/matter/server.js +1508 -0
  171. package/dist/matter/server.js.map +1 -0
  172. package/dist/matter/serverHelpers.d.ts +31 -0
  173. package/dist/matter/serverHelpers.d.ts.map +1 -0
  174. package/dist/matter/serverHelpers.js +273 -0
  175. package/dist/matter/serverHelpers.js.map +1 -0
  176. package/dist/matter/sharedTypes.d.ts +93 -0
  177. package/dist/matter/sharedTypes.d.ts.map +1 -0
  178. package/dist/matter/sharedTypes.js +20 -0
  179. package/dist/matter/sharedTypes.js.map +1 -0
  180. package/dist/matter/storage.d.ts +45 -0
  181. package/dist/matter/storage.d.ts.map +1 -0
  182. package/dist/matter/storage.js +325 -0
  183. package/dist/matter/storage.js.map +1 -0
  184. package/dist/matter/typeHelpers.d.ts +15 -0
  185. package/dist/matter/typeHelpers.d.ts.map +1 -0
  186. package/dist/matter/typeHelpers.js +33 -0
  187. package/dist/matter/typeHelpers.js.map +1 -0
  188. package/dist/matter/types.d.ts +642 -0
  189. package/dist/matter/types.d.ts.map +1 -0
  190. package/dist/matter/types.js +208 -0
  191. package/dist/matter/types.js.map +1 -0
  192. package/dist/matter/utils.d.ts +13 -0
  193. package/dist/matter/utils.d.ts.map +1 -0
  194. package/dist/matter/utils.js +21 -0
  195. package/dist/matter/utils.js.map +1 -0
  196. package/{lib → dist}/platformAccessory.d.ts +8 -21
  197. package/dist/platformAccessory.d.ts.map +1 -0
  198. package/dist/platformAccessory.js +79 -0
  199. package/dist/platformAccessory.js.map +1 -0
  200. package/{lib → dist}/plugin.d.ts +2 -6
  201. package/dist/plugin.d.ts.map +1 -0
  202. package/dist/plugin.js +159 -0
  203. package/dist/plugin.js.map +1 -0
  204. package/{lib → dist}/pluginManager.d.ts +3 -25
  205. package/dist/pluginManager.d.ts.map +1 -0
  206. package/{lib → dist}/pluginManager.js +87 -115
  207. package/dist/pluginManager.js.map +1 -0
  208. package/{lib → dist}/server.d.ts +15 -20
  209. package/dist/server.d.ts.map +1 -0
  210. package/dist/server.js +727 -0
  211. package/dist/server.js.map +1 -0
  212. package/{lib → dist}/storageService.d.ts.map +1 -1
  213. package/dist/storageService.js +41 -0
  214. package/dist/storageService.js.map +1 -0
  215. package/{lib → dist}/user.d.ts +1 -3
  216. package/dist/user.d.ts.map +1 -0
  217. package/dist/user.js +29 -0
  218. package/dist/user.js.map +1 -0
  219. package/{lib → dist}/util/mac.d.ts +1 -0
  220. package/dist/util/mac.d.ts.map +1 -0
  221. package/dist/util/mac.js +13 -0
  222. package/dist/util/mac.js.map +1 -0
  223. package/dist/version.d.ts.map +1 -0
  224. package/dist/version.js +16 -0
  225. package/dist/version.js.map +1 -0
  226. package/package.json +49 -50
  227. package/bin/homebridge +0 -17
  228. package/lib/api.d.ts +0 -210
  229. package/lib/api.d.ts.map +0 -1
  230. package/lib/api.js +0 -155
  231. package/lib/api.js.map +0 -1
  232. package/lib/bridgeService.d.ts.map +0 -1
  233. package/lib/bridgeService.js +0 -426
  234. package/lib/bridgeService.js.map +0 -1
  235. package/lib/childBridgeFork.d.ts +0 -37
  236. package/lib/childBridgeFork.d.ts.map +0 -1
  237. package/lib/childBridgeFork.js +0 -244
  238. package/lib/childBridgeFork.js.map +0 -1
  239. package/lib/childBridgeService.d.ts +0 -199
  240. package/lib/childBridgeService.d.ts.map +0 -1
  241. package/lib/childBridgeService.js +0 -428
  242. package/lib/childBridgeService.js.map +0 -1
  243. package/lib/cli.d.ts +0 -4
  244. package/lib/cli.d.ts.map +0 -1
  245. package/lib/cli.js +0 -111
  246. package/lib/cli.js.map +0 -1
  247. package/lib/externalPortService.d.ts +0 -33
  248. package/lib/externalPortService.d.ts.map +0 -1
  249. package/lib/externalPortService.js +0 -64
  250. package/lib/externalPortService.js.map +0 -1
  251. package/lib/index.d.ts +0 -76
  252. package/lib/index.d.ts.map +0 -1
  253. package/lib/index.js +0 -72
  254. package/lib/index.js.map +0 -1
  255. package/lib/ipcService.d.ts +0 -33
  256. package/lib/ipcService.d.ts.map +0 -1
  257. package/lib/ipcService.js +0 -49
  258. package/lib/ipcService.js.map +0 -1
  259. package/lib/logger.d.ts +0 -78
  260. package/lib/logger.d.ts.map +0 -1
  261. package/lib/logger.js +0 -147
  262. package/lib/logger.js.map +0 -1
  263. package/lib/platformAccessory.d.ts.map +0 -1
  264. package/lib/platformAccessory.js +0 -102
  265. package/lib/platformAccessory.js.map +0 -1
  266. package/lib/plugin.d.ts.map +0 -1
  267. package/lib/plugin.js +0 -194
  268. package/lib/plugin.js.map +0 -1
  269. package/lib/pluginManager.d.ts.map +0 -1
  270. package/lib/pluginManager.js.map +0 -1
  271. package/lib/server.d.ts.map +0 -1
  272. package/lib/server.js +0 -457
  273. package/lib/server.js.map +0 -1
  274. package/lib/storageService.js +0 -70
  275. package/lib/storageService.js.map +0 -1
  276. package/lib/user.d.ts.map +0 -1
  277. package/lib/user.js +0 -36
  278. package/lib/user.js.map +0 -1
  279. package/lib/util/mac.d.ts.map +0 -1
  280. package/lib/util/mac.js +0 -20
  281. package/lib/util/mac.js.map +0 -1
  282. package/lib/version.d.ts.map +0 -1
  283. package/lib/version.js +0 -21
  284. package/lib/version.js.map +0 -1
  285. /package/{lib → dist}/storageService.d.ts +0 -0
  286. /package/{lib → dist}/version.d.ts +0 -0
@@ -0,0 +1,46 @@
1
+ import { Status, StatusResponseError } from '@matter/main/types';
2
+ export declare class MatterProtocolError extends StatusResponseError {
3
+ constructor(message: string, code: Status, clusterCode?: number);
4
+ }
5
+ export declare class Busy extends MatterProtocolError {
6
+ constructor(message?: string);
7
+ }
8
+ export declare class Timeout extends MatterProtocolError {
9
+ constructor(message?: string);
10
+ }
11
+ export declare class ConstraintError extends MatterProtocolError {
12
+ constructor(message?: string);
13
+ }
14
+ export declare class InvalidAction extends MatterProtocolError {
15
+ constructor(message?: string);
16
+ }
17
+ export declare class InvalidInState extends MatterProtocolError {
18
+ constructor(message?: string);
19
+ }
20
+ export declare class Failure extends MatterProtocolError {
21
+ constructor(message?: string);
22
+ }
23
+ export declare class ResourceExhausted extends MatterProtocolError {
24
+ constructor(message?: string);
25
+ }
26
+ export declare class PermissionDenied extends MatterProtocolError {
27
+ constructor(message?: string);
28
+ }
29
+ export declare class NotFound extends MatterProtocolError {
30
+ constructor(message?: string);
31
+ }
32
+ export declare function isMatterProtocolError(error: unknown): error is MatterProtocolError;
33
+ export declare const MatterStatus: {
34
+ MatterProtocolError: typeof MatterProtocolError;
35
+ Busy: typeof Busy;
36
+ Timeout: typeof Timeout;
37
+ ConstraintError: typeof ConstraintError;
38
+ InvalidAction: typeof InvalidAction;
39
+ InvalidInState: typeof InvalidInState;
40
+ Failure: typeof Failure;
41
+ ResourceExhausted: typeof ResourceExhausted;
42
+ PermissionDenied: typeof PermissionDenied;
43
+ NotFound: typeof NotFound;
44
+ isMatterProtocolError: typeof isMatterProtocolError;
45
+ };
46
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/matter/errors.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAMhE,qBAAa,mBAAoB,SAAQ,mBAAmB;gBAC9C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;CAGhE;AAYD,qBAAa,IAAK,SAAQ,mBAAmB;gBAC/B,OAAO,SAAmB;CAGvC;AAYD,qBAAa,OAAQ,SAAQ,mBAAmB;gBAClC,OAAO,SAAwB;CAG5C;AAYD,qBAAa,eAAgB,SAAQ,mBAAmB;gBAC1C,OAAO,SAAkC;CAGtD;AAYD,qBAAa,aAAc,SAAQ,mBAAmB;gBACxC,OAAO,SAA6B;CAGjD;AAYD,qBAAa,cAAe,SAAQ,mBAAmB;gBACzC,OAAO,SAA2C;CAG/D;AAYD,qBAAa,OAAQ,SAAQ,mBAAmB;gBAClC,OAAO,SAAqB;CAGzC;AAYD,qBAAa,iBAAkB,SAAQ,mBAAmB;gBAC5C,OAAO,SAA2B;CAG/C;AAYD,qBAAa,gBAAiB,SAAQ,mBAAmB;gBAC3C,OAAO,SAAsB;CAG1C;AAYD,qBAAa,QAAS,SAAQ,mBAAmB;gBACnC,OAAO,SAAqB;CAGzC;AAKD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAElF;AAQD,eAAO,MAAM,YAAY;;;;;;;;;;;;CAYxB,CAAA"}
@@ -0,0 +1,68 @@
1
+ import { Status, StatusResponseError } from '@matter/main/types';
2
+ export class MatterProtocolError extends StatusResponseError {
3
+ constructor(message, code, clusterCode) {
4
+ super(message, code, clusterCode);
5
+ }
6
+ }
7
+ export class Busy extends MatterProtocolError {
8
+ constructor(message = 'Device is busy') {
9
+ super(message, Status.Busy);
10
+ }
11
+ }
12
+ export class Timeout extends MatterProtocolError {
13
+ constructor(message = 'Operation timed out') {
14
+ super(message, Status.Timeout);
15
+ }
16
+ }
17
+ export class ConstraintError extends MatterProtocolError {
18
+ constructor(message = 'Value out of range or invalid') {
19
+ super(message, Status.ConstraintError);
20
+ }
21
+ }
22
+ export class InvalidAction extends MatterProtocolError {
23
+ constructor(message = 'Invalid action or values') {
24
+ super(message, Status.InvalidAction);
25
+ }
26
+ }
27
+ export class InvalidInState extends MatterProtocolError {
28
+ constructor(message = 'Operation not allowed in current state') {
29
+ super(message, Status.InvalidInState);
30
+ }
31
+ }
32
+ export class Failure extends MatterProtocolError {
33
+ constructor(message = 'Operation failed') {
34
+ super(message, Status.Failure);
35
+ }
36
+ }
37
+ export class ResourceExhausted extends MatterProtocolError {
38
+ constructor(message = 'Insufficient resources') {
39
+ super(message, Status.ResourceExhausted);
40
+ }
41
+ }
42
+ export class PermissionDenied extends MatterProtocolError {
43
+ constructor(message = 'Permission denied') {
44
+ super(message, Status.UnsupportedAccess);
45
+ }
46
+ }
47
+ export class NotFound extends MatterProtocolError {
48
+ constructor(message = 'Entity not found') {
49
+ super(message, Status.NotFound);
50
+ }
51
+ }
52
+ export function isMatterProtocolError(error) {
53
+ return error instanceof StatusResponseError;
54
+ }
55
+ export const MatterStatus = {
56
+ MatterProtocolError,
57
+ Busy,
58
+ Timeout,
59
+ ConstraintError,
60
+ InvalidAction,
61
+ InvalidInState,
62
+ Failure,
63
+ ResourceExhausted,
64
+ PermissionDenied,
65
+ NotFound,
66
+ isMatterProtocolError,
67
+ };
68
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/matter/errors.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAMhE,MAAM,OAAO,mBAAoB,SAAQ,mBAAmB;IAC1D,YAAY,OAAe,EAAE,IAAY,EAAE,WAAoB;QAC7D,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;IACnC,CAAC;CACF;AAYD,MAAM,OAAO,IAAK,SAAQ,mBAAmB;IAC3C,YAAY,OAAO,GAAG,gBAAgB;QACpC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;CACF;AAYD,MAAM,OAAO,OAAQ,SAAQ,mBAAmB;IAC9C,YAAY,OAAO,GAAG,qBAAqB;QACzC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;CACF;AAYD,MAAM,OAAO,eAAgB,SAAQ,mBAAmB;IACtD,YAAY,OAAO,GAAG,+BAA+B;QACnD,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC,CAAA;IACxC,CAAC;CACF;AAYD,MAAM,OAAO,aAAc,SAAQ,mBAAmB;IACpD,YAAY,OAAO,GAAG,0BAA0B;QAC9C,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,CAAA;IACtC,CAAC;CACF;AAYD,MAAM,OAAO,cAAe,SAAQ,mBAAmB;IACrD,YAAY,OAAO,GAAG,wCAAwC;QAC5D,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,cAAc,CAAC,CAAA;IACvC,CAAC;CACF;AAYD,MAAM,OAAO,OAAQ,SAAQ,mBAAmB;IAC9C,YAAY,OAAO,GAAG,kBAAkB;QACtC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;CACF;AAYD,MAAM,OAAO,iBAAkB,SAAQ,mBAAmB;IACxD,YAAY,OAAO,GAAG,wBAAwB;QAC5C,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAC1C,CAAC;CACF;AAYD,MAAM,OAAO,gBAAiB,SAAQ,mBAAmB;IACvD,YAAY,OAAO,GAAG,mBAAmB;QACvC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAC1C,CAAC;CACF;AAYD,MAAM,OAAO,QAAS,SAAQ,mBAAmB;IAC/C,YAAY,OAAO,GAAG,kBAAkB;QACtC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;IACjC,CAAC;CACF;AAKD,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,OAAO,KAAK,YAAY,mBAAmB,CAAA;AAC7C,CAAC;AAQD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,mBAAmB;IACnB,IAAI;IACJ,OAAO;IACP,eAAe;IACf,aAAa;IACb,cAAc;IACd,OAAO;IACP,iBAAiB;IACjB,gBAAgB;IAChB,QAAQ;IACR,qBAAqB;CACtB,CAAA"}
@@ -0,0 +1,97 @@
1
+ import type { ColorControl, DoorLock, FanControl, Groups, Identify, LevelControl, ModeBase, OnOff, ScenesManagement, ServiceArea, Thermostat, WindowCovering } from '@matter/main/clusters';
2
+ export { ChildBridgeMatterManager } from './ChildBridgeMatterManager.js';
3
+ export { MatterConfigCollector } from './config.js';
4
+ export { type MatterConfigValidationResult, MatterConfigValidator } from './configValidator.js';
5
+ export { MatterStatus } from './errors.js';
6
+ export { MatterBridgeManager } from './MatterBridgeManager.js';
7
+ export { MatterServer } from './server.js';
8
+ export { HomebridgeMatterStorage, MatterStorageManager } from './storage.js';
9
+ export { clusterNames, clusters, devices, deviceTypes, type InternalMatterAccessory, type MatterAccessory, type MatterAccessoryEventEmitter, MatterAccessoryEventTypes, type MatterClusterHandlers, type MatterClusterName, type MatterCommandHandler, MatterCommissioningError, type MatterConfig, MatterDeviceError, MatterError, type MatterErrorDetails, MatterErrorType, MatterNetworkError, MatterStorageError, } from './types.js';
10
+ export declare namespace MatterRequests {
11
+ type OffWithEffect = OnOff.OffWithEffectRequest;
12
+ type OnWithTimedOff = OnOff.OnWithTimedOffRequest;
13
+ type MoveToLevel = LevelControl.MoveToLevelRequest;
14
+ type Move = LevelControl.MoveRequest;
15
+ type Step = LevelControl.StepRequest;
16
+ type Stop = LevelControl.StopRequest;
17
+ type MoveToClosestFrequency = LevelControl.MoveToClosestFrequencyRequest;
18
+ type MoveToHue = ColorControl.MoveToHueRequest;
19
+ type MoveHue = ColorControl.MoveHueRequest;
20
+ type StepHue = ColorControl.StepHueRequest;
21
+ type MoveToSaturation = ColorControl.MoveToSaturationRequest;
22
+ type MoveSaturation = ColorControl.MoveSaturationRequest;
23
+ type StepSaturation = ColorControl.StepSaturationRequest;
24
+ type MoveToHueAndSaturation = ColorControl.MoveToHueAndSaturationRequest;
25
+ type MoveToColor = ColorControl.MoveToColorRequest;
26
+ type MoveColor = ColorControl.MoveColorRequest;
27
+ type StepColor = ColorControl.StepColorRequest;
28
+ type MoveToColorTemperature = ColorControl.MoveToColorTemperatureRequest;
29
+ type MoveColorTemperature = ColorControl.MoveColorTemperatureRequest;
30
+ type StepColorTemperature = ColorControl.StepColorTemperatureRequest;
31
+ type StopMoveStep = ColorControl.StopMoveStepRequest;
32
+ type EnhancedMoveToHue = ColorControl.EnhancedMoveToHueRequest;
33
+ type EnhancedMoveHue = ColorControl.EnhancedMoveHueRequest;
34
+ type EnhancedStepHue = ColorControl.EnhancedStepHueRequest;
35
+ type EnhancedMoveToHueAndSaturation = ColorControl.EnhancedMoveToHueAndSaturationRequest;
36
+ type ColorLoopSet = ColorControl.ColorLoopSetRequest;
37
+ type IdentifyRequest = Identify.IdentifyRequest;
38
+ type TriggerEffect = Identify.TriggerEffectRequest;
39
+ type AddGroup = Groups.AddGroupRequest;
40
+ type ViewGroup = Groups.ViewGroupRequest;
41
+ type GetGroupMembership = Groups.GetGroupMembershipRequest;
42
+ type RemoveGroup = Groups.RemoveGroupRequest;
43
+ type AddGroupIfIdentifying = Groups.AddGroupIfIdentifyingRequest;
44
+ type AddScene = ScenesManagement.AddSceneRequest;
45
+ type ViewScene = ScenesManagement.ViewSceneRequest;
46
+ type RemoveScene = ScenesManagement.RemoveSceneRequest;
47
+ type RemoveAllScenes = ScenesManagement.RemoveAllScenesRequest;
48
+ type StoreScene = ScenesManagement.StoreSceneRequest;
49
+ type RecallScene = ScenesManagement.RecallSceneRequest;
50
+ type GetSceneMembership = ScenesManagement.GetSceneMembershipRequest;
51
+ type CopyScene = ScenesManagement.CopySceneRequest;
52
+ type LockDoor = DoorLock.LockDoorRequest;
53
+ type UnlockDoor = DoorLock.UnlockDoorRequest;
54
+ type UnlockWithTimeout = DoorLock.UnlockWithTimeoutRequest;
55
+ type UnboltDoor = DoorLock.UnboltDoorRequest;
56
+ type SetUser = DoorLock.SetUserRequest;
57
+ type GetUser = DoorLock.GetUserRequest;
58
+ type ClearUser = DoorLock.ClearUserRequest;
59
+ type SetUserStatus = DoorLock.SetUserStatusRequest;
60
+ type GetUserStatus = DoorLock.GetUserStatusRequest;
61
+ type SetUserType = DoorLock.SetUserTypeRequest;
62
+ type GetUserType = DoorLock.GetUserTypeRequest;
63
+ type SetCredential = DoorLock.SetCredentialRequest;
64
+ type GetCredentialStatus = DoorLock.GetCredentialStatusRequest;
65
+ type ClearCredential = DoorLock.ClearCredentialRequest;
66
+ type SetPinCode = DoorLock.SetPinCodeRequest;
67
+ type GetPinCode = DoorLock.GetPinCodeRequest;
68
+ type ClearPinCode = DoorLock.ClearPinCodeRequest;
69
+ type SetRfidCode = DoorLock.SetRfidCodeRequest;
70
+ type GetRfidCode = DoorLock.GetRfidCodeRequest;
71
+ type ClearRfidCode = DoorLock.ClearRfidCodeRequest;
72
+ type SetWeekDaySchedule = DoorLock.SetWeekDayScheduleRequest;
73
+ type GetWeekDaySchedule = DoorLock.GetWeekDayScheduleRequest;
74
+ type ClearWeekDaySchedule = DoorLock.ClearWeekDayScheduleRequest;
75
+ type SetYearDaySchedule = DoorLock.SetYearDayScheduleRequest;
76
+ type GetYearDaySchedule = DoorLock.GetYearDayScheduleRequest;
77
+ type ClearYearDaySchedule = DoorLock.ClearYearDayScheduleRequest;
78
+ type SetHolidaySchedule = DoorLock.SetHolidayScheduleRequest;
79
+ type GetHolidaySchedule = DoorLock.GetHolidayScheduleRequest;
80
+ type ClearHolidaySchedule = DoorLock.ClearHolidayScheduleRequest;
81
+ type SetAliroReaderConfig = DoorLock.SetAliroReaderConfigRequest;
82
+ type GoToLiftPercentage = WindowCovering.GoToLiftPercentageRequest;
83
+ type GoToTiltPercentage = WindowCovering.GoToTiltPercentageRequest;
84
+ type GoToLiftValue = WindowCovering.GoToLiftValueRequest;
85
+ type GoToTiltValue = WindowCovering.GoToTiltValueRequest;
86
+ type SetpointRaiseLower = Thermostat.SetpointRaiseLowerRequest;
87
+ type SetActivePreset = Thermostat.SetActivePresetRequest;
88
+ type SetActiveSchedule = Thermostat.SetActiveScheduleRequest;
89
+ type GetWeeklySchedule = Thermostat.GetWeeklyScheduleRequest;
90
+ type SetWeeklySchedule = Thermostat.SetWeeklyScheduleRequest;
91
+ type FanStep = FanControl.StepRequest;
92
+ type ChangeToMode = ModeBase.ChangeToModeRequest;
93
+ type SelectAreas = ServiceArea.SelectAreasRequest;
94
+ type SkipArea = ServiceArea.SkipAreaRequest;
95
+ }
96
+ export { clusters as MatterTypes } from './types.js';
97
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/matter/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export { ChildBridgeMatterManager } from './ChildBridgeMatterManager.js';
2
+ export { MatterConfigCollector } from './config.js';
3
+ export { MatterConfigValidator } from './configValidator.js';
4
+ export { MatterStatus } from './errors.js';
5
+ export { MatterBridgeManager } from './MatterBridgeManager.js';
6
+ export { MatterServer } from './server.js';
7
+ export { HomebridgeMatterStorage, MatterStorageManager } from './storage.js';
8
+ export { clusterNames, clusters, devices, deviceTypes, MatterAccessoryEventTypes, MatterCommissioningError, MatterDeviceError, MatterError, MatterErrorType, MatterNetworkError, MatterStorageError, } from './types.js';
9
+ export { clusters as MatterTypes } from './types.js';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/matter/index.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAqC,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC/F,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,WAAW,EAIX,yBAAyB,EAIzB,wBAAwB,EAExB,iBAAiB,EACjB,WAAW,EAEX,eAAe,EACf,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,YAAY,CAAA;AAiKnB,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare function createHomebridgeLogFormatter(): (diagnostic: unknown) => string;
2
+ //# sourceMappingURL=logFormatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logFormatter.d.ts","sourceRoot":"","sources":["../../src/matter/logFormatter.ts"],"names":[],"mappings":"AAuBA,wBAAgB,4BAA4B,IAAI,CAAC,UAAU,EAAE,OAAO,KAAK,MAAM,CAuE9E"}
@@ -0,0 +1,100 @@
1
+ import { Diagnostic } from '@matter/general';
2
+ import chalk from 'chalk';
3
+ import { Logger } from '../logger.js';
4
+ export function createHomebridgeLogFormatter() {
5
+ const timestampEnabled = Logger.isTimestampEnabled();
6
+ return (diagnostic) => {
7
+ if (typeof diagnostic === 'object' && diagnostic !== null) {
8
+ const msg = diagnostic;
9
+ if (msg.now && msg.facility && msg.values) {
10
+ if (msg.facility === 'ValidatedElements' || msg.facility === 'Commissioning') {
11
+ return '';
12
+ }
13
+ const facility = formatCyan(`[Matter/${msg.facility}]`);
14
+ let messageText = formatMessageValues(msg.values);
15
+ if (msg.facility === 'MessageChannel' && messageText.length > 200) {
16
+ messageText = `${messageText.substring(0, 200)} [trimmed...]`;
17
+ }
18
+ let coloredMessage = messageText;
19
+ if (msg.level !== undefined) {
20
+ switch (msg.level) {
21
+ case 5:
22
+ case 4:
23
+ coloredMessage = chalk.red(messageText);
24
+ break;
25
+ case 3:
26
+ coloredMessage = chalk.yellow(messageText);
27
+ break;
28
+ case 0:
29
+ coloredMessage = chalk.gray(messageText);
30
+ break;
31
+ }
32
+ }
33
+ if (timestampEnabled) {
34
+ const timestamp = formatHomebridgeTimestamp(msg.now);
35
+ return `${timestamp} ${facility} ${coloredMessage}`;
36
+ }
37
+ else {
38
+ return `${facility} ${coloredMessage}`;
39
+ }
40
+ }
41
+ }
42
+ return String(diagnostic);
43
+ };
44
+ }
45
+ function formatHomebridgeTimestamp(date) {
46
+ const timestamp = `[${date.toLocaleString()}]`;
47
+ return chalk.white(timestamp);
48
+ }
49
+ function formatCyan(text) {
50
+ return chalk.cyan(text);
51
+ }
52
+ function formatMessageValues(values) {
53
+ if (!Array.isArray(values)) {
54
+ return String(values);
55
+ }
56
+ return values
57
+ .map((value) => {
58
+ if (value === null) {
59
+ return 'null';
60
+ }
61
+ if (value === undefined) {
62
+ return 'undefined';
63
+ }
64
+ if (typeof value === 'function') {
65
+ try {
66
+ return String(value());
67
+ }
68
+ catch {
69
+ return String(value);
70
+ }
71
+ }
72
+ if (typeof value === 'object') {
73
+ const diagnosticValue = Diagnostic.valueOf(value);
74
+ if (diagnosticValue !== undefined && diagnosticValue !== value) {
75
+ if (Array.isArray(diagnosticValue)) {
76
+ return formatMessageValues(diagnosticValue);
77
+ }
78
+ return formatMessageValues([diagnosticValue]);
79
+ }
80
+ if (value instanceof Error) {
81
+ const errorDetails = {
82
+ ...value,
83
+ name: value.name,
84
+ message: value.message,
85
+ stack: value.stack,
86
+ };
87
+ return JSON.stringify(errorDetails, null, 2);
88
+ }
89
+ try {
90
+ return JSON.stringify(value);
91
+ }
92
+ catch {
93
+ return String(value);
94
+ }
95
+ }
96
+ return String(value).trim();
97
+ })
98
+ .join(' ');
99
+ }
100
+ //# sourceMappingURL=logFormatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logFormatter.js","sourceRoot":"","sources":["../../src/matter/logFormatter.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAarC,MAAM,UAAU,4BAA4B;IAE1C,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAA;IAEpD,OAAO,CAAC,UAAmB,EAAU,EAAE;QAErC,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YAC1D,MAAM,GAAG,GAAG,UAAiB,CAAA;YAG7B,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAG1C,IAAI,GAAG,CAAC,QAAQ,KAAK,mBAAmB,IAAI,GAAG,CAAC,QAAQ,KAAK,eAAe,EAAE,CAAC;oBAC7E,OAAO,EAAE,CAAA;gBACX,CAAC;gBAGD,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAA;gBAGvD,IAAI,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBAGjD,IAAI,GAAG,CAAC,QAAQ,KAAK,gBAAgB,IAAI,WAAW,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;oBAClE,WAAW,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,eAAe,CAAA;gBAC/D,CAAC;gBAQD,IAAI,cAAc,GAAG,WAAW,CAAA;gBAChC,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC5B,QAAQ,GAAG,CAAC,KAAK,EAAE,CAAC;wBAOlB,KAAK,CAAC,CAAC;wBACP,KAAK,CAAC;4BACJ,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;4BACvC,MAAK;wBACP,KAAK,CAAC;4BACJ,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;4BAC1C,MAAK;wBACP,KAAK,CAAC;4BACJ,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;4BACxC,MAAK;oBACT,CAAC;gBACH,CAAC;gBAGD,IAAI,gBAAgB,EAAE,CAAC;oBAErB,MAAM,SAAS,GAAG,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBACpD,OAAO,GAAG,SAAS,IAAI,QAAQ,IAAI,cAAc,EAAE,CAAA;gBACrD,CAAC;qBAAM,CAAC;oBAEN,OAAO,GAAG,QAAQ,IAAI,cAAc,EAAE,CAAA;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;QAGD,OAAO,MAAM,CAAC,UAAU,CAAC,CAAA;IAC3B,CAAC,CAAA;AACH,CAAC;AAOD,SAAS,yBAAyB,CAAC,IAAU;IAC3C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE,GAAG,CAAA;IAC9C,OAAO,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;AAC/B,CAAC;AAKD,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAKD,SAAS,mBAAmB,CAAC,MAAiB;IAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAA;IACvB,CAAC;IAED,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,MAAM,CAAA;QACf,CAAC;QACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,WAAW,CAAA;QACpB,CAAC;QAGD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;YACtB,CAAC;QACH,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAG9B,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACjD,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,KAAK,EAAE,CAAC;gBAE/D,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;oBACnC,OAAO,mBAAmB,CAAC,eAAe,CAAC,CAAA;gBAC7C,CAAC;gBAGD,OAAO,mBAAmB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAA;YAC/C,CAAC;YAGD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,MAAM,YAAY,GAAG;oBACnB,GAAG,KAAK;oBACR,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB,CAAA;gBACD,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YAC9C,CAAC;YAED,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;YACtB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAA;IAC7B,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAA;AACd,CAAC"}
@@ -0,0 +1,57 @@
1
+ export interface FabricInfo {
2
+ fabricIndex: number;
3
+ fabricId: bigint;
4
+ nodeId: bigint;
5
+ vendorId: number;
6
+ label?: string;
7
+ }
8
+ export interface AccessoryInfo {
9
+ uuid: string;
10
+ displayName: string;
11
+ serialNumber: string;
12
+ manufacturer: string;
13
+ model: string;
14
+ firmwareRevision?: string;
15
+ hardwareRevision?: string;
16
+ softwareVersion?: string;
17
+ deviceType: string;
18
+ clusters: Record<string, Record<string, unknown>>;
19
+ parts?: AccessoryPartInfo[];
20
+ bridge: {
21
+ username: string;
22
+ type: 'main' | 'child' | 'external';
23
+ name: string;
24
+ };
25
+ plugin: string;
26
+ platform: string;
27
+ context?: Record<string, unknown>;
28
+ commissioned: boolean;
29
+ fabricCount: number;
30
+ fabrics: FabricInfo[];
31
+ }
32
+ export interface AccessoryPartInfo {
33
+ id: string;
34
+ displayName?: string;
35
+ deviceType: string;
36
+ clusters: Record<string, Record<string, unknown>>;
37
+ }
38
+ export type MatterAttributeMap = Record<string, unknown>;
39
+ export interface CommandMapping {
40
+ command: string;
41
+ args?: Record<string, unknown>;
42
+ }
43
+ export interface AttributeToCommandMapping {
44
+ map: (attributes: MatterAttributeMap) => CommandMapping | null;
45
+ }
46
+ export interface PublishExternalAccessoryResult {
47
+ server: unknown;
48
+ port: number;
49
+ username: string;
50
+ commissioningInfo: {
51
+ qrCode?: string;
52
+ manualPairingCode?: string;
53
+ serialNumber?: string;
54
+ commissioned: boolean;
55
+ };
56
+ }
57
+ //# sourceMappingURL=managerTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managerTypes.d.ts","sourceRoot":"","sources":["../../src/matter/managerTypes.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,UAAU;IAEzB,WAAW,EAAE,MAAM,CAAA;IAEnB,QAAQ,EAAE,MAAM,CAAA;IAEhB,MAAM,EAAE,MAAM,CAAA;IAEd,QAAQ,EAAE,MAAM,CAAA;IAEhB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAKD,MAAM,WAAW,aAAa;IAE5B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;IAGxB,UAAU,EAAE,MAAM,CAAA;IAGlB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAGjD,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAG3B,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAA;QACnC,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IAGD,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAGhB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAGjC,YAAY,EAAE,OAAO,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,UAAU,EAAE,CAAA;CACtB;AAKD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAClD;AAMD,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAKxD,MAAM,WAAW,cAAc;IAE7B,OAAO,EAAE,MAAM,CAAA;IAEf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B;AAKD,MAAM,WAAW,yBAAyB;IAOxC,GAAG,EAAE,CAAC,UAAU,EAAE,kBAAkB,KAAK,cAAc,GAAG,IAAI,CAAA;CAC/D;AAKD,MAAM,WAAW,8BAA8B;IAE7C,MAAM,EAAE,OAAO,CAAA;IAEf,IAAI,EAAE,MAAM,CAAA;IAEZ,QAAQ,EAAE,MAAM,CAAA;IAEhB,iBAAiB,EAAE;QACjB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,iBAAiB,CAAC,EAAE,MAAM,CAAA;QAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,YAAY,EAAE,OAAO,CAAA;KACtB,CAAA;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=managerTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managerTypes.js","sourceRoot":"","sources":["../../src/matter/managerTypes.ts"],"names":[],"mappings":""}
@@ -0,0 +1,112 @@
1
+ import type { SerializedMatterAccessory } from './accessoryCache.js';
2
+ import { EventEmitter } from 'node:events';
3
+ import * as clusters from '@matter/main/clusters';
4
+ import { MatterServerConfig } from './sharedTypes.js';
5
+ import { deviceTypes, MatterAccessory, MatterServerEvents } from './types.js';
6
+ export declare class MatterServer extends EventEmitter {
7
+ on: <K extends keyof MatterServerEvents>(event: K, listener: MatterServerEvents[K]) => this;
8
+ emit: <K extends keyof MatterServerEvents>(event: K, ...args: Parameters<MatterServerEvents[K]>) => boolean;
9
+ removeListener: <K extends keyof MatterServerEvents>(event: K, listener: MatterServerEvents[K]) => this;
10
+ removeAllListeners: (event?: keyof MatterServerEvents) => this;
11
+ private readonly config;
12
+ private serverNode;
13
+ private aggregator;
14
+ private accessories;
15
+ private readonly behaviorRegistry;
16
+ private isRunning;
17
+ private readonly MAX_DEVICES;
18
+ private shutdownHandler;
19
+ private static readonly CLUSTER_BEHAVIOR_MAP;
20
+ private passcode;
21
+ private discriminator;
22
+ private readonly vendorId;
23
+ private readonly productId;
24
+ private commissioningInfo;
25
+ private serialNumber?;
26
+ private cleanupHandlers;
27
+ private storageManager;
28
+ private matterStoragePath?;
29
+ private accessoryCache;
30
+ private monitoringEnabled;
31
+ username: string;
32
+ bridgeName: string;
33
+ constructor(config: MatterServerConfig);
34
+ private validateAndSanitizeConfig;
35
+ private generateSecurePasscode;
36
+ private isValidPasscode;
37
+ private generateRandomDiscriminator;
38
+ private createServerNodeWithRecovery;
39
+ start(): Promise<void>;
40
+ runServer(): Promise<void>;
41
+ private setupStorage;
42
+ private loadOrGenerateCredentials;
43
+ private generateCommissioningInfo;
44
+ private waitForServerReady;
45
+ private setupCommissioningEventListeners;
46
+ private updateCommissioningFile;
47
+ registerPlatformAccessories(pluginIdentifier: string, platformName: string, accessories: MatterAccessory[]): Promise<void>;
48
+ unregisterPlatformAccessories(pluginIdentifier: string, platformName: string, accessories: MatterAccessory[]): Promise<void>;
49
+ updatePlatformAccessories(accessories: MatterAccessory[]): Promise<void>;
50
+ private registerAccessory;
51
+ private restoreCachedState;
52
+ private detectClusterFeatures;
53
+ private buildCustomBehaviors;
54
+ private createEndpointOptions;
55
+ private registerAccessoryHandlers;
56
+ private createAccessoryParts;
57
+ private finalizeAccessoryRegistration;
58
+ unregisterAccessory(uuid: string): Promise<void>;
59
+ updateAccessoryState(uuid: string, cluster: string, attributes: Record<string, unknown>, partId?: string): Promise<void>;
60
+ triggerCommand(uuid: string, cluster: string, command: string, args?: Record<string, unknown>, partId?: string): Promise<void>;
61
+ getAccessoryState(uuid: string, cluster: string, partId?: string): Record<string, unknown> | undefined;
62
+ getAllCachedAccessories(): SerializedMatterAccessory[];
63
+ getAccessories(): MatterAccessory[];
64
+ getAccessory(uuid: string): MatterAccessory | undefined;
65
+ stop(): Promise<void>;
66
+ private cleanup;
67
+ getFabricInfo(): Array<{
68
+ fabricIndex: number;
69
+ fabricId: string;
70
+ nodeId: string;
71
+ rootVendorId: number;
72
+ label?: string;
73
+ }>;
74
+ isCommissioned(): boolean;
75
+ getCommissionedFabricCount(): number;
76
+ getServerInfo(): {
77
+ running: boolean;
78
+ port: number;
79
+ deviceCount: number;
80
+ commissioned: boolean;
81
+ fabricCount: number;
82
+ serialNumber?: string;
83
+ };
84
+ getCommissioningInfo(): {
85
+ qrCode?: string;
86
+ manualPairingCode?: string;
87
+ serialNumber?: string;
88
+ passcode?: number;
89
+ discriminator?: number;
90
+ commissioned: boolean;
91
+ };
92
+ getStorageStats(): Array<{
93
+ entries: number;
94
+ namespace: string;
95
+ path: string;
96
+ }> | null;
97
+ isServerRunning(): boolean;
98
+ getDeviceTypes(): typeof deviceTypes;
99
+ getClusters(): typeof clusters;
100
+ removeFabric(fabricIndex: number): Promise<void>;
101
+ hasFabric(fabricIndex: number): boolean;
102
+ enableStateMonitoring(): void;
103
+ disableStateMonitoring(): void;
104
+ isMonitoringEnabled(): boolean;
105
+ notifyStateChange(uuid: string, cluster: string, state: Record<string, unknown>, partId?: string): void;
106
+ private getDeviceTypeName;
107
+ collectAccessories(bridgeUsername: string, bridgeType: string, bridgeName: string): any[];
108
+ getAccessoryInfo(uuid: string): any | undefined;
109
+ private getCurrentState;
110
+ private notifyPartsListChanged;
111
+ }
112
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/matter/server.ts"],"names":[],"mappings":"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"}