homebridge 2.0.0-beta.5 → 2.0.0-beta.50

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 +137 -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 +362 -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 +20 -0
  41. package/dist/matter/BaseMatterManager.d.ts.map +1 -0
  42. package/dist/matter/BaseMatterManager.js +183 -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 +443 -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 +40 -0
  61. package/dist/matter/MatterBridgeManager.d.ts.map +1 -0
  62. package/dist/matter/MatterBridgeManager.js +340 -0
  63. package/dist/matter/MatterBridgeManager.js.map +1 -0
  64. package/dist/matter/MatterConfigCollector.d.ts +7 -0
  65. package/dist/matter/MatterConfigCollector.d.ts.map +1 -0
  66. package/dist/matter/MatterConfigCollector.js +65 -0
  67. package/dist/matter/MatterConfigCollector.js.map +1 -0
  68. package/dist/matter/accessoryCache.d.ts +57 -0
  69. package/dist/matter/accessoryCache.d.ts.map +1 -0
  70. package/dist/matter/accessoryCache.js +155 -0
  71. package/dist/matter/accessoryCache.js.map +1 -0
  72. package/dist/matter/behaviors/AirQualityBehavior.d.ts +8 -0
  73. package/dist/matter/behaviors/AirQualityBehavior.d.ts.map +1 -0
  74. package/dist/matter/behaviors/AirQualityBehavior.js +11 -0
  75. package/dist/matter/behaviors/AirQualityBehavior.js.map +1 -0
  76. package/dist/matter/behaviors/BehaviorRegistry.d.ts +27 -0
  77. package/dist/matter/behaviors/BehaviorRegistry.d.ts.map +1 -0
  78. package/dist/matter/behaviors/BehaviorRegistry.js +110 -0
  79. package/dist/matter/behaviors/BehaviorRegistry.js.map +1 -0
  80. package/dist/matter/behaviors/ColorControlBehavior.d.ts +12 -0
  81. package/dist/matter/behaviors/ColorControlBehavior.d.ts.map +1 -0
  82. package/dist/matter/behaviors/ColorControlBehavior.js +139 -0
  83. package/dist/matter/behaviors/ColorControlBehavior.js.map +1 -0
  84. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.d.ts +32 -0
  85. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.d.ts.map +1 -0
  86. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.js +51 -0
  87. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.js.map +1 -0
  88. package/dist/matter/behaviors/DoorLockBehavior.d.ts +7 -0
  89. package/dist/matter/behaviors/DoorLockBehavior.d.ts.map +1 -0
  90. package/dist/matter/behaviors/DoorLockBehavior.js +48 -0
  91. package/dist/matter/behaviors/DoorLockBehavior.js.map +1 -0
  92. package/dist/matter/behaviors/FanControlBehavior.d.ts +7 -0
  93. package/dist/matter/behaviors/FanControlBehavior.d.ts.map +1 -0
  94. package/dist/matter/behaviors/FanControlBehavior.js +48 -0
  95. package/dist/matter/behaviors/FanControlBehavior.js.map +1 -0
  96. package/dist/matter/behaviors/IdentifyBehavior.d.ts +7 -0
  97. package/dist/matter/behaviors/IdentifyBehavior.d.ts.map +1 -0
  98. package/dist/matter/behaviors/IdentifyBehavior.js +25 -0
  99. package/dist/matter/behaviors/IdentifyBehavior.js.map +1 -0
  100. package/dist/matter/behaviors/LevelControlBehavior.d.ts +11 -0
  101. package/dist/matter/behaviors/LevelControlBehavior.d.ts.map +1 -0
  102. package/dist/matter/behaviors/LevelControlBehavior.js +100 -0
  103. package/dist/matter/behaviors/LevelControlBehavior.js.map +1 -0
  104. package/dist/matter/behaviors/OnOffBehavior.d.ts +8 -0
  105. package/dist/matter/behaviors/OnOffBehavior.d.ts.map +1 -0
  106. package/dist/matter/behaviors/OnOffBehavior.js +60 -0
  107. package/dist/matter/behaviors/OnOffBehavior.js.map +1 -0
  108. package/dist/matter/behaviors/RegistryManager.d.ts +15 -0
  109. package/dist/matter/behaviors/RegistryManager.d.ts.map +1 -0
  110. package/dist/matter/behaviors/RegistryManager.js +31 -0
  111. package/dist/matter/behaviors/RegistryManager.js.map +1 -0
  112. package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts +14 -0
  113. package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts.map +1 -0
  114. package/dist/matter/behaviors/RvcCleanModeBehavior.js +29 -0
  115. package/dist/matter/behaviors/RvcCleanModeBehavior.js.map +1 -0
  116. package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts +10 -0
  117. package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts.map +1 -0
  118. package/dist/matter/behaviors/RvcOperationalStateBehavior.js +81 -0
  119. package/dist/matter/behaviors/RvcOperationalStateBehavior.js.map +1 -0
  120. package/dist/matter/behaviors/RvcRunModeBehavior.d.ts +14 -0
  121. package/dist/matter/behaviors/RvcRunModeBehavior.d.ts.map +1 -0
  122. package/dist/matter/behaviors/RvcRunModeBehavior.js +29 -0
  123. package/dist/matter/behaviors/RvcRunModeBehavior.js.map +1 -0
  124. package/dist/matter/behaviors/ServiceAreaBehavior.d.ts +9 -0
  125. package/dist/matter/behaviors/ServiceAreaBehavior.d.ts.map +1 -0
  126. package/dist/matter/behaviors/ServiceAreaBehavior.js +62 -0
  127. package/dist/matter/behaviors/ServiceAreaBehavior.js.map +1 -0
  128. package/dist/matter/behaviors/ThermostatBehavior.d.ts +9 -0
  129. package/dist/matter/behaviors/ThermostatBehavior.d.ts.map +1 -0
  130. package/dist/matter/behaviors/ThermostatBehavior.js +92 -0
  131. package/dist/matter/behaviors/ThermostatBehavior.js.map +1 -0
  132. package/dist/matter/behaviors/WindowCoveringBehavior.d.ts +12 -0
  133. package/dist/matter/behaviors/WindowCoveringBehavior.d.ts.map +1 -0
  134. package/dist/matter/behaviors/WindowCoveringBehavior.js +108 -0
  135. package/dist/matter/behaviors/WindowCoveringBehavior.js.map +1 -0
  136. package/dist/matter/behaviors/index.d.ts +18 -0
  137. package/dist/matter/behaviors/index.d.ts.map +1 -0
  138. package/dist/matter/behaviors/index.js +17 -0
  139. package/dist/matter/behaviors/index.js.map +1 -0
  140. package/dist/matter/clusterTypes.d.ts +178 -0
  141. package/dist/matter/clusterTypes.d.ts.map +1 -0
  142. package/dist/matter/clusterTypes.js +2 -0
  143. package/dist/matter/clusterTypes.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 +565 -0
  189. package/dist/matter/types.d.ts.map +1 -0
  190. package/dist/matter/types.js +132 -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 +732 -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
