@matter-server/ws-controller 0.7.1-alpha.0-20260519-621bab3 → 0.7.1
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/esm/controller/ControllerCommandHandler.d.ts +2 -1
- package/dist/esm/controller/ControllerCommandHandler.d.ts.map +1 -1
- package/dist/esm/controller/ControllerCommandHandler.js +7 -2
- package/dist/esm/controller/ControllerCommandHandler.js.map +1 -1
- package/dist/esm/controller/MatterController.d.ts +2 -0
- package/dist/esm/controller/MatterController.d.ts.map +1 -1
- package/dist/esm/controller/MatterController.js +6 -2
- package/dist/esm/controller/MatterController.js.map +1 -1
- package/dist/esm/server/WebSocketControllerHandler.d.ts.map +1 -1
- package/dist/esm/server/WebSocketControllerHandler.js +25 -2
- package/dist/esm/server/WebSocketControllerHandler.js.map +1 -1
- package/package.json +7 -7
- package/src/controller/ControllerCommandHandler.ts +13 -2
- package/src/controller/MatterController.ts +10 -2
- package/src/server/WebSocketControllerHandler.ts +39 -1
|
@@ -29,7 +29,7 @@ export declare class ControllerCommandHandler {
|
|
|
29
29
|
nodeEndpointRemoved: Observable<[nodeId: NodeId, endpointId: EndpointNumber], void>;
|
|
30
30
|
webRtcCallback: Observable<[WebRtcCallbackData], void>;
|
|
31
31
|
};
|
|
32
|
-
constructor(controllerInstance: CommissioningController, bleEnabled: boolean, otaEnabled: boolean);
|
|
32
|
+
constructor(controllerInstance: CommissioningController, bleEnabled: boolean, bleProxyEnabled: boolean, otaEnabled: boolean);
|
|
33
33
|
/**
|
|
34
34
|
* Format a NodeId as a PeerAddress string for logging.
|
|
35
35
|
* Uses the controller's fabric index when available, otherwise "?" is used.
|
|
@@ -37,6 +37,7 @@ export declare class ControllerCommandHandler {
|
|
|
37
37
|
formatNode(nodeId: NodeId): string;
|
|
38
38
|
get started(): boolean;
|
|
39
39
|
get bleEnabled(): boolean;
|
|
40
|
+
get bleProxyEnabled(): boolean;
|
|
40
41
|
start(): Promise<void>;
|
|
41
42
|
/** `originatingEndpointId` is server-injected; any client-supplied value in `payload` is overwritten. */
|
|
42
43
|
sendWebRtcProviderCommand(args: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControllerCommandHandler.d.ts","sourceRoot":"","sources":["../../../src/controller/ControllerCommandHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAEH,eAAe,EAIf,QAAQ,EACR,WAAW,EAMX,MAAM,EACN,UAAU,EAQb,MAAM,cAAc,CAAC;AAEtB,OAAO,EAMH,sBAAsB,EACzB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EACH,2BAA2B,EAC3B,uBAAuB,EAM1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAKH,cAAc,EAQjB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,uBAAuB,EAA4B,MAAM,yBAAyB,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAW5D,OAAO,EACH,uBAAuB,EACvB,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,8BAA8B,EAC9B,+BAA+B,EAC/B,qBAAqB,EACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACH,kBAAkB,EAElB,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,cAAc,EAGjB,MAAM,mCAAmC,CAAC;AAoD3C,qBAAa,wBAAwB;;
|
|
1
|
+
{"version":3,"file":"ControllerCommandHandler.d.ts","sourceRoot":"","sources":["../../../src/controller/ControllerCommandHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -97,6 +97,7 @@ class ControllerCommandHandler {
|
|
|
97
97
|
#started = false;
|
|
98
98
|
#connected = false;
|
|
99
99
|
#bleEnabled;
|
|
100
|
+
#bleProxyEnabled;
|
|
100
101
|
#otaEnabled;
|
|
101
102
|
/** Node management and attribute cache */
|
|
102
103
|
#nodes = new Nodes();
|
|
@@ -123,10 +124,11 @@ class ControllerCommandHandler {
|
|
|
123
124
|
webRtcCallback: new Observable()
|
|
124
125
|
};
|
|
125
126
|
#peers;
|
|
126
|
-
constructor(controllerInstance, bleEnabled, otaEnabled) {
|
|
127
|
+
constructor(controllerInstance, bleEnabled, bleProxyEnabled, otaEnabled) {
|
|
127
128
|
this.#controller = controllerInstance;
|
|
128
129
|
this.#bleEnabled = bleEnabled;
|
|
129
|
-
|
|
130
|
+
this.#bleProxyEnabled = bleProxyEnabled;
|
|
131
|
+
logger.info(`BLE is ${bleEnabled ? "enabled" : "disabled"}${bleProxyEnabled ? " (proxy mode)" : ""}`);
|
|
130
132
|
this.#otaEnabled = otaEnabled;
|
|
131
133
|
this.#customClusterPoller = new CustomClusterPoller({
|
|
132
134
|
nodeConnected: (peer) => !!(this.#nodes.has(peer.nodeId) && this.#nodes.get(peer.nodeId).isConnected),
|
|
@@ -161,6 +163,9 @@ class ControllerCommandHandler {
|
|
|
161
163
|
get bleEnabled() {
|
|
162
164
|
return this.#bleEnabled;
|
|
163
165
|
}
|
|
166
|
+
get bleProxyEnabled() {
|
|
167
|
+
return this.#bleProxyEnabled;
|
|
168
|
+
}
|
|
164
169
|
async start() {
|
|
165
170
|
if (this.#started) {
|
|
166
171
|
return;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/controller/ControllerCommandHandler.ts"],
|
|
4
|
-
"mappings": "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",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -21,6 +21,8 @@ export interface MatterControllerOptions {
|
|
|
21
21
|
serverId?: string;
|
|
22
22
|
/** Server version string (e.g., "0.2.10" or "0.2.10-alpha.0"). Used for BasicInformation cluster. */
|
|
23
23
|
serverVersion?: string;
|
|
24
|
+
/** BLE proxy mode: skip the `@matter/nodejs-ble` import; caller supplies the Ble implementation. */
|
|
25
|
+
bleProxyEnabled?: boolean;
|
|
24
26
|
}
|
|
25
27
|
export declare class MatterController {
|
|
26
28
|
#private;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MatterController.d.ts","sourceRoot":"","sources":["../../../src/controller/MatterController.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACH,KAAK,EAEL,MAAM,EAEN,WAAW,EAQX,SAAS,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAEhG,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAGhF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAsB,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"MatterController.d.ts","sourceRoot":"","sources":["../../../src/controller/MatterController.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACH,KAAK,EAEL,MAAM,EAEN,WAAW,EAQX,SAAS,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAEhG,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAGhF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAsB,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AA6B/E,wBAAsB,uBAAuB,CACzC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,KAAK,EAAE,KAAK,GACb,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,MAAM,WAAW,uBAAuB;IACpC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mHAAmH;IACnH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+HAA+H;IAC/H,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qGAAqG;IACrG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oGAAoG;IACpG,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAmBD,qBAAa,gBAAgB;;IAgBzB,OAAa,MAAM,CACf,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,uBAAuB,EAChC,UAAU,CAAC,EAAE,gBAAgB,6BA8DhC;IAED,YAAY,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,EAW9G;IAED,UAAgB,UAAU,CACtB,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAC1B,uBAAuB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,iBA8CnD;IAED,IAAI,cAAc,6BA4CjB;IAED,IAAI,aAAa,IAAI,qBAAqB,CAEzC;IAED,IAAI,eAAe,IAAI,QAAQ,CAAC,OAAO,sBAAsB,CAAC,CAK7D;IAgBD;;;OAGG;IACG,iBAAiB,kCAOtB;IAED;;;OAGG;IACG,kBAAkB,mCAOvB;IAED;;;OAGG;IACG,gBAAgB,iEAOrB;IAED;;;OAGG;IACG,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAErE;IAED;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAE9D;IAEK,uBAAuB,kBAgB5B;IAEK,IAAI,kBAIT;IAgBD;;;;OAIG;IACG,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAmB9D;CACJ"}
|
|
@@ -29,8 +29,9 @@ import { LegacyDataInjector } from "./LegacyDataInjector.js";
|
|
|
29
29
|
import { resolveServerId } from "./ServerIdResolver.js";
|
|
30
30
|
const logger = Logger.get("MatterController");
|
|
31
31
|
let bleSupportLoaded;
|
|
32
|
-
async function loadBleSupport(environment) {
|
|
32
|
+
async function loadBleSupport(environment, bleProxyEnabled) {
|
|
33
33
|
if (!environment.vars.get("ble.enable", false)) return;
|
|
34
|
+
if (bleProxyEnabled) return;
|
|
34
35
|
if (bleSupportLoaded === void 0) {
|
|
35
36
|
bleSupportLoaded = (async () => {
|
|
36
37
|
try {
|
|
@@ -68,11 +69,12 @@ class MatterController {
|
|
|
68
69
|
#enableTestNetDcl = false;
|
|
69
70
|
#disableOtaProvider = true;
|
|
70
71
|
#disableDclSeed = false;
|
|
72
|
+
#bleProxyEnabled = false;
|
|
71
73
|
#borderRouterDiscovery;
|
|
72
74
|
#webRtcRequestor;
|
|
73
75
|
#services;
|
|
74
76
|
static async create(environment, config, options, legacyData) {
|
|
75
|
-
await loadBleSupport(environment);
|
|
77
|
+
await loadBleSupport(environment, options.bleProxyEnabled ?? false);
|
|
76
78
|
const serverId = await resolveServerId(
|
|
77
79
|
environment,
|
|
78
80
|
config,
|
|
@@ -131,6 +133,7 @@ class MatterController {
|
|
|
131
133
|
this.#enableTestNetDcl = options.enableTestNetDcl ?? this.#enableTestNetDcl;
|
|
132
134
|
this.#disableOtaProvider = options.disableOtaProvider ?? this.#disableOtaProvider;
|
|
133
135
|
this.#disableDclSeed = options.disableDclSeed ?? this.#disableDclSeed;
|
|
136
|
+
this.#bleProxyEnabled = options.bleProxyEnabled ?? this.#bleProxyEnabled;
|
|
134
137
|
this.#services = this.#env.asDependent();
|
|
135
138
|
}
|
|
136
139
|
async initialize(vendorId, fabricId, legacyCommissionedDates) {
|
|
@@ -185,6 +188,7 @@ class MatterController {
|
|
|
185
188
|
this.#commandHandler = new ControllerCommandHandler(
|
|
186
189
|
this.#controllerInstance,
|
|
187
190
|
this.#env.vars.get("ble.enable", false),
|
|
191
|
+
this.#bleProxyEnabled,
|
|
188
192
|
!this.#disableOtaProvider
|
|
189
193
|
);
|
|
190
194
|
this.#commandHandler.events.started.once(async () => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/controller/MatterController.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,WAAW,UAAU,eAAe;AAC7C;AAAA,EAEI;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,OACG;AACP,SAAqB,uBAAuB,4BAA4B;AACxE,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AACzB,SAAS,8BAA8B;AACvC,SAAS,+BAA+B;AACxC,SAAS,gBAAgB;AAEzB,SAAS,sCAAsC;AAC/C,SAAS,6BAA6B;AACtC,SAAS,gCAAgC;AACzC,SAAS,0BAA4C;AACrD,SAAS,uBAAuB;AAEhC,MAAM,SAAS,OAAO,IAAI,kBAAkB;AAE5C,IAAI;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocketControllerHandler.d.ts","sourceRoot":"","sources":["../../../src/server/WebSocketControllerHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoBH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAKrE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAMH,eAAe,EAMlB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AA+BnD,yDAAyD;AACzD,qBAAa,0BAA2B,YAAW,gBAAgB;;
|
|
1
|
+
{"version":3,"file":"WebSocketControllerHandler.d.ts","sourceRoot":"","sources":["../../../src/server/WebSocketControllerHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoBH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAKrE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAMH,eAAe,EAMlB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AA+BnD,yDAAyD;AACzD,qBAAa,0BAA2B,YAAW,gBAAgB;;IAiB/D,YAAY,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAMrF;IAED;;;OAGG;IACH,MAAM;QAIE,OAAO;QACP,UAAU;MAEjB;IAoBD;;OAEG;IACH,eAAe,IAAI,eAAe,EAAE,CAEnC;IAED,gBAAgB,IAAI,IAAI,CAEvB;IAEK,QAAQ,CAAC,MAAM,EAAE,UAAU,iBAyQhC;IAED,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAkC1B;CAqyBJ"}
|
|
@@ -55,6 +55,8 @@ class WebSocketControllerHandler {
|
|
|
55
55
|
#closed = false;
|
|
56
56
|
#shuttingDown = false;
|
|
57
57
|
#serverObservers = new ObserverGroup();
|
|
58
|
+
/** Upgrade listener removers, one per HTTP server `register()` call (multi-bind). */
|
|
59
|
+
#removeUpgradeListeners = [];
|
|
58
60
|
/** Circular buffer for recent node events (max 25) */
|
|
59
61
|
#eventHistory = [];
|
|
60
62
|
/** Track when each node was last interviewed (connected) - keyed by nodeId */
|
|
@@ -105,7 +107,25 @@ class WebSocketControllerHandler {
|
|
|
105
107
|
}
|
|
106
108
|
async register(server) {
|
|
107
109
|
logger.info(`Starting server: matter-server/${this.#serverVersion} (matter.js/${MATTER_VERSION})`);
|
|
108
|
-
const
|
|
110
|
+
const isFirstBind = this.#wss === void 0;
|
|
111
|
+
const wss = this.#wss ??= new WebSocketServer({ noServer: true });
|
|
112
|
+
const upgradeHandler = (req, socket, head) => {
|
|
113
|
+
const path = req.url?.split("?")[0];
|
|
114
|
+
if (path === "/ws") {
|
|
115
|
+
req._matterHandledUpgrade = true;
|
|
116
|
+
wss.handleUpgrade(
|
|
117
|
+
req,
|
|
118
|
+
socket,
|
|
119
|
+
head,
|
|
120
|
+
(ws) => wss.emit("connection", ws, req)
|
|
121
|
+
);
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
server.on("upgrade", upgradeHandler);
|
|
125
|
+
this.#removeUpgradeListeners.push(() => server.removeListener("upgrade", upgradeHandler));
|
|
126
|
+
if (!isFirstBind) {
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
109
129
|
this.#serverObservers.on(this.#commandHandler.events.webRtcCallback, (data) => {
|
|
110
130
|
this.#broadcastEvent("webrtc_callback", data);
|
|
111
131
|
});
|
|
@@ -298,6 +318,8 @@ class WebSocketControllerHandler {
|
|
|
298
318
|
}
|
|
299
319
|
this.#closed = true;
|
|
300
320
|
this.#serverObservers.close();
|
|
321
|
+
for (const remove of this.#removeUpgradeListeners) remove();
|
|
322
|
+
this.#removeUpgradeListeners = [];
|
|
301
323
|
const shutdownMessage = toBigIntAwareJson({ event: "server_shutdown", data: {} });
|
|
302
324
|
this.#wss.clients.forEach((client) => {
|
|
303
325
|
if (client.readyState === 1) {
|
|
@@ -487,7 +509,8 @@ class WebSocketControllerHandler {
|
|
|
487
509
|
wifi_credentials_set: !!(this.#config.wifiSsid && this.#config.wifiCredentials),
|
|
488
510
|
wifi_ssid: this.#config.wifiSsid && this.#config.wifiCredentials ? this.#config.wifiSsid : void 0,
|
|
489
511
|
thread_credentials_set: !!this.#config.threadDataset,
|
|
490
|
-
bluetooth_enabled: this.#commandHandler.bleEnabled
|
|
512
|
+
bluetooth_enabled: this.#commandHandler.bleEnabled,
|
|
513
|
+
ble_proxy_enabled: this.#commandHandler.bleProxyEnabled
|
|
491
514
|
};
|
|
492
515
|
}
|
|
493
516
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/server/WebSocketControllerHandler.ts"],
|
|
4
|
-
"mappings": "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",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter-server/ws-controller",
|
|
3
|
-
"version": "0.7.1
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "matter.js based Matter controller library",
|
|
5
5
|
"homepage": "https://github.com/matter-js/matterjs-server",
|
|
6
6
|
"bugs": {
|
|
@@ -37,18 +37,18 @@
|
|
|
37
37
|
"test": "matter-test --force-exit"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@matter-server/ws-client": "0.7.1
|
|
41
|
-
"@matter/dcl-data": ">=2026.5.
|
|
42
|
-
"@matter/main": "0.17.0
|
|
43
|
-
"@project-chip/matter.js": "0.17.0
|
|
40
|
+
"@matter-server/ws-client": "0.7.1",
|
|
41
|
+
"@matter/dcl-data": ">=2026.5.20",
|
|
42
|
+
"@matter/main": "0.17.0",
|
|
43
|
+
"@project-chip/matter.js": "0.17.0",
|
|
44
44
|
"ws": "^8.20.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@types/node": "^25.
|
|
47
|
+
"@types/node": "^25.9.1",
|
|
48
48
|
"@types/ws": "^8.18.1"
|
|
49
49
|
},
|
|
50
50
|
"optionalDependencies": {
|
|
51
|
-
"@matter/nodejs-ble": "0.17.0
|
|
51
|
+
"@matter/nodejs-ble": "0.17.0"
|
|
52
52
|
},
|
|
53
53
|
"engines": {
|
|
54
54
|
"node": ">=20.19.0 <22.0.0 || >=22.13.0"
|
|
@@ -155,6 +155,7 @@ export class ControllerCommandHandler {
|
|
|
155
155
|
#started = false;
|
|
156
156
|
#connected = false;
|
|
157
157
|
readonly #bleEnabled: boolean;
|
|
158
|
+
readonly #bleProxyEnabled: boolean;
|
|
158
159
|
readonly #otaEnabled: boolean;
|
|
159
160
|
/** Node management and attribute cache */
|
|
160
161
|
#nodes = new Nodes();
|
|
@@ -182,11 +183,17 @@ export class ControllerCommandHandler {
|
|
|
182
183
|
};
|
|
183
184
|
#peers?: PeerSet;
|
|
184
185
|
|
|
185
|
-
constructor(
|
|
186
|
+
constructor(
|
|
187
|
+
controllerInstance: CommissioningController,
|
|
188
|
+
bleEnabled: boolean,
|
|
189
|
+
bleProxyEnabled: boolean,
|
|
190
|
+
otaEnabled: boolean,
|
|
191
|
+
) {
|
|
186
192
|
this.#controller = controllerInstance;
|
|
187
193
|
|
|
188
194
|
this.#bleEnabled = bleEnabled;
|
|
189
|
-
|
|
195
|
+
this.#bleProxyEnabled = bleProxyEnabled;
|
|
196
|
+
logger.info(`BLE is ${bleEnabled ? "enabled" : "disabled"}${bleProxyEnabled ? " (proxy mode)" : ""}`);
|
|
190
197
|
this.#otaEnabled = otaEnabled;
|
|
191
198
|
|
|
192
199
|
// Initialize custom cluster poller for Eve energy attributes etc.
|
|
@@ -230,6 +237,10 @@ export class ControllerCommandHandler {
|
|
|
230
237
|
return this.#bleEnabled;
|
|
231
238
|
}
|
|
232
239
|
|
|
240
|
+
get bleProxyEnabled() {
|
|
241
|
+
return this.#bleProxyEnabled;
|
|
242
|
+
}
|
|
243
|
+
|
|
233
244
|
async start() {
|
|
234
245
|
if (this.#started) {
|
|
235
246
|
return;
|
|
@@ -38,8 +38,11 @@ const logger = Logger.get("MatterController");
|
|
|
38
38
|
let bleSupportLoaded: Promise<void> | undefined;
|
|
39
39
|
|
|
40
40
|
// Lazy-load the optional `@matter/nodejs-ble` so a missing install only fails when BLE is enabled.
|
|
41
|
-
|
|
41
|
+
// In BLE proxy mode the proxy provides its own Ble implementation and the host does not
|
|
42
|
+
// need a local BLE adapter or `@matter/nodejs-ble` — skip the import entirely.
|
|
43
|
+
async function loadBleSupport(environment: Environment, bleProxyEnabled: boolean): Promise<void> {
|
|
42
44
|
if (!environment.vars.get("ble.enable", false)) return;
|
|
45
|
+
if (bleProxyEnabled) return;
|
|
43
46
|
if (bleSupportLoaded === undefined) {
|
|
44
47
|
bleSupportLoaded = (async () => {
|
|
45
48
|
try {
|
|
@@ -73,6 +76,8 @@ export interface MatterControllerOptions {
|
|
|
73
76
|
serverId?: string;
|
|
74
77
|
/** Server version string (e.g., "0.2.10" or "0.2.10-alpha.0"). Used for BasicInformation cluster. */
|
|
75
78
|
serverVersion?: string;
|
|
79
|
+
/** BLE proxy mode: skip the `@matter/nodejs-ble` import; caller supplies the Ble implementation. */
|
|
80
|
+
bleProxyEnabled?: boolean;
|
|
76
81
|
}
|
|
77
82
|
|
|
78
83
|
/**
|
|
@@ -103,6 +108,7 @@ export class MatterController {
|
|
|
103
108
|
#enableTestNetDcl = false;
|
|
104
109
|
#disableOtaProvider = true;
|
|
105
110
|
#disableDclSeed = false;
|
|
111
|
+
#bleProxyEnabled = false;
|
|
106
112
|
readonly #borderRouterDiscovery: BorderRouterDiscovery;
|
|
107
113
|
#webRtcRequestor?: Endpoint<typeof CameraControllerDevice>;
|
|
108
114
|
#services: SharedEnvironmentServices;
|
|
@@ -113,7 +119,7 @@ export class MatterController {
|
|
|
113
119
|
options: MatterControllerOptions,
|
|
114
120
|
legacyData?: LegacyServerData,
|
|
115
121
|
) {
|
|
116
|
-
await loadBleSupport(environment);
|
|
122
|
+
await loadBleSupport(environment, options.bleProxyEnabled ?? false);
|
|
117
123
|
|
|
118
124
|
// Resolve the server ID to use
|
|
119
125
|
const serverId = await resolveServerId(
|
|
@@ -184,6 +190,7 @@ export class MatterController {
|
|
|
184
190
|
this.#enableTestNetDcl = options.enableTestNetDcl ?? this.#enableTestNetDcl;
|
|
185
191
|
this.#disableOtaProvider = options.disableOtaProvider ?? this.#disableOtaProvider;
|
|
186
192
|
this.#disableDclSeed = options.disableDclSeed ?? this.#disableDclSeed;
|
|
193
|
+
this.#bleProxyEnabled = options.bleProxyEnabled ?? this.#bleProxyEnabled;
|
|
187
194
|
this.#services = this.#env.asDependent();
|
|
188
195
|
}
|
|
189
196
|
|
|
@@ -246,6 +253,7 @@ export class MatterController {
|
|
|
246
253
|
this.#commandHandler = new ControllerCommandHandler(
|
|
247
254
|
this.#controllerInstance,
|
|
248
255
|
this.#env.vars.get("ble.enable", false),
|
|
256
|
+
this.#bleProxyEnabled,
|
|
249
257
|
!this.#disableOtaProvider,
|
|
250
258
|
);
|
|
251
259
|
|
|
@@ -85,6 +85,8 @@ export class WebSocketControllerHandler implements WebServerHandler {
|
|
|
85
85
|
#closed = false;
|
|
86
86
|
#shuttingDown = false;
|
|
87
87
|
#serverObservers = new ObserverGroup();
|
|
88
|
+
/** Upgrade listener removers, one per HTTP server `register()` call (multi-bind). */
|
|
89
|
+
#removeUpgradeListeners: (() => void)[] = [];
|
|
88
90
|
/** Circular buffer for recent node events (max 25) */
|
|
89
91
|
#eventHistory: MatterNodeEvent[] = [];
|
|
90
92
|
/** Track when each node was last interviewed (connected) - keyed by nodeId */
|
|
@@ -142,7 +144,40 @@ export class WebSocketControllerHandler implements WebServerHandler {
|
|
|
142
144
|
|
|
143
145
|
async register(server: HttpServer) {
|
|
144
146
|
logger.info(`Starting server: matter-server/${this.#serverVersion} (matter.js/${MATTER_VERSION})`);
|
|
145
|
-
|
|
147
|
+
// Use noServer mode with a path-filtered upgrade listener.
|
|
148
|
+
// ws 8.x calls handleUpgrade unconditionally from its own upgrade listener, which
|
|
149
|
+
// sends HTTP 400 for non-matching paths and destroys the socket — breaking other
|
|
150
|
+
// WebSocket endpoints on the same server. By handling upgrade ourselves we only
|
|
151
|
+
// call handleUpgrade when the path actually matches.
|
|
152
|
+
//
|
|
153
|
+
// Reuse a single WSS across all bound HTTP servers (multi-listen-address): create
|
|
154
|
+
// it once, then attach a per-server upgrade listener that forwards into it. That
|
|
155
|
+
// keeps `broadcast`, `unregister`, and the connection bookkeeping consistent.
|
|
156
|
+
const isFirstBind = this.#wss === undefined;
|
|
157
|
+
const wss = (this.#wss ??= new WebSocketServer({ noServer: true }));
|
|
158
|
+
const upgradeHandler = (
|
|
159
|
+
req: { url?: string; _matterHandledUpgrade?: boolean },
|
|
160
|
+
socket: unknown,
|
|
161
|
+
head: unknown,
|
|
162
|
+
) => {
|
|
163
|
+
const path = req.url?.split("?")[0];
|
|
164
|
+
if (path === "/ws") {
|
|
165
|
+
req._matterHandledUpgrade = true;
|
|
166
|
+
wss.handleUpgrade(
|
|
167
|
+
req as Parameters<typeof wss.handleUpgrade>[0],
|
|
168
|
+
socket as Parameters<typeof wss.handleUpgrade>[1],
|
|
169
|
+
head as Parameters<typeof wss.handleUpgrade>[2],
|
|
170
|
+
ws => wss.emit("connection", ws, req),
|
|
171
|
+
);
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
server.on("upgrade", upgradeHandler);
|
|
175
|
+
this.#removeUpgradeListeners.push(() => server.removeListener("upgrade", upgradeHandler));
|
|
176
|
+
|
|
177
|
+
if (!isFirstBind) {
|
|
178
|
+
// Connection + observer wiring below is shared state; only attach once across binds.
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
146
181
|
|
|
147
182
|
// WebRTC callbacks fan out to every connected client, so subscribe once at the server
|
|
148
183
|
// level rather than per-connection.
|
|
@@ -381,6 +416,8 @@ export class WebSocketControllerHandler implements WebServerHandler {
|
|
|
381
416
|
|
|
382
417
|
this.#closed = true;
|
|
383
418
|
this.#serverObservers.close();
|
|
419
|
+
for (const remove of this.#removeUpgradeListeners) remove();
|
|
420
|
+
this.#removeUpgradeListeners = [];
|
|
384
421
|
// Send server_shutdown event to all connected clients before closing
|
|
385
422
|
const shutdownMessage = toBigIntAwareJson({ event: "server_shutdown", data: {} });
|
|
386
423
|
this.#wss.clients.forEach(client => {
|
|
@@ -579,6 +616,7 @@ export class WebSocketControllerHandler implements WebServerHandler {
|
|
|
579
616
|
wifi_ssid: this.#config.wifiSsid && this.#config.wifiCredentials ? this.#config.wifiSsid : undefined,
|
|
580
617
|
thread_credentials_set: !!this.#config.threadDataset,
|
|
581
618
|
bluetooth_enabled: this.#commandHandler.bleEnabled,
|
|
619
|
+
ble_proxy_enabled: this.#commandHandler.bleProxyEnabled,
|
|
582
620
|
};
|
|
583
621
|
}
|
|
584
622
|
|