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,29 @@
1
+ import type { API } from './api.js';
2
+ export type HAP = API['hap'];
3
+ export type { AccessoryIdentifier, AccessoryName, AccessoryPlugin, AccessoryPluginConstructor, API, DynamicPlatformPlugin, IndependentPlatformPlugin, MatterAPI, PlatformIdentifier, PlatformName, PlatformPluginConstructor, PluginIdentifier, PluginInitializer, PluginName, ScopedPluginName, StaticPlatformPlugin, } from './api.js';
4
+ export { APIEvent, PluginType } from './api.js';
5
+ export type { AccessoryConfig, BridgeConfiguration, HomebridgeConfig, PlatformConfig, } from './bridgeService.js';
6
+ export type { ExternalPortsConfiguration } from './externalPortService.js';
7
+ export { LogLevel } from './logger.js';
8
+ export type { Logger, Logging } from './logger.js';
9
+ export type { SerializedMatterAccessory } from './matter/accessoryCache.js';
10
+ export { MatterRequests } from './matter/index.js';
11
+ export { MatterStatus } from './matter/index.js';
12
+ export type { MatterAccessoriesResponse, MatterAccessoryInfo, MatterBridgeMetadata, MatterCommissioningInfo, MatterServerConfig, } from './matter/sharedTypes.js';
13
+ export { ChildMatterMessageType, MatterBridgeStatus } from './matter/sharedTypes.js';
14
+ export type { MatterAccessory, MatterClusterHandlers, MatterClusterName, MatterCommandHandler, MatterConfig, } from './matter/types.js';
15
+ export { clusterNames, clusters, devices, deviceTypes, MatterAccessoryEventTypes } from './matter/types.js';
16
+ export { MatterCommissioningError, MatterDeviceError, MatterError, MatterErrorType, MatterNetworkError, MatterStorageError, } from './matter/types.js';
17
+ export type { EndpointType, MatterErrorDetails } from './matter/types.js';
18
+ export { PlatformAccessoryEvent } from './platformAccessory.js';
19
+ export type { PlatformAccessory, UnknownContext } from './platformAccessory.js';
20
+ export type { HomebridgeOptions } from './server.js';
21
+ export type { User } from './user.js';
22
+ export { Access, AccessControlEvent, AccessLevel, AccessoryEventTypes, AdaptiveLightingControllerEvents, AdaptiveLightingControllerMode, AudioBitrate, AudioCodecTypes, AudioRecordingCodecType, AudioRecordingSamplerate, AudioSamplerate, AudioStreamingCodecType, AudioStreamingSamplerate, ButtonState, ButtonType, CameraControllerEvents, Categories, ChangeReason, CharacteristicEventTypes, DataFormatTags, DataStreamConnectionEvent, DataStreamServerEvent, DataStreamStatus, DefaultControllerType, EventTriggerOption, Formats, H264Level, H264Profile, HAPServerEventTypes, HAPStatus, HDSProtocolSpecificErrorReason, HDSStatus, MediaContainerType, PacketDataType, Perms, Protocols, RemoteControllerEvents, ResourceRequestReason, ServiceEventTypes, SiriAudioSessionEvents, SRTPCryptoSuites, StreamRequestTypes, TargetCategory, TargetUpdates, Topics, Units, } from 'hap-nodejs';
23
+ export type { DataStreamParser } from 'hap-nodejs';
24
+ export type { AccessControlManagement, AdaptiveLightingController, CameraController, Characteristic, ColorUtils, DataStreamConnection, DataStreamManagement, DataStreamReader, DataStreamServer, DataStreamWriter, DoorbellController, HAPServer, HapStatusError, HAPStorage, HDSProtocolError, RecordingManagement, RemoteController, RTPStreamManagement, Service, SiriAudioSession, } from 'hap-nodejs';
25
+ export type { ActiveAdaptiveLightingTransition, AdaptiveLightingOptions, AdaptiveLightingTransitionCurveEntry, BrightnessAdjustmentMultiplierRange, CameraControllerOptions, CameraRecordingConfiguration, CameraRecordingDelegate, CameraStreamingDelegate, CharacteristicOperationContext, CharacteristicProps, Controller, ControllerConstructor, ControllerContext, ControllerServiceMap, DataStreamProtocolHandler, DoorbellOptions, H264CodecParameters, MediaContainerConfiguration, ProxiedSourceResponse, PublishInfo, RecordingManagementState, RecordingPacket, RTPProxyOptions, RTPStreamManagementState, SelectedH264CodecParameters, SerializableController, ServiceConfigurationChange, SiriAudioStreamProducer, SiriAudioStreamProducerConstructor, SourceResponse, VideoRecordingOptions, } from 'hap-nodejs';
26
+ export type { AccessoriesCallback, AccessoryCharacteristicChange, AdditionalAuthorizationHandler, AddPairingCallback, AudioCodecConfiguration, AudioCodecParameters, AudioFrame, AudioInfo, AudioRecordingCodec, AudioRecordingOptions, AudioStreamingCodec, AudioStreamingOptions, ButtonConfiguration, CameraRecordingOptions, CameraStreamingOptions, CharacteristicChange, CharacteristicGetCallback, CharacteristicGetHandler, CharacteristicSetCallback, CharacteristicSetHandler, CharacteristicValue, ConstructorArgs, ControllerType, ErrorHandler, EventHandler, FrameHandler, GlobalEventHandler, GlobalRequestHandler, HAPHttpError, HAPPincode, IdentificationCallback, IdentifyCallback, InterfaceName, IPAddress, IPv4Address, IPv6Address, ListPairingsCallback, MacAddress, NodeCallback, Nullable, PairCallback, PairingsCallback, PartialAllowingNull, PreparedDataStreamSession, PrepareStreamCallback, PrepareStreamRequest, PrepareStreamResponse, PrimitiveTypes, ReadCharacteristicsCallback, ReconfiguredVideoInfo, ReconfigureStreamRequest, RemovePairingCallback, RequestHandler, Resolution, ResourceRequestCallback, ResponseHandler, RTPTime, SerializedServiceMap, ServiceCharacteristicChange, ServiceId, SessionIdentifier, SnapshotRequest, SnapshotRequestCallback, Source, StartStreamRequest, StateChangeDelegate, StopStreamRequest, StreamingRequest, StreamRequestCallback, StreamSessionIdentifier, SupportedButtonConfiguration, SupportedConfiguration, TargetConfiguration, TLVEncodable, VideoInfo, VideoStreamingOptions, VoidCallback, WithUUID, WriteCharacteristicsCallback, } from 'hap-nodejs';
27
+ export type { LegacyTypes, uuid } from 'hap-nodejs';
28
+ export type { clone, decode, decodeList, decodeWithLists, encode, epochMillisFromMillisSince2001_01_01, epochMillisFromMillisSince2001_01_01Buffer, once, } from 'hap-nodejs';
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,9 @@
1
+ export { APIEvent, PluginType } from './api.js';
2
+ export { LogLevel } from './logger.js';
3
+ export { MatterStatus } from './matter/index.js';
4
+ export { ChildMatterMessageType, MatterBridgeStatus } from './matter/sharedTypes.js';
5
+ export { clusterNames, clusters, devices, deviceTypes, MatterAccessoryEventTypes } from './matter/types.js';
6
+ export { MatterCommissioningError, MatterDeviceError, MatterError, MatterErrorType, MatterNetworkError, MatterStorageError, } from './matter/types.js';
7
+ export { PlatformAccessoryEvent } from './platformAccessory.js';
8
+ export { Access, AccessControlEvent, AccessLevel, AccessoryEventTypes, AdaptiveLightingControllerEvents, AdaptiveLightingControllerMode, AudioBitrate, AudioCodecTypes, AudioRecordingCodecType, AudioRecordingSamplerate, AudioSamplerate, AudioStreamingCodecType, AudioStreamingSamplerate, ButtonState, ButtonType, CameraControllerEvents, Categories, ChangeReason, CharacteristicEventTypes, DataFormatTags, DataStreamConnectionEvent, DataStreamServerEvent, DataStreamStatus, DefaultControllerType, EventTriggerOption, Formats, H264Level, H264Profile, HAPServerEventTypes, HAPStatus, HDSProtocolSpecificErrorReason, HDSStatus, MediaContainerType, PacketDataType, Perms, Protocols, RemoteControllerEvents, ResourceRequestReason, ServiceEventTypes, SiriAudioSessionEvents, SRTPCryptoSuites, StreamRequestTypes, TargetCategory, TargetUpdates, Topics, Units, } from 'hap-nodejs';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiCA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAoB/C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAqDtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAUhD,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAuBpF,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAK3G,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAO1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAsB/D,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,gCAAgC,EAChC,8BAA8B,EAC9B,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,WAAW,EACX,UAAU,EACV,sBAAsB,EACtB,UAAU,EACV,YAAY,EACZ,wBAAwB,EACxB,cAAc,EACd,yBAAyB,EACzB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,OAAO,EACP,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,SAAS,EACT,8BAA8B,EAC9B,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,KAAK,EACL,SAAS,EACT,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,MAAM,EACN,KAAK,GACN,MAAM,YAAY,CAAA"}
@@ -0,0 +1,58 @@
1
+ import { EventEmitter } from 'node:events';
2
+ export declare const enum IpcIncomingEvent {
3
+ RESTART_CHILD_BRIDGE = "restartChildBridge",
4
+ STOP_CHILD_BRIDGE = "stopChildBridge",
5
+ START_CHILD_BRIDGE = "startChildBridge",
6
+ CHILD_BRIDGE_METADATA_REQUEST = "childBridgeMetadataRequest",
7
+ START_MATTER_MONITORING = "startMatterMonitoring",
8
+ STOP_MATTER_MONITORING = "stopMatterMonitoring",
9
+ GET_MATTER_ACCESSORIES = "getMatterAccessories",
10
+ GET_MATTER_ACCESSORY_INFO = "getMatterAccessoryInfo",
11
+ MATTER_ACCESSORY_CONTROL = "matterAccessoryControl"
12
+ }
13
+ export declare const enum IpcOutgoingEvent {
14
+ SERVER_STATUS_UPDATE = "serverStatusUpdate",
15
+ CHILD_BRIDGE_METADATA_RESPONSE = "childBridgeMetadataResponse",
16
+ CHILD_BRIDGE_STATUS_UPDATE = "childBridgeStatusUpdate",
17
+ MATTER_EVENT = "matterEvent"
18
+ }
19
+ export type MatterEventType = 'monitoringStarted' | 'monitoringStopped' | 'accessoriesData' | 'accessoryInfoData' | 'accessoryControlResponse' | 'accessoryUpdate' | 'accessoryAdded' | 'accessoryRemoved' | 'externalBridgeRegistration';
20
+ export interface MatterEvent<T = unknown> {
21
+ type: MatterEventType;
22
+ data?: T;
23
+ }
24
+ export interface ServerStatusUpdate {
25
+ status: string;
26
+ paired: boolean | null;
27
+ setupUri: string | null;
28
+ name: string;
29
+ username: string;
30
+ pin: string;
31
+ matter: {
32
+ enabled: boolean;
33
+ port?: number;
34
+ setupUri?: string;
35
+ pin?: string;
36
+ serialNumber?: string;
37
+ commissioned?: boolean;
38
+ deviceCount?: number;
39
+ };
40
+ }
41
+ export declare interface IpcService {
42
+ on: ((event: IpcIncomingEvent.RESTART_CHILD_BRIDGE, listener: (childBridgeUsername: string) => void) => this) & ((event: IpcIncomingEvent.STOP_CHILD_BRIDGE, listener: (childBridgeUsername: string) => void) => this) & ((event: IpcIncomingEvent.START_CHILD_BRIDGE, listener: (childBridgeUsername: string) => void) => this) & ((event: IpcIncomingEvent.CHILD_BRIDGE_METADATA_REQUEST, listener: () => void) => this) & ((event: IpcIncomingEvent.START_MATTER_MONITORING, listener: () => void) => this) & ((event: IpcIncomingEvent.STOP_MATTER_MONITORING, listener: () => void) => this) & ((event: IpcIncomingEvent.GET_MATTER_ACCESSORIES, listener: (data: {
43
+ bridgeUsername?: string;
44
+ }) => void) => this) & ((event: IpcIncomingEvent.GET_MATTER_ACCESSORY_INFO, listener: (data: {
45
+ uuid: string;
46
+ }) => void) => this) & ((event: IpcIncomingEvent.MATTER_ACCESSORY_CONTROL, listener: (data: {
47
+ uuid: string;
48
+ cluster: string;
49
+ attributes: Record<string, unknown>;
50
+ partId?: string;
51
+ }) => void) => this);
52
+ }
53
+ export declare class IpcService extends EventEmitter {
54
+ constructor();
55
+ start(): void;
56
+ sendMessage(id: IpcOutgoingEvent, data: unknown): void;
57
+ }
58
+ //# sourceMappingURL=ipcService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipcService.d.ts","sourceRoot":"","sources":["../src/ipcService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { EventEmitter } from 'node:events';
2
+ import process from 'node:process';
3
+ export var IpcIncomingEvent;
4
+ (function (IpcIncomingEvent) {
5
+ IpcIncomingEvent["RESTART_CHILD_BRIDGE"] = "restartChildBridge";
6
+ IpcIncomingEvent["STOP_CHILD_BRIDGE"] = "stopChildBridge";
7
+ IpcIncomingEvent["START_CHILD_BRIDGE"] = "startChildBridge";
8
+ IpcIncomingEvent["CHILD_BRIDGE_METADATA_REQUEST"] = "childBridgeMetadataRequest";
9
+ IpcIncomingEvent["START_MATTER_MONITORING"] = "startMatterMonitoring";
10
+ IpcIncomingEvent["STOP_MATTER_MONITORING"] = "stopMatterMonitoring";
11
+ IpcIncomingEvent["GET_MATTER_ACCESSORIES"] = "getMatterAccessories";
12
+ IpcIncomingEvent["GET_MATTER_ACCESSORY_INFO"] = "getMatterAccessoryInfo";
13
+ IpcIncomingEvent["MATTER_ACCESSORY_CONTROL"] = "matterAccessoryControl";
14
+ })(IpcIncomingEvent || (IpcIncomingEvent = {}));
15
+ export var IpcOutgoingEvent;
16
+ (function (IpcOutgoingEvent) {
17
+ IpcOutgoingEvent["SERVER_STATUS_UPDATE"] = "serverStatusUpdate";
18
+ IpcOutgoingEvent["CHILD_BRIDGE_METADATA_RESPONSE"] = "childBridgeMetadataResponse";
19
+ IpcOutgoingEvent["CHILD_BRIDGE_STATUS_UPDATE"] = "childBridgeStatusUpdate";
20
+ IpcOutgoingEvent["MATTER_EVENT"] = "matterEvent";
21
+ })(IpcOutgoingEvent || (IpcOutgoingEvent = {}));
22
+ export class IpcService extends EventEmitter {
23
+ constructor() {
24
+ super();
25
+ }
26
+ start() {
27
+ process.on('message', (message) => {
28
+ if (!message || typeof message !== 'object' || !message.id) {
29
+ return;
30
+ }
31
+ this.emit(message.id, message.data);
32
+ });
33
+ }
34
+ sendMessage(id, data) {
35
+ if (process.send) {
36
+ process.send({
37
+ id,
38
+ data,
39
+ });
40
+ }
41
+ }
42
+ }
43
+ //# sourceMappingURL=ipcService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipcService.js","sourceRoot":"","sources":["../src/ipcService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,OAAO,MAAM,cAAc,CAAA;AAGlC,MAAM,CAAN,IAAkB,gBAUjB;AAVD,WAAkB,gBAAgB;IAChC,+DAA2C,CAAA;IAC3C,yDAAqC,CAAA;IACrC,2DAAuC,CAAA;IACvC,gFAA4D,CAAA;IAC5D,qEAAiD,CAAA;IACjD,mEAA+C,CAAA;IAC/C,mEAA+C,CAAA;IAC/C,wEAAoD,CAAA;IACpD,uEAAmD,CAAA;AACrD,CAAC,EAViB,gBAAgB,KAAhB,gBAAgB,QAUjC;AAGD,MAAM,CAAN,IAAkB,gBAKjB;AALD,WAAkB,gBAAgB;IAChC,+DAA2C,CAAA;IAC3C,kFAA8D,CAAA;IAC9D,0EAAsD,CAAA;IACtD,gDAA4B,CAAA;AAC9B,CAAC,EALiB,gBAAgB,KAAhB,gBAAgB,QAKjC;AAmDD,MAAM,OAAO,UAAW,SAAQ,YAAY;IAC1C;QACE,KAAK,EAAE,CAAA;IACT,CAAC;IAMM,KAAK;QACV,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAoC,EAAE,EAAE;YAC7D,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;gBAC3D,OAAM;YACR,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;IACJ,CAAC;IAOM,WAAW,CAAC,EAAoB,EAAE,IAAa;QACpD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE;gBACF,IAAI;aACL,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,38 @@
1
+ export declare const enum LogLevel {
2
+ INFO = "info",
3
+ SUCCESS = "success",
4
+ WARN = "warn",
5
+ ERROR = "error",
6
+ DEBUG = "debug"
7
+ }
8
+ export interface Logging {
9
+ prefix: string;
10
+ (message: string, ...parameters: any[]): void;
11
+ info: (message: string, ...parameters: any[]) => void;
12
+ success: (message: string, ...parameters: any[]) => void;
13
+ warn: (message: string, ...parameters: any[]) => void;
14
+ error: (message: string, ...parameters: any[]) => void;
15
+ debug: (message: string, ...parameters: any[]) => void;
16
+ log: (level: LogLevel, message: string, ...parameters: any[]) => void;
17
+ }
18
+ export declare class Logger {
19
+ static readonly internal: Logger;
20
+ private static readonly loggerCache;
21
+ private static debugEnabled;
22
+ private static timestampEnabled;
23
+ readonly prefix?: string;
24
+ constructor(prefix?: string);
25
+ static withPrefix(prefix: string): Logging;
26
+ static setDebugEnabled(enabled?: boolean): void;
27
+ static setTimestampEnabled(enabled?: boolean): void;
28
+ static isTimestampEnabled(): boolean;
29
+ static forceColor(): void;
30
+ info(message: string, ...parameters: any[]): void;
31
+ success(message: string, ...parameters: any[]): void;
32
+ warn(message: string, ...parameters: any[]): void;
33
+ error(message: string, ...parameters: any[]): void;
34
+ debug(message: string, ...parameters: any[]): void;
35
+ log(level: LogLevel, message: string, ...parameters: any[]): void;
36
+ }
37
+ export declare function getLogPrefix(prefix: string): string;
38
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAiBA,0BAAkB,QAAQ;IACxB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAMD,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IAC7C,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACrD,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACxD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACrD,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACtD,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACtD,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;CACtE;AAgBD,qBAAa,MAAM;IACjB,gBAAuB,QAAQ,SAAe;IAC9C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAA6B;IAChE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAQ;IACnC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAO;IAEtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;gBAEZ,MAAM,CAAC,EAAE,MAAM;IAS3B,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;WA8B5B,eAAe,CAAC,OAAO,GAAE,OAAc,GAAG,IAAI;WAS9C,mBAAmB,CAAC,OAAO,GAAE,OAAc,GAAG,IAAI;WASlD,kBAAkB,IAAI,OAAO;WAO7B,UAAU,IAAI,IAAI;IAIzB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIjD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIpD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIjD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIlD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIlD,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;CAoCzE;AAMD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnD"}
package/dist/logger.js ADDED
@@ -0,0 +1,102 @@
1
+ import util from 'node:util';
2
+ import chalk from 'chalk';
3
+ export var LogLevel;
4
+ (function (LogLevel) {
5
+ LogLevel["INFO"] = "info";
6
+ LogLevel["SUCCESS"] = "success";
7
+ LogLevel["WARN"] = "warn";
8
+ LogLevel["ERROR"] = "error";
9
+ LogLevel["DEBUG"] = "debug";
10
+ })(LogLevel || (LogLevel = {}));
11
+ export class Logger {
12
+ static internal = new Logger();
13
+ static loggerCache = new Map();
14
+ static debugEnabled = false;
15
+ static timestampEnabled = true;
16
+ prefix;
17
+ constructor(prefix) {
18
+ this.prefix = prefix;
19
+ }
20
+ static withPrefix(prefix) {
21
+ const loggerStuff = Logger.loggerCache.get(prefix);
22
+ if (loggerStuff) {
23
+ return loggerStuff;
24
+ }
25
+ else {
26
+ const logger = new Logger(prefix);
27
+ const log = logger.info.bind(logger);
28
+ log.info = logger.info;
29
+ log.success = logger.success;
30
+ log.warn = logger.warn;
31
+ log.error = logger.error;
32
+ log.debug = logger.debug;
33
+ log.log = logger.log;
34
+ log.prefix = logger.prefix;
35
+ const logging = log;
36
+ Logger.loggerCache.set(prefix, logging);
37
+ return logging;
38
+ }
39
+ }
40
+ static setDebugEnabled(enabled = true) {
41
+ Logger.debugEnabled = enabled;
42
+ }
43
+ static setTimestampEnabled(enabled = true) {
44
+ Logger.timestampEnabled = enabled;
45
+ }
46
+ static isTimestampEnabled() {
47
+ return Logger.timestampEnabled;
48
+ }
49
+ static forceColor() {
50
+ chalk.level = 1;
51
+ }
52
+ info(message, ...parameters) {
53
+ this.log("info", message, ...parameters);
54
+ }
55
+ success(message, ...parameters) {
56
+ this.log("success", message, ...parameters);
57
+ }
58
+ warn(message, ...parameters) {
59
+ this.log("warn", message, ...parameters);
60
+ }
61
+ error(message, ...parameters) {
62
+ this.log("error", message, ...parameters);
63
+ }
64
+ debug(message, ...parameters) {
65
+ this.log("debug", message, ...parameters);
66
+ }
67
+ log(level, message, ...parameters) {
68
+ if (level === "debug" && !Logger.debugEnabled) {
69
+ return;
70
+ }
71
+ message = util.format(message, ...parameters);
72
+ let loggingFunction = console.log;
73
+ switch (level) {
74
+ case "success":
75
+ message = chalk.green(message);
76
+ break;
77
+ case "warn":
78
+ message = chalk.yellow(message);
79
+ loggingFunction = console.error;
80
+ break;
81
+ case "error":
82
+ message = chalk.red(message);
83
+ loggingFunction = console.error;
84
+ break;
85
+ case "debug":
86
+ message = chalk.gray(message);
87
+ break;
88
+ }
89
+ if (this.prefix) {
90
+ message = `${getLogPrefix(this.prefix)} ${message}`;
91
+ }
92
+ if (Logger.timestampEnabled) {
93
+ const date = new Date();
94
+ message = chalk.white(`[${date.toLocaleString()}] `) + message;
95
+ }
96
+ loggingFunction(message);
97
+ }
98
+ }
99
+ export function getLogPrefix(prefix) {
100
+ return chalk.cyan(`[${prefix}]`);
101
+ }
102
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { PluginManager } from '../pluginManager.js';
2
+ import type { InternalMatterAccessory } from './types.js';
3
+ import { MatterServer } from './server.js';
4
+ export declare abstract class BaseMatterManager {
5
+ protected matterServer?: MatterServer;
6
+ protected readonly externalMatterServers: Map<string, MatterServer>;
7
+ protected readonly pluginManager: PluginManager;
8
+ constructor(pluginManager: PluginManager);
9
+ getExternalServer(uuid: string): MatterServer | undefined;
10
+ handleTriggerCommand(uuid: string, cluster: string, attributes: Record<string, unknown>, partId?: string): Promise<void>;
11
+ handleUpdateAccessoryState(uuid: string, cluster: string, attributes: Record<string, unknown>, partId?: string): Promise<void>;
12
+ enableStateMonitoring(): void;
13
+ disableStateMonitoring(): void;
14
+ restoreCachedAccessories(keepOrphaned: boolean): void;
15
+ handleRegisterPlatformAccessories(pluginIdentifier: string, platformName: string, accessories: InternalMatterAccessory[]): Promise<void>;
16
+ handleUpdatePlatformAccessories(accessories: InternalMatterAccessory[]): Promise<void>;
17
+ handleUnregisterPlatformAccessories(pluginIdentifier: string, platformName: string, accessories: InternalMatterAccessory[]): Promise<void>;
18
+ handleUnregisterExternalAccessories(accessories: InternalMatterAccessory[]): Promise<void>;
19
+ private deserializeMatterAccessory;
20
+ }
21
+ //# sourceMappingURL=BaseMatterManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseMatterManager.d.ts","sourceRoot":"","sources":["../../src/matter/BaseMatterManager.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAExD,OAAO,KAAK,EAAE,uBAAuB,EAAmB,MAAM,YAAY,CAAA;AAS1E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAQ1C,8BAAsB,iBAAiB;IACrC,SAAS,CAAC,YAAY,CAAC,EAAE,YAAY,CAAA;IACrC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAY;IAC/E,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;gBAEnC,aAAa,EAAE,aAAa;IAUjC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAS1D,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDxH,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBpI,qBAAqB,IAAI,IAAI;IAU7B,sBAAsB,IAAI,IAAI;IAU9B,wBAAwB,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI;IAuD/C,iCAAiC,CAAC,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAYxI,+BAA+B,CAAC,WAAW,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BtF,mCAAmC,CAAC,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAY1I,mCAAmC,CAAC,WAAW,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA6ChG,OAAO,CAAC,0BAA0B;CAiBnC"}
@@ -0,0 +1,197 @@
1
+ import { rmSync } from 'node:fs';
2
+ import path from 'node:path';
3
+ import { Logger } from '../logger.js';
4
+ import { User } from '../user.js';
5
+ import { generate } from '../util/mac.js';
6
+ import { mapAttributesToCommand } from './ClusterCommandMapper.js';
7
+ const log = Logger.withPrefix('Matter/BaseManager');
8
+ export class BaseMatterManager {
9
+ matterServer;
10
+ externalMatterServers = new Map();
11
+ pluginManager;
12
+ constructor(pluginManager) {
13
+ this.pluginManager = pluginManager;
14
+ }
15
+ getExternalServer(uuid) {
16
+ return this.externalMatterServers.get(uuid);
17
+ }
18
+ async handleTriggerCommand(uuid, cluster, attributes, partId) {
19
+ const commandMapping = mapAttributesToCommand(cluster, attributes);
20
+ log.debug(`handleTriggerCommand: uuid=${uuid}, cluster=${cluster}, partId=${partId}`);
21
+ log.debug(`Attributes: ${JSON.stringify(attributes)}`);
22
+ log.debug(`Command mapping: ${commandMapping ? JSON.stringify(commandMapping) : 'null (state-only update)'}`);
23
+ log.debug(`External servers count: ${this.externalMatterServers.size}`);
24
+ if (this.externalMatterServers.size > 0) {
25
+ log.debug(`External server UUIDs: ${Array.from(this.externalMatterServers.keys()).join(', ')}`);
26
+ }
27
+ const externalServer = this.externalMatterServers.get(uuid);
28
+ if (externalServer) {
29
+ log.debug(`Found external server for ${uuid}`);
30
+ if (commandMapping) {
31
+ await externalServer.triggerCommand(uuid, cluster, commandMapping.command, commandMapping.args, partId);
32
+ }
33
+ else {
34
+ await externalServer.updateAccessoryState(uuid, cluster, attributes, partId);
35
+ }
36
+ return;
37
+ }
38
+ if (!this.matterServer) {
39
+ log.debug(`No matterServer and external server not found for ${uuid}`);
40
+ throw new Error(`Accessory ${uuid} not found on this bridge`);
41
+ }
42
+ log.debug(`Trying matterServer for ${uuid}`);
43
+ if (commandMapping) {
44
+ await this.matterServer.triggerCommand(uuid, cluster, commandMapping.command, commandMapping.args, partId);
45
+ }
46
+ else {
47
+ await this.matterServer.updateAccessoryState(uuid, cluster, attributes, partId);
48
+ }
49
+ }
50
+ async handleUpdateAccessoryState(uuid, cluster, attributes, partId) {
51
+ const externalServer = this.externalMatterServers.get(uuid);
52
+ if (externalServer) {
53
+ await externalServer.updateAccessoryState(uuid, cluster, attributes, partId);
54
+ return;
55
+ }
56
+ if (!this.matterServer) {
57
+ throw new Error(`Accessory ${uuid} not found on this bridge`);
58
+ }
59
+ await this.matterServer.updateAccessoryState(uuid, cluster, attributes, partId);
60
+ }
61
+ enableStateMonitoring() {
62
+ this.matterServer?.enableStateMonitoring();
63
+ for (const externalServer of this.externalMatterServers.values()) {
64
+ externalServer.enableStateMonitoring();
65
+ }
66
+ }
67
+ disableStateMonitoring() {
68
+ this.matterServer?.disableStateMonitoring();
69
+ for (const externalServer of this.externalMatterServers.values()) {
70
+ externalServer.disableStateMonitoring();
71
+ }
72
+ }
73
+ restoreCachedAccessories(keepOrphaned) {
74
+ if (!this.matterServer) {
75
+ return;
76
+ }
77
+ const cachedAccessories = this.matterServer.getAllCachedAccessories();
78
+ log.debug(`Restoring ${cachedAccessories.length} cached Matter accessories`);
79
+ for (const cachedAccessory of cachedAccessories) {
80
+ let plugin = this.pluginManager.getPlugin(cachedAccessory.plugin);
81
+ if (!plugin) {
82
+ try {
83
+ plugin = this.pluginManager.getPluginByActiveDynamicPlatform(cachedAccessory.platform);
84
+ if (plugin) {
85
+ log.info(`When searching for the associated plugin of the Matter accessory '${cachedAccessory.displayName}' `
86
+ + `it seems like the plugin name changed from '${cachedAccessory.plugin}' to '${plugin.getPluginIdentifier()}'. Plugin association is now being transformed!`);
87
+ }
88
+ }
89
+ catch (error) {
90
+ const errorMessage = error instanceof Error ? error.message : String(error);
91
+ log.warn(`Could not find the associated plugin for the Matter accessory '${cachedAccessory.displayName}'. `
92
+ + `Tried to find the plugin by the platform name but ${errorMessage}`);
93
+ }
94
+ }
95
+ const platformPlugin = plugin && plugin.getActiveDynamicPlatform(cachedAccessory.platform);
96
+ if (!platformPlugin) {
97
+ log.warn(`Failed to find plugin to handle Matter accessory ${cachedAccessory.displayName} (plugin: ${cachedAccessory.plugin}, platform: ${cachedAccessory.platform})`);
98
+ if (!keepOrphaned) {
99
+ log.info(`Removing orphaned Matter accessory ${cachedAccessory.displayName}`);
100
+ this.matterServer.unregisterAccessory(cachedAccessory.uuid).catch((error) => {
101
+ log.warn(`Failed to unregister orphaned Matter accessory ${cachedAccessory.displayName}:`, error);
102
+ });
103
+ }
104
+ }
105
+ else {
106
+ if (platformPlugin.configureMatterAccessory) {
107
+ log.debug(`Calling configureMatterAccessory for ${cachedAccessory.displayName}`);
108
+ const accessory = this.deserializeMatterAccessory(cachedAccessory);
109
+ platformPlugin.configureMatterAccessory(accessory);
110
+ }
111
+ else {
112
+ log.debug(`Platform ${cachedAccessory.platform} does not implement configureMatterAccessory`);
113
+ }
114
+ }
115
+ }
116
+ }
117
+ async handleRegisterPlatformAccessories(pluginIdentifier, platformName, accessories) {
118
+ if (!this.matterServer) {
119
+ log.warn('Cannot register Matter accessories - Matter server is not running');
120
+ return;
121
+ }
122
+ await this.matterServer.registerPlatformAccessories(pluginIdentifier, platformName, accessories);
123
+ }
124
+ async handleUpdatePlatformAccessories(accessories) {
125
+ const bridgeAccessories = [];
126
+ for (const accessory of accessories) {
127
+ const externalServer = this.externalMatterServers.get(accessory.UUID);
128
+ if (externalServer) {
129
+ await externalServer.updatePlatformAccessories([accessory]);
130
+ }
131
+ else {
132
+ bridgeAccessories.push(accessory);
133
+ }
134
+ }
135
+ if (bridgeAccessories.length > 0) {
136
+ if (!this.matterServer) {
137
+ log.warn('Cannot update Matter platform accessories - Matter server is not running');
138
+ return;
139
+ }
140
+ await this.matterServer.updatePlatformAccessories(bridgeAccessories);
141
+ }
142
+ }
143
+ async handleUnregisterPlatformAccessories(pluginIdentifier, platformName, accessories) {
144
+ if (!this.matterServer) {
145
+ log.warn('Cannot unregister Matter accessories - Matter server is not running');
146
+ return;
147
+ }
148
+ await this.matterServer.unregisterPlatformAccessories(pluginIdentifier, platformName, accessories);
149
+ }
150
+ async handleUnregisterExternalAccessories(accessories) {
151
+ log.info(`Unregistering ${accessories.length} external Matter accessor${accessories.length === 1 ? 'y' : 'ies'}`);
152
+ for (const accessory of accessories) {
153
+ try {
154
+ const matterServer = this.externalMatterServers.get(accessory.UUID);
155
+ if (!matterServer) {
156
+ log.warn(`External Matter accessory ${accessory.displayName} (${accessory.UUID}) is not registered`);
157
+ continue;
158
+ }
159
+ log.info(`Stopping external Matter server for ${accessory.displayName}`);
160
+ await matterServer.stop();
161
+ this.externalMatterServers.delete(accessory.UUID);
162
+ const advertiseAddress = generate(accessory.UUID);
163
+ const uniqueId = advertiseAddress.replace(/:/g, '');
164
+ const storagePath = path.join(User.matterPath(), uniqueId);
165
+ try {
166
+ log.debug(`Removing Matter storage for external accessory at: ${storagePath}`);
167
+ rmSync(storagePath, { recursive: true, force: true });
168
+ log.info(`✓ Cleaned up storage for external Matter accessory: ${accessory.displayName}`);
169
+ }
170
+ catch (error) {
171
+ log.error(`Failed to clean up storage for external Matter accessory ${accessory.displayName}:`, error);
172
+ }
173
+ log.info(`✓ External Matter accessory unregistered: ${accessory.displayName}`);
174
+ }
175
+ catch (error) {
176
+ log.error(`Failed to unregister external Matter accessory ${accessory.displayName}:`, error);
177
+ }
178
+ }
179
+ }
180
+ deserializeMatterAccessory(serialized) {
181
+ return {
182
+ UUID: serialized.uuid,
183
+ displayName: serialized.displayName,
184
+ deviceType: serialized.deviceType,
185
+ serialNumber: serialized.serialNumber,
186
+ manufacturer: serialized.manufacturer,
187
+ model: serialized.model,
188
+ firmwareRevision: serialized.firmwareRevision,
189
+ hardwareRevision: serialized.hardwareRevision,
190
+ softwareVersion: serialized.softwareVersion,
191
+ context: serialized.context ?? {},
192
+ clusters: serialized.clusters,
193
+ parts: serialized.parts,
194
+ };
195
+ }
196
+ }
197
+ //# sourceMappingURL=BaseMatterManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseMatterManager.js","sourceRoot":"","sources":["../../src/matter/BaseMatterManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import type { HomebridgeAPI } from '../api.js';
2
+ import type { BridgeConfiguration, BridgeOptions } from '../bridgeService.js';
3
+ import type { ChildBridgeExternalPortService } from '../externalPortService.js';
4
+ import type { AccessoryInfo } from './managerTypes.js';
5
+ import type { InternalMatterAccessory } from './types.js';
6
+ import { PluginManager } from '../pluginManager.js';
7
+ import { BaseMatterManager } from './BaseMatterManager.js';
8
+ export interface ChildBridgeMatterStatusInfo {
9
+ qrCode?: string;
10
+ manualPairingCode?: string;
11
+ serialNumber?: string;
12
+ commissioned: boolean;
13
+ deviceCount: number;
14
+ }
15
+ export declare class ChildBridgeMatterManager extends BaseMatterManager {
16
+ private readonly bridgeConfig;
17
+ private readonly bridgeOptions;
18
+ private readonly api;
19
+ private readonly externalPortService;
20
+ private readonly matterConfig?;
21
+ private matterSerialNumber?;
22
+ constructor(bridgeConfig: BridgeConfiguration, bridgeOptions: BridgeOptions, api: HomebridgeAPI, externalPortService: ChildBridgeExternalPortService, pluginManager: PluginManager);
23
+ initialize(onCommissioningChanged?: () => void): Promise<void>;
24
+ private startMatterServer;
25
+ private setupEventListeners;
26
+ handlePublishExternalAccessories(accessories: InternalMatterAccessory[], registrationId: string): Promise<void>;
27
+ getMatterStatusInfo(): ChildBridgeMatterStatusInfo | undefined;
28
+ isMatterEnabled(): boolean;
29
+ enableStateMonitoring(): void;
30
+ disableStateMonitoring(): void;
31
+ collectAllAccessories(): AccessoryInfo[];
32
+ getAccessoryInfo(uuid: string): AccessoryInfo | undefined;
33
+ teardown(): Promise<void>;
34
+ }
35
+ //# sourceMappingURL=ChildBridgeMatterManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChildBridgeMatterManager.d.ts","sourceRoot":"","sources":["../../src/matter/ChildBridgeMatterManager.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC7E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAiC,MAAM,YAAY,CAAA;AAMxF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAU1D,MAAM,WAAW,2BAA2B;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,OAAO,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;CACpB;AAKD,qBAAa,wBAAyB,SAAQ,iBAAiB;IAQ3D,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IATtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAc;IAG5C,OAAO,CAAC,kBAAkB,CAAC,CAAQ;gBAGhB,YAAY,EAAE,mBAAmB,EACjC,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,aAAa,EAClB,mBAAmB,EAAE,8BAA8B,EACpE,aAAa,EAAE,aAAa;IAUxB,UAAU,CAAC,sBAAsB,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAwCtD,iBAAiB;IA0C/B,OAAO,CAAC,mBAAmB;IA6CrB,gCAAgC,CAAC,WAAW,EAAE,uBAAuB,EAAE,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiErH,mBAAmB,IAAI,2BAA2B,GAAG,SAAS;IAkB9D,eAAe,IAAI,OAAO;IAQjB,qBAAqB,IAAI,IAAI;IAS7B,sBAAsB,IAAI,IAAI;IAQvC,qBAAqB,IAAI,aAAa,EAAE;IA+BxC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAuBnD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAsBhC"}