homebridge 2.0.3-beta.9 → 2.1.0
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/dist/bridgeService.d.ts +78 -6
- package/dist/bridgeService.d.ts.map +1 -1
- package/dist/bridgeService.js +124 -30
- package/dist/bridgeService.js.map +1 -1
- package/dist/childBridgeFork.d.ts +12 -0
- package/dist/childBridgeFork.d.ts.map +1 -1
- package/dist/childBridgeFork.js +56 -25
- package/dist/childBridgeFork.js.map +1 -1
- package/dist/childBridgeService.d.ts +13 -7
- package/dist/childBridgeService.d.ts.map +1 -1
- package/dist/childBridgeService.js +75 -53
- package/dist/childBridgeService.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +1 -4
- package/dist/cli.js.map +1 -1
- package/dist/ipcService.d.ts +6 -1
- package/dist/ipcService.d.ts.map +1 -1
- package/dist/matter/BaseMatterManager.d.ts +13 -0
- package/dist/matter/BaseMatterManager.d.ts.map +1 -1
- package/dist/matter/BaseMatterManager.js +43 -11
- package/dist/matter/BaseMatterManager.js.map +1 -1
- package/dist/matter/ChildBridgeMatterManager.d.ts +41 -2
- package/dist/matter/ChildBridgeMatterManager.d.ts.map +1 -1
- package/dist/matter/ChildBridgeMatterManager.js +103 -6
- package/dist/matter/ChildBridgeMatterManager.js.map +1 -1
- package/dist/matter/ChildBridgeMatterMessageHandler.d.ts.map +1 -1
- package/dist/matter/ChildBridgeMatterMessageHandler.js +13 -6
- package/dist/matter/ChildBridgeMatterMessageHandler.js.map +1 -1
- package/dist/matter/ExternalMatterAccessoryPublisher.d.ts.map +1 -1
- package/dist/matter/ExternalMatterAccessoryPublisher.js +25 -1
- package/dist/matter/ExternalMatterAccessoryPublisher.js.map +1 -1
- package/dist/matter/MatterAPIImpl.d.ts +17 -0
- package/dist/matter/MatterAPIImpl.d.ts.map +1 -1
- package/dist/matter/MatterAPIImpl.js +29 -0
- package/dist/matter/MatterAPIImpl.js.map +1 -1
- package/dist/matter/MatterBridgeManager.d.ts +38 -3
- package/dist/matter/MatterBridgeManager.d.ts.map +1 -1
- package/dist/matter/MatterBridgeManager.js +115 -12
- package/dist/matter/MatterBridgeManager.js.map +1 -1
- package/dist/matter/MatterError.d.ts +76 -0
- package/dist/matter/MatterError.d.ts.map +1 -0
- package/dist/matter/MatterError.js +90 -0
- package/dist/matter/MatterError.js.map +1 -0
- package/dist/matter/MatterPortAllocator.d.ts.map +1 -1
- package/dist/matter/MatterPortAllocator.js +7 -1
- package/dist/matter/MatterPortAllocator.js.map +1 -1
- package/dist/matter/accessoryCache.d.ts +12 -0
- package/dist/matter/accessoryCache.d.ts.map +1 -1
- package/dist/matter/accessoryCache.js +19 -0
- package/dist/matter/accessoryCache.js.map +1 -1
- package/dist/matter/behaviors/BehaviorRegistry.d.ts +3 -2
- package/dist/matter/behaviors/BehaviorRegistry.d.ts.map +1 -1
- package/dist/matter/behaviors/BehaviorRegistry.js +10 -1
- package/dist/matter/behaviors/BehaviorRegistry.js.map +1 -1
- package/dist/matter/behaviors/DoorLockBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/DoorLockBehavior.js +10 -4
- package/dist/matter/behaviors/DoorLockBehavior.js.map +1 -1
- package/dist/matter/config.d.ts +73 -1
- package/dist/matter/config.d.ts.map +1 -1
- package/dist/matter/config.js +138 -10
- package/dist/matter/config.js.map +1 -1
- package/dist/matter/configValidator.d.ts.map +1 -1
- package/dist/matter/configValidator.js +15 -0
- package/dist/matter/configValidator.js.map +1 -1
- package/dist/matter/ipc-types.d.ts +7 -0
- package/dist/matter/ipc-types.d.ts.map +1 -1
- package/dist/matter/logFormatter.d.ts.map +1 -1
- package/dist/matter/logFormatter.js +7 -60
- package/dist/matter/logFormatter.js.map +1 -1
- package/dist/matter/managerTypes.d.ts +4 -4
- package/dist/matter/managerTypes.d.ts.map +1 -1
- package/dist/matter/server/AccessoryManager.d.ts.map +1 -1
- package/dist/matter/server/AccessoryManager.js +9 -2
- package/dist/matter/server/AccessoryManager.js.map +1 -1
- package/dist/matter/server/ServerLifecycle.d.ts +23 -4
- package/dist/matter/server/ServerLifecycle.d.ts.map +1 -1
- package/dist/matter/server/ServerLifecycle.js +127 -22
- package/dist/matter/server/ServerLifecycle.js.map +1 -1
- package/dist/matter/server.js +1 -1
- package/dist/matter/server.js.map +1 -1
- package/dist/matter/types.d.ts +21 -57
- package/dist/matter/types.d.ts.map +1 -1
- package/dist/matter/types.js +6 -71
- package/dist/matter/types.js.map +1 -1
- package/dist/matter/utils.d.ts +2 -0
- package/dist/matter/utils.d.ts.map +1 -1
- package/dist/matter/utils.js +3 -1
- package/dist/matter/utils.js.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +2 -14
- package/dist/plugin.js.map +1 -1
- package/dist/pluginManager.d.ts +11 -0
- package/dist/pluginManager.d.ts.map +1 -1
- package/dist/pluginManager.js +26 -14
- package/dist/pluginManager.js.map +1 -1
- package/dist/server.d.ts +29 -7
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +141 -51
- package/dist/server.js.map +1 -1
- package/package.json +8 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseMatterManager.js","sourceRoot":"","sources":["../../src/matter/BaseMatterManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAElE,OAAO,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AAE5D,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAA;AACnD,MAAM,QAAQ,GAAG,IAAI,CAAA;AAErB;;;GAGG;AACH,MAAM,OAAgB,iBAAiB;IAC3B,YAAY,CAAe;IAClB,qBAAqB,GAA8B,IAAI,GAAG,EAAE,CAAA;IAC5D,aAAa,CAAe;IAE/C,YAAY,aAA4B;QACtC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;IACpC,CAAC;IAED;;;;;;OAMG;IACH,yDAAyD;IAC/C,yBAAyB,CAAC,QAAgB;QAClD,2BAA2B;IAC7B,CAAC;IAED;;;;;OAKG;IACI,iBAAiB,CAAC,IAAY;QACnC,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC7C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,IAAY,EAAE,OAAe,EAAE,UAAmC,EAAE,MAAe;QAC5G,qDAAqD;QACrD,MAAM,cAAc,GAAG,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QAElE,wEAAwE;QACxE,yEAAyE;QACzE,GAAG,CAAC,KAAK,CAAC,8BAA8B,IAAI,aAAa,OAAO,YAAY,MAAM,EAAE,CAAC,CAAA;QACrF,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAA;QACvC,IAAI,cAAc,EAAE,CAAC;YACnB,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAA;QAClD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAA;QACxD,CAAC;QACD,GAAG,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAA;QACvE,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACxC,uEAAuE;YACvE,uDAAuD;YACvD,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAChF,CAAC;QAED,+CAA+C;QAC/C,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC3D,IAAI,cAAc,EAAE,CAAC;YACnB,GAAG,CAAC,KAAK,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAA;YAC9C,IAAI,cAAc,EAAE,CAAC;gBACnB,8BAA8B;gBAC9B,MAAM,cAAc,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;gBACvG,4EAA4E;gBAC5E,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;YAChE,CAAC;iBAAM,CAAC;gBACN,6DAA6D;gBAC7D,MAAM,cAAc,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;YAC9E,CAAC;YACD,OAAM;QACR,CAAC;QAED,
|
|
1
|
+
{"version":3,"file":"BaseMatterManager.js","sourceRoot":"","sources":["../../src/matter/BaseMatterManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,8 +41,18 @@ export declare class ChildBridgeMatterManager extends BaseMatterManager {
|
|
|
41
41
|
private readonly _onUpdateMatterAccessoryState;
|
|
42
42
|
private readonly _onMatterServerStateChange;
|
|
43
43
|
private _onCommissioningStatusChanged?;
|
|
44
|
+
private readonly _onRegisterMatterPlatformAccessoriesDropped;
|
|
45
|
+
private readonly _onUnregisterMatterPlatformAccessoriesDropped;
|
|
46
|
+
private externalsOnlyMode;
|
|
44
47
|
/**
|
|
45
|
-
* Initialize Matter server for child bridge
|
|
48
|
+
* Initialize Matter server for child bridge. Three states:
|
|
49
|
+
*
|
|
50
|
+
* 1. Disabled (matter absent, or `enabled: false` without `externalsOnly`) → return early.
|
|
51
|
+
* 2. externalsOnly mode (`enabled: false` + `externalsOnly: true`) → attach
|
|
52
|
+
* listeners for external publishing AND debug-log drop stubs for bridged
|
|
53
|
+
* matter events, but do NOT start the bridge MatterServer.
|
|
54
|
+
* 3. Normal (`enabled !== false`) → full setup including server startup.
|
|
55
|
+
*
|
|
46
56
|
* @param onCommissioningChanged Optional callback when commissioning status changes
|
|
47
57
|
*/
|
|
48
58
|
initialize(onCommissioningChanged?: () => void): Promise<void>;
|
|
@@ -51,9 +61,28 @@ export declare class ChildBridgeMatterManager extends BaseMatterManager {
|
|
|
51
61
|
*/
|
|
52
62
|
private startMatterServer;
|
|
53
63
|
/**
|
|
54
|
-
* Set up Matter API event listeners
|
|
64
|
+
* Set up all Matter API event listeners (external + bridged). Used in
|
|
65
|
+
* normal mode where the bridge MatterServer is running.
|
|
55
66
|
*/
|
|
56
67
|
private setupEventListeners;
|
|
68
|
+
/**
|
|
69
|
+
* Set up only the external-accessory listeners. These do not need a running
|
|
70
|
+
* bridge MatterServer — each external creates its own dedicated server.
|
|
71
|
+
* Used in normal mode (via setupEventListeners) and in externalsOnly mode.
|
|
72
|
+
*/
|
|
73
|
+
private setupExternalEventListeners;
|
|
74
|
+
/**
|
|
75
|
+
* Set up bridged-accessory listeners that require the bridge MatterServer.
|
|
76
|
+
* Used in normal mode only.
|
|
77
|
+
*/
|
|
78
|
+
private setupBridgedEventListeners;
|
|
79
|
+
/**
|
|
80
|
+
* Attach drop-stub listeners for bridged Matter events in externalsOnly
|
|
81
|
+
* mode. Each stub logs at debug level and returns without doing anything,
|
|
82
|
+
* so plugin authors who misconfigure a bridge get a breadcrumb without
|
|
83
|
+
* noisy warn-level output.
|
|
84
|
+
*/
|
|
85
|
+
private setupBridgedDropStubs;
|
|
57
86
|
/**
|
|
58
87
|
* Handle external Matter accessories - each gets its own dedicated Matter server
|
|
59
88
|
* This is required for devices like Robotic Vacuum Cleaners that Apple Home
|
|
@@ -69,6 +98,16 @@ export declare class ChildBridgeMatterManager extends BaseMatterManager {
|
|
|
69
98
|
* Check if Matter is enabled for this child bridge
|
|
70
99
|
*/
|
|
71
100
|
isMatterEnabled(): boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Whether this child bridge has Matter active in any form that can serve UI
|
|
103
|
+
* requests (control / list / accessory-info / state monitoring). This is true
|
|
104
|
+
* when the bridge Matter server is running OR when in externalsOnly mode,
|
|
105
|
+
* where external accessories publish via their own per-accessory servers even
|
|
106
|
+
* though the bridge node never starts. The message handler must gate on this
|
|
107
|
+
* (not `isMatterEnabled()`, which is false in externalsOnly) so external
|
|
108
|
+
* accessories on an externalsOnly child remain controllable and listable.
|
|
109
|
+
*/
|
|
110
|
+
hasActiveMatter(): boolean;
|
|
72
111
|
/**
|
|
73
112
|
* Enable state monitoring on all Matter servers
|
|
74
113
|
* Override to add bridge-specific logging
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChildBridgeMatterManager.d.ts","sourceRoot":"","sources":["../../src/matter/ChildBridgeMatterManager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC7E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAiC,MAAM,YAAY,CAAA;AAOxF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAGnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"ChildBridgeMatterManager.d.ts","sourceRoot":"","sources":["../../src/matter/ChildBridgeMatterManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ import { User } from '../user.js';
|
|
|
11
11
|
import getVersion from '../version.js';
|
|
12
12
|
import { BaseMatterManager } from './BaseMatterManager.js';
|
|
13
13
|
import { publishExternalMatterAccessory } from './ExternalMatterAccessoryPublisher.js';
|
|
14
|
+
import { MatterAccessoryNotOnBridgeError } from './MatterError.js';
|
|
14
15
|
import { MatterServer } from './server.js';
|
|
15
16
|
import { appendUsernameSuffix, getMatterJsVersion, normalizeBindConfig } from './utils.js';
|
|
16
17
|
const log = Logger.withPrefix('Matter/ChildManager');
|
|
@@ -67,6 +68,14 @@ export class ChildBridgeMatterManager extends BaseMatterManager {
|
|
|
67
68
|
};
|
|
68
69
|
_onUpdateMatterAccessoryState = (uuid, cluster, attributes, partId) => {
|
|
69
70
|
this.handleUpdateAccessoryState(uuid, cluster, attributes, partId).catch((error) => {
|
|
71
|
+
// In externalsOnly mode the real handler is attached but the bridge node
|
|
72
|
+
// never started, so a state update for a non-external accessory is an
|
|
73
|
+
// expected "wrong target", not a failure. Mirror the message-handler path
|
|
74
|
+
// and log it at debug instead of surfacing a red error line.
|
|
75
|
+
if (error instanceof MatterAccessoryNotOnBridgeError) {
|
|
76
|
+
log.debug(`Ignoring Matter state update for ${uuid}: accessory is not on this bridge`);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
70
79
|
log.error(`Failed to update Matter accessory state for ${uuid}:`, error);
|
|
71
80
|
});
|
|
72
81
|
};
|
|
@@ -83,15 +92,51 @@ export class ChildBridgeMatterManager extends BaseMatterManager {
|
|
|
83
92
|
}
|
|
84
93
|
};
|
|
85
94
|
_onCommissioningStatusChanged;
|
|
95
|
+
// Drop-stub handlers for bridged Matter events when in externalsOnly mode.
|
|
96
|
+
// Attached only in externalsOnly mode so plugin authors get a debug-level
|
|
97
|
+
// log when registering bridged accessories that the bridge node would
|
|
98
|
+
// otherwise have hosted.
|
|
99
|
+
_onRegisterMatterPlatformAccessoriesDropped = (pluginIdentifier, _platformName, accessories) => {
|
|
100
|
+
log.debug(`Child bridge ${this.bridgeConfig.username} externalsOnly mode: dropping ${accessories.length} bridged Matter accessor${accessories.length === 1 ? 'y' : 'ies'} from ${pluginIdentifier} (bridge node is not running).`);
|
|
101
|
+
};
|
|
102
|
+
_onUnregisterMatterPlatformAccessoriesDropped = (pluginIdentifier, _platformName, accessories) => {
|
|
103
|
+
log.debug(`Child bridge ${this.bridgeConfig.username} externalsOnly mode: dropping unregistration for ${accessories.length} bridged Matter accessor${accessories.length === 1 ? 'y' : 'ies'} from ${pluginIdentifier} (bridge node is not running).`);
|
|
104
|
+
};
|
|
105
|
+
// True when this manager was initialised in externalsOnly mode. Determines
|
|
106
|
+
// which listeners were attached, so teardown removes the correct ones.
|
|
107
|
+
externalsOnlyMode = false;
|
|
86
108
|
/**
|
|
87
|
-
* Initialize Matter server for child bridge
|
|
109
|
+
* Initialize Matter server for child bridge. Three states:
|
|
110
|
+
*
|
|
111
|
+
* 1. Disabled (matter absent, or `enabled: false` without `externalsOnly`) → return early.
|
|
112
|
+
* 2. externalsOnly mode (`enabled: false` + `externalsOnly: true`) → attach
|
|
113
|
+
* listeners for external publishing AND debug-log drop stubs for bridged
|
|
114
|
+
* matter events, but do NOT start the bridge MatterServer.
|
|
115
|
+
* 3. Normal (`enabled !== false`) → full setup including server startup.
|
|
116
|
+
*
|
|
88
117
|
* @param onCommissioningChanged Optional callback when commissioning status changes
|
|
89
118
|
*/
|
|
90
119
|
async initialize(onCommissioningChanged) {
|
|
91
|
-
//
|
|
120
|
+
// 1. Disabled or absent → nothing to do.
|
|
92
121
|
if (!this.matterConfig) {
|
|
93
122
|
return;
|
|
94
123
|
}
|
|
124
|
+
if (this.matterConfig.enabled === false && !this.matterConfig.externalsOnly) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
// 2. externalsOnly mode → attach external + drop-stub listeners, skip the
|
|
128
|
+
// bridge server. api.matter was loaded earlier so plugins can call
|
|
129
|
+
// publishExternalAccessories. Each external creates its own dedicated
|
|
130
|
+
// MatterServer (see ExternalMatterAccessoryPublisher), independent of
|
|
131
|
+
// the bridge node.
|
|
132
|
+
if (this.matterConfig.externalsOnly === true) {
|
|
133
|
+
log.info(`Child bridge ${this.bridgeConfig.username}: Matter externalsOnly mode — bridge node will not start, but external Matter accessories can still publish.`);
|
|
134
|
+
this.externalsOnlyMode = true;
|
|
135
|
+
this.setupExternalEventListeners();
|
|
136
|
+
this.setupBridgedDropStubs();
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
// 3. Normal mode → existing full setup follows.
|
|
95
140
|
log.debug(`Child bridge ${this.bridgeConfig.username} has Matter config (Combined HAP+Matter), starting Matter server`);
|
|
96
141
|
// If Matter doesn't have a port configured, allocate one
|
|
97
142
|
if (!this.matterConfig.port) {
|
|
@@ -157,14 +202,48 @@ export class ChildBridgeMatterManager extends BaseMatterManager {
|
|
|
157
202
|
this.setupEventListeners();
|
|
158
203
|
}
|
|
159
204
|
/**
|
|
160
|
-
* Set up Matter API event listeners
|
|
205
|
+
* Set up all Matter API event listeners (external + bridged). Used in
|
|
206
|
+
* normal mode where the bridge MatterServer is running.
|
|
161
207
|
*/
|
|
162
208
|
setupEventListeners() {
|
|
209
|
+
this.setupExternalEventListeners();
|
|
210
|
+
this.setupBridgedEventListeners();
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Set up only the external-accessory listeners. These do not need a running
|
|
214
|
+
* bridge MatterServer — each external creates its own dedicated server.
|
|
215
|
+
* Used in normal mode (via setupEventListeners) and in externalsOnly mode.
|
|
216
|
+
*/
|
|
217
|
+
setupExternalEventListeners() {
|
|
163
218
|
this.api.on("publishExternalMatterAccessories" /* InternalAPIEvent.PUBLISH_EXTERNAL_MATTER_ACCESSORIES */, this._onPublishExternalMatterAccessories);
|
|
219
|
+
this.api.on("unregisterExternalMatterAccessories" /* InternalAPIEvent.UNREGISTER_EXTERNAL_MATTER_ACCESSORIES */, this._onUnregisterExternalMatterAccessories);
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Set up bridged-accessory listeners that require the bridge MatterServer.
|
|
223
|
+
* Used in normal mode only.
|
|
224
|
+
*/
|
|
225
|
+
setupBridgedEventListeners() {
|
|
164
226
|
this.api.on("registerMatterPlatformAccessories" /* InternalAPIEvent.REGISTER_MATTER_PLATFORM_ACCESSORIES */, this._onRegisterMatterPlatformAccessories);
|
|
165
227
|
this.api.on("updateMatterPlatformAccessories" /* InternalAPIEvent.UPDATE_MATTER_PLATFORM_ACCESSORIES */, this._onUpdateMatterPlatformAccessories);
|
|
166
228
|
this.api.on("unregisterMatterPlatformAccessories" /* InternalAPIEvent.UNREGISTER_MATTER_PLATFORM_ACCESSORIES */, this._onUnregisterMatterPlatformAccessories);
|
|
167
|
-
this.api.on("
|
|
229
|
+
this.api.on("updateMatterAccessoryState" /* InternalAPIEvent.UPDATE_MATTER_ACCESSORY_STATE */, this._onUpdateMatterAccessoryState);
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Attach drop-stub listeners for bridged Matter events in externalsOnly
|
|
233
|
+
* mode. Each stub logs at debug level and returns without doing anything,
|
|
234
|
+
* so plugin authors who misconfigure a bridge get a breadcrumb without
|
|
235
|
+
* noisy warn-level output.
|
|
236
|
+
*/
|
|
237
|
+
setupBridgedDropStubs() {
|
|
238
|
+
// Bridged register/unregister cannot be served without a running bridge node
|
|
239
|
+
// (externals use the dedicated PUBLISH/UNREGISTER_EXTERNAL events), so drop
|
|
240
|
+
// them with a debug breadcrumb.
|
|
241
|
+
this.api.on("registerMatterPlatformAccessories" /* InternalAPIEvent.REGISTER_MATTER_PLATFORM_ACCESSORIES */, this._onRegisterMatterPlatformAccessoriesDropped);
|
|
242
|
+
this.api.on("unregisterMatterPlatformAccessories" /* InternalAPIEvent.UNREGISTER_MATTER_PLATFORM_ACCESSORIES */, this._onUnregisterMatterPlatformAccessoriesDropped);
|
|
243
|
+
// UPDATE events must still reach EXTERNAL accessories, which DO publish in
|
|
244
|
+
// externalsOnly mode. The real handlers route to external servers first and
|
|
245
|
+
// safely log (never crash) the bridge path when no bridge node is running.
|
|
246
|
+
this.api.on("updateMatterPlatformAccessories" /* InternalAPIEvent.UPDATE_MATTER_PLATFORM_ACCESSORIES */, this._onUpdateMatterPlatformAccessories);
|
|
168
247
|
this.api.on("updateMatterAccessoryState" /* InternalAPIEvent.UPDATE_MATTER_ACCESSORY_STATE */, this._onUpdateMatterAccessoryState);
|
|
169
248
|
}
|
|
170
249
|
/**
|
|
@@ -253,6 +332,18 @@ export class ChildBridgeMatterManager extends BaseMatterManager {
|
|
|
253
332
|
isMatterEnabled() {
|
|
254
333
|
return this.matterServer !== undefined;
|
|
255
334
|
}
|
|
335
|
+
/**
|
|
336
|
+
* Whether this child bridge has Matter active in any form that can serve UI
|
|
337
|
+
* requests (control / list / accessory-info / state monitoring). This is true
|
|
338
|
+
* when the bridge Matter server is running OR when in externalsOnly mode,
|
|
339
|
+
* where external accessories publish via their own per-accessory servers even
|
|
340
|
+
* though the bridge node never starts. The message handler must gate on this
|
|
341
|
+
* (not `isMatterEnabled()`, which is false in externalsOnly) so external
|
|
342
|
+
* accessories on an externalsOnly child remain controllable and listable.
|
|
343
|
+
*/
|
|
344
|
+
hasActiveMatter() {
|
|
345
|
+
return this.isMatterEnabled() || this.externalsOnlyMode;
|
|
346
|
+
}
|
|
256
347
|
/**
|
|
257
348
|
* Enable state monitoring on all Matter servers
|
|
258
349
|
* Override to add bridge-specific logging
|
|
@@ -312,13 +403,19 @@ export class ChildBridgeMatterManager extends BaseMatterManager {
|
|
|
312
403
|
* Teardown Matter servers
|
|
313
404
|
*/
|
|
314
405
|
async teardown() {
|
|
315
|
-
// Remove API event listeners to prevent retention of this manager after teardown
|
|
406
|
+
// Remove API event listeners to prevent retention of this manager after teardown.
|
|
407
|
+
// EventEmitter.removeListener is a no-op when the listener was never attached,
|
|
408
|
+
// so it's safe to call all removals regardless of which mode initialised this manager.
|
|
316
409
|
this.api.removeListener("publishExternalMatterAccessories" /* InternalAPIEvent.PUBLISH_EXTERNAL_MATTER_ACCESSORIES */, this._onPublishExternalMatterAccessories);
|
|
410
|
+
this.api.removeListener("unregisterExternalMatterAccessories" /* InternalAPIEvent.UNREGISTER_EXTERNAL_MATTER_ACCESSORIES */, this._onUnregisterExternalMatterAccessories);
|
|
317
411
|
this.api.removeListener("registerMatterPlatformAccessories" /* InternalAPIEvent.REGISTER_MATTER_PLATFORM_ACCESSORIES */, this._onRegisterMatterPlatformAccessories);
|
|
318
412
|
this.api.removeListener("updateMatterPlatformAccessories" /* InternalAPIEvent.UPDATE_MATTER_PLATFORM_ACCESSORIES */, this._onUpdateMatterPlatformAccessories);
|
|
319
413
|
this.api.removeListener("unregisterMatterPlatformAccessories" /* InternalAPIEvent.UNREGISTER_MATTER_PLATFORM_ACCESSORIES */, this._onUnregisterMatterPlatformAccessories);
|
|
320
|
-
this.api.removeListener("unregisterExternalMatterAccessories" /* InternalAPIEvent.UNREGISTER_EXTERNAL_MATTER_ACCESSORIES */, this._onUnregisterExternalMatterAccessories);
|
|
321
414
|
this.api.removeListener("updateMatterAccessoryState" /* InternalAPIEvent.UPDATE_MATTER_ACCESSORY_STATE */, this._onUpdateMatterAccessoryState);
|
|
415
|
+
// externalsOnly mode drop stubs (UPDATE events use the real handlers above,
|
|
416
|
+
// already removed, so externals keep receiving updates in externalsOnly mode)
|
|
417
|
+
this.api.removeListener("registerMatterPlatformAccessories" /* InternalAPIEvent.REGISTER_MATTER_PLATFORM_ACCESSORIES */, this._onRegisterMatterPlatformAccessoriesDropped);
|
|
418
|
+
this.api.removeListener("unregisterMatterPlatformAccessories" /* InternalAPIEvent.UNREGISTER_MATTER_PLATFORM_ACCESSORIES */, this._onUnregisterMatterPlatformAccessoriesDropped);
|
|
322
419
|
// Stop main Matter server if it was initialized
|
|
323
420
|
if (this.matterServer) {
|
|
324
421
|
log.debug(`Stopping Matter server for child bridge ${this.bridgeConfig.username}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChildBridgeMatterManager.js","sourceRoot":"","sources":["../../src/matter/ChildBridgeMatterManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChildBridgeMatterManager.js","sourceRoot":"","sources":["../../src/matter/ChildBridgeMatterManager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,OAAO,MAAM,cAAc,CAAA;AAGlC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,UAAU,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAA;AACtF,OAAO,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAE1F,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAA;AACpD,MAAM,QAAQ,GAAG,IAAI,CAAA;AAarB;;GAEG;AACH,MAAM,OAAO,wBAAyB,SAAQ,iBAAiB;IAQ1C;IACA;IACA;IACA;IAVnB,0CAA0C;IACzB,YAAY,CAAe;IAE5C,0CAA0C;IAClC,kBAAkB,CAAS;IAEnC,YACmB,YAAiC,EACjC,aAA4B,EAC5B,GAAkB,EAClB,mBAAmD,EACpE,aAA4B;QAE5B,KAAK,CAAC,aAAa,CAAC,CAAA;QANH,iBAAY,GAAZ,YAAY,CAAqB;QACjC,kBAAa,GAAb,aAAa,CAAe;QAC5B,QAAG,GAAH,GAAG,CAAe;QAClB,wBAAmB,GAAnB,mBAAmB,CAAgC;QAIpE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,MAAM,CAAA;IACzC,CAAC;IAEkB,yBAAyB,CAAC,QAAgB;QAC3D,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IACtD,CAAC;IAED,kEAAkE;IACjD,mCAAmC,GAAG,CAAC,WAA8B,EAAE,cAAsB,EAAQ,EAAE;QACtH,IAAI,CAAC,gCAAgC,CAAC,WAAwC,EAAE,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9G,GAAG,CAAC,KAAK,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAA;YAClE,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC,cAAc,CAAC,CAAA;QACvD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IAEgB,oCAAoC,GAAG,CAAC,gBAAwB,EAAE,YAAoB,EAAE,WAA8B,EAAQ,EAAE;QAC/I,IAAI,CAAC,iCAAiC,CAAC,gBAAgB,EAAE,YAAY,EAAE,WAAwC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/H,GAAG,CAAC,KAAK,CAAC,6CAA6C,gBAAgB,GAAG,EAAE,KAAK,CAAC,CAAA;QACpF,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IAEgB,kCAAkC,GAAG,CAAC,WAA8B,EAAQ,EAAE;QAC7F,IAAI,CAAC,+BAA+B,CAAC,WAAwC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7F,GAAG,CAAC,KAAK,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAA;QACnE,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IAEgB,sCAAsC,GAAG,CAAC,gBAAwB,EAAE,YAAoB,EAAE,WAA8B,EAAQ,EAAE;QACjJ,IAAI,CAAC,mCAAmC,CAAC,gBAAgB,EAAE,YAAY,EAAE,WAAwC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACjI,GAAG,CAAC,KAAK,CAAC,+CAA+C,gBAAgB,GAAG,EAAE,KAAK,CAAC,CAAA;QACtF,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IAEgB,sCAAsC,GAAG,CAAC,WAA8B,EAAQ,EAAE;QACjG,IAAI,CAAC,mCAAmC,CAAC,WAAwC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACjG,GAAG,CAAC,KAAK,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAA;QACvE,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IAEgB,6BAA6B,GAAG,CAAC,IAAY,EAAE,OAAe,EAAE,UAAmC,EAAE,MAAe,EAAQ,EAAE;QAC7I,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACjF,yEAAyE;YACzE,sEAAsE;YACtE,0EAA0E;YAC1E,6DAA6D;YAC7D,IAAI,KAAK,YAAY,+BAA+B,EAAE,CAAC;gBACrD,GAAG,CAAC,KAAK,CAAC,oCAAoC,IAAI,mCAAmC,CAAC,CAAA;gBACtF,OAAM;YACR,CAAC;YACD,GAAG,CAAC,KAAK,CAAC,+CAA+C,IAAI,GAAG,EAAE,KAAK,CAAC,CAAA;QAC1E,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,8DAA8D;IAC7C,0BAA0B,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAsF,EAAQ,EAAE;QAC3K,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,aAAa;gBACjB,IAAI,EAAE;oBACJ,IAAI,EAAE,iBAAiB;oBACvB,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE;iBACvC;aACF,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAA;IAEO,6BAA6B,CAAuD;IAE5F,2EAA2E;IAC3E,0EAA0E;IAC1E,sEAAsE;IACtE,yBAAyB;IACR,2CAA2C,GAAG,CAAC,gBAAwB,EAAE,aAAqB,EAAE,WAA8B,EAAQ,EAAE;QACvJ,GAAG,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,YAAY,CAAC,QAAQ,iCAAiC,WAAW,CAAC,MAAM,2BAA2B,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,gBAAgB,gCAAgC,CAAC,CAAA;IACpO,CAAC,CAAA;IAEgB,6CAA6C,GAAG,CAAC,gBAAwB,EAAE,aAAqB,EAAE,WAA8B,EAAQ,EAAE;QACzJ,GAAG,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,YAAY,CAAC,QAAQ,oDAAoD,WAAW,CAAC,MAAM,2BAA2B,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,gBAAgB,gCAAgC,CAAC,CAAA;IACvP,CAAC,CAAA;IAED,2EAA2E;IAC3E,uEAAuE;IAC/D,iBAAiB,GAAG,KAAK,CAAA;IAEjC;;;;;;;;;;OAUG;IACH,KAAK,CAAC,UAAU,CAAC,sBAAmC;QAClD,yCAAyC;QACzC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAM;QACR,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;YAC5E,OAAM;QACR,CAAC;QAED,0EAA0E;QAC1E,sEAAsE;QACtE,yEAAyE;QACzE,yEAAyE;QACzE,sBAAsB;QACtB,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YAC7C,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,YAAY,CAAC,QAAQ,8GAA8G,CAAC,CAAA;YAClK,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;YAC7B,IAAI,CAAC,2BAA2B,EAAE,CAAA;YAClC,IAAI,CAAC,qBAAqB,EAAE,CAAA;YAC5B,OAAM;QACR,CAAC;QAED,gDAAgD;QAChD,GAAG,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,YAAY,CAAC,QAAQ,kEAAkE,CAAC,CAAA;QAEvH,yDAAyD;QACzD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC5B,wDAAwD;YACxD,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YACjF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;YAE7E,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CACb,mDAAmD;sBACjD,+GAA+G,CAClH,CAAA;YACH,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,UAAU,CAAA;YACnC,GAAG,CAAC,KAAK,CAAC,0BAA0B,IAAI,CAAC,YAAY,CAAC,IAAI,eAAe,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAA;QACrG,CAAC;QAED,sBAAsB;QACtB,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAE/C,mEAAmE;QACnE,IAAI,sBAAsB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAChD,IAAI,CAAC,6BAA6B,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE;gBACjE,GAAG,CAAC,IAAI,CAAC,wDAAwD,IAAI,CAAC,YAAY,CAAC,QAAQ,kBAAkB,YAAY,iBAAiB,WAAW,EAAE,CAAC,CAAA;gBACxJ,sBAAsB,EAAE,CAAA;YAC1B,CAAC,CAAA;YACD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,8BAA8B,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAA;QAC1F,CAAC;QAED,yDAAyD;QACzD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAA;QACtE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,YAA0B;QACxD,yCAAyC;QACzC,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAA;QAC5C,GAAG,CAAC,OAAO,CAAC,4DAA4D,EAAE,UAAU,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;QACnJ,GAAG,CAAC,KAAK,CAAC,2CAA2C,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAA;QAElF,uDAAuD;QACvD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QAErE,wCAAwC;QACxC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAErE,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC;YACnC,IAAI,EAAE,YAAY,CAAC,IAAI,IAAI,IAAI;YAC/B,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE;YAC9B,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,cAAc;YACrD,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,gBAAgB;YACrD,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY,IAAI,uBAAuB,CAAC,YAAY;YACpF,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,uBAAuB,CAAC,KAAK;YAC/D,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAgB,IAAI,UAAU,EAAE;YACpE,YAAY;YACZ,iBAAiB;SAClB,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA;QAE/B,wCAAwC;QACxC,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAEhC,yEAAyE;QACzE,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAE5C,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAA;QAClE,GAAG,CAAC,IAAI,CAAC,0CAA0C,IAAI,CAAC,YAAY,CAAC,QAAQ,2BAA2B,EAAE,iBAAiB,CAAC,CAAA;QAE5H,6CAA6C;QAC7C,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC,YAAY,CAAA;QAExD,8CAA8C;QAC9C,IAAI,CAAC,mBAAmB,EAAE,CAAA;IAC5B,CAAC;IAED;;;OAGG;IACK,mBAAmB;QACzB,IAAI,CAAC,2BAA2B,EAAE,CAAA;QAClC,IAAI,CAAC,0BAA0B,EAAE,CAAA;IACnC,CAAC;IAED;;;;OAIG;IACK,2BAA2B;QACjC,IAAI,CAAC,GAAG,CAAC,EAAE,gGAAuD,IAAI,CAAC,mCAAmC,CAAC,CAAA;QAC3G,IAAI,CAAC,GAAG,CAAC,EAAE,sGAA0D,IAAI,CAAC,sCAAsC,CAAC,CAAA;IACnH,CAAC;IAED;;;OAGG;IACK,0BAA0B;QAChC,IAAI,CAAC,GAAG,CAAC,EAAE,kGAAwD,IAAI,CAAC,oCAAoC,CAAC,CAAA;QAC7G,IAAI,CAAC,GAAG,CAAC,EAAE,8FAAsD,IAAI,CAAC,kCAAkC,CAAC,CAAA;QACzG,IAAI,CAAC,GAAG,CAAC,EAAE,sGAA0D,IAAI,CAAC,sCAAsC,CAAC,CAAA;QACjH,IAAI,CAAC,GAAG,CAAC,EAAE,oFAAiD,IAAI,CAAC,6BAA6B,CAAC,CAAA;IACjG,CAAC;IAED;;;;;OAKG;IACK,qBAAqB;QAC3B,6EAA6E;QAC7E,4EAA4E;QAC5E,gCAAgC;QAChC,IAAI,CAAC,GAAG,CAAC,EAAE,kGAAwD,IAAI,CAAC,2CAA2C,CAAC,CAAA;QACpH,IAAI,CAAC,GAAG,CAAC,EAAE,sGAA0D,IAAI,CAAC,6CAA6C,CAAC,CAAA;QACxH,2EAA2E;QAC3E,4EAA4E;QAC5E,2EAA2E;QAC3E,IAAI,CAAC,GAAG,CAAC,EAAE,8FAAsD,IAAI,CAAC,kCAAkC,CAAC,CAAA;QACzG,IAAI,CAAC,GAAG,CAAC,EAAE,oFAAiD,IAAI,CAAC,6BAA6B,CAAC,CAAA;IACjG,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gCAAgC,CAAC,WAAsC,EAAE,cAAsB;QACnG,GAAG,CAAC,IAAI,CAAC,cAAc,WAAW,CAAC,MAAM,4BAA4B,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,sBAAsB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAA;QAE9J,IAAI,CAAC;YACH,8DAA8D;YAC9D,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;YAErE,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;gBACpC,IAAI,CAAC;oBACH,6BAA6B;oBAC7B,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;wBACnD,GAAG,CAAC,IAAI,CAAC,6BAA6B,SAAS,CAAC,WAAW,KAAK,SAAS,CAAC,IAAI,wBAAwB,CAAC,CAAA;wBACvG,SAAQ;oBACV,CAAC;oBAED,4CAA4C;oBAC5C,MAAM,MAAM,GAAG,MAAM,8BAA8B,CAAC,SAAS,EAAE;wBAC7D,WAAW,EAAE,IAAI,CAAC,mBAAmB;wBACrC,iBAAiB;wBACjB,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,gBAAgB;qBACtD,CAAC,CAAA;oBAEF,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,oEAAoE;wBACpE,SAAQ;oBACV,CAAC;oBAED,4BAA4B;oBAC5B,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;oBAE7D,yDAAyD;oBACzD,qEAAqE;oBACrE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAA;oBAEhE,wEAAwE;oBACxE,gFAAgF;oBAChF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;wBACjB,OAAO,CAAC,IAAI,CAAC;4BACX,EAAE,EAAE,aAAa;4BACjB,IAAI,EAAE;gCACJ,IAAI,EAAE,4BAA4B;gCAClC,IAAI,EAAE;oCACJ,sBAAsB,EAAE,MAAM,CAAC,QAAQ;oCACvC,mBAAmB,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ;iCAChD;6BACF;yBACF,CAAC,CAAA;oBACJ,CAAC;oBAED,yBAAyB;oBACzB,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,IAAI,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;wBAClF,GAAG,CAAC,IAAI,CAAC,8BAA8B,SAAS,CAAC,WAAW,GAAG,CAAC,CAAA;wBAChE,GAAG,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAA;wBAC1D,GAAG,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC,CAAA;oBAC3E,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,GAAG,CAAC,KAAK,CAAC,+CAA+C,SAAS,CAAC,WAAW,GAAG,EAAE,KAAK,CAAC,CAAA;gBAC3F,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,mEAAmE;YACnE,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC,cAAc,CAAC,CAAA;QACvD,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,mBAAmB;QACjB,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7C,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAA;QAClE,OAAO;YACL,MAAM,EAAE,iBAAiB,CAAC,MAAM;YAChC,iBAAiB,EAAE,iBAAiB,CAAC,iBAAiB;YACtD,YAAY,EAAE,IAAI,CAAC,kBAAkB,IAAI,iBAAiB,CAAC,YAAY;YACvE,YAAY,EAAE,iBAAiB,CAAC,YAAY,IAAI,KAAK;YACrD,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,MAAM;SACvD,CAAA;IACH,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,KAAK,SAAS,CAAA;IACxC,CAAC;IAED;;;;;;;;OAQG;IACM,eAAe;QACtB,OAAO,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAA;IACzD,CAAC;IAED;;;OAGG;IACM,qBAAqB;QAC5B,GAAG,CAAC,KAAK,CAAC,qDAAqD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC5F,KAAK,CAAC,qBAAqB,EAAE,CAAA;IAC/B,CAAC;IAED;;;OAGG;IACM,sBAAsB;QAC7B,GAAG,CAAC,KAAK,CAAC,sDAAsD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC7F,KAAK,CAAC,sBAAsB,EAAE,CAAA;IAChC,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,MAAM,WAAW,GAAoB,EAAE,CAAA;QAEvC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAC5D,IAAI,CAAC,YAAY,CAAC,QAAQ,EAC1B,OAAO,EACP,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,cAAc,CACzC,CAAA;YACD,WAAW,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAA;QACxC,CAAC;QAED,gCAAgC;QAChC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,EAAE,CAAC;YACzD,MAAM,mBAAmB,GAAG,MAAM,CAAC,kBAAkB,CACnD,MAAM,CAAC,QAAQ,EACf,UAAU,EACV,MAAM,CAAC,UAAU,CAClB,CAAA;YACD,WAAW,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAA;QAC1C,CAAC;QAED,OAAO,WAAW,CAAA;IACpB,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,IAAY;QAC3B,oBAAoB;QACpB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;YACrD,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,EAAE,CAAC;YACzD,MAAM,IAAI,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;YAC1C,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,kFAAkF;QAClF,+EAA+E;QAC/E,uFAAuF;QACvF,IAAI,CAAC,GAAG,CAAC,cAAc,gGAAuD,IAAI,CAAC,mCAAmC,CAAC,CAAA;QACvH,IAAI,CAAC,GAAG,CAAC,cAAc,sGAA0D,IAAI,CAAC,sCAAsC,CAAC,CAAA;QAC7H,IAAI,CAAC,GAAG,CAAC,cAAc,kGAAwD,IAAI,CAAC,oCAAoC,CAAC,CAAA;QACzH,IAAI,CAAC,GAAG,CAAC,cAAc,8FAAsD,IAAI,CAAC,kCAAkC,CAAC,CAAA;QACrH,IAAI,CAAC,GAAG,CAAC,cAAc,sGAA0D,IAAI,CAAC,sCAAsC,CAAC,CAAA;QAC7H,IAAI,CAAC,GAAG,CAAC,cAAc,oFAAiD,IAAI,CAAC,6BAA6B,CAAC,CAAA;QAC3G,4EAA4E;QAC5E,8EAA8E;QAC9E,IAAI,CAAC,GAAG,CAAC,cAAc,kGAAwD,IAAI,CAAC,2CAA2C,CAAC,CAAA;QAChI,IAAI,CAAC,GAAG,CAAC,cAAc,sGAA0D,IAAI,CAAC,6CAA6C,CAAC,CAAA;QAEpI,gDAAgD;QAChD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,GAAG,CAAC,KAAK,CAAC,2CAA2C,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAA;YAClF,IAAI,CAAC;gBACH,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAA;gBAChF,IAAI,IAAI,CAAC,6BAA6B,EAAE,CAAC;oBACvC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,8BAA8B,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAA;gBACtG,CAAC;gBACD,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;YAChC,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,GAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAA;YACnD,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,KAAK,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC9D,GAAG,CAAC,KAAK,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAA;YACxD,IAAI,CAAC;gBACH,YAAY,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAA;gBAC3E,MAAM,YAAY,CAAC,IAAI,EAAE,CAAA;YAC3B,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,GAAG,CAAC,KAAK,CAAC,6CAA6C,IAAI,GAAG,EAAE,KAAK,CAAC,CAAA;YACxE,CAAC;QACH,CAAC;QACD,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAA;IACpC,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChildBridgeMatterMessageHandler.d.ts","sourceRoot":"","sources":["../../src/matter/ChildBridgeMatterMessageHandler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"ChildBridgeMatterMessageHandler.d.ts","sourceRoot":"","sources":["../../src/matter/ChildBridgeMatterMessageHandler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAY7E;;;GAGG;AACH,qBAAa,+BAA+B;IAExC,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,WAAW;gBAFX,aAAa,EAAE,wBAAwB,GAAG,SAAS,EACnD,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI;IAG5D;;OAEG;IACH,2BAA2B,IAAI,IAAI;IAMnC;;OAEG;IACH,0BAA0B,IAAI,IAAI;IAMlC;;OAEG;IACH,0BAA0B,CAAC,IAAI,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IA8CnE;;OAEG;IACH,4BAA4B,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAoClF;;OAEG;IACH,4BAA4B,CAAC,IAAI,EAAE;QACjC,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACnC,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,aAAa,CAAC,EAAE,MAAM,CAAA;KACvB,GAAG,IAAI;CA+CT"}
|
|
@@ -5,7 +5,11 @@
|
|
|
5
5
|
* Extracted from childBridgeFork.ts to minimize changes to core files.
|
|
6
6
|
*/
|
|
7
7
|
import { Logger } from '../logger.js';
|
|
8
|
-
|
|
8
|
+
// Import the routing sentinel from the lightweight module so this file
|
|
9
|
+
// stays free of transitive runtime `@matter/*` imports (see
|
|
10
|
+
// matterLazyLoading.spec.ts and CLAUDE.md). `./types.js` would load
|
|
11
|
+
// `@matter/main/clusters/*` at runtime; `./MatterError.js` does not.
|
|
12
|
+
import { MatterAccessoryNotOnBridgeError } from './MatterError.js';
|
|
9
13
|
const log = Logger.withPrefix('Matter/ChildMessageHandler');
|
|
10
14
|
/**
|
|
11
15
|
* Matter message handler for child bridge processes
|
|
@@ -24,7 +28,7 @@ export class ChildBridgeMatterMessageHandler {
|
|
|
24
28
|
* Handle start Matter monitoring request from parent process
|
|
25
29
|
*/
|
|
26
30
|
handleStartMatterMonitoring() {
|
|
27
|
-
if (this.matterManager?.
|
|
31
|
+
if (this.matterManager?.hasActiveMatter()) {
|
|
28
32
|
this.matterManager.enableStateMonitoring();
|
|
29
33
|
}
|
|
30
34
|
}
|
|
@@ -32,7 +36,7 @@ export class ChildBridgeMatterMessageHandler {
|
|
|
32
36
|
* Handle stop Matter monitoring request from parent process
|
|
33
37
|
*/
|
|
34
38
|
handleStopMatterMonitoring() {
|
|
35
|
-
if (this.matterManager?.
|
|
39
|
+
if (this.matterManager?.hasActiveMatter()) {
|
|
36
40
|
this.matterManager.disableStateMonitoring();
|
|
37
41
|
}
|
|
38
42
|
}
|
|
@@ -44,7 +48,7 @@ export class ChildBridgeMatterMessageHandler {
|
|
|
44
48
|
const correlationId = data?.correlationId;
|
|
45
49
|
try {
|
|
46
50
|
// Only collect accessories if Matter is actually enabled for this bridge
|
|
47
|
-
if (!this.matterManager?.
|
|
51
|
+
if (!this.matterManager?.hasActiveMatter()) {
|
|
48
52
|
log.debug('Matter not enabled, returning empty accessories list');
|
|
49
53
|
// Return empty accessories list for bridges without Matter
|
|
50
54
|
const event = {
|
|
@@ -90,7 +94,7 @@ export class ChildBridgeMatterMessageHandler {
|
|
|
90
94
|
const correlationId = data?.correlationId;
|
|
91
95
|
try {
|
|
92
96
|
// Only process if Matter is enabled for this bridge
|
|
93
|
-
if (!this.matterManager?.
|
|
97
|
+
if (!this.matterManager?.hasActiveMatter()) {
|
|
94
98
|
// Don't send a response - let parent handle timeout or try other bridges
|
|
95
99
|
return;
|
|
96
100
|
}
|
|
@@ -107,10 +111,13 @@ export class ChildBridgeMatterMessageHandler {
|
|
|
107
111
|
}
|
|
108
112
|
catch (error) {
|
|
109
113
|
log.error('Failed to get Matter accessory info:', error);
|
|
114
|
+
// Include uuid in the error payload so the parent server can correlate
|
|
115
|
+
// the response and cancel its pending fallback timer for this lookup.
|
|
110
116
|
const event = {
|
|
111
117
|
type: 'accessoryInfoData',
|
|
112
118
|
correlationId,
|
|
113
119
|
data: {
|
|
120
|
+
uuid: data?.uuid,
|
|
114
121
|
error: error instanceof Error ? error.message : 'Unknown error',
|
|
115
122
|
},
|
|
116
123
|
};
|
|
@@ -123,7 +130,7 @@ export class ChildBridgeMatterMessageHandler {
|
|
|
123
130
|
handleMatterAccessoryControl(data) {
|
|
124
131
|
const correlationId = data?.correlationId;
|
|
125
132
|
// Only process if Matter is enabled for this bridge
|
|
126
|
-
if (!this.matterManager?.
|
|
133
|
+
if (!this.matterManager?.hasActiveMatter()) {
|
|
127
134
|
// Silently ignore - this bridge doesn't have Matter enabled
|
|
128
135
|
log.debug(`Ignoring Matter control for ${data.uuid} - Matter not enabled on child bridge ${this.bridgeUsername}`);
|
|
129
136
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChildBridgeMatterMessageHandler.js","sourceRoot":"","sources":["../../src/matter/ChildBridgeMatterMessageHandler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,+BAA+B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ChildBridgeMatterMessageHandler.js","sourceRoot":"","sources":["../../src/matter/ChildBridgeMatterMessageHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExternalMatterAccessoryPublisher.d.ts","sourceRoot":"","sources":["../../src/matter/ExternalMatterAccessoryPublisher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAKzD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAK1C;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,+CAA+C;IAC/C,WAAW,EAAE;QACX,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;QAC3E,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAA;KAClD,CAAA;IACD,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,oCAAoC;IACpC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,mDAAmD;IACnD,MAAM,EAAE,YAAY,CAAA;IACpB,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAA;IAChB,gCAAgC;IAChC,iBAAiB,EAAE;QACjB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,iBAAiB,CAAC,EAAE,MAAM,CAAA;QAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,YAAY,EAAE,OAAO,CAAA;KACtB,CAAA;CACF;AAED;;;;;;;;GAQG;AACH,wBAAsB,8BAA8B,CAClD,SAAS,EAAE,uBAAuB,EAClC,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"ExternalMatterAccessoryPublisher.d.ts","sourceRoot":"","sources":["../../src/matter/ExternalMatterAccessoryPublisher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAKzD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAK1C;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,+CAA+C;IAC/C,WAAW,EAAE;QACX,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;QAC3E,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAA;KAClD,CAAA;IACD,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,oCAAoC;IACpC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,mDAAmD;IACnD,MAAM,EAAE,YAAY,CAAA;IACpB,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAA;IAChB,gCAAgC;IAChC,iBAAiB,EAAE;QACjB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,iBAAiB,CAAC,EAAE,MAAM,CAAA;QAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,YAAY,EAAE,OAAO,CAAA;KACtB,CAAA;CACF;AAED;;;;;;;;GAQG;AACH,wBAAsB,8BAA8B,CAClD,SAAS,EAAE,uBAAuB,EAClC,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,CA2G5C"}
|
|
@@ -70,18 +70,42 @@ export async function publishExternalMatterAccessory(accessory, context) {
|
|
|
70
70
|
catch (error) {
|
|
71
71
|
// Tear down the half-started server so we don't leak SIGINT/SIGTERM
|
|
72
72
|
// handlers, an open mDNS responder, and the matter.js event loop.
|
|
73
|
+
// Only release the port back to the allocator when we *know* the
|
|
74
|
+
// server isn't holding it any more — otherwise the allocator can
|
|
75
|
+
// hand the same port to a subsequent publish attempt and we hit
|
|
76
|
+
// EADDRINUSE. Two safe cases:
|
|
77
|
+
// - start() never completed (port wasn't bound)
|
|
78
|
+
// - start() completed AND stop() then completed cleanly
|
|
79
|
+
let portReleasable = !started;
|
|
73
80
|
if (started) {
|
|
74
81
|
try {
|
|
75
82
|
await matterServer.stop();
|
|
83
|
+
portReleasable = true;
|
|
76
84
|
}
|
|
77
85
|
catch (stopError) {
|
|
78
86
|
log.debug(`Failed to stop partially-started Matter server for ${accessory.displayName}:`, stopError);
|
|
79
87
|
}
|
|
80
88
|
}
|
|
89
|
+
else if (error?.portMayStillBeBound) {
|
|
90
|
+
// start() failed, but its internal cleanup could not close the
|
|
91
|
+
// half-built server node (ServerLifecycle flagged it), so the port may
|
|
92
|
+
// still be bound. Keep it reserved rather than risk EADDRINUSE on reuse.
|
|
93
|
+
portReleasable = false;
|
|
94
|
+
}
|
|
81
95
|
// Hand the port back to the allocator so it can be reused on the next
|
|
82
96
|
// publish attempt — without this, a single publish failure would
|
|
83
97
|
// permanently consume one slot in the Matter port range.
|
|
84
|
-
|
|
98
|
+
if (portReleasable) {
|
|
99
|
+
context.portService.releaseMatterPort?.(uniqueId);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
// The matter.js server may still be bound to the port (stop() failed, or
|
|
103
|
+
// start()'s internal cleanup couldn't close the half-built node), so we
|
|
104
|
+
// can't safely hand it back. The slot stays consumed until the process
|
|
105
|
+
// restarts — warn so operators can see a port was lost rather than
|
|
106
|
+
// silently shrinking the pool.
|
|
107
|
+
log.warn(`Leaving Matter port ${port} reserved for ${accessory.displayName} — the matter.js server may still be bound. This port stays unavailable until Homebridge restarts.`);
|
|
108
|
+
}
|
|
85
109
|
throw error;
|
|
86
110
|
}
|
|
87
111
|
log.info(`✓ External Matter accessory published: ${accessory.displayName} on port ${port} (bridge ${advertiseAddress})`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExternalMatterAccessoryPublisher.js","sourceRoot":"","sources":["../../src/matter/ExternalMatterAccessoryPublisher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAA;AAChD,MAAM,QAAQ,GAAG,IAAI,CAAA;AAoCrB;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,SAAkC,EAClC,OAAwC;IAExC,yCAAyC;IACzC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACpB,GAAG,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAA;QAC9D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAC3B,GAAG,CAAC,KAAK,CAAC,6BAA6B,SAAS,CAAC,IAAI,iCAAiC,CAAC,CAAA;QACvF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,0FAA0F;IAC1F,MAAM,gBAAgB,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAEjD,qDAAqD;IACrD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAEvD,sDAAsD;IACtD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAClE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,GAAG,CAAC,KAAK,CAAC,gEAAgE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAA;QAClG,GAAG,CAAC,KAAK,CAAC,+FAA+F,CAAC,CAAA;QAC1G,OAAO,IAAI,CAAA;IACb,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,mCAAmC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAA;IAE1F,oDAAoD;IACpD,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC;QACpC,IAAI;QACJ,QAAQ;QACR,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE;QAC9B,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,eAAe;QACrD,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;QAC5C,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,QAAQ,EAAE,yCAAyC;QAC3F,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,iBAAiB,EAAE,IAAI,EAAE,+CAA+C;QACxE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;KAC7C,CAAC,CAAA;IAEF,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,CAAC;QACH,+EAA+E;QAC/E,MAAM,YAAY,CAAC,KAAK,EAAE,CAAA;QAC1B,OAAO,GAAG,IAAI,CAAA;QAEd,uCAAuC;QACvC,MAAM,gBAAgB,GAAG,SAAS,CAAC,iBAAiB,IAAI,SAAS,CAAA;QAEjE,kDAAkD;QAClD,MAAM,YAAY,CAAC,2BAA2B,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;QAE/F,0FAA0F;QAC1F,MAAM,YAAY,CAAC,SAAS,EAAE,CAAA;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,oEAAoE;QACpE,kEAAkE;QAClE,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,YAAY,CAAC,IAAI,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"ExternalMatterAccessoryPublisher.js","sourceRoot":"","sources":["../../src/matter/ExternalMatterAccessoryPublisher.ts"],"names":[],"mappings":"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"}
|
|
@@ -204,6 +204,23 @@ export declare class MatterAPIImpl implements MatterAPI {
|
|
|
204
204
|
* Validates accessories before registration
|
|
205
205
|
* Returns a promise that resolves when all accessories are fully registered
|
|
206
206
|
*/
|
|
207
|
+
/**
|
|
208
|
+
* Guard the register/update/publish entry points. Two conditions must hold
|
|
209
|
+
* before these methods may emit, or the emitted event has no listener:
|
|
210
|
+
* bridged registrations are silently dropped, and external ones await a
|
|
211
|
+
* resolver that never fires (hanging forever).
|
|
212
|
+
*
|
|
213
|
+
* 1. The Matter manager must be attached — it is constructed only once
|
|
214
|
+
* Homebridge has finished launching, so calls during plugin
|
|
215
|
+
* initialisation are too early.
|
|
216
|
+
* 2. The manager must have active Matter on THIS bridge. `api.matter` can be
|
|
217
|
+
* exposed on the main bridge merely because a *child* bridge uses Matter;
|
|
218
|
+
* in that case the main manager attached no listeners, so a main-process
|
|
219
|
+
* call would drop/hang. `hasActiveMatter()` distinguishes this.
|
|
220
|
+
*
|
|
221
|
+
* @param cannotAction - leading clause, e.g. `${plugin}: Cannot register Matter accessories`
|
|
222
|
+
*/
|
|
223
|
+
private assertMatterReady;
|
|
207
224
|
registerPlatformAccessories(pluginIdentifier: PluginIdentifier, platformName: PlatformName, accessories: MatterAccessory[]): Promise<void>;
|
|
208
225
|
/**
|
|
209
226
|
* Update Matter platform accessories in the cache
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MatterAPIImpl.d.ts","sourceRoot":"","sources":["../../src/matter/MatterAPIImpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"MatterAPIImpl.d.ts","sourceRoot":"","sources":["../../src/matter/MatterAPIImpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAEzF,OAAO,KAAK,EAA2B,eAAe,EAAgB,MAAM,YAAY,CAAA;AAKxF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAgD9C;;;;;;;;;;;;;;GAcG;AACH,qBAAa,aAAc,YAAW,SAAS;IAGjC,OAAO,CAAC,QAAQ,CAAC,GAAG;IAFhC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;gBAED,GAAG,EAAE,aAAa;IAI/C;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA4CzB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAoB3B;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;OAEG;IACH,IAAI,IAAI,kEAEP;IAED;;OAEG;IACH,IAAI,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAEd;IAED;;OAEG;IACH,IAAI,QAAQ;;;;;;;;;;;;;;;;;MAEX;IAED;;OAEG;IACH,IAAI,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAEf;IAED;;OAEG;IACH,IAAI,KAAK;;;;;;;;;;;;;;;;;MAER;IAED;;;;;OAKG;IACH;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,iBAAiB;IAcnB,2BAA2B,CAC/B,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,eAAe,EAAE,GAC7B,OAAO,CAAC,IAAI,CAAC;IAqFhB;;;OAGG;IACG,yBAAyB,CAAC,WAAW,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAc9E;;;OAGG;IACG,6BAA6B,CACjC,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,eAAe,EAAE,GAC7B,OAAO,CAAC,IAAI,CAAC;IAqChB;;;OAGG;IACG,oBAAoB,CACxB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IA8BhB;;;;OAIG;IACG,iBAAiB,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAsChD"}
|
|
@@ -168,11 +168,37 @@ export class MatterAPIImpl {
|
|
|
168
168
|
* Validates accessories before registration
|
|
169
169
|
* Returns a promise that resolves when all accessories are fully registered
|
|
170
170
|
*/
|
|
171
|
+
/**
|
|
172
|
+
* Guard the register/update/publish entry points. Two conditions must hold
|
|
173
|
+
* before these methods may emit, or the emitted event has no listener:
|
|
174
|
+
* bridged registrations are silently dropped, and external ones await a
|
|
175
|
+
* resolver that never fires (hanging forever).
|
|
176
|
+
*
|
|
177
|
+
* 1. The Matter manager must be attached — it is constructed only once
|
|
178
|
+
* Homebridge has finished launching, so calls during plugin
|
|
179
|
+
* initialisation are too early.
|
|
180
|
+
* 2. The manager must have active Matter on THIS bridge. `api.matter` can be
|
|
181
|
+
* exposed on the main bridge merely because a *child* bridge uses Matter;
|
|
182
|
+
* in that case the main manager attached no listeners, so a main-process
|
|
183
|
+
* call would drop/hang. `hasActiveMatter()` distinguishes this.
|
|
184
|
+
*
|
|
185
|
+
* @param cannotAction - leading clause, e.g. `${plugin}: Cannot register Matter accessories`
|
|
186
|
+
*/
|
|
187
|
+
assertMatterReady(cannotAction) {
|
|
188
|
+
const matterManager = this.api._matterManager;
|
|
189
|
+
if (!matterManager) {
|
|
190
|
+
throw new Error(`${cannotAction} before Homebridge has finished launching. Do this from your platform's 'didFinishLaunching' event, not during plugin initialisation.`);
|
|
191
|
+
}
|
|
192
|
+
if (!matterManager.hasActiveMatter()) {
|
|
193
|
+
throw new Error(`${cannotAction}: Matter is not enabled for this bridge. api.matter is available because another bridge uses Matter, but this bridge has no active 'matter' configuration to register against.`);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
171
196
|
async registerPlatformAccessories(pluginIdentifier, platformName, accessories) {
|
|
172
197
|
if (accessories.length === 0) {
|
|
173
198
|
log.warn(`${pluginIdentifier}: Attempted to register 0 Matter accessories`);
|
|
174
199
|
return;
|
|
175
200
|
}
|
|
201
|
+
this.assertMatterReady(`${pluginIdentifier}: Cannot register Matter accessories`);
|
|
176
202
|
// Validate all accessories before registration
|
|
177
203
|
const validAccessories = this.validateAccessories(accessories, `registerPlatformAccessories (${pluginIdentifier}/${platformName})`);
|
|
178
204
|
if (validAccessories.length === 0) {
|
|
@@ -238,6 +264,7 @@ export class MatterAPIImpl {
|
|
|
238
264
|
log.warn('Attempted to update 0 Matter platform accessories');
|
|
239
265
|
return;
|
|
240
266
|
}
|
|
267
|
+
this.assertMatterReady('Cannot update Matter accessories');
|
|
241
268
|
log.debug(`Updating ${accessories.length} Matter platform accessor${accessories.length === 1 ? 'y' : 'ies'} in cache`);
|
|
242
269
|
// Emit event for Server/ChildBridgeFork to handle
|
|
243
270
|
this.api.emit("updateMatterPlatformAccessories" /* InternalAPIEvent.UPDATE_MATTER_PLATFORM_ACCESSORIES */, accessories);
|
|
@@ -251,6 +278,7 @@ export class MatterAPIImpl {
|
|
|
251
278
|
log.warn(`${pluginIdentifier}: Attempted to unregister 0 Matter accessories`);
|
|
252
279
|
return;
|
|
253
280
|
}
|
|
281
|
+
this.assertMatterReady(`${pluginIdentifier}: Cannot unregister Matter accessories`);
|
|
254
282
|
// Split accessories into normal (bridge) and external (standalone) based on device type
|
|
255
283
|
const normalAccessories = [];
|
|
256
284
|
const externalAccessories = [];
|
|
@@ -293,6 +321,7 @@ export class MatterAPIImpl {
|
|
|
293
321
|
}
|
|
294
322
|
// Validate cluster name (warning only, don't block)
|
|
295
323
|
this.validateClusterName(cluster, `updateAccessoryState (${uuid})`);
|
|
324
|
+
this.assertMatterReady(`Cannot update Matter accessory ${uuid}`);
|
|
296
325
|
log.debug(`Updating Matter accessory state: uuid=${uuid}, cluster=${cluster}, attributes=${Object.keys(attributes).join(', ')}${partId ? `, partId=${partId}` : ''}`);
|
|
297
326
|
// Emit the event (listeners will be called synchronously by EventEmitter)
|
|
298
327
|
this.api.emit("updateMatterAccessoryState" /* InternalAPIEvent.UPDATE_MATTER_ACCESSORY_STATE */, uuid, cluster, attributes, partId);
|