@matter-server/ws-controller 0.3.6 → 0.3.7
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/AttributeDataCache.d.ts +5 -5
- package/dist/esm/controller/AttributeDataCache.d.ts.map +1 -1
- package/dist/esm/controller/AttributeDataCache.js +24 -56
- package/dist/esm/controller/AttributeDataCache.js.map +1 -1
- package/dist/esm/controller/ControllerCommandHandler.d.ts +9 -2
- package/dist/esm/controller/ControllerCommandHandler.d.ts.map +1 -1
- package/dist/esm/controller/ControllerCommandHandler.js +21 -8
- package/dist/esm/controller/ControllerCommandHandler.js.map +1 -1
- package/dist/esm/controller/MatterController.d.ts.map +1 -1
- package/dist/esm/controller/MatterController.js.map +1 -1
- package/dist/esm/server/Converters.d.ts +3 -0
- package/dist/esm/server/Converters.d.ts.map +1 -1
- package/dist/esm/server/Converters.js +65 -27
- package/dist/esm/server/Converters.js.map +2 -2
- package/dist/esm/server/WebSocketControllerHandler.d.ts.map +1 -1
- package/dist/esm/server/WebSocketControllerHandler.js +30 -28
- package/dist/esm/server/WebSocketControllerHandler.js.map +1 -1
- package/package.json +1 -1
- package/src/controller/AttributeDataCache.ts +29 -74
- package/src/controller/ControllerCommandHandler.ts +23 -10
- package/src/controller/MatterController.ts +0 -1
- package/src/server/Converters.ts +99 -36
- package/src/server/WebSocketControllerHandler.ts +53 -49
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/server/Converters.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": []
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["ConvKind"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocketControllerHandler.d.ts","sourceRoot":"","sources":["../../../src/server/WebSocketControllerHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,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;AA8BnD,yDAAyD;AACzD,qBAAa,0BAA2B,YAAW,gBAAgB;;gBAanD,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM;IAQtF;;;OAGG;IACH,MAAM;;;;IA2BN;;OAEG;IACH,eAAe,IAAI,eAAe,EAAE;IAI9B,QAAQ,CAAC,MAAM,EAAE,UAAU;
|
|
1
|
+
{"version":3,"file":"WebSocketControllerHandler.d.ts","sourceRoot":"","sources":["../../../src/server/WebSocketControllerHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,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;AA8BnD,yDAAyD;AACzD,qBAAa,0BAA2B,YAAW,gBAAgB;;gBAanD,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM;IAQtF;;;OAGG;IACH,MAAM;;;;IA2BN;;OAEG;IACH,eAAe,IAAI,eAAe,EAAE;IAI9B,QAAQ,CAAC,MAAM,EAAE,UAAU;IA4MjC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CA8vB9B"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { camelize, ClusterId, FabricIndex, Logger, LogLevel, Millis, NodeId, ObserverGroup } from "@matter/main";
|
|
7
|
-
import { EndpointNumber,
|
|
7
|
+
import { EndpointNumber, QrPairingCodeCodec } from "@matter/main/types";
|
|
8
8
|
import { NodeStates } from "@project-chip/matter.js/device";
|
|
9
9
|
import { WebSocketServer } from "ws";
|
|
10
10
|
import { TestNodeCommandHandler } from "../controller/TestNodeCommandHandler.js";
|
|
@@ -98,18 +98,19 @@ class WebSocketControllerHandler {
|
|
|
98
98
|
if (this.#closed || !listening) return;
|
|
99
99
|
switch (eventName) {
|
|
100
100
|
case "node_added":
|
|
101
|
-
case "node_updated":
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
101
|
+
case "node_updated": {
|
|
102
|
+
try {
|
|
103
|
+
const nodeDetails = this.#collectNodeDetails(nodeId);
|
|
104
|
+
logger.debug(`[${connId}] Sending ${eventName} event for Node ${formatNodeId(nodeId)}`);
|
|
105
|
+
ws.send(toBigIntAwareJson({ event: eventName, data: nodeDetails }));
|
|
106
|
+
} catch (err) {
|
|
107
|
+
logger.error(
|
|
108
108
|
`[${connId}] Failed to collect node details for Node ${formatNodeId(nodeId)}`,
|
|
109
109
|
err
|
|
110
|
-
)
|
|
111
|
-
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
112
|
break;
|
|
113
|
+
}
|
|
113
114
|
case "node_removed":
|
|
114
115
|
logger.debug(`[${connId}] Sending node_removed event for Node ${formatNodeId(nodeId)}`);
|
|
115
116
|
ws.send(toBigIntAwareJson({ event: eventName, data: nodeId }));
|
|
@@ -120,8 +121,7 @@ class WebSocketControllerHandler {
|
|
|
120
121
|
if (this.#closed) return;
|
|
121
122
|
const { endpointId, clusterId, attributeId } = data.path;
|
|
122
123
|
const pathStr = `${endpointId}/${clusterId}/${attributeId}`;
|
|
123
|
-
const
|
|
124
|
-
const clusterData = ClusterMap[cluster.name.toLowerCase()];
|
|
124
|
+
const clusterData = ClusterMap[clusterId];
|
|
125
125
|
const value = convertMatterToWebSocketTagBased(
|
|
126
126
|
data.value,
|
|
127
127
|
clusterData?.attributes[attributeId],
|
|
@@ -251,7 +251,7 @@ class WebSocketControllerHandler {
|
|
|
251
251
|
(err) => logger.error(`[${connId}] WebSocket handshake error`, err)
|
|
252
252
|
);
|
|
253
253
|
});
|
|
254
|
-
await this.#commandHandler.
|
|
254
|
+
await this.#commandHandler.initializeNodes();
|
|
255
255
|
}
|
|
256
256
|
unregister() {
|
|
257
257
|
if (!this.#wss || this.#closed) {
|
|
@@ -293,7 +293,7 @@ class WebSocketControllerHandler {
|
|
|
293
293
|
let enableListeners = void 0;
|
|
294
294
|
switch (command) {
|
|
295
295
|
case "start_listening":
|
|
296
|
-
result =
|
|
296
|
+
result = this.#handleStartListening(args);
|
|
297
297
|
enableListeners = true;
|
|
298
298
|
break;
|
|
299
299
|
case "set_default_fabric_label":
|
|
@@ -309,7 +309,7 @@ class WebSocketControllerHandler {
|
|
|
309
309
|
result = await this.#handleGetNode(args);
|
|
310
310
|
break;
|
|
311
311
|
case "get_nodes":
|
|
312
|
-
result =
|
|
312
|
+
result = this.#handleGetNodes(args);
|
|
313
313
|
break;
|
|
314
314
|
case "get_node_ip_addresses":
|
|
315
315
|
result = await this.#handleGetNodeIpAddresses(args);
|
|
@@ -335,7 +335,7 @@ class WebSocketControllerHandler {
|
|
|
335
335
|
case "diagnostics":
|
|
336
336
|
result = {
|
|
337
337
|
info: await this.#getServerInfo(),
|
|
338
|
-
nodes:
|
|
338
|
+
nodes: this.#handleGetNodes(args),
|
|
339
339
|
events: this.getEventHistory()
|
|
340
340
|
};
|
|
341
341
|
break;
|
|
@@ -460,8 +460,11 @@ class WebSocketControllerHandler {
|
|
|
460
460
|
logger.info("Broadcasting server_info_updated event", serverInfo);
|
|
461
461
|
this.#broadcastEvent("server_info_updated", serverInfo);
|
|
462
462
|
}
|
|
463
|
-
|
|
464
|
-
|
|
463
|
+
#handleStartListening(_args) {
|
|
464
|
+
logger.info("WebSocket server start_listening");
|
|
465
|
+
const data = this.#handleGetNodes({});
|
|
466
|
+
logger.info("WebSocket server start_listening. Returned", data.length, "nodes");
|
|
467
|
+
return data;
|
|
465
468
|
}
|
|
466
469
|
async #handleSetDefaultFabricLabel(args) {
|
|
467
470
|
const { label } = args;
|
|
@@ -500,7 +503,7 @@ class WebSocketControllerHandler {
|
|
|
500
503
|
wifiCredentials,
|
|
501
504
|
threadCredentials
|
|
502
505
|
});
|
|
503
|
-
return
|
|
506
|
+
return this.#collectNodeDetails(nodeId);
|
|
504
507
|
}
|
|
505
508
|
async #handleCommissionOnNetwork(args) {
|
|
506
509
|
const { setup_pin_code, filter_type, filter, ip_addr } = args;
|
|
@@ -538,13 +541,13 @@ class WebSocketControllerHandler {
|
|
|
538
541
|
}
|
|
539
542
|
await this.#config.set({ nextNodeId: nextNodeId + 1 });
|
|
540
543
|
const { nodeId } = await this.#commandHandler.commissionNode(commissionRequest);
|
|
541
|
-
return
|
|
544
|
+
return this.#collectNodeDetails(nodeId);
|
|
542
545
|
}
|
|
543
|
-
|
|
546
|
+
#handleGetNodes(args) {
|
|
544
547
|
const { only_available = false } = args ?? {};
|
|
545
548
|
const nodeDetails = new Array();
|
|
546
549
|
for (const node of this.#commandHandler.getNodeIds()) {
|
|
547
|
-
const details =
|
|
550
|
+
const details = this.#collectNodeDetails(node);
|
|
548
551
|
if (!only_available || details.available) {
|
|
549
552
|
nodeDetails.push(details);
|
|
550
553
|
}
|
|
@@ -564,9 +567,9 @@ class WebSocketControllerHandler {
|
|
|
564
567
|
throw ServerError.nodeNotExists(node_id);
|
|
565
568
|
}
|
|
566
569
|
if (handler === this.#commandHandler) {
|
|
567
|
-
return
|
|
570
|
+
return this.#commandHandler.getNodeDetails(nodeId, this.#lastInterviewDates.get(nodeId));
|
|
568
571
|
}
|
|
569
|
-
return
|
|
572
|
+
return handler.getNodeDetails(nodeId);
|
|
570
573
|
}
|
|
571
574
|
async #handleGetNodeIpAddresses(args) {
|
|
572
575
|
const { node_id, prefer_cache, scoped } = args;
|
|
@@ -802,14 +805,13 @@ class WebSocketControllerHandler {
|
|
|
802
805
|
const targetVersion = typeof software_version === "string" ? parseInt(software_version, 10) : software_version;
|
|
803
806
|
return await this.#commandHandler.updateNode(NodeId(node_id), targetVersion);
|
|
804
807
|
}
|
|
805
|
-
|
|
808
|
+
#collectNodeDetails(nodeId) {
|
|
806
809
|
const lastInterviewDate = this.#lastInterviewDates.get(nodeId);
|
|
807
|
-
return
|
|
810
|
+
return this.#commandHandler.getNodeDetails(nodeId, lastInterviewDate);
|
|
808
811
|
}
|
|
809
812
|
#convertCommandDataToWebSocketTagBased(clusterId, commandName, value, clusterData) {
|
|
810
813
|
if (!clusterData) {
|
|
811
|
-
|
|
812
|
-
clusterData = clusterData ?? ClusterMap[cluster.name.toLowerCase()];
|
|
814
|
+
clusterData = ClusterMap[clusterId];
|
|
813
815
|
}
|
|
814
816
|
if (clusterData === void 0 || clusterData.commands[commandName.toLowerCase()] === void 0) {
|
|
815
817
|
logger.warn(
|
|
@@ -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
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
import { ClientNode, ClusterBehavior, Logger, NodeId } from "@matter/main";
|
|
8
8
|
import { DecodedAttributeReportValue } from "@matter/main/protocol";
|
|
9
|
-
import {
|
|
10
|
-
import { NodeStates, PairedNode } from "@project-chip/matter.js/device";
|
|
9
|
+
import { PairedNode } from "@project-chip/matter.js/device";
|
|
11
10
|
import { ClusterMap } from "../model/ModelMapper.js";
|
|
12
11
|
import { buildAttributePath, convertMatterToWebSocketTagBased } from "../server/Converters.js";
|
|
13
12
|
import { AttributesData } from "../types/CommandHandler.js";
|
|
@@ -15,21 +14,15 @@ import { formatNodeId } from "../util/formatNodeId.js";
|
|
|
15
14
|
|
|
16
15
|
const logger = Logger.get("AttributeDataCache");
|
|
17
16
|
|
|
18
|
-
/**
|
|
19
|
-
* Nested cache structure for node attributes in WebSocket format.
|
|
20
|
-
* Structure: endpointId -> clusterId -> attributeId -> value
|
|
21
|
-
*/
|
|
22
|
-
type EndpointAttributeCache = Map<EndpointNumber, Map<ClusterId, Map<AttributeId, unknown>>>;
|
|
23
|
-
|
|
24
17
|
/**
|
|
25
18
|
* Cache for node attributes in WebSocket format.
|
|
26
19
|
*
|
|
27
|
-
* Stores attributes pre-converted to WebSocket tag-based format
|
|
28
|
-
*
|
|
29
|
-
*
|
|
20
|
+
* Stores attributes pre-converted to WebSocket tag-based format as flat
|
|
21
|
+
* "endpoint/cluster/attribute" keyed objects for direct retrieval when
|
|
22
|
+
* clients request node data.
|
|
30
23
|
*/
|
|
31
24
|
export class AttributeDataCache {
|
|
32
|
-
#cache = new Map<NodeId,
|
|
25
|
+
#cache = new Map<NodeId, AttributesData>();
|
|
33
26
|
|
|
34
27
|
/**
|
|
35
28
|
* Add a node to the cache and populate its attributes.
|
|
@@ -48,7 +41,7 @@ export class AttributeDataCache {
|
|
|
48
41
|
|
|
49
42
|
/**
|
|
50
43
|
* Update (reinitialize) the cache for a node.
|
|
51
|
-
* Creates a fresh cache
|
|
44
|
+
* Creates a fresh cache from the node's current state.
|
|
52
45
|
* Use this when the node structure may have changed (endpoints added/removed).
|
|
53
46
|
*/
|
|
54
47
|
update(node: PairedNode): void {
|
|
@@ -62,27 +55,14 @@ export class AttributeDataCache {
|
|
|
62
55
|
updateAttribute(nodeId: NodeId, data: DecodedAttributeReportValue<any>): void {
|
|
63
56
|
const { endpointId, clusterId, attributeId } = data.path;
|
|
64
57
|
|
|
65
|
-
let
|
|
66
|
-
if (!
|
|
67
|
-
|
|
68
|
-
this.#cache.set(nodeId,
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
let endpointCache = nodeCache.get(endpointId);
|
|
72
|
-
if (!endpointCache) {
|
|
73
|
-
endpointCache = new Map();
|
|
74
|
-
nodeCache.set(endpointId, endpointCache);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
let clusterCache = endpointCache.get(clusterId);
|
|
78
|
-
if (!clusterCache) {
|
|
79
|
-
clusterCache = new Map();
|
|
80
|
-
endpointCache.set(clusterId, clusterCache);
|
|
58
|
+
let attributes = this.#cache.get(nodeId);
|
|
59
|
+
if (!attributes) {
|
|
60
|
+
attributes = {};
|
|
61
|
+
this.#cache.set(nodeId, attributes);
|
|
81
62
|
}
|
|
82
63
|
|
|
83
64
|
// Convert and store the value
|
|
84
|
-
const
|
|
85
|
-
const clusterData = ClusterMap[cluster.name.toLowerCase()];
|
|
65
|
+
const clusterData = ClusterMap[clusterId];
|
|
86
66
|
const convertedValue = convertMatterToWebSocketTagBased(
|
|
87
67
|
data.value,
|
|
88
68
|
clusterData?.attributes[attributeId],
|
|
@@ -91,29 +71,15 @@ export class AttributeDataCache {
|
|
|
91
71
|
if (convertedValue === undefined) {
|
|
92
72
|
return;
|
|
93
73
|
}
|
|
94
|
-
|
|
74
|
+
attributes[buildAttributePath(endpointId, clusterId, attributeId)] = convertedValue;
|
|
95
75
|
}
|
|
96
76
|
|
|
97
77
|
/**
|
|
98
|
-
* Get cached attributes for a node
|
|
78
|
+
* Get cached attributes for a node.
|
|
99
79
|
* Returns undefined if no cache exists for the node.
|
|
100
80
|
*/
|
|
101
81
|
get(nodeId: NodeId): AttributesData | undefined {
|
|
102
|
-
|
|
103
|
-
if (!nodeCache) {
|
|
104
|
-
return undefined;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
const attributes: AttributesData = {};
|
|
108
|
-
for (const [endpointId, endpointCache] of nodeCache) {
|
|
109
|
-
for (const [clusterId, clusterCache] of endpointCache) {
|
|
110
|
-
for (const [attributeId, value] of clusterCache) {
|
|
111
|
-
const pathStr = buildAttributePath(endpointId, clusterId, attributeId);
|
|
112
|
-
attributes[pathStr] = value;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
return attributes;
|
|
82
|
+
return this.#cache.get(nodeId);
|
|
117
83
|
}
|
|
118
84
|
|
|
119
85
|
/**
|
|
@@ -125,67 +91,56 @@ export class AttributeDataCache {
|
|
|
125
91
|
|
|
126
92
|
/**
|
|
127
93
|
* Populate the cache for a node from its current state.
|
|
128
|
-
* Creates a completely fresh
|
|
94
|
+
* Creates a completely fresh flat attribute object.
|
|
129
95
|
*/
|
|
130
96
|
#populateFromNode(node: PairedNode): void {
|
|
131
97
|
const nodeId = node.nodeId;
|
|
132
|
-
if (!node.initialized || node.
|
|
98
|
+
if (!node.initialized || !node.node.lifecycle.isCommissioned || !node.node.lifecycle.isReady) {
|
|
133
99
|
logger.debug(`Node ${formatNodeId(nodeId)} not initialized, skipping cache population`);
|
|
134
100
|
return;
|
|
135
101
|
}
|
|
136
102
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
103
|
+
try {
|
|
104
|
+
const attributes: AttributesData = {};
|
|
105
|
+
this.#collectAttributes(node.node, attributes);
|
|
106
|
+
this.#cache.set(nodeId, attributes);
|
|
107
|
+
} catch (error) {
|
|
108
|
+
logger.warn(`Failed to populate attribute cache for node ${formatNodeId(nodeId)}:`, error);
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
140
111
|
logger.debug(`Populated attribute cache for node ${formatNodeId(nodeId)}`);
|
|
141
112
|
}
|
|
142
113
|
|
|
143
114
|
/**
|
|
144
|
-
*
|
|
145
|
-
* Always creates fresh maps for each endpoint and cluster to ensure no stale data.
|
|
115
|
+
* Collect attributes from all endpoints into a flat attribute object.
|
|
146
116
|
*/
|
|
147
|
-
#collectAttributes(node: ClientNode,
|
|
117
|
+
#collectAttributes(node: ClientNode, attributes: AttributesData): void {
|
|
148
118
|
for (const endpoint of node.endpoints) {
|
|
149
119
|
const endpointId = endpoint.number;
|
|
150
|
-
// Always create fresh maps for this endpoint
|
|
151
|
-
const endpointCache: Map<ClusterId, Map<AttributeId, unknown>> = new Map();
|
|
152
120
|
|
|
153
121
|
for (const behavior of endpoint.behaviors.active) {
|
|
154
122
|
if (!ClusterBehavior.is(behavior)) {
|
|
155
123
|
continue;
|
|
156
124
|
}
|
|
157
125
|
const cluster = behavior.cluster;
|
|
158
|
-
const
|
|
159
|
-
const clusterData = ClusterMap[cluster.name.toLowerCase()];
|
|
126
|
+
const clusterData = ClusterMap[cluster.id];
|
|
160
127
|
const clusterState = endpoint.stateOf(behavior) as Record<string, unknown>;
|
|
161
128
|
|
|
162
|
-
// Always create a fresh map for this cluster
|
|
163
|
-
const clusterCache: Map<AttributeId, unknown> = new Map();
|
|
164
|
-
|
|
165
129
|
for (const attributeName in cluster.attributes) {
|
|
166
130
|
const attribute = cluster.attributes[attributeName];
|
|
167
131
|
if (attribute === undefined) {
|
|
168
132
|
continue;
|
|
169
133
|
}
|
|
170
|
-
const attributeValue = clusterState[attributeName];
|
|
171
134
|
const convertedValue = convertMatterToWebSocketTagBased(
|
|
172
|
-
|
|
135
|
+
clusterState[attributeName],
|
|
173
136
|
clusterData?.attributes[attribute.id],
|
|
174
137
|
clusterData?.model,
|
|
175
138
|
);
|
|
176
139
|
if (convertedValue === undefined) {
|
|
177
140
|
continue;
|
|
178
141
|
}
|
|
179
|
-
|
|
142
|
+
attributes[buildAttributePath(endpointId, cluster.id, attribute.id)] = convertedValue;
|
|
180
143
|
}
|
|
181
|
-
|
|
182
|
-
if (clusterCache.size) {
|
|
183
|
-
endpointCache.set(clusterId, clusterCache);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
if (endpointCache.size) {
|
|
188
|
-
nodeCache.set(endpointId, endpointCache);
|
|
189
144
|
}
|
|
190
145
|
}
|
|
191
146
|
}
|
|
@@ -342,7 +342,14 @@ export class ControllerCommandHandler {
|
|
|
342
342
|
return node;
|
|
343
343
|
}
|
|
344
344
|
|
|
345
|
-
|
|
345
|
+
/**
|
|
346
|
+
* Initialize the controller, register all commissioned nodes (populates attribute caches),
|
|
347
|
+
* and start connecting them to the network.
|
|
348
|
+
*
|
|
349
|
+
* Guarded by #connected so it runs exactly once, even if called multiple times
|
|
350
|
+
* (e.g. when WebServer.start() registers handlers for multiple listen addresses).
|
|
351
|
+
*/
|
|
352
|
+
async initializeNodes() {
|
|
346
353
|
if (this.#connected) {
|
|
347
354
|
return;
|
|
348
355
|
}
|
|
@@ -356,16 +363,23 @@ export class ControllerCommandHandler {
|
|
|
356
363
|
for (const nodeId of nodes) {
|
|
357
364
|
try {
|
|
358
365
|
logger.info(`Initializing node "${this.#formatNode(nodeId)}" ...`);
|
|
359
|
-
|
|
360
|
-
|
|
366
|
+
await this.#registerNode(nodeId);
|
|
367
|
+
} catch (error) {
|
|
368
|
+
logger.warn(`Failed to initialize node "${this.#formatNode(nodeId)}":`, error);
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
logger.info(`All ${nodes.length} nodes initialized, starting connections`);
|
|
361
373
|
|
|
362
|
-
|
|
363
|
-
|
|
374
|
+
// Start connecting nodes to the network (fire-and-forget, actual I/O is async).
|
|
375
|
+
for (const nodeId of this.#nodes.getIds()) {
|
|
376
|
+
try {
|
|
377
|
+
this.#nodes.get(nodeId).connect({
|
|
364
378
|
subscribeMinIntervalFloorSeconds: 1,
|
|
365
379
|
subscribeMaxIntervalCeilingSeconds: undefined,
|
|
366
380
|
});
|
|
367
381
|
} catch (error) {
|
|
368
|
-
logger.warn(`Failed to connect
|
|
382
|
+
logger.warn(`Failed to connect node "${this.#formatNode(nodeId)}":`, error);
|
|
369
383
|
}
|
|
370
384
|
}
|
|
371
385
|
}
|
|
@@ -412,7 +426,7 @@ export class ControllerCommandHandler {
|
|
|
412
426
|
* @param nodeId The node ID
|
|
413
427
|
* @param lastInterviewDate Optional last interview date (tracked externally)
|
|
414
428
|
*/
|
|
415
|
-
|
|
429
|
+
getNodeDetails(nodeId: NodeId, lastInterviewDate?: Date): MatterNodeData {
|
|
416
430
|
const node = this.#nodes.get(nodeId);
|
|
417
431
|
const attributeCache = this.#nodes.attributeCache;
|
|
418
432
|
|
|
@@ -509,8 +523,7 @@ export class ControllerCommandHandler {
|
|
|
509
523
|
) {
|
|
510
524
|
const { endpointId, clusterId, attributeId } = path;
|
|
511
525
|
if (!clusterData) {
|
|
512
|
-
|
|
513
|
-
clusterData = ClusterMap[cluster.name.toLowerCase()];
|
|
526
|
+
clusterData = ClusterMap[clusterId];
|
|
514
527
|
}
|
|
515
528
|
return {
|
|
516
529
|
pathStr: buildAttributePath(endpointId, clusterId, attributeId),
|
|
@@ -735,7 +748,7 @@ export class ControllerCommandHandler {
|
|
|
735
748
|
if (Object.keys(commandData).length === 0) {
|
|
736
749
|
commandData = undefined;
|
|
737
750
|
} else {
|
|
738
|
-
const clusterEntry = ClusterMap[
|
|
751
|
+
const clusterEntry = ClusterMap[clusterId];
|
|
739
752
|
const model = clusterEntry?.commands[commandName.toLowerCase()];
|
|
740
753
|
if (cluster && model) {
|
|
741
754
|
commandData = convertCommandDataToMatter(commandData, model, clusterEntry.model);
|
|
@@ -25,7 +25,6 @@ import { ConfigStorage } from "../server/ConfigStorage.js";
|
|
|
25
25
|
import { ControllerCommandHandler } from "./ControllerCommandHandler.js";
|
|
26
26
|
import { LegacyDataInjector, LegacyServerData } from "./LegacyDataInjector.js";
|
|
27
27
|
import { resolveServerId } from "./ServerIdResolver.js";
|
|
28
|
-
|
|
29
28
|
// Register BLE
|
|
30
29
|
import "@matter/nodejs-ble";
|
|
31
30
|
|