homebridge 2.0.0-beta.11 → 2.0.0-beta.110

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 (341) hide show
  1. package/README.md +20 -21
  2. package/bin/homebridge.js +22 -0
  3. package/config-sample.json +3 -3
  4. package/dist/api.d.ts +578 -0
  5. package/dist/api.d.ts.map +1 -0
  6. package/dist/api.js +236 -0
  7. package/dist/api.js.map +1 -0
  8. package/{lib → dist}/bridgeService.d.ts +40 -12
  9. package/dist/bridgeService.d.ts.map +1 -0
  10. package/{lib → dist}/bridgeService.js +118 -126
  11. package/dist/bridgeService.js.map +1 -0
  12. package/dist/childBridgeFork.d.ts +71 -0
  13. package/dist/childBridgeFork.d.ts.map +1 -0
  14. package/dist/childBridgeFork.js +411 -0
  15. package/dist/childBridgeFork.js.map +1 -0
  16. package/{lib → dist}/childBridgeService.d.ts +99 -9
  17. package/dist/childBridgeService.d.ts.map +1 -0
  18. package/dist/childBridgeService.js +604 -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 +90 -0
  23. package/dist/cli.js.map +1 -0
  24. package/dist/externalPortService.d.ts +43 -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 +157 -0
  29. package/dist/index.d.ts.map +1 -0
  30. package/dist/index.js +53 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/ipcService.d.ts +51 -0
  33. package/dist/ipcService.d.ts.map +1 -0
  34. package/dist/ipcService.js +66 -0
  35. package/dist/ipcService.js.map +1 -0
  36. package/{lib → dist}/logger.d.ts +12 -6
  37. package/dist/logger.d.ts.map +1 -0
  38. package/{lib → dist}/logger.js +27 -28
  39. package/dist/logger.js.map +1 -0
  40. package/dist/matter/BaseMatterManager.d.ts +78 -0
  41. package/dist/matter/BaseMatterManager.d.ts.map +1 -0
  42. package/dist/matter/BaseMatterManager.js +297 -0
  43. package/dist/matter/BaseMatterManager.js.map +1 -0
  44. package/dist/matter/ChildBridgeMatterManager.d.ts +97 -0
  45. package/dist/matter/ChildBridgeMatterManager.d.ts.map +1 -0
  46. package/dist/matter/ChildBridgeMatterManager.js +344 -0
  47. package/dist/matter/ChildBridgeMatterManager.js.map +1 -0
  48. package/dist/matter/ChildBridgeMatterMessageHandler.d.ts +49 -0
  49. package/dist/matter/ChildBridgeMatterMessageHandler.d.ts.map +1 -0
  50. package/dist/matter/ChildBridgeMatterMessageHandler.js +165 -0
  51. package/dist/matter/ChildBridgeMatterMessageHandler.js.map +1 -0
  52. package/dist/matter/ClusterCommandMapper.d.ts +28 -0
  53. package/dist/matter/ClusterCommandMapper.d.ts.map +1 -0
  54. package/dist/matter/ClusterCommandMapper.js +308 -0
  55. package/dist/matter/ClusterCommandMapper.js.map +1 -0
  56. package/dist/matter/ExternalMatterAccessoryPublisher.d.ts +50 -0
  57. package/dist/matter/ExternalMatterAccessoryPublisher.d.ts.map +1 -0
  58. package/dist/matter/ExternalMatterAccessoryPublisher.js +76 -0
  59. package/dist/matter/ExternalMatterAccessoryPublisher.js.map +1 -0
  60. package/dist/matter/MatterAPIImpl.d.ts +231 -0
  61. package/dist/matter/MatterAPIImpl.d.ts.map +1 -0
  62. package/dist/matter/MatterAPIImpl.js +336 -0
  63. package/dist/matter/MatterAPIImpl.js.map +1 -0
  64. package/dist/matter/MatterBridgeManager.d.ts +110 -0
  65. package/dist/matter/MatterBridgeManager.d.ts.map +1 -0
  66. package/dist/matter/MatterBridgeManager.js +472 -0
  67. package/dist/matter/MatterBridgeManager.js.map +1 -0
  68. package/dist/matter/MatterPortAllocator.d.ts +36 -0
  69. package/dist/matter/MatterPortAllocator.d.ts.map +1 -0
  70. package/dist/matter/MatterPortAllocator.js +81 -0
  71. package/dist/matter/MatterPortAllocator.js.map +1 -0
  72. package/dist/matter/SwitchAPI.d.ts +123 -0
  73. package/dist/matter/SwitchAPI.d.ts.map +1 -0
  74. package/dist/matter/SwitchAPI.js +80 -0
  75. package/dist/matter/SwitchAPI.js.map +1 -0
  76. package/dist/matter/accessoryCache.d.ts +110 -0
  77. package/dist/matter/accessoryCache.d.ts.map +1 -0
  78. package/dist/matter/accessoryCache.js +212 -0
  79. package/dist/matter/accessoryCache.js.map +1 -0
  80. package/dist/matter/behaviors/AirQualityBehavior.d.ts +44 -0
  81. package/dist/matter/behaviors/AirQualityBehavior.d.ts.map +1 -0
  82. package/dist/matter/behaviors/AirQualityBehavior.js +48 -0
  83. package/dist/matter/behaviors/AirQualityBehavior.js.map +1 -0
  84. package/dist/matter/behaviors/BehaviorRegistry.d.ts +79 -0
  85. package/dist/matter/behaviors/BehaviorRegistry.d.ts.map +1 -0
  86. package/dist/matter/behaviors/BehaviorRegistry.js +163 -0
  87. package/dist/matter/behaviors/BehaviorRegistry.js.map +1 -0
  88. package/dist/matter/behaviors/ColorControlBehavior.d.ts +61 -0
  89. package/dist/matter/behaviors/ColorControlBehavior.d.ts.map +1 -0
  90. package/dist/matter/behaviors/ColorControlBehavior.js +230 -0
  91. package/dist/matter/behaviors/ColorControlBehavior.js.map +1 -0
  92. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.d.ts +112 -0
  93. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.d.ts.map +1 -0
  94. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.js +127 -0
  95. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.js.map +1 -0
  96. package/dist/matter/behaviors/DoorLockBehavior.d.ts +25 -0
  97. package/dist/matter/behaviors/DoorLockBehavior.d.ts.map +1 -0
  98. package/dist/matter/behaviors/DoorLockBehavior.js +74 -0
  99. package/dist/matter/behaviors/DoorLockBehavior.js.map +1 -0
  100. package/dist/matter/behaviors/EndpointContext.d.ts +31 -0
  101. package/dist/matter/behaviors/EndpointContext.d.ts.map +1 -0
  102. package/dist/matter/behaviors/EndpointContext.js +30 -0
  103. package/dist/matter/behaviors/EndpointContext.js.map +1 -0
  104. package/dist/matter/behaviors/FanControlBehavior.d.ts +18 -0
  105. package/dist/matter/behaviors/FanControlBehavior.d.ts.map +1 -0
  106. package/dist/matter/behaviors/FanControlBehavior.js +85 -0
  107. package/dist/matter/behaviors/FanControlBehavior.js.map +1 -0
  108. package/dist/matter/behaviors/IdentifyBehavior.d.ts +18 -0
  109. package/dist/matter/behaviors/IdentifyBehavior.d.ts.map +1 -0
  110. package/dist/matter/behaviors/IdentifyBehavior.js +42 -0
  111. package/dist/matter/behaviors/IdentifyBehavior.js.map +1 -0
  112. package/dist/matter/behaviors/LevelControlBehavior.d.ts +34 -0
  113. package/dist/matter/behaviors/LevelControlBehavior.d.ts.map +1 -0
  114. package/dist/matter/behaviors/LevelControlBehavior.js +159 -0
  115. package/dist/matter/behaviors/LevelControlBehavior.js.map +1 -0
  116. package/dist/matter/behaviors/OnOffBehavior.d.ts +25 -0
  117. package/dist/matter/behaviors/OnOffBehavior.d.ts.map +1 -0
  118. package/dist/matter/behaviors/OnOffBehavior.js +96 -0
  119. package/dist/matter/behaviors/OnOffBehavior.js.map +1 -0
  120. package/dist/matter/behaviors/RegistryManager.d.ts +41 -0
  121. package/dist/matter/behaviors/RegistryManager.d.ts.map +1 -0
  122. package/dist/matter/behaviors/RegistryManager.js +58 -0
  123. package/dist/matter/behaviors/RegistryManager.js.map +1 -0
  124. package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts +25 -0
  125. package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts.map +1 -0
  126. package/dist/matter/behaviors/RvcCleanModeBehavior.js +54 -0
  127. package/dist/matter/behaviors/RvcCleanModeBehavior.js.map +1 -0
  128. package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts +43 -0
  129. package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts.map +1 -0
  130. package/dist/matter/behaviors/RvcOperationalStateBehavior.js +137 -0
  131. package/dist/matter/behaviors/RvcOperationalStateBehavior.js.map +1 -0
  132. package/dist/matter/behaviors/RvcRunModeBehavior.d.ts +25 -0
  133. package/dist/matter/behaviors/RvcRunModeBehavior.d.ts.map +1 -0
  134. package/dist/matter/behaviors/RvcRunModeBehavior.js +54 -0
  135. package/dist/matter/behaviors/RvcRunModeBehavior.js.map +1 -0
  136. package/dist/matter/behaviors/ServiceAreaBehavior.d.ts +40 -0
  137. package/dist/matter/behaviors/ServiceAreaBehavior.d.ts.map +1 -0
  138. package/dist/matter/behaviors/ServiceAreaBehavior.js +107 -0
  139. package/dist/matter/behaviors/ServiceAreaBehavior.js.map +1 -0
  140. package/dist/matter/behaviors/ThermostatBehavior.d.ts +20 -0
  141. package/dist/matter/behaviors/ThermostatBehavior.d.ts.map +1 -0
  142. package/dist/matter/behaviors/ThermostatBehavior.js +137 -0
  143. package/dist/matter/behaviors/ThermostatBehavior.js.map +1 -0
  144. package/dist/matter/behaviors/ValveConfigurationAndControlBehavior.d.ts +25 -0
  145. package/dist/matter/behaviors/ValveConfigurationAndControlBehavior.d.ts.map +1 -0
  146. package/dist/matter/behaviors/ValveConfigurationAndControlBehavior.js +80 -0
  147. package/dist/matter/behaviors/ValveConfigurationAndControlBehavior.js.map +1 -0
  148. package/dist/matter/behaviors/WindowCoveringBehavior.d.ts +49 -0
  149. package/dist/matter/behaviors/WindowCoveringBehavior.d.ts.map +1 -0
  150. package/dist/matter/behaviors/WindowCoveringBehavior.js +177 -0
  151. package/dist/matter/behaviors/WindowCoveringBehavior.js.map +1 -0
  152. package/dist/matter/behaviors/index.d.ts +24 -0
  153. package/dist/matter/behaviors/index.d.ts.map +1 -0
  154. package/dist/matter/behaviors/index.js +23 -0
  155. package/dist/matter/behaviors/index.js.map +1 -0
  156. package/dist/matter/clusterHandlerMap.d.ts +194 -0
  157. package/dist/matter/clusterHandlerMap.d.ts.map +1 -0
  158. package/dist/matter/clusterHandlerMap.js +12 -0
  159. package/dist/matter/clusterHandlerMap.js.map +1 -0
  160. package/dist/matter/clusterStateMap.d.ts +119 -0
  161. package/dist/matter/clusterStateMap.d.ts.map +1 -0
  162. package/dist/matter/clusterStateMap.js +13 -0
  163. package/dist/matter/clusterStateMap.js.map +1 -0
  164. package/dist/matter/clusterTypes.d.ts +304 -0
  165. package/dist/matter/clusterTypes.d.ts.map +1 -0
  166. package/dist/matter/clusterTypes.js +10 -0
  167. package/dist/matter/clusterTypes.js.map +1 -0
  168. package/dist/matter/config.d.ts +41 -0
  169. package/dist/matter/config.d.ts.map +1 -0
  170. package/dist/matter/config.js +124 -0
  171. package/dist/matter/config.js.map +1 -0
  172. package/dist/matter/configValidator.d.ts +81 -0
  173. package/dist/matter/configValidator.d.ts.map +1 -0
  174. package/dist/matter/configValidator.js +241 -0
  175. package/dist/matter/configValidator.js.map +1 -0
  176. package/dist/matter/errorHandler.d.ts +24 -0
  177. package/dist/matter/errorHandler.d.ts.map +1 -0
  178. package/dist/matter/errorHandler.js +118 -0
  179. package/dist/matter/errorHandler.js.map +1 -0
  180. package/dist/matter/errors.d.ts +178 -0
  181. package/dist/matter/errors.d.ts.map +1 -0
  182. package/dist/matter/errors.js +200 -0
  183. package/dist/matter/errors.js.map +1 -0
  184. package/dist/matter/index.d.ts +129 -0
  185. package/dist/matter/index.d.ts.map +1 -0
  186. package/dist/matter/index.js +22 -0
  187. package/dist/matter/index.js.map +1 -0
  188. package/dist/matter/ipc-types.d.ts +43 -0
  189. package/dist/matter/ipc-types.d.ts.map +1 -0
  190. package/dist/matter/ipc-types.js +8 -0
  191. package/dist/matter/ipc-types.js.map +1 -0
  192. package/dist/matter/logFormatter.d.ts +19 -0
  193. package/dist/matter/logFormatter.d.ts.map +1 -0
  194. package/dist/matter/logFormatter.js +158 -0
  195. package/dist/matter/logFormatter.js.map +1 -0
  196. package/dist/matter/managerTypes.d.ts +102 -0
  197. package/dist/matter/managerTypes.d.ts.map +1 -0
  198. package/dist/matter/managerTypes.js +8 -0
  199. package/dist/matter/managerTypes.js.map +1 -0
  200. package/dist/matter/server/AccessoryManager.d.ts +74 -0
  201. package/dist/matter/server/AccessoryManager.d.ts.map +1 -0
  202. package/dist/matter/server/AccessoryManager.js +504 -0
  203. package/dist/matter/server/AccessoryManager.js.map +1 -0
  204. package/dist/matter/server/AccessoryQuery.d.ts +48 -0
  205. package/dist/matter/server/AccessoryQuery.d.ts.map +1 -0
  206. package/dist/matter/server/AccessoryQuery.js +128 -0
  207. package/dist/matter/server/AccessoryQuery.js.map +1 -0
  208. package/dist/matter/server/BehaviorMap.d.ts +25 -0
  209. package/dist/matter/server/BehaviorMap.d.ts.map +1 -0
  210. package/dist/matter/server/BehaviorMap.js +52 -0
  211. package/dist/matter/server/BehaviorMap.js.map +1 -0
  212. package/dist/matter/server/CommissioningManager.d.ts +85 -0
  213. package/dist/matter/server/CommissioningManager.d.ts.map +1 -0
  214. package/dist/matter/server/CommissioningManager.js +350 -0
  215. package/dist/matter/server/CommissioningManager.js.map +1 -0
  216. package/dist/matter/server/FabricManager.d.ts +58 -0
  217. package/dist/matter/server/FabricManager.d.ts.map +1 -0
  218. package/dist/matter/server/FabricManager.js +192 -0
  219. package/dist/matter/server/FabricManager.js.map +1 -0
  220. package/dist/matter/server/ServerConfig.d.ts +20 -0
  221. package/dist/matter/server/ServerConfig.d.ts.map +1 -0
  222. package/dist/matter/server/ServerConfig.js +86 -0
  223. package/dist/matter/server/ServerConfig.js.map +1 -0
  224. package/dist/matter/server/ServerLifecycle.d.ts +68 -0
  225. package/dist/matter/server/ServerLifecycle.d.ts.map +1 -0
  226. package/dist/matter/server/ServerLifecycle.js +397 -0
  227. package/dist/matter/server/ServerLifecycle.js.map +1 -0
  228. package/dist/matter/server/StateManager.d.ts +31 -0
  229. package/dist/matter/server/StateManager.d.ts.map +1 -0
  230. package/dist/matter/server/StateManager.js +210 -0
  231. package/dist/matter/server/StateManager.js.map +1 -0
  232. package/dist/matter/server/index.d.ts +9 -0
  233. package/dist/matter/server/index.d.ts.map +1 -0
  234. package/dist/matter/server/index.js +9 -0
  235. package/dist/matter/server/index.js.map +1 -0
  236. package/dist/matter/server.d.ts +90 -0
  237. package/dist/matter/server.d.ts.map +1 -0
  238. package/dist/matter/server.js +288 -0
  239. package/dist/matter/server.js.map +1 -0
  240. package/dist/matter/serverHelpers.d.ts +99 -0
  241. package/dist/matter/serverHelpers.d.ts.map +1 -0
  242. package/dist/matter/serverHelpers.js +338 -0
  243. package/dist/matter/serverHelpers.js.map +1 -0
  244. package/dist/matter/sharedTypes.d.ts +187 -0
  245. package/dist/matter/sharedTypes.d.ts.map +1 -0
  246. package/dist/matter/sharedTypes.js +46 -0
  247. package/dist/matter/sharedTypes.js.map +1 -0
  248. package/dist/matter/types.d.ts +685 -0
  249. package/dist/matter/types.d.ts.map +1 -0
  250. package/dist/matter/types.js +354 -0
  251. package/dist/matter/types.js.map +1 -0
  252. package/dist/matter/utils.d.ts +67 -0
  253. package/dist/matter/utils.d.ts.map +1 -0
  254. package/dist/matter/utils.js +80 -0
  255. package/dist/matter/utils.js.map +1 -0
  256. package/{lib → dist}/platformAccessory.d.ts +8 -6
  257. package/dist/platformAccessory.d.ts.map +1 -0
  258. package/{lib → dist}/platformAccessory.js +25 -16
  259. package/dist/platformAccessory.js.map +1 -0
  260. package/{lib → dist}/plugin.d.ts +2 -3
  261. package/dist/plugin.d.ts.map +1 -0
  262. package/{lib → dist}/plugin.js +39 -52
  263. package/dist/plugin.js.map +1 -0
  264. package/{lib → dist}/pluginManager.d.ts +3 -3
  265. package/dist/pluginManager.d.ts.map +1 -0
  266. package/{lib → dist}/pluginManager.js +90 -89
  267. package/dist/pluginManager.js.map +1 -0
  268. package/dist/server.d.ts +109 -0
  269. package/dist/server.d.ts.map +1 -0
  270. package/dist/server.js +901 -0
  271. package/dist/server.js.map +1 -0
  272. package/{lib → dist}/storageService.d.ts.map +1 -1
  273. package/dist/storageService.js +41 -0
  274. package/dist/storageService.js.map +1 -0
  275. package/{lib → dist}/user.d.ts +1 -0
  276. package/dist/user.d.ts.map +1 -0
  277. package/dist/user.js +32 -0
  278. package/dist/user.js.map +1 -0
  279. package/{lib → dist}/util/mac.d.ts +1 -0
  280. package/dist/util/mac.d.ts.map +1 -0
  281. package/dist/util/mac.js +15 -0
  282. package/dist/util/mac.js.map +1 -0
  283. package/dist/version.d.ts.map +1 -0
  284. package/dist/version.js +16 -0
  285. package/dist/version.js.map +1 -0
  286. package/package.json +50 -51
  287. package/bin/homebridge +0 -17
  288. package/lib/api.d.ts +0 -210
  289. package/lib/api.d.ts.map +0 -1
  290. package/lib/api.js +0 -155
  291. package/lib/api.js.map +0 -1
  292. package/lib/bridgeService.d.ts.map +0 -1
  293. package/lib/bridgeService.js.map +0 -1
  294. package/lib/childBridgeFork.d.ts +0 -37
  295. package/lib/childBridgeFork.d.ts.map +0 -1
  296. package/lib/childBridgeFork.js +0 -244
  297. package/lib/childBridgeFork.js.map +0 -1
  298. package/lib/childBridgeService.d.ts.map +0 -1
  299. package/lib/childBridgeService.js +0 -428
  300. package/lib/childBridgeService.js.map +0 -1
  301. package/lib/cli.d.ts +0 -4
  302. package/lib/cli.d.ts.map +0 -1
  303. package/lib/cli.js +0 -111
  304. package/lib/cli.js.map +0 -1
  305. package/lib/externalPortService.d.ts +0 -33
  306. package/lib/externalPortService.d.ts.map +0 -1
  307. package/lib/externalPortService.js +0 -64
  308. package/lib/externalPortService.js.map +0 -1
  309. package/lib/index.d.ts +0 -76
  310. package/lib/index.d.ts.map +0 -1
  311. package/lib/index.js +0 -72
  312. package/lib/index.js.map +0 -1
  313. package/lib/ipcService.d.ts +0 -33
  314. package/lib/ipcService.d.ts.map +0 -1
  315. package/lib/ipcService.js +0 -49
  316. package/lib/ipcService.js.map +0 -1
  317. package/lib/logger.d.ts.map +0 -1
  318. package/lib/logger.js.map +0 -1
  319. package/lib/platformAccessory.d.ts.map +0 -1
  320. package/lib/platformAccessory.js.map +0 -1
  321. package/lib/plugin.d.ts.map +0 -1
  322. package/lib/plugin.js.map +0 -1
  323. package/lib/pluginManager.d.ts.map +0 -1
  324. package/lib/pluginManager.js.map +0 -1
  325. package/lib/server.d.ts +0 -58
  326. package/lib/server.d.ts.map +0 -1
  327. package/lib/server.js +0 -457
  328. package/lib/server.js.map +0 -1
  329. package/lib/storageService.js +0 -70
  330. package/lib/storageService.js.map +0 -1
  331. package/lib/user.d.ts.map +0 -1
  332. package/lib/user.js +0 -36
  333. package/lib/user.js.map +0 -1
  334. package/lib/util/mac.d.ts.map +0 -1
  335. package/lib/util/mac.js +0 -20
  336. package/lib/util/mac.js.map +0 -1
  337. package/lib/version.d.ts.map +0 -1
  338. package/lib/version.js +0 -21
  339. package/lib/version.js.map +0 -1
  340. /package/{lib → dist}/storageService.d.ts +0 -0
  341. /package/{lib → dist}/version.d.ts +0 -0
