@matter/examples 0.12.4-alpha.0-20250209-00d44975c → 0.12.4-alpha.0-20250211-56b2c53a0

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.
@@ -85,6 +85,7 @@ class ControllerNode {
85
85
  id: uniqueId
86
86
  },
87
87
  autoConnect: false,
88
+ // Do not auto connect to the commissioned nodes
88
89
  adminFabricLabel
89
90
  });
90
91
  await commissioningController.start();
@@ -111,7 +112,9 @@ class ControllerNode {
111
112
  if (!nodes.includes(nodeId)) {
112
113
  throw new Error(`Node ${nodeId} not found in commissioned nodes`);
113
114
  }
114
- const node = await commissioningController.connectNode(nodeId);
115
+ const nodeDetails = commissioningController.getCommissionedNodesDetails();
116
+ console.log("Commissioned nodes details:", Logger.toJSON(nodeDetails.find((node2) => node2.nodeId === nodeId)));
117
+ const node = await commissioningController.getNode(nodeId);
115
118
  node.events.attributeChanged.on(
116
119
  ({ path: { nodeId: nodeId2, clusterId, endpointId, attributeName }, value }) => console.log(
117
120
  `attributeChangedCallback ${nodeId2}: Attribute ${endpointId}/${clusterId}/${attributeName} changed to ${Logger.toJSON(
@@ -145,7 +148,12 @@ class ControllerNode {
145
148
  node.events.structureChanged.on(() => {
146
149
  console.log(`Node ${nodeId} structure changed`);
147
150
  });
148
- await node.events.initialized;
151
+ if (!node.isConnected) {
152
+ node.connect();
153
+ }
154
+ if (!node.initialized) {
155
+ await node.events.initialized;
156
+ }
149
157
  node.logStructure();
150
158
  const descriptor = node.getRootClusterClient(DescriptorCluster);
151
159
  if (descriptor !== void 0) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/controller/ControllerNode.ts"],
4
- "mappings": "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",
5
- "names": ["nodeId", "info"]
4
+ "mappings": "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",
5
+ "names": ["node", "nodeId", "info"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/examples",
3
- "version": "0.12.4-alpha.0-20250209-00d44975c",
3
+ "version": "0.12.4-alpha.0-20250211-56b2c53a0",
4
4
  "description": "Matter.js examples and reference implementations",
5
5
  "keywords": [
6
6
  "iot",
@@ -52,13 +52,13 @@
52
52
  "matter-controller": "dist/esm/controller/ControllerNode.js"
53
53
  },
54
54
  "dependencies": {
55
- "@matter/main": "0.12.4-alpha.0-20250209-00d44975c",
56
- "@matter/nodejs": "0.12.4-alpha.0-20250209-00d44975c",
57
- "@matter/tools": "0.12.4-alpha.0-20250209-00d44975c",
58
- "esbuild": "^0.24.2"
55
+ "@matter/main": "0.12.4-alpha.0-20250211-56b2c53a0",
56
+ "@matter/nodejs": "0.12.4-alpha.0-20250211-56b2c53a0",
57
+ "@matter/tools": "0.12.4-alpha.0-20250211-56b2c53a0",
58
+ "esbuild": "^0.25.0"
59
59
  },
60
60
  "optionalDependencies": {
61
- "@matter/nodejs-ble": "0.12.4-alpha.0-20250209-00d44975c"
61
+ "@matter/nodejs-ble": "0.12.4-alpha.0-20250211-56b2c53a0"
62
62
  },
63
63
  "engines": {
64
64
  "node": ">=18.0.0"
@@ -121,38 +121,22 @@ class ControllerNode {
121
121
  }
122
122
  }
123
123
 
124
- /**
125
- * Create Matter Server and Controller Node
126
- *
127
- * To allow the device to be announced, found, paired and operated we need a MatterServer instance and add a
128
- * CommissioningController to it and add the just created device instance to it.
129
- * The Controller node defines the port where the server listens for the UDP packages of the Matter protocol
130
- * and initializes deice specific certificates and such.
131
- *
132
- * The below logic also adds command handlers for commands of clusters that normally are handled internally
133
- * like testEventTrigger (General Diagnostic Cluster) that can be implemented with the logic when these commands
134
- * are called.
135
- */
136
-
124
+ /** Create Matter Controller Node and bind it to the Environment. */
137
125
  const commissioningController = new CommissioningController({
138
126
  environment: {
139
127
  environment,
140
128
  id: uniqueId,
141
129
  },
142
- autoConnect: false,
130
+ autoConnect: false, // Do not auto connect to the commissioned nodes
143
131
  adminFabricLabel,
144
132
  });
145
133
 
146
- /**
147
- * Start the Matter Server
148
- *
149
- * After everything was plugged together we can start the server. When not delayed announcement is set for the
150
- * CommissioningServer node then this command also starts the announcement of the device into the network.
151
- */
134
+ /** Start the Matter Controller Node */
152
135
  await commissioningController.start();
153
136
 
137
+ // When we do not have a commissioned node we need to commission the device provided by CLI parameters
154
138
  if (!commissioningController.isCommissioned()) {
155
- const options = {
139
+ const options: NodeCommissioningOptions = {
156
140
  commissioning: commissioningOptions,
157
141
  discovery: {
158
142
  knownAddress: ip !== undefined && port !== undefined ? { ip, port, type: "udp" } : undefined,
@@ -167,16 +151,14 @@ class ControllerNode {
167
151
  },
168
152
  },
169
153
  passcode: setupPin,
170
- } as NodeCommissioningOptions;
154
+ };
171
155
  logger.info(`Commissioning ... ${Logger.toJSON(options)}`);
172
156
  const nodeId = await commissioningController.commissionNode(options);
173
157
 
174
158
  console.log(`Commissioning successfully done with nodeId ${nodeId}`);
175
159
  }
176
160
 
177
- /**
178
- * TBD
179
- */
161
+ // After commissioning or if we have a commissioned node we can connect to it
180
162
  try {
181
163
  const nodes = commissioningController.getCommissionedNodes();
182
164
  console.log("Found commissioned nodes:", Logger.toJSON(nodes));
@@ -186,11 +168,13 @@ class ControllerNode {
186
168
  throw new Error(`Node ${nodeId} not found in commissioned nodes`);
187
169
  }
188
170
 
189
- // Trigger node connection. Returns once process started, events are there to wait for completion
190
- // By default will subscript to all attributes and events
191
- const node = await commissioningController.connectNode(nodeId);
171
+ const nodeDetails = commissioningController.getCommissionedNodesDetails();
172
+ console.log("Commissioned nodes details:", Logger.toJSON(nodeDetails.find(node => node.nodeId === nodeId)));
173
+
174
+ // Get the node instance
175
+ const node = await commissioningController.getNode(nodeId);
192
176
 
193
- // React on generic events
177
+ // Subscribe to events of the node
194
178
  node.events.attributeChanged.on(({ path: { nodeId, clusterId, endpointId, attributeName }, value }) =>
195
179
  console.log(
196
180
  `attributeChangedCallback ${nodeId}: Attribute ${endpointId}/${clusterId}/${attributeName} changed to ${Logger.toJSON(
@@ -225,8 +209,15 @@ class ControllerNode {
225
209
  console.log(`Node ${nodeId} structure changed`);
226
210
  });
227
211
 
228
- // Now wait till the structure of the node gor initialized (potentially with persisted data)
229
- await node.events.initialized;
212
+ // Connect to the node if not already connected, this will automatically subscribe to all attributes and events
213
+ if (!node.isConnected) {
214
+ node.connect();
215
+ }
216
+
217
+ // Wait for initialization oif not yet initialized - this should only happen if we just commissioned it
218
+ if (!node.initialized) {
219
+ await node.events.initialized;
220
+ }
230
221
 
231
222
  // Or use this to wait for full remote initialization and reconnection.
232
223
  // Will only return when node is connected!