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.
- package/README.md +16 -17
- package/bin/homebridge.js +22 -0
- package/config-sample.json +3 -3
- package/dist/api.d.ts +137 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +151 -0
- package/dist/api.js.map +1 -0
- package/{lib → dist}/bridgeService.d.ts +16 -32
- package/dist/bridgeService.d.ts.map +1 -0
- package/dist/bridgeService.js +341 -0
- package/dist/bridgeService.js.map +1 -0
- package/dist/childBridgeFork.d.ts +40 -0
- package/dist/childBridgeFork.d.ts.map +1 -0
- package/dist/childBridgeFork.js +362 -0
- package/dist/childBridgeFork.js.map +1 -0
- package/dist/childBridgeService.d.ts +146 -0
- package/dist/childBridgeService.d.ts.map +1 -0
- package/dist/childBridgeService.js +416 -0
- package/dist/childBridgeService.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +88 -0
- package/dist/cli.js.map +1 -0
- package/dist/externalPortService.d.ts +26 -0
- package/dist/externalPortService.d.ts.map +1 -0
- package/dist/externalPortService.js +77 -0
- package/dist/externalPortService.js.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/ipcService.d.ts +58 -0
- package/dist/ipcService.d.ts.map +1 -0
- package/dist/ipcService.js +43 -0
- package/dist/ipcService.js.map +1 -0
- package/dist/logger.d.ts +38 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +102 -0
- package/dist/logger.js.map +1 -0
- package/dist/matter/BaseMatterManager.d.ts +20 -0
- package/dist/matter/BaseMatterManager.d.ts.map +1 -0
- package/dist/matter/BaseMatterManager.js +183 -0
- package/dist/matter/BaseMatterManager.js.map +1 -0
- package/dist/matter/ChildBridgeMatterManager.d.ts +35 -0
- package/dist/matter/ChildBridgeMatterManager.d.ts.map +1 -0
- package/dist/matter/ChildBridgeMatterManager.js +222 -0
- package/dist/matter/ChildBridgeMatterManager.js.map +1 -0
- package/dist/matter/ClusterCommandMapper.d.ts +5 -0
- package/dist/matter/ClusterCommandMapper.d.ts.map +1 -0
- package/dist/matter/ClusterCommandMapper.js +222 -0
- package/dist/matter/ClusterCommandMapper.js.map +1 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.d.ts +22 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.d.ts.map +1 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.js +49 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.js.map +1 -0
- package/dist/matter/MatterAPIImpl.d.ts +443 -0
- package/dist/matter/MatterAPIImpl.d.ts.map +1 -0
- package/dist/matter/MatterAPIImpl.js +210 -0
- package/dist/matter/MatterAPIImpl.js.map +1 -0
- package/dist/matter/MatterBridgeManager.d.ts +40 -0
- package/dist/matter/MatterBridgeManager.d.ts.map +1 -0
- package/dist/matter/MatterBridgeManager.js +340 -0
- package/dist/matter/MatterBridgeManager.js.map +1 -0
- package/dist/matter/MatterConfigCollector.d.ts +7 -0
- package/dist/matter/MatterConfigCollector.d.ts.map +1 -0
- package/dist/matter/MatterConfigCollector.js +65 -0
- package/dist/matter/MatterConfigCollector.js.map +1 -0
- package/dist/matter/accessoryCache.d.ts +57 -0
- package/dist/matter/accessoryCache.d.ts.map +1 -0
- package/dist/matter/accessoryCache.js +155 -0
- package/dist/matter/accessoryCache.js.map +1 -0
- package/dist/matter/behaviors/AirQualityBehavior.d.ts +8 -0
- package/dist/matter/behaviors/AirQualityBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/AirQualityBehavior.js +11 -0
- package/dist/matter/behaviors/AirQualityBehavior.js.map +1 -0
- package/dist/matter/behaviors/BehaviorRegistry.d.ts +27 -0
- package/dist/matter/behaviors/BehaviorRegistry.d.ts.map +1 -0
- package/dist/matter/behaviors/BehaviorRegistry.js +110 -0
- package/dist/matter/behaviors/BehaviorRegistry.js.map +1 -0
- package/dist/matter/behaviors/ColorControlBehavior.d.ts +12 -0
- package/dist/matter/behaviors/ColorControlBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/ColorControlBehavior.js +139 -0
- package/dist/matter/behaviors/ColorControlBehavior.js.map +1 -0
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.d.ts +32 -0
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.js +51 -0
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.js.map +1 -0
- package/dist/matter/behaviors/DoorLockBehavior.d.ts +7 -0
- package/dist/matter/behaviors/DoorLockBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/DoorLockBehavior.js +48 -0
- package/dist/matter/behaviors/DoorLockBehavior.js.map +1 -0
- package/dist/matter/behaviors/FanControlBehavior.d.ts +7 -0
- package/dist/matter/behaviors/FanControlBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/FanControlBehavior.js +48 -0
- package/dist/matter/behaviors/FanControlBehavior.js.map +1 -0
- package/dist/matter/behaviors/IdentifyBehavior.d.ts +7 -0
- package/dist/matter/behaviors/IdentifyBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/IdentifyBehavior.js +25 -0
- package/dist/matter/behaviors/IdentifyBehavior.js.map +1 -0
- package/dist/matter/behaviors/LevelControlBehavior.d.ts +11 -0
- package/dist/matter/behaviors/LevelControlBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/LevelControlBehavior.js +100 -0
- package/dist/matter/behaviors/LevelControlBehavior.js.map +1 -0
- package/dist/matter/behaviors/OnOffBehavior.d.ts +8 -0
- package/dist/matter/behaviors/OnOffBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/OnOffBehavior.js +60 -0
- package/dist/matter/behaviors/OnOffBehavior.js.map +1 -0
- package/dist/matter/behaviors/RegistryManager.d.ts +15 -0
- package/dist/matter/behaviors/RegistryManager.d.ts.map +1 -0
- package/dist/matter/behaviors/RegistryManager.js +31 -0
- package/dist/matter/behaviors/RegistryManager.js.map +1 -0
- package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts +14 -0
- package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/RvcCleanModeBehavior.js +29 -0
- package/dist/matter/behaviors/RvcCleanModeBehavior.js.map +1 -0
- package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts +10 -0
- package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/RvcOperationalStateBehavior.js +81 -0
- package/dist/matter/behaviors/RvcOperationalStateBehavior.js.map +1 -0
- package/dist/matter/behaviors/RvcRunModeBehavior.d.ts +14 -0
- package/dist/matter/behaviors/RvcRunModeBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/RvcRunModeBehavior.js +29 -0
- package/dist/matter/behaviors/RvcRunModeBehavior.js.map +1 -0
- package/dist/matter/behaviors/ServiceAreaBehavior.d.ts +9 -0
- package/dist/matter/behaviors/ServiceAreaBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/ServiceAreaBehavior.js +62 -0
- package/dist/matter/behaviors/ServiceAreaBehavior.js.map +1 -0
- package/dist/matter/behaviors/ThermostatBehavior.d.ts +9 -0
- package/dist/matter/behaviors/ThermostatBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/ThermostatBehavior.js +92 -0
- package/dist/matter/behaviors/ThermostatBehavior.js.map +1 -0
- package/dist/matter/behaviors/WindowCoveringBehavior.d.ts +12 -0
- package/dist/matter/behaviors/WindowCoveringBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/WindowCoveringBehavior.js +108 -0
- package/dist/matter/behaviors/WindowCoveringBehavior.js.map +1 -0
- package/dist/matter/behaviors/index.d.ts +18 -0
- package/dist/matter/behaviors/index.d.ts.map +1 -0
- package/dist/matter/behaviors/index.js +17 -0
- package/dist/matter/behaviors/index.js.map +1 -0
- package/dist/matter/clusterTypes.d.ts +178 -0
- package/dist/matter/clusterTypes.d.ts.map +1 -0
- package/dist/matter/clusterTypes.js +2 -0
- package/dist/matter/clusterTypes.js.map +1 -0
- package/dist/matter/configValidator.d.ts +26 -0
- package/dist/matter/configValidator.d.ts.map +1 -0
- package/dist/matter/configValidator.js +173 -0
- package/dist/matter/configValidator.js.map +1 -0
- package/dist/matter/errorHandler.d.ts +11 -0
- package/dist/matter/errorHandler.d.ts.map +1 -0
- package/dist/matter/errorHandler.js +81 -0
- package/dist/matter/errorHandler.js.map +1 -0
- package/dist/matter/errors.d.ts +46 -0
- package/dist/matter/errors.d.ts.map +1 -0
- package/dist/matter/errors.js +68 -0
- package/dist/matter/errors.js.map +1 -0
- package/dist/matter/index.d.ts +97 -0
- package/dist/matter/index.d.ts.map +1 -0
- package/dist/matter/index.js +10 -0
- package/dist/matter/index.js.map +1 -0
- package/dist/matter/logFormatter.d.ts +2 -0
- package/dist/matter/logFormatter.d.ts.map +1 -0
- package/dist/matter/logFormatter.js +100 -0
- package/dist/matter/logFormatter.js.map +1 -0
- package/dist/matter/managerTypes.d.ts +57 -0
- package/dist/matter/managerTypes.d.ts.map +1 -0
- package/dist/matter/managerTypes.js +2 -0
- package/dist/matter/managerTypes.js.map +1 -0
- package/dist/matter/server.d.ts +112 -0
- package/dist/matter/server.d.ts.map +1 -0
- package/dist/matter/server.js +1508 -0
- package/dist/matter/server.js.map +1 -0
- package/dist/matter/serverHelpers.d.ts +31 -0
- package/dist/matter/serverHelpers.d.ts.map +1 -0
- package/dist/matter/serverHelpers.js +273 -0
- package/dist/matter/serverHelpers.js.map +1 -0
- package/dist/matter/sharedTypes.d.ts +93 -0
- package/dist/matter/sharedTypes.d.ts.map +1 -0
- package/dist/matter/sharedTypes.js +20 -0
- package/dist/matter/sharedTypes.js.map +1 -0
- package/dist/matter/storage.d.ts +45 -0
- package/dist/matter/storage.d.ts.map +1 -0
- package/dist/matter/storage.js +325 -0
- package/dist/matter/storage.js.map +1 -0
- package/dist/matter/typeHelpers.d.ts +15 -0
- package/dist/matter/typeHelpers.d.ts.map +1 -0
- package/dist/matter/typeHelpers.js +33 -0
- package/dist/matter/typeHelpers.js.map +1 -0
- package/dist/matter/types.d.ts +565 -0
- package/dist/matter/types.d.ts.map +1 -0
- package/dist/matter/types.js +132 -0
- package/dist/matter/types.js.map +1 -0
- package/dist/matter/utils.d.ts +13 -0
- package/dist/matter/utils.d.ts.map +1 -0
- package/dist/matter/utils.js +21 -0
- package/dist/matter/utils.js.map +1 -0
- package/{lib → dist}/platformAccessory.d.ts +8 -21
- package/dist/platformAccessory.d.ts.map +1 -0
- package/dist/platformAccessory.js +79 -0
- package/dist/platformAccessory.js.map +1 -0
- package/{lib → dist}/plugin.d.ts +2 -6
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +159 -0
- package/dist/plugin.js.map +1 -0
- package/{lib → dist}/pluginManager.d.ts +3 -25
- package/dist/pluginManager.d.ts.map +1 -0
- package/{lib → dist}/pluginManager.js +87 -115
- package/dist/pluginManager.js.map +1 -0
- package/{lib → dist}/server.d.ts +15 -20
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +732 -0
- package/dist/server.js.map +1 -0
- package/{lib → dist}/storageService.d.ts.map +1 -1
- package/dist/storageService.js +41 -0
- package/dist/storageService.js.map +1 -0
- package/{lib → dist}/user.d.ts +1 -3
- package/dist/user.d.ts.map +1 -0
- package/dist/user.js +29 -0
- package/dist/user.js.map +1 -0
- package/{lib → dist}/util/mac.d.ts +1 -0
- package/dist/util/mac.d.ts.map +1 -0
- package/dist/util/mac.js +13 -0
- package/dist/util/mac.js.map +1 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +16 -0
- package/dist/version.js.map +1 -0
- package/package.json +49 -50
- package/bin/homebridge +0 -17
- package/lib/api.d.ts +0 -210
- package/lib/api.d.ts.map +0 -1
- package/lib/api.js +0 -155
- package/lib/api.js.map +0 -1
- package/lib/bridgeService.d.ts.map +0 -1
- package/lib/bridgeService.js +0 -426
- package/lib/bridgeService.js.map +0 -1
- package/lib/childBridgeFork.d.ts +0 -37
- package/lib/childBridgeFork.d.ts.map +0 -1
- package/lib/childBridgeFork.js +0 -244
- package/lib/childBridgeFork.js.map +0 -1
- package/lib/childBridgeService.d.ts +0 -199
- package/lib/childBridgeService.d.ts.map +0 -1
- package/lib/childBridgeService.js +0 -428
- package/lib/childBridgeService.js.map +0 -1
- package/lib/cli.d.ts +0 -4
- package/lib/cli.d.ts.map +0 -1
- package/lib/cli.js +0 -111
- package/lib/cli.js.map +0 -1
- package/lib/externalPortService.d.ts +0 -33
- package/lib/externalPortService.d.ts.map +0 -1
- package/lib/externalPortService.js +0 -64
- package/lib/externalPortService.js.map +0 -1
- package/lib/index.d.ts +0 -76
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js +0 -72
- package/lib/index.js.map +0 -1
- package/lib/ipcService.d.ts +0 -33
- package/lib/ipcService.d.ts.map +0 -1
- package/lib/ipcService.js +0 -49
- package/lib/ipcService.js.map +0 -1
- package/lib/logger.d.ts +0 -78
- package/lib/logger.d.ts.map +0 -1
- package/lib/logger.js +0 -147
- package/lib/logger.js.map +0 -1
- package/lib/platformAccessory.d.ts.map +0 -1
- package/lib/platformAccessory.js +0 -102
- package/lib/platformAccessory.js.map +0 -1
- package/lib/plugin.d.ts.map +0 -1
- package/lib/plugin.js +0 -194
- package/lib/plugin.js.map +0 -1
- package/lib/pluginManager.d.ts.map +0 -1
- package/lib/pluginManager.js.map +0 -1
- package/lib/server.d.ts.map +0 -1
- package/lib/server.js +0 -457
- package/lib/server.js.map +0 -1
- package/lib/storageService.js +0 -70
- package/lib/storageService.js.map +0 -1
- package/lib/user.d.ts.map +0 -1
- package/lib/user.js +0 -36
- package/lib/user.js.map +0 -1
- package/lib/util/mac.d.ts.map +0 -1
- package/lib/util/mac.js +0 -20
- package/lib/util/mac.js.map +0 -1
- package/lib/version.d.ts.map +0 -1
- package/lib/version.js +0 -21
- package/lib/version.js.map +0 -1
- /package/{lib → dist}/storageService.d.ts +0 -0
- /package/{lib → dist}/version.d.ts +0 -0
|
@@ -0,0 +1,362 @@
|
|
|
1
|
+
import process from 'node:process';
|
|
2
|
+
import { HAPStorage } from 'hap-nodejs';
|
|
3
|
+
import { HomebridgeAPI } from './api.js';
|
|
4
|
+
import { BridgeService } from './bridgeService.js';
|
|
5
|
+
import { ChildBridgeExternalPortService } from './externalPortService.js';
|
|
6
|
+
import { Logger } from './logger.js';
|
|
7
|
+
import { ChildBridgeMatterManager } from './matter/index.js';
|
|
8
|
+
import { PluginManager } from './pluginManager.js';
|
|
9
|
+
import { User } from './user.js';
|
|
10
|
+
import 'source-map-support/register.js';
|
|
11
|
+
process.title = 'homebridge: child bridge';
|
|
12
|
+
const matterLogger = Logger.withPrefix('Matter/ChildManager');
|
|
13
|
+
export class ChildBridgeFork {
|
|
14
|
+
bridgeService;
|
|
15
|
+
api;
|
|
16
|
+
pluginManager;
|
|
17
|
+
externalPortService;
|
|
18
|
+
matterManager;
|
|
19
|
+
type;
|
|
20
|
+
plugin;
|
|
21
|
+
identifier;
|
|
22
|
+
pluginConfig;
|
|
23
|
+
bridgeConfig;
|
|
24
|
+
bridgeOptions;
|
|
25
|
+
portRequestCallback = new Map();
|
|
26
|
+
constructor() {
|
|
27
|
+
this.sendMessage("ready");
|
|
28
|
+
}
|
|
29
|
+
sendMessage(type, data) {
|
|
30
|
+
if (process.send) {
|
|
31
|
+
process.send({
|
|
32
|
+
id: type,
|
|
33
|
+
data,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
async loadPlugin(data) {
|
|
38
|
+
this.type = data.type;
|
|
39
|
+
this.identifier = data.identifier;
|
|
40
|
+
this.pluginConfig = data.pluginConfig;
|
|
41
|
+
this.bridgeConfig = data.bridgeConfig;
|
|
42
|
+
this.bridgeOptions = data.bridgeOptions;
|
|
43
|
+
for (const config of this.pluginConfig) {
|
|
44
|
+
delete config._bridge;
|
|
45
|
+
}
|
|
46
|
+
if (this.bridgeOptions.noLogTimestamps) {
|
|
47
|
+
Logger.setTimestampEnabled(false);
|
|
48
|
+
}
|
|
49
|
+
if (this.bridgeOptions.debugModeEnabled) {
|
|
50
|
+
Logger.setDebugEnabled(true);
|
|
51
|
+
}
|
|
52
|
+
if (this.bridgeOptions.forceColourLogging) {
|
|
53
|
+
Logger.forceColor();
|
|
54
|
+
}
|
|
55
|
+
if (this.bridgeOptions.customStoragePath) {
|
|
56
|
+
User.setStoragePath(this.bridgeOptions.customStoragePath);
|
|
57
|
+
}
|
|
58
|
+
HAPStorage.setCustomStoragePath(User.persistPath());
|
|
59
|
+
this.api = new HomebridgeAPI();
|
|
60
|
+
this.pluginManager = new PluginManager(this.api);
|
|
61
|
+
this.externalPortService = new ChildBridgeExternalPortService(this);
|
|
62
|
+
this.plugin = this.pluginManager.loadPlugin(data.pluginPath);
|
|
63
|
+
await this.plugin.load();
|
|
64
|
+
await this.pluginManager.initializePlugin(this.plugin, data.identifier);
|
|
65
|
+
process.title = `homebridge: ${this.plugin.getPluginIdentifier()}`;
|
|
66
|
+
this.sendMessage("loaded", {
|
|
67
|
+
version: this.plugin.version,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
async startBridge() {
|
|
71
|
+
this.matterManager = new ChildBridgeMatterManager(this.bridgeConfig, this.bridgeOptions, this.api, this.externalPortService, this.pluginManager);
|
|
72
|
+
this.api._setMatterManager(this.matterManager);
|
|
73
|
+
await this.matterManager.initialize(() => {
|
|
74
|
+
this.sendPairedStatusEvent();
|
|
75
|
+
});
|
|
76
|
+
this.bridgeService = new BridgeService(this.api, this.pluginManager, this.externalPortService, this.bridgeOptions, this.bridgeConfig);
|
|
77
|
+
this.bridgeService.bridge.on("advertised", () => {
|
|
78
|
+
this.sendPairedStatusEvent();
|
|
79
|
+
});
|
|
80
|
+
this.bridgeService.bridge.on("paired", () => {
|
|
81
|
+
this.sendPairedStatusEvent();
|
|
82
|
+
});
|
|
83
|
+
this.bridgeService.bridge.on("unpaired", () => {
|
|
84
|
+
this.sendPairedStatusEvent();
|
|
85
|
+
});
|
|
86
|
+
await this.bridgeService.loadCachedPlatformAccessoriesFromDisk();
|
|
87
|
+
for (const config of this.pluginConfig) {
|
|
88
|
+
if (this.type === "platform") {
|
|
89
|
+
const plugin = this.pluginManager.getPluginForPlatform(this.identifier);
|
|
90
|
+
const displayName = config.name || plugin.getPluginIdentifier();
|
|
91
|
+
const logger = Logger.withPrefix(displayName);
|
|
92
|
+
const constructor = plugin.getPlatformConstructor(this.identifier);
|
|
93
|
+
const platform = new constructor(logger, config, this.api);
|
|
94
|
+
if (HomebridgeAPI.isDynamicPlatformPlugin(platform)) {
|
|
95
|
+
plugin.assignDynamicPlatform(this.identifier, platform);
|
|
96
|
+
}
|
|
97
|
+
else if (HomebridgeAPI.isStaticPlatformPlugin(platform)) {
|
|
98
|
+
await this.bridgeService.loadPlatformAccessories(plugin, platform, this.identifier, logger);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
else if (this.type === "accessory") {
|
|
104
|
+
const plugin = this.pluginManager.getPluginForAccessory(this.identifier);
|
|
105
|
+
const displayName = config.name;
|
|
106
|
+
if (!displayName) {
|
|
107
|
+
Logger.internal.warn('Could not load accessory %s as it is missing the required \'name\' property!', this.identifier);
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
const logger = Logger.withPrefix(displayName);
|
|
111
|
+
const constructor = plugin.getAccessoryConstructor(this.identifier);
|
|
112
|
+
const accessoryInstance = new constructor(logger, config, this.api);
|
|
113
|
+
const accessory = this.bridgeService.createHAPAccessory(plugin, accessoryInstance, displayName, this.identifier, config.uuid_base);
|
|
114
|
+
if (accessory) {
|
|
115
|
+
this.bridgeService.bridge.addBridgedAccessory(accessory);
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
logger('Accessory %s returned empty set of services. Won\'t adding it to the bridge!', this.identifier);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
this.bridgeService.restoreCachedPlatformAccessories();
|
|
123
|
+
this.matterManager.restoreCachedAccessories(this.bridgeOptions.keepOrphanedCachedAccessories ?? false);
|
|
124
|
+
this.bridgeService.publishBridge();
|
|
125
|
+
this.api.signalFinished();
|
|
126
|
+
this.sendPairedStatusEvent();
|
|
127
|
+
this.sendMessage("online");
|
|
128
|
+
}
|
|
129
|
+
async requestExternalPort(username) {
|
|
130
|
+
return new Promise((resolve) => {
|
|
131
|
+
const requestTimeout = setTimeout(() => {
|
|
132
|
+
Logger.internal.warn('Parent process did not respond to port allocation request within 5 seconds - assigning random port.');
|
|
133
|
+
resolve(undefined);
|
|
134
|
+
}, 5000);
|
|
135
|
+
const callback = (port) => {
|
|
136
|
+
clearTimeout(requestTimeout);
|
|
137
|
+
resolve(port);
|
|
138
|
+
this.portRequestCallback.delete(username);
|
|
139
|
+
};
|
|
140
|
+
this.portRequestCallback.set(username, callback);
|
|
141
|
+
this.sendMessage("portRequest", { username });
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
async requestMatterPort(uniqueId) {
|
|
145
|
+
return new Promise((resolve) => {
|
|
146
|
+
const requestTimeout = setTimeout(() => {
|
|
147
|
+
matterLogger.warn('Parent process did not respond to Matter port allocation request within 5 seconds - assigning random port.');
|
|
148
|
+
resolve(undefined);
|
|
149
|
+
}, 5000);
|
|
150
|
+
const mac = uniqueId;
|
|
151
|
+
const callback = (port) => {
|
|
152
|
+
clearTimeout(requestTimeout);
|
|
153
|
+
resolve(port);
|
|
154
|
+
this.portRequestCallback.delete(mac);
|
|
155
|
+
};
|
|
156
|
+
this.portRequestCallback.set(mac, callback);
|
|
157
|
+
this.sendMessage("portRequest", {
|
|
158
|
+
username: mac,
|
|
159
|
+
portType: 'matter',
|
|
160
|
+
});
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
handleExternalResponse(data) {
|
|
164
|
+
const callback = this.portRequestCallback.get(data.username);
|
|
165
|
+
if (callback) {
|
|
166
|
+
callback(data.port);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
sendPairedStatusEvent() {
|
|
170
|
+
const matterInfo = this.matterManager.getMatterStatusInfo();
|
|
171
|
+
if (matterInfo) {
|
|
172
|
+
matterLogger.debug('Including Matter info in unified status update');
|
|
173
|
+
}
|
|
174
|
+
this.sendMessage("status", {
|
|
175
|
+
paired: this.bridgeService?.bridge?._accessoryInfo?.paired() ?? null,
|
|
176
|
+
setupUri: this.bridgeService?.bridge?.setupURI() ?? null,
|
|
177
|
+
...(matterInfo && { matter: matterInfo }),
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
handleStartMatterMonitoring() {
|
|
181
|
+
if (this.matterManager?.isMatterEnabled()) {
|
|
182
|
+
matterLogger.debug(`Starting Matter monitoring in child bridge ${this.bridgeConfig.username}`);
|
|
183
|
+
this.matterManager.enableStateMonitoring();
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
handleStopMatterMonitoring() {
|
|
187
|
+
if (this.matterManager?.isMatterEnabled()) {
|
|
188
|
+
matterLogger.debug(`Stopping Matter monitoring in child bridge ${this.bridgeConfig.username}`);
|
|
189
|
+
this.matterManager.disableStateMonitoring();
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
handleGetMatterAccessories() {
|
|
193
|
+
try {
|
|
194
|
+
if (!this.bridgeConfig) {
|
|
195
|
+
Logger.internal.debug('Bridge not fully initialized yet, skipping');
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
if (!this.matterManager?.isMatterEnabled()) {
|
|
199
|
+
const event = {
|
|
200
|
+
type: 'accessoriesData',
|
|
201
|
+
data: {
|
|
202
|
+
bridgeUsername: this.bridgeConfig.username,
|
|
203
|
+
accessories: [],
|
|
204
|
+
},
|
|
205
|
+
};
|
|
206
|
+
this.sendMessage("matterEvent", event);
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
matterLogger.debug(`Collecting Matter accessories for child bridge ${this.bridgeConfig.username}`);
|
|
210
|
+
const accessories = this.matterManager.collectAllAccessories();
|
|
211
|
+
matterLogger.debug(`Child bridge ${this.bridgeConfig.username} collected ${accessories.length} accessory(ies)`);
|
|
212
|
+
const event = {
|
|
213
|
+
type: 'accessoriesData',
|
|
214
|
+
data: {
|
|
215
|
+
bridgeUsername: this.bridgeConfig.username,
|
|
216
|
+
accessories,
|
|
217
|
+
},
|
|
218
|
+
};
|
|
219
|
+
this.sendMessage("matterEvent", event);
|
|
220
|
+
}
|
|
221
|
+
catch (error) {
|
|
222
|
+
matterLogger.error('Failed to get Matter accessories:', error);
|
|
223
|
+
const event = {
|
|
224
|
+
type: 'accessoriesData',
|
|
225
|
+
data: {
|
|
226
|
+
bridgeUsername: this.bridgeConfig?.username,
|
|
227
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
228
|
+
},
|
|
229
|
+
};
|
|
230
|
+
this.sendMessage("matterEvent", event);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
handleGetMatterAccessoryInfo(data) {
|
|
234
|
+
try {
|
|
235
|
+
if (!this.matterManager?.isMatterEnabled()) {
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
const accessoryInfo = this.matterManager.getAccessoryInfo(data.uuid);
|
|
239
|
+
if (accessoryInfo) {
|
|
240
|
+
const event = {
|
|
241
|
+
type: 'accessoryInfoData',
|
|
242
|
+
data: accessoryInfo,
|
|
243
|
+
};
|
|
244
|
+
this.sendMessage("matterEvent", event);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
catch (error) {
|
|
248
|
+
matterLogger.error('Failed to get Matter accessory info:', error);
|
|
249
|
+
const event = {
|
|
250
|
+
type: 'accessoryInfoData',
|
|
251
|
+
data: {
|
|
252
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
253
|
+
},
|
|
254
|
+
};
|
|
255
|
+
this.sendMessage("matterEvent", event);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
handleMatterAccessoryControl(data) {
|
|
259
|
+
if (!this.matterManager?.isMatterEnabled()) {
|
|
260
|
+
matterLogger.debug(`Ignoring Matter control for ${data.uuid} - Matter not enabled on child bridge ${this.bridgeConfig.username}`);
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
matterLogger.debug(`Matter control request for child bridge ${this.bridgeConfig.username}: uuid=${data.uuid}, cluster=${data.cluster}, part=${data.partId || 'main'}`);
|
|
264
|
+
this.matterManager.handleTriggerCommand(data.uuid, data.cluster, data.attributes, data.partId)
|
|
265
|
+
.then(() => {
|
|
266
|
+
matterLogger.debug(`Successfully controlled accessory ${data.uuid} on child bridge ${this.bridgeConfig.username}`);
|
|
267
|
+
const controlResponse = {
|
|
268
|
+
type: 'accessoryControlResponse',
|
|
269
|
+
data: {
|
|
270
|
+
success: true,
|
|
271
|
+
uuid: data.uuid,
|
|
272
|
+
},
|
|
273
|
+
};
|
|
274
|
+
this.sendMessage("matterEvent", controlResponse);
|
|
275
|
+
})
|
|
276
|
+
.catch((error) => {
|
|
277
|
+
if (error.message.includes('not found on this bridge')) {
|
|
278
|
+
matterLogger.debug(`Accessory ${data.uuid} not on child bridge ${this.bridgeConfig.username}, ignoring`);
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
matterLogger.error(`Failed to control ${data.uuid} on child bridge ${this.bridgeConfig.username}: ${error.message}`);
|
|
282
|
+
const event = {
|
|
283
|
+
type: 'accessoryControlResponse',
|
|
284
|
+
data: {
|
|
285
|
+
success: false,
|
|
286
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
287
|
+
uuid: data.uuid,
|
|
288
|
+
},
|
|
289
|
+
};
|
|
290
|
+
this.sendMessage("matterEvent", event);
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
shutdown() {
|
|
294
|
+
this.bridgeService.teardown();
|
|
295
|
+
this.matterManager.teardown().catch((error) => {
|
|
296
|
+
matterLogger.error('Error tearing down Matter manager:', error);
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
const childPluginFork = new ChildBridgeFork();
|
|
301
|
+
process.on('message', (message) => {
|
|
302
|
+
if (typeof message !== 'object' || !message.id) {
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
switch (message.id) {
|
|
306
|
+
case "load": {
|
|
307
|
+
childPluginFork.loadPlugin(message.data);
|
|
308
|
+
break;
|
|
309
|
+
}
|
|
310
|
+
case "start": {
|
|
311
|
+
childPluginFork.startBridge();
|
|
312
|
+
break;
|
|
313
|
+
}
|
|
314
|
+
case "portAllocated": {
|
|
315
|
+
childPluginFork.handleExternalResponse(message.data);
|
|
316
|
+
break;
|
|
317
|
+
}
|
|
318
|
+
case "startMatterMonitoring": {
|
|
319
|
+
childPluginFork.handleStartMatterMonitoring();
|
|
320
|
+
break;
|
|
321
|
+
}
|
|
322
|
+
case "stopMatterMonitoring": {
|
|
323
|
+
childPluginFork.handleStopMatterMonitoring();
|
|
324
|
+
break;
|
|
325
|
+
}
|
|
326
|
+
case "getMatterAccessories": {
|
|
327
|
+
childPluginFork.handleGetMatterAccessories();
|
|
328
|
+
break;
|
|
329
|
+
}
|
|
330
|
+
case "getMatterAccessoryInfo": {
|
|
331
|
+
childPluginFork.handleGetMatterAccessoryInfo(message.data);
|
|
332
|
+
break;
|
|
333
|
+
}
|
|
334
|
+
case "matterAccessoryControl": {
|
|
335
|
+
childPluginFork.handleMatterAccessoryControl(message.data);
|
|
336
|
+
break;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
});
|
|
340
|
+
let shuttingDown = false;
|
|
341
|
+
function signalHandler(signal, signalNum) {
|
|
342
|
+
if (shuttingDown) {
|
|
343
|
+
return;
|
|
344
|
+
}
|
|
345
|
+
shuttingDown = true;
|
|
346
|
+
Logger.internal.info('Got %s, shutting down child bridge process...', signal);
|
|
347
|
+
try {
|
|
348
|
+
childPluginFork.shutdown();
|
|
349
|
+
}
|
|
350
|
+
catch (error) {
|
|
351
|
+
}
|
|
352
|
+
setTimeout(() => process.exit(128 + signalNum), 5000);
|
|
353
|
+
}
|
|
354
|
+
process.on('SIGINT', signalHandler.bind(undefined, 'SIGINT', 2));
|
|
355
|
+
process.on('SIGTERM', signalHandler.bind(undefined, 'SIGTERM', 15));
|
|
356
|
+
setInterval(() => {
|
|
357
|
+
if (!process.connected) {
|
|
358
|
+
Logger.internal.info('Parent process not connected, terminating process...');
|
|
359
|
+
process.exit(1);
|
|
360
|
+
}
|
|
361
|
+
}, 5000);
|
|
362
|
+
//# sourceMappingURL=childBridgeFork.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"childBridgeFork.js","sourceRoot":"","sources":["../src/childBridgeFork.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import type { MacAddress } from 'hap-nodejs';
|
|
2
|
+
import type { HomebridgeAPI } from './api.js';
|
|
3
|
+
import type { AccessoryConfig, BridgeConfiguration, BridgeOptions, HomebridgeConfig, PlatformConfig } from './bridgeService.js';
|
|
4
|
+
import type { ExternalPortService } from './externalPortService.js';
|
|
5
|
+
import type { IpcService } from './ipcService.js';
|
|
6
|
+
import type { MatterConfig } from './matter/index.js';
|
|
7
|
+
import type { Plugin } from './plugin.js';
|
|
8
|
+
import type { HomebridgeOptions } from './server.js';
|
|
9
|
+
import { PluginType } from './api.js';
|
|
10
|
+
export declare const enum ChildProcessMessageEventType {
|
|
11
|
+
READY = "ready",
|
|
12
|
+
LOAD = "load",
|
|
13
|
+
LOADED = "loaded",
|
|
14
|
+
START = "start",
|
|
15
|
+
ONLINE = "online",
|
|
16
|
+
PORT_REQUEST = "portRequest",
|
|
17
|
+
PORT_ALLOCATED = "portAllocated",
|
|
18
|
+
STATUS_UPDATE = "status",
|
|
19
|
+
START_MATTER_MONITORING = "startMatterMonitoring",
|
|
20
|
+
STOP_MATTER_MONITORING = "stopMatterMonitoring",
|
|
21
|
+
GET_MATTER_ACCESSORIES = "getMatterAccessories",
|
|
22
|
+
GET_MATTER_ACCESSORY_INFO = "getMatterAccessoryInfo",
|
|
23
|
+
MATTER_ACCESSORY_CONTROL = "matterAccessoryControl",
|
|
24
|
+
MATTER_EVENT = "matterEvent"
|
|
25
|
+
}
|
|
26
|
+
export declare const enum ChildBridgeStatus {
|
|
27
|
+
PENDING = "pending",
|
|
28
|
+
OK = "ok",
|
|
29
|
+
DOWN = "down"
|
|
30
|
+
}
|
|
31
|
+
export interface ChildProcessMessageEvent<T> {
|
|
32
|
+
id: ChildProcessMessageEventType;
|
|
33
|
+
data?: T;
|
|
34
|
+
}
|
|
35
|
+
export interface ChildProcessLoadEventData {
|
|
36
|
+
type: PluginType;
|
|
37
|
+
identifier: string;
|
|
38
|
+
pluginPath: string;
|
|
39
|
+
pluginConfig: Array<PlatformConfig | AccessoryConfig>;
|
|
40
|
+
bridgeConfig: BridgeConfiguration;
|
|
41
|
+
homebridgeConfig: HomebridgeConfig;
|
|
42
|
+
bridgeOptions: BridgeOptions;
|
|
43
|
+
}
|
|
44
|
+
export interface ChildProcessPluginLoadedEventData {
|
|
45
|
+
version: string;
|
|
46
|
+
}
|
|
47
|
+
export interface ChildProcessPortRequestEventData {
|
|
48
|
+
username: MacAddress;
|
|
49
|
+
portType?: 'hap' | 'matter';
|
|
50
|
+
}
|
|
51
|
+
export interface ChildProcessPortAllocatedEventData {
|
|
52
|
+
username: MacAddress;
|
|
53
|
+
port?: number;
|
|
54
|
+
}
|
|
55
|
+
export interface ChildBridgePairedStatusEventData {
|
|
56
|
+
paired: boolean | null;
|
|
57
|
+
setupUri: string | null;
|
|
58
|
+
matter?: {
|
|
59
|
+
qrCode?: string;
|
|
60
|
+
manualPairingCode?: string;
|
|
61
|
+
serialNumber?: string;
|
|
62
|
+
commissioned: boolean;
|
|
63
|
+
deviceCount: number;
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
export interface ChildMetadata {
|
|
67
|
+
status: ChildBridgeStatus;
|
|
68
|
+
paired?: boolean | null;
|
|
69
|
+
setupUri?: string | null;
|
|
70
|
+
username: MacAddress;
|
|
71
|
+
port?: number;
|
|
72
|
+
pin: string;
|
|
73
|
+
name: string;
|
|
74
|
+
plugin: string;
|
|
75
|
+
identifier: string;
|
|
76
|
+
manuallyStopped: boolean;
|
|
77
|
+
pid?: number;
|
|
78
|
+
matterConfig?: MatterConfig;
|
|
79
|
+
matterIdentifier?: string;
|
|
80
|
+
matterSetupUri?: string;
|
|
81
|
+
matterPin?: string;
|
|
82
|
+
matterSerialNumber?: string;
|
|
83
|
+
matterCommissioned?: boolean;
|
|
84
|
+
matterDeviceCount?: number;
|
|
85
|
+
}
|
|
86
|
+
export declare class ChildBridgeService {
|
|
87
|
+
type: PluginType;
|
|
88
|
+
identifier: string;
|
|
89
|
+
private plugin;
|
|
90
|
+
private bridgeConfig;
|
|
91
|
+
private homebridgeConfig;
|
|
92
|
+
private homebridgeOptions;
|
|
93
|
+
private api;
|
|
94
|
+
private ipcService;
|
|
95
|
+
private externalPortService;
|
|
96
|
+
private child?;
|
|
97
|
+
private args;
|
|
98
|
+
private processEnv;
|
|
99
|
+
private shuttingDown;
|
|
100
|
+
private lastBridgeStatus;
|
|
101
|
+
private pairedStatus;
|
|
102
|
+
private manuallyStopped;
|
|
103
|
+
private setupUri;
|
|
104
|
+
private matterCommissioningInfo?;
|
|
105
|
+
private pluginConfig;
|
|
106
|
+
private log;
|
|
107
|
+
private displayName?;
|
|
108
|
+
private restartCount;
|
|
109
|
+
private readonly maxRestarts;
|
|
110
|
+
lastMatterAccessoriesResponse?: {
|
|
111
|
+
accessories: any[];
|
|
112
|
+
bridgeUsername: string;
|
|
113
|
+
};
|
|
114
|
+
onExternalBridgeRegistered?: (externalBridgeUsername: string, ownerUsername: string) => void;
|
|
115
|
+
constructor(type: PluginType, identifier: string, plugin: Plugin, bridgeConfig: BridgeConfiguration, homebridgeConfig: HomebridgeConfig, homebridgeOptions: HomebridgeOptions, api: HomebridgeAPI, ipcService: IpcService, externalPortService: ExternalPortService);
|
|
116
|
+
start(): void;
|
|
117
|
+
addConfig(config: PlatformConfig | AccessoryConfig): void;
|
|
118
|
+
startMatterMonitoring(): void;
|
|
119
|
+
stopMatterMonitoring(): void;
|
|
120
|
+
getMatterAccessories(): void;
|
|
121
|
+
getMatterAccessoryInfo(uuid: string): void;
|
|
122
|
+
controlMatterAccessory(data: {
|
|
123
|
+
uuid: string;
|
|
124
|
+
cluster: string;
|
|
125
|
+
attributes: Record<string, unknown>;
|
|
126
|
+
partId?: string;
|
|
127
|
+
}): void;
|
|
128
|
+
private get bridgeStatus();
|
|
129
|
+
private set bridgeStatus(value);
|
|
130
|
+
private startChildProcess;
|
|
131
|
+
private handleProcessClose;
|
|
132
|
+
private sendMessage;
|
|
133
|
+
private setProcessFlags;
|
|
134
|
+
private setProcessEnv;
|
|
135
|
+
private loadPlugin;
|
|
136
|
+
private startBridge;
|
|
137
|
+
private handlePortRequest;
|
|
138
|
+
private teardown;
|
|
139
|
+
private sendStatusUpdate;
|
|
140
|
+
restartChildBridge(): void;
|
|
141
|
+
stopChildBridge(): void;
|
|
142
|
+
startChildBridge(): void;
|
|
143
|
+
refreshConfig(): Promise<void>;
|
|
144
|
+
getMetadata(): ChildMetadata;
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=childBridgeService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"childBridgeService.d.ts","sourceRoot":"","sources":["../src/childBridgeService.ts"],"names":[],"mappings":"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"}
|