package/README.md CHANGED
@@ -6,29 +6,29 @@
6
6
 
7
7
  # Homebridge
8
8
 
9
- <a href="https://www.npmjs.com/package/homebridge"><img title="npm version" src="https://badgen.net/npm/v/homebridge?label=stable"></a>
10
- <a href="https://github.com/homebridge/homebridge/wiki/How-To-Change-Homebridge-Version#manage-beta-version"><img title="npm version" src="https://badgen.net/npm/v/homebridge/beta?label=beta"></a>
11
- <a href="https://github.com/homebridge/homebridge/wiki/How-To-Change-Homebridge-Version#manage-beta-version"><img title="npm version" src="https://badgen.net/npm/v/homebridge/alpha?label=alpha"></a><br>
12
- <a href="https://www.npmjs.com/package/homebridge"><img title="npm downloads" src="https://badgen.net/npm/dt/homebridge"></a>
9
+ <a href="https://www.npmjs.com/package/homebridge"><img title="npm version" src="https://img.shields.io/npm/v/homebridge?label=stable"></a>
10
+ <a href="https://github.com/homebridge/homebridge/wiki/How-To-Change-Homebridge-Version#manage-beta-version"><img title="npm version" src="https://img.shields.io/npm/v/homebridge/beta?label=beta"></a>
11
+ <a href="https://github.com/homebridge/homebridge/wiki/How-To-Change-Homebridge-Version#manage-beta-version"><img title="npm version" src="https://img.shields.io/npm/v/homebridge/alpha?label=alpha"></a><br>
12
+ <a href="https://www.npmjs.com/package/homebridge"><img title="npm downloads" src="https://img.shields.io/npm/dt/homebridge"></a>
13
13
  <a href="https://github.com/homebridge/homebridge/actions/workflows/build.yml"><img title="Node Build" src="https://github.com/homebridge/homebridge/actions/workflows/build.yml/badge.svg"></a>
