@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.
@@ -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;IA2MjC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CA2vB9B"}
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, getClusterById, QrPairingCodeCodec } from "@matter/main/types";
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
- this.#collectNodeDetails(nodeId).then(
103
- (nodeDetails) => {
104
- logger.debug(`[${connId}] Sending ${eventName} event for Node ${formatNodeId(nodeId)}`);
105
- ws.send(toBigIntAwareJson({ event: eventName, data: nodeDetails }));
106
- },
107
- (err) => logger.error(
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 cluster = getClusterById(clusterId);
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.connect();
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 = await this.#handleStartListening(args);
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 = await this.#handleGetNodes(args);
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: await this.#handleGetNodes(args),
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
- async #handleStartListening(_args) {
464
- return await this.#handleGetNodes({});
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 await this.#collectNodeDetails(nodeId);
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 await this.#collectNodeDetails(nodeId);
544
+ return this.#collectNodeDetails(nodeId);
542
545
  }
543
- async #handleGetNodes(args) {
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 = await this.#collectNodeDetails(node);
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 await this.#commandHandler.getNodeDetails(nodeId, this.#lastInterviewDates.get(nodeId));
570
+ return this.#commandHandler.getNodeDetails(nodeId, this.#lastInterviewDates.get(nodeId));
568
571
  }
569
- return await handler.getNodeDetails(nodeId);
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
- async #collectNodeDetails(nodeId) {
808
+ #collectNodeDetails(nodeId) {
806
809
  const lastInterviewDate = this.#lastInterviewDates.get(nodeId);
807
- return await this.#commandHandler.getNodeDetails(nodeId, lastInterviewDate);
810
+ return this.#commandHandler.getNodeDetails(nodeId, lastInterviewDate);
808
811
  }
809
812
  #convertCommandDataToWebSocketTagBased(clusterId, commandName, value, clusterData) {
810
813
  if (!clusterData) {
811
- const cluster = getClusterById(clusterId);
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter-server/ws-controller",
3
- "version": "0.3.6",
3
+ "version": "0.3.7",
4
4
  "type": "module",
5
5
  "description": "matter.js based Matter controller library",
6
6
  "bugs": {
@@ -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 { AttributeId, ClusterId, EndpointNumber, getClusterById } from "@matter/main/types";
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 for fast retrieval
28
- * when clients request node data. The cache is structured as:
29
- * nodeId -> endpointId -> clusterId -> attributeId -> value
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, EndpointAttributeCache>();
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 structure from the node's current state.
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 nodeCache = this.#cache.get(nodeId);
66
- if (!nodeCache) {
67
- nodeCache = new Map();
68
- this.#cache.set(nodeId, nodeCache);
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 cluster = getClusterById(clusterId);
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
- clusterCache.set(attributeId, convertedValue);
74
+ attributes[buildAttributePath(endpointId, clusterId, attributeId)] = convertedValue;
95
75
  }
96
76
 
97
77
  /**
98
- * Get cached attributes for a node as flat AttributesData.
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
- const nodeCache = this.#cache.get(nodeId);
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 cache structure.
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.connectionState === NodeStates.Disconnected || !node.node.lifecycle.isReady) {
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
- const nodeCache: EndpointAttributeCache = new Map();
138
- this.#collectAttributes(node.node, nodeCache);
139
- this.#cache.set(nodeId, nodeCache);
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
- * Recursively collect attributes from an endpoint into the cache structure.
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, nodeCache: EndpointAttributeCache): void {
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 clusterId = cluster.id;
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
- attributeValue,
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
- clusterCache.set(attribute.id, convertedValue);
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
- async connect() {
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
- // Initialize Node
360
- const node = await this.#registerNode(nodeId);
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
- // Trigger connect to node, default values are used
363
- node.connect({
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 to node "${this.#formatNode(nodeId)}":`, error);
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
- async getNodeDetails(nodeId: NodeId, lastInterviewDate?: Date): Promise<MatterNodeData> {
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
- const cluster = getClusterById(clusterId);
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[cluster.name.toLowerCase()];
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