@@ -1,81 +1,74 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.PluginManager = void 0;
7
- const child_process_1 = require("child_process");
8
- const fs_1 = __importDefault(require("fs"));
9
- const path_1 = __importDefault(require("path"));
10
- const logger_1 = require("./logger");
11
- const plugin_1 = require("./plugin");
12
- const log = logger_1.Logger.internal;
13
- /**
14
- * Utility which exposes methods to search for installed Homebridge plugins
15
- */
16
- class PluginManager {
17
- // name must be prefixed with 'homebridge-' or '@scope/homebridge-'
18
- static PLUGIN_IDENTIFIER_PATTERN = /^((@[\w-]*)\/)?(homebridge-[\w-]*)$/;
1
+ import { execSync } from 'node:child_process';
2
+ import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
3
+ import { createRequire } from 'node:module';
4
+ import { delimiter, join, resolve } from 'node:path';
5
+ import process from 'node:process';
6
+ import { Logger } from './logger.js';
7
+ import { Plugin } from './plugin.js';
8
+ const log = Logger.internal;
9
+ const require = createRequire(import.meta.url);
10
+ const paths = require.resolve.paths('');
11
+ export class PluginManager {
12
+ static PLUGIN_IDENTIFIER_PATTERN = /^((@[\w-]+(\.[\w-]+)*)\/)?(homebridge-[\w-]+)$/;
19
13
  api;
20
- searchPaths = new Set(); // unique set of search paths we will use to discover installed plugins
14
+ searchPaths = new Set();
21
15
  strictPluginResolution = false;
22
16
  activePlugins;
23
17
  disabledPlugins;
24
18
  plugins = new Map();
25
- // we have some plugins which simply pass a wrong or misspelled plugin name to the api calls, this translation tries to mitigate this
26
19
  pluginIdentifierTranslation = new Map();
27
20
  accessoryToPluginMap = new Map();
28
21
  platformToPluginMap = new Map();
29
- currentInitializingPlugin; // used to match registering plugins, see handleRegisterAccessory and handleRegisterPlatform
22
+ currentInitializingPlugin;
30
23
  constructor(api, options) {
31
24
  this.api = api;
32
25
  if (options) {
33
26
  if (options.customPluginPath) {
34
- this.searchPaths.add(path_1.default.resolve(process.cwd(), options.customPluginPath));
27
+ this.searchPaths.add(resolve(process.cwd(), options.customPluginPath));
35
28
  }
36
29
  this.strictPluginResolution = options.strictPluginResolution || false;
37
30
  this.activePlugins = options.activePlugins;
38
31
  this.disabledPlugins = Array.isArray(options.disabledPlugins) ? options.disabledPlugins : undefined;
39
32
  }
40
- this.api.on("registerAccessory" /* InternalAPIEvent.REGISTER_ACCESSORY */, this.handleRegisterAccessory.bind(this));
41
- this.api.on("registerPlatform" /* InternalAPIEvent.REGISTER_PLATFORM */, this.handleRegisterPlatform.bind(this));
33
+ this.api.on("registerAccessory", this.handleRegisterAccessory.bind(this));
34
+ this.api.on("registerPlatform", this.handleRegisterPlatform.bind(this));
42
35
  }
43
36
  static isQualifiedPluginIdentifier(identifier) {
44
37
  return PluginManager.PLUGIN_IDENTIFIER_PATTERN.test(identifier);
45
38
  }
46
39
  static extractPluginName(name) {
47
- return name.match(PluginManager.PLUGIN_IDENTIFIER_PATTERN)[3];
40
+ return name.match(PluginManager.PLUGIN_IDENTIFIER_PATTERN)[4];
48
41
  }
49
42
  static extractPluginScope(name) {
50
43
  return name.match(PluginManager.PLUGIN_IDENTIFIER_PATTERN)[2];
51
44
  }
52
45
  static getAccessoryName(identifier) {
53
- if (identifier.indexOf(".") === -1) {
46
+ if (!identifier.includes('.')) {
54
47
  return identifier;
55
48
  }
56
- return identifier.split(".")[1];
49
+ return identifier.split('.')[1];
57
50
  }
58
51
  static getPlatformName(identifier) {
59
- if (identifier.indexOf(".") === -1) {
52
+ if (!identifier.includes('.')) {
60
53
  return identifier;
61
54
  }
62
- return identifier.split(".")[1];
55
+ return identifier.split('.')[1];
63
56
  }
64
57
  static getPluginIdentifier(identifier) {
65
- return identifier.split(".")[0];
58
+ return identifier.split('.')[0];
66
59
  }
67
60
  async initializeInstalledPlugins() {
68
- log.info("---");
61
+ log.info('---');
69
62
  this.loadInstalledPlugins();
70
63
  for (const [identifier, plugin] of this.plugins) {
71
64
  try {
72
65
  await plugin.load();
73
66
  }
74
67
  catch (error) {
75
- log.error("====================");
68
+ log.error('====================');
76
69
  log.error(`ERROR LOADING PLUGIN ${identifier}:`);
77
70
  log.error(error.stack);
78
- log.error("====================");
71
+ log.error('====================');
79
72
  this.plugins.delete(identifier);
80
73
  continue;
81
74
  }
@@ -89,27 +82,26 @@ class PluginManager {
89
82
  log.info(`Loaded plugin: ${identifier}@${plugin.version}`);
90
83
  }
91
84
  await this.initializePlugin(plugin, identifier);
92
- log.info("---");
85
+ log.info('---');
93
86
  }
94
87
  this.currentInitializingPlugin = undefined;
95
88
  }
96
89
  async initializePlugin(plugin, identifier) {
97
90
  try {
98
91
  this.currentInitializingPlugin = plugin;
99
- await plugin.initialize(this.api); // call the plugin's initializer and pass it our API instance
92
+ await plugin.initialize(this.api);
100
93
  }
101
94
  catch (error) {
102
- log.error("====================");
95
+ log.error('====================');
103
96
  log.error(`ERROR INITIALIZING PLUGIN ${identifier}:`);
104
97
  log.error(error.stack);
105
- log.error("====================");
98
+ log.error('====================');
106
99
  this.plugins.delete(identifier);
107
- return;
108
100
  }
109
101
  }
110
102
  handleRegisterAccessory(name, constructor, pluginIdentifier) {
111
103
  if (!this.currentInitializingPlugin) {
112
- throw new Error(`Unexpected accessory registration. Plugin ${pluginIdentifier ? `'${pluginIdentifier}' ` : ""}tried to register outside the initializer function!`);
104
+ throw new Error(`Unexpected accessory registration. Plugin ${pluginIdentifier ? `'${pluginIdentifier}' ` : ''}tried to register outside the initializer function!`);
113
105
  }
114
106
  if (pluginIdentifier && pluginIdentifier !== this.currentInitializingPlugin.getPluginIdentifier()) {
115
107
  log.info(`Plugin '${this.currentInitializingPlugin.getPluginIdentifier()}' tried to register with an incorrect plugin identifier: '${pluginIdentifier}'. Please report this to the developer!`);
@@ -125,7 +117,7 @@ class PluginManager {
125
117
  }
126
118
  handleRegisterPlatform(name, constructor, pluginIdentifier) {
127
119
  if (!this.currentInitializingPlugin) {
128
- throw new Error(`Unexpected platform registration. Plugin ${pluginIdentifier ? `'${pluginIdentifier}' ` : ""}tried to register outside the initializer function!`);
120
+ throw new Error(`Unexpected platform registration. Plugin ${pluginIdentifier ? `'${pluginIdentifier}' ` : ''}tried to register outside the initializer function!`);
129
121
  }
130
122
  if (pluginIdentifier && pluginIdentifier !== this.currentInitializingPlugin.getPluginIdentifier()) {
131
123
  log.debug(`Plugin '${this.currentInitializingPlugin.getPluginIdentifier()}' tried to register with an incorrect plugin identifier: '${pluginIdentifier}'. Please report this to the developer!`);
@@ -141,21 +133,20 @@ class PluginManager {
141
133
  }
142
134
  getPluginForAccessory(accessoryIdentifier) {
143
135
  let plugin;
144
- if (accessoryIdentifier.indexOf(".") === -1) { // see if it matches exactly one accessory
136
+ if (!accessoryIdentifier.includes('.')) {
145
137
  let found = this.accessoryToPluginMap.get(accessoryIdentifier);
146
138
  if (!found) {
147
139
  throw new Error(`No plugin was found for the accessory "${accessoryIdentifier}" in your config.json. Please make sure the corresponding plugin is installed correctly.`);
148
140
  }
149
141
  if (found.length > 1) {
150
- const options = found.map(plugin => plugin.getPluginIdentifier() + "." + accessoryIdentifier).join(", ");
151
- // check if only one of the multiple platforms is not disabled
142
+ const options = found.map(plugin => `${plugin.getPluginIdentifier()}.${accessoryIdentifier}`).join(', ');
152
143
  found = found.filter(plugin => !plugin.disabled);
153
144
  if (found.length !== 1) {
154
145
  throw new Error(`The requested accessory '${accessoryIdentifier}' has been registered multiple times. Please be more specific by writing one of: ${options}`);
155
146
  }
156
147
  }
157
148
  plugin = found[0];
158
- accessoryIdentifier = plugin.getPluginIdentifier() + "." + accessoryIdentifier;
149
+ accessoryIdentifier = `${plugin.getPluginIdentifier()}.${accessoryIdentifier}`;
159
150
  }
160
151
  else {
161
152
  const pluginIdentifier = PluginManager.getPluginIdentifier(accessoryIdentifier);
@@ -168,21 +159,20 @@ class PluginManager {
168
159
  }
169
160
  getPluginForPlatform(platformIdentifier) {
170
161
  let plugin;
171
- if (platformIdentifier.indexOf(".") === -1) { // see if it matches exactly one platform
162
+ if (!platformIdentifier.includes('.')) {
172
163
  let found = this.platformToPluginMap.get(platformIdentifier);
173
164
  if (!found) {
174
165
  throw new Error(`No plugin was found for the platform "${platformIdentifier}" in your config.json. Please make sure the corresponding plugin is installed correctly.`);
175
166
  }
176
167
  if (found.length > 1) {
177
- const options = found.map(plugin => plugin.getPluginIdentifier() + "." + platformIdentifier).join(", ");
178
- // check if only one of the multiple platforms is not disabled
168
+ const options = found.map(plugin => `${plugin.getPluginIdentifier()}.${platformIdentifier}`).join(', ');
179
169
  found = found.filter(plugin => !plugin.disabled);
180
170
  if (found.length !== 1) {
181
171
  throw new Error(`The requested platform '${platformIdentifier}' has been registered multiple times. Please be more specific by writing one of: ${options}`);
182
172
  }
183
173
  }
184
174
  plugin = found[0];
185
- platformIdentifier = plugin.getPluginIdentifier() + "." + platformIdentifier;
175
+ platformIdentifier = `${plugin.getPluginIdentifier()}.${platformIdentifier}`;
186
176
  }
187
177
  else {
188
178
  const pluginIdentifier = PluginManager.getPluginIdentifier(platformIdentifier);
@@ -216,165 +206,147 @@ class PluginManager {
216
206
  return undefined;
217
207
  }
218
208
  else if (found.length > 1) {
219
- const plugins = found.map(plugin => plugin.getPluginIdentifier()).join(", ");
209
+ const plugins = found.map(plugin => plugin.getPluginIdentifier()).join(', ');
220
210
  throw new Error(`'${platformName}' is an ambiguous platform name. It was registered by multiple plugins: ${plugins}`);
221
211
  }
222
212
  else {
223
213
  return found[0];
224
214
  }
225
215
  }
226
- /**
227
- * Gets all plugins installed on the local system
228
- */
229
216
  loadInstalledPlugins() {
230
217
  this.loadDefaultPaths();
231
- this.searchPaths.forEach(searchPath => {
232
- if (!fs_1.default.existsSync(searchPath)) { // just because this path is in require.main.paths doesn't mean it necessarily exists!
218
+ this.searchPaths.forEach((searchPath) => {
219
+ if (!existsSync(searchPath)) {
233
220
  return;
234
221
  }
235
- if (fs_1.default.existsSync(path_1.default.join(searchPath, "package.json"))) { // does this path point inside a single plugin and not a directory containing plugins?
222
+ if (existsSync(join(searchPath, 'package.json'))) {
236
223
  try {
237
224
  this.loadPlugin(searchPath);
238
225
  }
239
226
  catch (error) {
240
227
  log.warn(error.message);
241
- return;
242
228
  }
243
229
  }
244
- else { // read through each directory in this node_modules folder
245
- const relativePluginPaths = fs_1.default.readdirSync(searchPath) // search for directories only
246
- .filter(relativePath => {
230
+ else {
231
+ const relativePluginPaths = readdirSync(searchPath)
232
+ .filter((relativePath) => {
247
233
  try {
248
- return fs_1.default.statSync(path_1.default.resolve(searchPath, relativePath)).isDirectory();
234
+ return statSync(resolve(searchPath, relativePath)).isDirectory();
249
235
  }
250
- catch (e) {
251
- log.debug(`Ignoring path ${path_1.default.resolve(searchPath, relativePath)} - ${e.message}`);
236
+ catch (error) {
237
+ log.debug(`Ignoring path ${resolve(searchPath, relativePath)} - ${error.message}`);
252
238
  return false;
253
239
  }
254
240
  });
255
- // expand out @scoped plugins
256
241
  relativePluginPaths.slice()
257
- .filter(path => path.charAt(0) === "@") // is it a scope directory?
258
- .forEach(scopeDirectory => {
259
- // remove scopeDirectory from the path list
242
+ .filter(path => path.charAt(0) === '@')
243
+ .forEach((scopeDirectory) => {
260
244
  const index = relativePluginPaths.indexOf(scopeDirectory);
261
245
  relativePluginPaths.splice(index, 1);
262
- const absolutePath = path_1.default.join(searchPath, scopeDirectory);
263
- fs_1.default.readdirSync(absolutePath)
246
+ const absolutePath = join(searchPath, scopeDirectory);
247
+ readdirSync(absolutePath)
264
248
  .filter(name => PluginManager.isQualifiedPluginIdentifier(name))
265
- .filter(name => {
249
+ .filter((name) => {
266
250
  try {
267
- return fs_1.default.statSync(path_1.default.resolve(absolutePath, name)).isDirectory();
251
+ return statSync(resolve(absolutePath, name)).isDirectory();
268
252
  }
269
- catch (e) {
270
- log.debug(`Ignoring path ${path_1.default.resolve(absolutePath, name)} - ${e.message}`);
253
+ catch (error) {
254
+ log.debug(`Ignoring path ${resolve(absolutePath, name)} - ${error.message}`);
271
255
  return false;
272
256
  }
273
257
  })
274
- .forEach(name => relativePluginPaths.push(scopeDirectory + "/" + name));
258
+ .forEach(name => relativePluginPaths.push(`${scopeDirectory}/${name}`));
275
259
  });
276
260
  relativePluginPaths
277
- .filter(pluginIdentifier => {
278
- return PluginManager.isQualifiedPluginIdentifier(pluginIdentifier) // needs to be a valid homebridge plugin name
279
- && (!this.activePlugins || this.activePlugins.includes(pluginIdentifier)); // check if activePlugins is restricted and if so is the plugin is contained
261
+ .filter((pluginIdentifier) => {
262
+ return PluginManager.isQualifiedPluginIdentifier(pluginIdentifier)
263
+ && (!this.activePlugins || this.activePlugins.includes(pluginIdentifier));
280
264
  })
281
- .forEach(pluginIdentifier => {
265
+ .forEach((pluginIdentifier) => {
282
266
  try {
283
- const absolutePath = path_1.default.resolve(searchPath, pluginIdentifier);
267
+ const absolutePath = resolve(searchPath, pluginIdentifier);
284
268
  this.loadPlugin(absolutePath);
285
269
  }
286
270
  catch (error) {
287
271
  log.warn(error.message);
288
- return;
289
272
  }
290
273
  });
291
274
  }
292
275
  });
293
276
  if (this.plugins.size === 0) {
294
- log.warn("No plugins found.");
277
+ log.warn('No plugins found.');
295
278
  }
296
279
  }
297
280
  loadPlugin(absolutePath) {
298
281
  const packageJson = PluginManager.loadPackageJSON(absolutePath);
299
282
  const identifier = packageJson.name;
300
283
  const name = PluginManager.extractPluginName(identifier);
301
- const scope = PluginManager.extractPluginScope(identifier); // possibly undefined
302
- const alreadyInstalled = this.plugins.get(identifier); // check if there is already a plugin with the same Identifier
284
+ const scope = PluginManager.extractPluginScope(identifier);
285
+ const alreadyInstalled = this.plugins.get(identifier);
303
286
  if (alreadyInstalled) {
304
287
  throw new Error(`Warning: skipping plugin found at '${absolutePath}' since we already loaded the same plugin from '${alreadyInstalled.getPluginPath()}'.`);
305
288
  }
306
- const plugin = new plugin_1.Plugin(name, absolutePath, packageJson, scope);
289
+ const plugin = new Plugin(name, absolutePath, packageJson, scope);
307
290
  this.plugins.set(identifier, plugin);
308
291
  return plugin;
309
292
  }
310
293
  static loadPackageJSON(pluginPath) {
311
- const packageJsonPath = path_1.default.join(pluginPath, "package.json");
294
+ const packageJsonPath = join(pluginPath, 'package.json');
312
295
  let packageJson;
313
- if (!fs_1.default.existsSync(packageJsonPath)) {
296
+ if (!existsSync(packageJsonPath)) {
314
297
  throw new Error(`Plugin ${pluginPath} does not contain a package.json.`);
315
298
  }
316
299
  try {
317
- packageJson = JSON.parse(fs_1.default.readFileSync(packageJsonPath, { encoding: "utf8" })); // attempt to parse package.json
300
+ packageJson = JSON.parse(readFileSync(packageJsonPath, { encoding: 'utf8' }));
318
301
  }
319
- catch (err) {
320
- throw new Error(`Plugin ${pluginPath} contains an invalid package.json. Error: ${err}`);
302
+ catch (error) {
303
+ throw new Error(`Plugin ${pluginPath} contains an invalid package.json. Error: ${error}`);
321
304
  }
322
305
  if (!packageJson.name || !PluginManager.isQualifiedPluginIdentifier(packageJson.name)) {
323
306
  throw new Error(`Plugin ${pluginPath} does not have a package name that begins with 'homebridge-' or '@scope/homebridge-.`);
324
307
  }
325
- // verify that it's tagged with the correct keyword
326
- if (!packageJson.keywords || !packageJson.keywords.includes("homebridge-plugin")) {
308
+ if (!packageJson.keywords || !packageJson.keywords.includes('homebridge-plugin')) {
327
309
  throw new Error(`Plugin ${pluginPath} package.json does not contain the keyword 'homebridge-plugin'.`);
328
310
  }
329
311
  return packageJson;
330
312
  }
331
313
  loadDefaultPaths() {
332
314
  if (this.strictPluginResolution) {
333
- // if strict plugin resolution is enabled:
334
- // * only use custom plugin path, if set;
335
- // * otherwise add the current npm global prefix (e.g. /usr/local/lib/node_modules)
336
315
  if (this.searchPaths.size === 0) {
337
316
  this.addNpmPrefixToSearchPaths();
338
317
  }
339
318
  return;
340
319
  }
341
- if (require.main) {
342
- // add the paths used by require()
343
- require.main.paths.forEach(path => this.searchPaths.add(path));
320
+ if (paths) {
321
+ paths.forEach(path => this.searchPaths.add(path));
344
322
  }
345
- // THIS SECTION FROM: https://github.com/yeoman/environment/blob/master/lib/resolver.js
346
- // Adding global npm directories
347
- // We tried using npm to get the global modules path, but it hasn't work out
348
- // because of bugs in the parsable implementation of `ls` command and mostly
349
- // performance issues. So, we go with our best bet for now.
350
323
  if (process.env.NODE_PATH) {
351
- process.env.NODE_PATH
352
- .split(path_1.default.delimiter)
353
- .filter(path => !!path) // trim out empty values
324
+ process.env
325
+ .NODE_PATH
326
+ .split(delimiter)
327
+ .filter(path => !!path)
354
328
  .forEach(path => this.searchPaths.add(path));
355
329
  }
356
330
  else {
357
- // Default paths for non-windows systems
358
- if (process.platform !== "win32") {
359
- this.searchPaths.add("/usr/local/lib/node_modules");
360
- this.searchPaths.add("/usr/lib/node_modules");
331
+ if (process.platform !== 'win32') {
332
+ this.searchPaths.add('/usr/local/lib/node_modules');
333
+ this.searchPaths.add('/usr/lib/node_modules');
361
334
  }
362
335
  this.addNpmPrefixToSearchPaths();
363
336
  }
364
337
  }
365
338
  addNpmPrefixToSearchPaths() {
366
- if (process.platform === "win32") {
367
- this.searchPaths.add(path_1.default.join(process.env.APPDATA, "npm/node_modules"));
339
+ if (process.platform === 'win32') {
340
+ this.searchPaths.add(join(process.env.APPDATA, 'npm/node_modules'));
368
341
  }
369
342
  else {
370
- this.searchPaths.add((0, child_process_1.execSync)("/bin/echo -n \"$(npm -g prefix)/lib/node_modules\"", {
343
+ this.searchPaths.add(execSync('/bin/echo -n "$(npm -g prefix)/lib/node_modules"', {
371
344
  env: Object.assign({
372
- npm_config_loglevel: "silent",
373
- npm_update_notifier: "false",
345
+ npm_config_loglevel: 'silent',
346
+ npm_update_notifier: 'false',
374
347
  }, process.env),
375
- }).toString("utf8"));
348
+ }).toString('utf8'));
376
349
  }
377
350
  }
378
351
  }
379
- exports.PluginManager = PluginManager;
380
352
  //# sourceMappingURL=pluginManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluginManager.js","sourceRoot":"","sources":["../src/pluginManager.ts"],"names":[],"mappings":"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"}
@@ -10,17 +10,8 @@ export interface HomebridgeOptions {
10
10
  strictPluginResolution?: boolean;
11
11
  }
12
12
  export declare const enum ServerStatus {
13
- /**
14
- * When the server is starting up
15
- */
16
13
  PENDING = "pending",
17
- /**
18
- * When the server is online and has published the main bridge
19
- */
20
14
  OK = "ok",
21
- /**
22
- * When the server is shutting down
23
- */
24
15
  DOWN = "down"
25
16
  }
26
17
  export declare class Server {
@@ -32,27 +23,31 @@ export declare class Server {
32
23
  private readonly externalPortService;
33
24
  private readonly config;
34
25
  private readonly childBridges;
26
+ private readonly matterManager?;
27
+ private readonly externalMatterBridgeRegistry;
28
+ private matterMonitoringActive;
29
+ private matterMonitoringClients;
35
30
  private serverStatus;
36
31
  constructor(options?: HomebridgeOptions);
37
- /**
38
- * Set the current server status and update parent via IPC
39
- * @param status
40
- */
41
32
  private setServerStatus;
42
33
  start(): Promise<void>;
43
- teardown(): void;
34
+ teardown(): Promise<void>;
44
35
  private publishBridge;
36
+ private handlePublishExternalAccessories;
37
+ private handleRegisterPlatformAccessories;
38
+ private handleUnregisterPlatformAccessories;
39
+ private handleTriggerMatterCommand;
45
40
  private static loadConfig;
46
41
  private loadAccessories;
47
42
  private loadPlatforms;
48
- /**
49
- * Validate an external bridge config
50
- */
51
43
  private validateChildBridgeConfig;
52
- /**
53
- * Takes care of the IPC Events sent to Homebridge
54
- */
55
44
  private initializeIpcEventHandlers;
45
+ private handleStartMatterMonitoring;
46
+ private handleStopMatterMonitoring;
47
+ registerExternalMatterBridge(externalBridgeUsername: string, ownerUsername: string): void;
48
+ private handleGetMatterAccessories;
49
+ private handleGetMatterAccessoryInfo;
50
+ private handleMatterAccessoryControl;
56
51
  private printSetupInfo;
57
52
  }
58
53
  //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAqCA,MAAM,WAAW,iBAAiB;IAChC,6BAA6B,CAAC,EAAE,OAAO,CAAA;IACvC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC;AAGD,0BAAkB,YAAY;IAI5B,OAAO,YAAY;IAKnB,EAAE,OAAO;IAKT,IAAI,SAAS;CACd;AAED,qBAAa,MAAM;IA8Bf,OAAO,CAAC,OAAO;IA7BjB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IAEzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IAIzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6C;IAI1E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAqB;IAKpD,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAiC;IAG9E,OAAO,CAAC,sBAAsB,CAAQ;IACtC,OAAO,CAAC,uBAAuB,CAAI;IAGnC,OAAO,CAAC,YAAY,CAAqC;gBAG/C,OAAO,GAAE,iBAAsB;IAkFzC,OAAO,CAAC,eAAe;IAgBV,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAuCtB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAStC,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,gCAAgC;IAMxC,OAAO,CAAC,iCAAiC;IAKzC,OAAO,CAAC,mCAAmC;YAS7B,0BAA0B;IAOxC,OAAO,CAAC,MAAM,CAAC,UAAU;IA0FzB,OAAO,CAAC,eAAe;IAuGvB,OAAO,CAAC,aAAa;IAkGrB,OAAO,CAAC,yBAAyB;IA4CjC,OAAO,CAAC,0BAA0B;IAgElC,OAAO,CAAC,2BAA2B;IAmCnC,OAAO,CAAC,0BAA0B;IAsC3B,4BAA4B,CAAC,sBAAsB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;YAWlF,0BAA0B;IA2FxC,OAAO,CAAC,4BAA4B;YAmDtB,4BAA4B;IAmK1C,OAAO,CAAC,cAAc;CAqBvB"}