14
14
 
15
15
  </span>
16
16
 
17
17
  <img src="https://media.giphy.com/media/10l79ICohTu4iQ/giphy.gif" align="right" alt="Unlocking Door">
18
18
 
19
- **Homebridge** is a lightweight Node.js server you can run on your home network that emulates the iOS HomeKit API. It supports Plugins, which are community-contributed modules that provide a basic bridge from HomeKit to various 3rd-party APIs provided by manufacturers of "smart home" devices.
19
+ **Homebridge** is a lightweight Node.js server you can run on your home network to emulate the HomeKit Accessory Protocol (HAP). It supports plugins, which are community-contributed modules that provide a basic bridge from HomeKit to various 3rd-party APIs provided by manufacturers of "smart home" devices.
20
20
 
21
21
  Since Siri supports devices added through HomeKit, this means that with Homebridge you can ask Siri to control devices that don't have any support for HomeKit at all. For instance, using just some of the available plugins, you can say:
22
22
 
23
- * _Siri, unlock the back door._ [pictured to the right]
24
- * _Siri, open the garage door._
25
- * _Siri, turn on the coffee maker._
26
- * _Siri, turn on the living room lights._
27
- * _Siri, good morning!_
23
+ - _Siri, unlock the back door._ [pictured to the right]
24
+ - _Siri, open the garage door._
25
+ - _Siri, turn on the coffee maker._
26
+ - _Siri, turn on the living room lights._
27
+ - _Siri, good morning!_
28
28
 
29
29
  You can explore all available plugins at the NPM website by [searching for the keyword `homebridge-plugin`](https://www.npmjs.com/search?q=homebridge-plugin).
30
30
 
31
- ## Community
31
+ ## Community
32
32
 
33
33
  The official Homebridge Discord server and Reddit community are where users can discuss Homebridge and ask for help.
34
34
 
@@ -79,7 +79,7 @@ HomeKit communities can also be found on both [Discord](https://discord.gg/RcV7f
79
79
 
80
80
  ### Docker
81
81
 
82
- [Install Homebridge on Docker](https://github.com/homebridge/homebridge/wiki/Install-Homebridge-on-Docker) <br> [Synology](https://github.com/homebridge/docker-homebridge/wiki/Homebridge-on-Synology) | [Unraid](https://github.com/homebridge/docker-homebridge/wiki/Homebridge-on-Unraid) | [QNAP](https://github.com/homebridge/docker-homebridge/wiki/Homebridge-on-QNAP) | [TrueNAS Scale](https://github.com/homebridge/docker-homebridge/wiki/Homebridge-on-TrueNAS-Scale)
82
+ [Install Homebridge on Docker](https://github.com/homebridge/homebridge/wiki/Install-Homebridge-on-Docker) <br> [Synology](https://github.com/homebridge/docker-homebridge/wiki/Homebridge-on-Synology) | [Unraid](https://github.com/homebridge/docker-homebridge/wiki/Homebridge-on-Unraid) | [QNAP](https://github.com/homebridge/docker-homebridge/wiki/Homebridge-on-QNAP) | [TrueNAS Scale](https://github.com/homebridge/docker-homebridge/wiki/Homebridge-on-TrueNAS-Scale)
83
83
 
84
84
  ---
85
85
 
@@ -97,9 +97,9 @@ HomeKit communities can also be found on both [Discord](https://discord.gg/RcV7f
97
97
 
98
98
  1. Open the Home <img src="https://user-images.githubusercontent.com/3979615/78010622-4ea1d380-738e-11ea-8a17-e6a465eeec35.png" height="16.42px"> app on your device.
99
99
  2. Tap the Home tab, then tap <img src="https://user-images.githubusercontent.com/3979615/78010869-9aed1380-738e-11ea-9644-9f46b3633026.png" height="16.42px">.
100
- 3. Tap *Add Accessory*, then scan the QR code shown in the Homebridge UI or your Homebridge logs.
100
+ 3. Tap _Add Accessory_, then scan the QR code shown in the Homebridge UI or your Homebridge logs.
101
101
 
102
- If the bridge does not have any accessories yet, you may receive a message saying *Additional Set-up Required*, this is ok, as you add plugins they will show up in the Home app without the need to pair again (except for Cameras and TVs).
102
+ If the bridge does not have any accessories yet, you may receive a message saying _Additional Set-up Required_, this is ok, as you add plugins they will show up in the Home app without the need to pair again (except for Cameras and TVs).
103
103
 
104
104
  Cameras and most TV devices are exposed as separate accessories and each needs to be paired separately. See [this wiki article](https://github.com/homebridge/homebridge/wiki/Connecting-Homebridge-To-HomeKit#how-to-add-homebridge-cameras--tvs) for instructions.
105
105
 
@@ -113,18 +113,17 @@ One final thing to remember is that Siri will almost always prefer its default p
113
113
 
114
114
  The https://developers.homebridge.io website contains the Homebridge API reference, available service and characteristic types, and plugin examples.
115
115
 
116
- The [Homebridge Plugin Template](https://github.com/homebridge/homebridge-plugin-template) project provides a base you can use to create your own *platform* plugin.
116
+ The [Homebridge Plugin Template](https://github.com/homebridge/homebridge-plugin-template) project provides a base you can use to create your own _platform_ plugin.
117
117
 
118
118
  There are many existing plugins you can study; you might start with the [Homebridge Example Plugins](https://github.com/homebridge/homebridge-examples) or a plugin that already implements the device type you need.
119
119
 
120
120
  When writing your plugin, you'll want Homebridge to load it from your development directory instead of publishing it to `npm` each time. Run this command inside your plugin project folder so your global installation of Homebridge can discover it:
121
121
 
122
-
123
122
  ```shell
124
123
  npm link
125
124
  ```
126
125
 
127
- *You can undo this using the `npm unlink` command.*
126
+ _You can undo this using the `npm unlink` command._
128
127
 
129
128
  Then start Homebridge in debug mode:
130
129
 
@@ -150,13 +149,13 @@ To fix this, [Reset Homebridge](https://github.com/homebridge/homebridge/wiki/Co
150
149
 
151
150
  Try the following:
152
151
 
153
- 1. Swap between the `Bonjour HAP` and `Ciao` mDNS Advertiser options. See [the wiki](https://github.com/homebridge/homebridge/wiki/mDNS-Options) for more details.
154
- 2. iOS DNS cache has gone stale or gotten misconfigured. To fix this, turn airplane mode on and back off to flush the DNS cache.
152
+ 1. Swap between the `Bonjour HAP` and `Ciao` mDNS Advertiser options. See [the wiki](https://github.com/homebridge/homebridge/wiki/mDNS-Options) for more details.
153
+ 2. iOS DNS cache has gone stale or gotten misconfigured. To fix this, turn airplane mode on and back off to flush the DNS cache.
155
154
 
156
155
  ### Limitations
157
156
 
158
- * One bridge can only expose 150 accessories due to a HomeKit limit. You can however run your plugins as a [Child Bridge](https://github.com/homebridge/homebridge/wiki/Child-Bridges) or run [Multiple Homebridge Instances](https://github.com/homebridge/homebridge-config-ui-x/wiki/Homebridge-Service-Command#multiple-instances) to get around this limitation.
159
- * Once an accessory has been added to the Home app, changing its name via Homebridge won't be automatically reflected in iOS. You must change it via the Home app as well.
157
+ - One bridge can only expose 150 accessories due to a HomeKit limit. You can however run your plugins as a [Child Bridge](https://github.com/homebridge/homebridge/wiki/Child-Bridges) or run [Multiple Homebridge Instances](https://github.com/homebridge/homebridge-config-ui-x/wiki/Homebridge-Service-Command#multiple-instances) to get around this limitation.
158
+ - Once an accessory has been added to the Home app, changing its name via Homebridge won't be automatically reflected in iOS. You must change it via the Home app as well.
160
159
 
161
160
  ## Why Homebridge?
162
161
 
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/env node
2
+
3
+ //
4
+ // This executable sets up the environment and runs the Homebridge CLI.
5
+ //
6
+
7
+ import { realpathSync } from 'node:fs'
8
+ import { dirname, join } from 'node:path'
9
+ import process from 'node:process'
10
+ import { fileURLToPath, pathToFileURL } from 'node:url'
11
+
12
+ process.title = 'homebridge'
13
+
14
+ // Find the Homebridge lib
15
+ const __filename = fileURLToPath(import.meta.url)
16
+ const lib = join(dirname(realpathSync(__filename)), '../dist')
17
+
18
+ // Convert the path to a file URL
19
+ const libUrl = pathToFileURL(join(lib, 'cli.js')).href
20
+
21
+ // Run Homebridge
22
+ import(libUrl).then(({ default: run }) => run())
@@ -7,7 +7,7 @@
7
7
  "port": 51826,
8
8
  "pin": "031-45-154"
9
9
  },
10
-
10
+
11
11
  "description": "This is an example configuration file with one fake accessory and one fake platform. You can use this as a template for creating your own configuration file containing devices you actually own.",
12
12
  "ports": {
13
13
  "start": 52100,
@@ -23,8 +23,8 @@
23
23
 
24
24
  "platforms": [
25
25
  {
26
- "platform" : "PhilipsHue",
27
- "name" : "Hue"
26
+ "platform": "PhilipsHue",
27
+ "name": "Hue"
28
28
  }
29
29
  ]
30
30
  }