@project-chip/matter.js 0.13.0-alpha.0-20250318-c1aa38b08 → 0.13.0-alpha.0-20250323-770919c6a
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/cjs/CommissioningController.d.ts +31 -9
- package/dist/cjs/CommissioningController.d.ts.map +1 -1
- package/dist/cjs/CommissioningController.js +34 -16
- package/dist/cjs/CommissioningController.js.map +1 -1
- package/dist/cjs/MatterController.d.ts +13 -3
- package/dist/cjs/MatterController.d.ts.map +1 -1
- package/dist/cjs/MatterController.js +41 -21
- package/dist/cjs/MatterController.js.map +2 -2
- package/dist/cjs/PaseCommissioner.js +1 -1
- package/dist/cjs/PaseCommissioner.js.map +1 -1
- package/dist/cjs/cluster/server/ClusterServer.js +9 -9
- package/dist/cjs/cluster/server/ClusterServer.js.map +1 -1
- package/dist/cjs/device/PairedNode.d.ts.map +1 -1
- package/dist/cjs/device/PairedNode.js +23 -14
- package/dist/cjs/device/PairedNode.js.map +1 -1
- package/dist/esm/CommissioningController.d.ts +31 -9
- package/dist/esm/CommissioningController.d.ts.map +1 -1
- package/dist/esm/CommissioningController.js +35 -16
- package/dist/esm/CommissioningController.js.map +1 -1
- package/dist/esm/MatterController.d.ts +13 -3
- package/dist/esm/MatterController.d.ts.map +1 -1
- package/dist/esm/MatterController.js +43 -23
- package/dist/esm/MatterController.js.map +1 -1
- package/dist/esm/PaseCommissioner.js +1 -1
- package/dist/esm/PaseCommissioner.js.map +1 -1
- package/dist/esm/cluster/server/ClusterServer.js +10 -10
- package/dist/esm/cluster/server/ClusterServer.js.map +1 -1
- package/dist/esm/device/PairedNode.d.ts.map +1 -1
- package/dist/esm/device/PairedNode.js +23 -14
- package/dist/esm/device/PairedNode.js.map +1 -1
- package/package.json +8 -8
- package/src/CommissioningController.ts +67 -17
- package/src/MatterController.ts +56 -24
- package/src/PaseCommissioner.ts +1 -1
- package/src/cluster/server/ClusterServer.ts +11 -11
- package/src/device/PairedNode.ts +29 -20
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/device/PairedNode.ts"],
|
|
4
|
-
"mappings": "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",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["NodeStates", "NodeStateInformation"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@project-chip/matter.js",
|
|
3
|
-
"version": "0.13.0-alpha.0-
|
|
3
|
+
"version": "0.13.0-alpha.0-20250323-770919c6a",
|
|
4
4
|
"description": "Matter protocol in pure js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -44,16 +44,16 @@
|
|
|
44
44
|
"#*": "./src/*"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@matter/general": "0.13.0-alpha.0-
|
|
48
|
-
"@matter/model": "0.13.0-alpha.0-
|
|
49
|
-
"@matter/node": "0.13.0-alpha.0-
|
|
50
|
-
"@matter/protocol": "0.13.0-alpha.0-
|
|
51
|
-
"@matter/types": "0.13.0-alpha.0-
|
|
47
|
+
"@matter/general": "0.13.0-alpha.0-20250323-770919c6a",
|
|
48
|
+
"@matter/model": "0.13.0-alpha.0-20250323-770919c6a",
|
|
49
|
+
"@matter/node": "0.13.0-alpha.0-20250323-770919c6a",
|
|
50
|
+
"@matter/protocol": "0.13.0-alpha.0-20250323-770919c6a",
|
|
51
|
+
"@matter/types": "0.13.0-alpha.0-20250323-770919c6a",
|
|
52
52
|
"@noble/curves": "^1.8.1"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@matter/tools": "0.13.0-alpha.0-
|
|
56
|
-
"@matter/testing": "0.13.0-alpha.0-
|
|
55
|
+
"@matter/tools": "0.13.0-alpha.0-20250323-770919c6a",
|
|
56
|
+
"@matter/testing": "0.13.0-alpha.0-20250323-770919c6a"
|
|
57
57
|
},
|
|
58
58
|
"files": [
|
|
59
59
|
"dist/**/*",
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
import { OperationalCredentials } from "#clusters";
|
|
8
8
|
import {
|
|
9
|
+
ClassExtends,
|
|
9
10
|
Environment,
|
|
10
11
|
ImplementationError,
|
|
11
12
|
InternalError,
|
|
@@ -24,6 +25,7 @@ import {
|
|
|
24
25
|
Ble,
|
|
25
26
|
CommissionableDevice,
|
|
26
27
|
CommissionableDeviceIdentifiers,
|
|
28
|
+
ControllerCommissioningFlow,
|
|
27
29
|
ControllerDiscovery,
|
|
28
30
|
DecodedAttributeReportValue,
|
|
29
31
|
DiscoveryAndCommissioningOptions,
|
|
@@ -32,6 +34,7 @@ import {
|
|
|
32
34
|
MdnsBroadcaster,
|
|
33
35
|
MdnsScanner,
|
|
34
36
|
MdnsService,
|
|
37
|
+
MessageChannel,
|
|
35
38
|
NodeDiscoveryType,
|
|
36
39
|
ScannerSet,
|
|
37
40
|
} from "#protocol";
|
|
@@ -44,6 +47,7 @@ import {
|
|
|
44
47
|
TypeFromPartialBitSchema,
|
|
45
48
|
VendorId,
|
|
46
49
|
} from "#types";
|
|
50
|
+
import { CertificateAuthority, Fabric } from "@matter/protocol";
|
|
47
51
|
import { CommissioningControllerNodeOptions, NodeStates, PairedNode } from "./device/PairedNode.js";
|
|
48
52
|
import { MatterController } from "./MatterController.js";
|
|
49
53
|
|
|
@@ -121,6 +125,24 @@ export type CommissioningControllerOptions = CommissioningControllerNodeOptions
|
|
|
121
125
|
* on the environment when you call start().
|
|
122
126
|
*/
|
|
123
127
|
readonly environment?: ControllerEnvironmentOptions;
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* The NodeId of the root node to use for the controller. This is only needed if a special NodeId needs to be used
|
|
131
|
+
* but certificates should be self-generated. By default, a random operational ID is generated.
|
|
132
|
+
*/
|
|
133
|
+
readonly rootNodeId?: NodeId;
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* If provided this Certificate Authority instance is used to fetch or get all relevant certificates for the
|
|
137
|
+
* Controller. If not provided a new Certificate Authority instance is created and certificates will be self-generated.
|
|
138
|
+
*/
|
|
139
|
+
readonly rootCertificateAuthority?: CertificateAuthority;
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* If provided this Fabric instance is used for this controller. The instance need to be in sync with the provided
|
|
143
|
+
* or stored certificate authority. If provided then rootFabricId, rootFabricIndex and rootFabricLabel are ignored.
|
|
144
|
+
*/
|
|
145
|
+
readonly rootFabric?: Fabric;
|
|
124
146
|
};
|
|
125
147
|
|
|
126
148
|
/** Options needed to commission a new node */
|
|
@@ -200,8 +222,15 @@ export class CommissioningController {
|
|
|
200
222
|
if (this.#controllerInstance !== undefined) {
|
|
201
223
|
return this.#controllerInstance;
|
|
202
224
|
}
|
|
203
|
-
const {
|
|
204
|
-
|
|
225
|
+
const {
|
|
226
|
+
localPort,
|
|
227
|
+
adminFabricId,
|
|
228
|
+
adminVendorId,
|
|
229
|
+
adminFabricIndex,
|
|
230
|
+
caseAuthenticatedTags,
|
|
231
|
+
adminFabricLabel,
|
|
232
|
+
rootNodeId,
|
|
233
|
+
} = this.#options;
|
|
205
234
|
|
|
206
235
|
if (environment === undefined && storage === undefined) {
|
|
207
236
|
throw new ImplementationError("Storage not initialized correctly.");
|
|
@@ -236,6 +265,7 @@ export class CommissioningController {
|
|
|
236
265
|
adminFabricIndex,
|
|
237
266
|
caseAuthenticatedTags,
|
|
238
267
|
adminFabricLabel,
|
|
268
|
+
rootNodeId,
|
|
239
269
|
});
|
|
240
270
|
if (this.#mdnsBroadcaster) {
|
|
241
271
|
controller.addBroadcaster(this.#mdnsBroadcaster.createInstanceBroadcaster(port));
|
|
@@ -247,11 +277,19 @@ export class CommissioningController {
|
|
|
247
277
|
* Commissions/Pairs a new device into the controller fabric. The method returns the NodeId of the commissioned
|
|
248
278
|
* node on success.
|
|
249
279
|
*/
|
|
250
|
-
async commissionNode(
|
|
280
|
+
async commissionNode(
|
|
281
|
+
nodeOptions: NodeCommissioningOptions,
|
|
282
|
+
commissionOptions?: {
|
|
283
|
+
connectNodeAfterCommissioning?: boolean;
|
|
284
|
+
commissioningFlowImpl?: ClassExtends<ControllerCommissioningFlow>;
|
|
285
|
+
},
|
|
286
|
+
) {
|
|
251
287
|
this.#assertIsAddedToMatterServer();
|
|
252
288
|
const controller = this.#assertControllerIsStarted();
|
|
253
289
|
|
|
254
|
-
const
|
|
290
|
+
const { connectNodeAfterCommissioning = true, commissioningFlowImpl } = commissionOptions ?? {};
|
|
291
|
+
|
|
292
|
+
const nodeId = await controller.commission(nodeOptions, { commissioningFlowImpl });
|
|
255
293
|
|
|
256
294
|
if (connectNodeAfterCommissioning) {
|
|
257
295
|
const node = await this.connectNode(nodeId, {
|
|
@@ -268,6 +306,13 @@ export class CommissioningController {
|
|
|
268
306
|
return nodeId;
|
|
269
307
|
}
|
|
270
308
|
|
|
309
|
+
connectPaseChannel(nodeOptions: NodeCommissioningOptions) {
|
|
310
|
+
this.#assertIsAddedToMatterServer();
|
|
311
|
+
const controller = this.#assertControllerIsStarted();
|
|
312
|
+
|
|
313
|
+
return controller.connectPaseChannel(nodeOptions);
|
|
314
|
+
}
|
|
315
|
+
|
|
271
316
|
/**
|
|
272
317
|
* Completes the commissioning process for a node when the initial commissioning process was done by a PASE
|
|
273
318
|
* commissioner. This method should be called to discover the device operational and complete the commissioning
|
|
@@ -316,9 +361,9 @@ export class CommissioningController {
|
|
|
316
361
|
}
|
|
317
362
|
|
|
318
363
|
/** @deprecated Use PairedNode.disconnect() instead */
|
|
319
|
-
async disconnectNode(nodeId: NodeId) {
|
|
364
|
+
async disconnectNode(nodeId: NodeId, force = false) {
|
|
320
365
|
const node = this.#initializedNodes.get(nodeId);
|
|
321
|
-
if (node === undefined) {
|
|
366
|
+
if (node === undefined && !force) {
|
|
322
367
|
throw new ImplementationError(`Node ${nodeId} is not connected!`);
|
|
323
368
|
}
|
|
324
369
|
await this.#controllerInstance?.disconnect(nodeId);
|
|
@@ -328,12 +373,12 @@ export class CommissioningController {
|
|
|
328
373
|
* Returns the PairedNode instance for a given NodeId. The instance is initialized without auto connect if not yet
|
|
329
374
|
* created.
|
|
330
375
|
*/
|
|
331
|
-
async getNode(nodeId: NodeId) {
|
|
376
|
+
async getNode(nodeId: NodeId, allowUnknownNode = false) {
|
|
332
377
|
const existingNode = this.#initializedNodes.get(nodeId);
|
|
333
378
|
if (existingNode !== undefined) {
|
|
334
379
|
return existingNode;
|
|
335
380
|
}
|
|
336
|
-
return await this.connectNode(nodeId, { autoConnect: false });
|
|
381
|
+
return await this.connectNode(nodeId, { autoConnect: false }, allowUnknownNode);
|
|
337
382
|
}
|
|
338
383
|
|
|
339
384
|
/**
|
|
@@ -344,10 +389,12 @@ export class CommissioningController {
|
|
|
344
389
|
*
|
|
345
390
|
* @deprecated Use getNode() instead and call PairedNode.connect() or PairedNode.disconnect() as needed.
|
|
346
391
|
*/
|
|
347
|
-
async connectNode(nodeId: NodeId, connectOptions?: CommissioningControllerNodeOptions) {
|
|
392
|
+
async connectNode(nodeId: NodeId, connectOptions?: CommissioningControllerNodeOptions, allowUnknownNode = false) {
|
|
348
393
|
const controller = this.#assertControllerIsStarted();
|
|
349
394
|
|
|
350
|
-
|
|
395
|
+
logger.info(`Connecting to node ${nodeId}...`, controller.getCommissionedNodes());
|
|
396
|
+
const nodeIsCommissioned = controller.getCommissionedNodes().includes(nodeId);
|
|
397
|
+
if (!nodeIsCommissioned && !allowUnknownNode) {
|
|
351
398
|
throw new ImplementationError(`Node ${nodeId} is not commissioned!`);
|
|
352
399
|
}
|
|
353
400
|
|
|
@@ -363,8 +410,8 @@ export class CommissioningController {
|
|
|
363
410
|
nodeId,
|
|
364
411
|
this,
|
|
365
412
|
connectOptions,
|
|
366
|
-
this.#controllerInstance?.getCommissionedNodeDetails(nodeId)?.deviceData ?? {},
|
|
367
|
-
await this.createInteractionClient(nodeId, NodeDiscoveryType.None, false), // First connect without discovery to last known address
|
|
413
|
+
nodeIsCommissioned ? (this.#controllerInstance?.getCommissionedNodeDetails(nodeId)?.deviceData ?? {}) : {},
|
|
414
|
+
await this.createInteractionClient(nodeId, NodeDiscoveryType.None, { forcedConnection: false }), // First connect without discovery to last known address
|
|
368
415
|
async (discoveryType?: NodeDiscoveryType) => void (await controller.connect(nodeId, { discoveryType })),
|
|
369
416
|
handler => this.#sessionDisconnectedHandler.set(nodeId, handler),
|
|
370
417
|
controller.sessions,
|
|
@@ -453,15 +500,18 @@ export class CommissioningController {
|
|
|
453
500
|
* not be used directly. See the PairedNode class for the public API.
|
|
454
501
|
*/
|
|
455
502
|
async createInteractionClient(
|
|
456
|
-
|
|
503
|
+
nodeIdOrChannel: NodeId | MessageChannel,
|
|
457
504
|
discoveryType?: NodeDiscoveryType,
|
|
458
|
-
|
|
505
|
+
options?: {
|
|
506
|
+
forcedConnection?: boolean;
|
|
507
|
+
},
|
|
459
508
|
): Promise<InteractionClient> {
|
|
460
509
|
const controller = this.#assertControllerIsStarted();
|
|
461
|
-
|
|
462
|
-
|
|
510
|
+
const { forcedConnection } = options ?? {};
|
|
511
|
+
if (nodeIdOrChannel instanceof MessageChannel || !forcedConnection) {
|
|
512
|
+
return controller.createInteractionClient(nodeIdOrChannel, { discoveryType });
|
|
463
513
|
}
|
|
464
|
-
return controller.connect(
|
|
514
|
+
return controller.connect(nodeIdOrChannel, { discoveryType }, forcedConnection);
|
|
465
515
|
}
|
|
466
516
|
|
|
467
517
|
/**
|
package/src/MatterController.ts
CHANGED
|
@@ -22,6 +22,7 @@ import {
|
|
|
22
22
|
CRYPTO_SYMMETRIC_KEY_LENGTH,
|
|
23
23
|
ImplementationError,
|
|
24
24
|
Logger,
|
|
25
|
+
MatterError,
|
|
25
26
|
NetInterfaceSet,
|
|
26
27
|
ServerAddressIp,
|
|
27
28
|
serverAddressToString,
|
|
@@ -59,7 +60,6 @@ import {
|
|
|
59
60
|
SecureChannelProtocol,
|
|
60
61
|
SessionManager,
|
|
61
62
|
SubscriptionClient,
|
|
62
|
-
UnknownNodeError,
|
|
63
63
|
} from "#protocol";
|
|
64
64
|
import {
|
|
65
65
|
CaseAuthenticatedTag,
|
|
@@ -72,7 +72,9 @@ import {
|
|
|
72
72
|
TypeFromPartialBitSchema,
|
|
73
73
|
VendorId,
|
|
74
74
|
} from "#types";
|
|
75
|
+
import { ClassExtends } from "@matter/general";
|
|
75
76
|
import { ControllerStoreInterface } from "@matter/node";
|
|
77
|
+
import { ControllerCommissioningFlow, MessageChannel } from "@matter/protocol";
|
|
76
78
|
|
|
77
79
|
export type CommissionedNodeDetails = {
|
|
78
80
|
operationalServerAddress?: ServerAddressIp;
|
|
@@ -104,6 +106,9 @@ export class MatterController {
|
|
|
104
106
|
adminFabricIndex?: FabricIndex;
|
|
105
107
|
caseAuthenticatedTags?: CaseAuthenticatedTag[];
|
|
106
108
|
adminFabricLabel: string;
|
|
109
|
+
rootNodeId?: NodeId;
|
|
110
|
+
rootCertificateAuthority?: CertificateAuthority;
|
|
111
|
+
rootFabric?: Fabric;
|
|
107
112
|
}): Promise<MatterController> {
|
|
108
113
|
const {
|
|
109
114
|
controllerStore,
|
|
@@ -115,17 +120,20 @@ export class MatterController {
|
|
|
115
120
|
adminFabricIndex = FabricIndex(DEFAULT_FABRIC_INDEX),
|
|
116
121
|
caseAuthenticatedTags,
|
|
117
122
|
adminFabricLabel,
|
|
123
|
+
rootNodeId,
|
|
124
|
+
rootCertificateAuthority,
|
|
125
|
+
rootFabric,
|
|
118
126
|
} = options;
|
|
119
127
|
|
|
120
|
-
const ca = await CertificateAuthority.create(controllerStore.caStorage);
|
|
128
|
+
const ca = rootCertificateAuthority ?? (await CertificateAuthority.create(controllerStore.caStorage));
|
|
121
129
|
const fabricStorage = controllerStore.fabricStorage;
|
|
122
130
|
|
|
123
131
|
let controller: MatterController | undefined = undefined;
|
|
124
132
|
// Check if we have a fabric stored in the storage, if yes initialize this one, else build a new one
|
|
125
|
-
if (await fabricStorage.has("fabric")) {
|
|
126
|
-
const fabric = new Fabric(await fabricStorage.get<Fabric.Config>("fabric"));
|
|
133
|
+
if (rootFabric !== undefined || (await fabricStorage.has("fabric"))) {
|
|
134
|
+
const fabric = rootFabric ?? new Fabric(await fabricStorage.get<Fabric.Config>("fabric"));
|
|
127
135
|
if (Bytes.areEqual(fabric.rootCert, ca.rootCert)) {
|
|
128
|
-
logger.info("
|
|
136
|
+
logger.info("Used existing fabric");
|
|
129
137
|
controller = new MatterController({
|
|
130
138
|
controllerStore,
|
|
131
139
|
scanners,
|
|
@@ -136,9 +144,12 @@ export class MatterController {
|
|
|
136
144
|
sessionClosedCallback,
|
|
137
145
|
});
|
|
138
146
|
} else {
|
|
147
|
+
if (rootFabric !== undefined) {
|
|
148
|
+
throw new MatterError("Fabric CA certificate is not in sync with CA.");
|
|
149
|
+
}
|
|
139
150
|
logger.info("Fabric CA certificate changed ...");
|
|
140
151
|
if (await controllerStore.nodesStorage.has("commissionedNodes")) {
|
|
141
|
-
throw new
|
|
152
|
+
throw new MatterError(
|
|
142
153
|
"Fabric certificate changed, but commissioned nodes are still present. Please clear the storage.",
|
|
143
154
|
);
|
|
144
155
|
}
|
|
@@ -146,16 +157,16 @@ export class MatterController {
|
|
|
146
157
|
}
|
|
147
158
|
if (controller === undefined) {
|
|
148
159
|
logger.info("Creating new fabric");
|
|
149
|
-
const
|
|
160
|
+
const controllerNodeId = rootNodeId ?? NodeId.randomOperationalNodeId();
|
|
150
161
|
const ipkValue = Crypto.getRandomData(CRYPTO_SYMMETRIC_KEY_LENGTH);
|
|
151
162
|
const fabricBuilder = new FabricBuilder()
|
|
152
163
|
.setRootCert(ca.rootCert)
|
|
153
|
-
.setRootNodeId(
|
|
164
|
+
.setRootNodeId(controllerNodeId)
|
|
154
165
|
.setIdentityProtectionKey(ipkValue)
|
|
155
166
|
.setRootVendorId(adminVendorId ?? DEFAULT_ADMIN_VENDOR_ID)
|
|
156
167
|
.setLabel(adminFabricLabel);
|
|
157
168
|
fabricBuilder.setOperationalCert(
|
|
158
|
-
ca.generateNoc(fabricBuilder.publicKey, adminFabricId,
|
|
169
|
+
ca.generateNoc(fabricBuilder.publicKey, adminFabricId, controllerNodeId, caseAuthenticatedTags),
|
|
159
170
|
);
|
|
160
171
|
const fabric = await fabricBuilder.build(adminFabricIndex);
|
|
161
172
|
|
|
@@ -174,7 +185,8 @@ export class MatterController {
|
|
|
174
185
|
}
|
|
175
186
|
|
|
176
187
|
public static async createAsPaseCommissioner(options: {
|
|
177
|
-
certificateAuthorityConfig
|
|
188
|
+
certificateAuthorityConfig?: CertificateAuthority.Configuration;
|
|
189
|
+
rootCertificateAuthority?: CertificateAuthority;
|
|
178
190
|
fabricConfig: Fabric.Config;
|
|
179
191
|
scanners: ScannerSet;
|
|
180
192
|
netInterfaces: NetInterfaceSet;
|
|
@@ -183,6 +195,7 @@ export class MatterController {
|
|
|
183
195
|
}): Promise<MatterController> {
|
|
184
196
|
const {
|
|
185
197
|
certificateAuthorityConfig,
|
|
198
|
+
rootCertificateAuthority,
|
|
186
199
|
fabricConfig,
|
|
187
200
|
adminFabricLabel,
|
|
188
201
|
scanners,
|
|
@@ -200,7 +213,12 @@ export class MatterController {
|
|
|
200
213
|
logger.info("BLE is not enabled. Using only IP network for commissioning.");
|
|
201
214
|
}
|
|
202
215
|
|
|
203
|
-
|
|
216
|
+
if (rootCertificateAuthority === undefined && certificateAuthorityConfig === undefined) {
|
|
217
|
+
throw new ImplementationError("Either rootCertificateAuthority or certificateAuthorityConfig must be set.");
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
const certificateManager =
|
|
221
|
+
rootCertificateAuthority ?? (await CertificateAuthority.create(certificateAuthorityConfig!));
|
|
204
222
|
|
|
205
223
|
// Stored data are temporary anyway and no node will be connected, so just use an in-memory storage
|
|
206
224
|
const storageManager = new StorageManager(new StorageBackendMemory());
|
|
@@ -388,7 +406,10 @@ export class MatterController {
|
|
|
388
406
|
*/
|
|
389
407
|
async commission(
|
|
390
408
|
options: NodeCommissioningOptions,
|
|
391
|
-
|
|
409
|
+
customizations?: {
|
|
410
|
+
completeCommissioningCallback?: (peerNodeId: NodeId, discoveryData?: DiscoveryData) => Promise<boolean>;
|
|
411
|
+
commissioningFlowImpl?: ClassExtends<ControllerCommissioningFlow>;
|
|
412
|
+
},
|
|
392
413
|
): Promise<NodeId> {
|
|
393
414
|
const commissioningOptions: DiscoveryAndCommissioningOptions = {
|
|
394
415
|
...options.commissioning,
|
|
@@ -397,6 +418,8 @@ export class MatterController {
|
|
|
397
418
|
passcode: options.passcode,
|
|
398
419
|
};
|
|
399
420
|
|
|
421
|
+
const { completeCommissioningCallback, commissioningFlowImpl } = customizations ?? {};
|
|
422
|
+
|
|
400
423
|
if (completeCommissioningCallback) {
|
|
401
424
|
commissioningOptions.finalizeCommissioning = async (peerAddress, discoveryData) => {
|
|
402
425
|
const result = await completeCommissioningCallback(peerAddress.nodeId, discoveryData);
|
|
@@ -405,6 +428,7 @@ export class MatterController {
|
|
|
405
428
|
}
|
|
406
429
|
};
|
|
407
430
|
}
|
|
431
|
+
commissioningOptions.commissioningFlowImpl = commissioningFlowImpl;
|
|
408
432
|
|
|
409
433
|
const address = await this.commissioner.commissionWithDiscovery(commissioningOptions);
|
|
410
434
|
|
|
@@ -417,6 +441,17 @@ export class MatterController {
|
|
|
417
441
|
return this.peers.disconnect(this.fabric.addressOf(nodeId));
|
|
418
442
|
}
|
|
419
443
|
|
|
444
|
+
async connectPaseChannel(options: NodeCommissioningOptions) {
|
|
445
|
+
const { paseSecureChannel } = await this.commissioner.discoverAndEstablishPase({
|
|
446
|
+
...options.commissioning,
|
|
447
|
+
fabric: this.fabric,
|
|
448
|
+
discovery: options.discovery,
|
|
449
|
+
passcode: options.passcode,
|
|
450
|
+
});
|
|
451
|
+
logger.warn("PASE channel established", paseSecureChannel.session.name, paseSecureChannel.session.isSecure);
|
|
452
|
+
return paseSecureChannel;
|
|
453
|
+
}
|
|
454
|
+
|
|
420
455
|
async removeNode(nodeId: NodeId) {
|
|
421
456
|
return this.peers.delete(this.fabric.addressOf(nodeId));
|
|
422
457
|
}
|
|
@@ -504,8 +539,11 @@ export class MatterController {
|
|
|
504
539
|
return this.clients.connect(this.fabric.addressOf(peerNodeId), { discoveryOptions, allowUnknownPeer });
|
|
505
540
|
}
|
|
506
541
|
|
|
507
|
-
createInteractionClient(
|
|
508
|
-
|
|
542
|
+
createInteractionClient(peerNodeIdOrChannel: NodeId | MessageChannel, discoveryOptions: DiscoveryOptions) {
|
|
543
|
+
if (peerNodeIdOrChannel instanceof MessageChannel) {
|
|
544
|
+
return this.clients.getInteractionClientForChannel(peerNodeIdOrChannel);
|
|
545
|
+
}
|
|
546
|
+
return this.clients.getInteractionClient(this.fabric.addressOf(peerNodeIdOrChannel), discoveryOptions);
|
|
509
547
|
}
|
|
510
548
|
|
|
511
549
|
async getNextAvailableSessionId() {
|
|
@@ -548,11 +586,8 @@ export class MatterController {
|
|
|
548
586
|
filterClusterId?: ClusterId,
|
|
549
587
|
): Promise<{ endpointId: EndpointNumber; clusterId: ClusterId; dataVersion: number }[]> {
|
|
550
588
|
const peer = this.peers.get(this.fabric.addressOf(nodeId));
|
|
551
|
-
if (peer === undefined) {
|
|
552
|
-
|
|
553
|
-
}
|
|
554
|
-
if (peer.dataStore === undefined) {
|
|
555
|
-
return []; // We have no store, also also no data
|
|
589
|
+
if (peer === undefined || peer.dataStore === undefined) {
|
|
590
|
+
return []; // We have no store, also no data
|
|
556
591
|
}
|
|
557
592
|
await peer.dataStore.construction;
|
|
558
593
|
return peer.dataStore.getClusterDataVersions(filterEndpointId, filterClusterId);
|
|
@@ -564,11 +599,8 @@ export class MatterController {
|
|
|
564
599
|
clusterId: ClusterId,
|
|
565
600
|
): Promise<DecodedAttributeReportValue<any>[]> {
|
|
566
601
|
const peer = this.peers.get(this.fabric.addressOf(nodeId));
|
|
567
|
-
if (peer === undefined) {
|
|
568
|
-
|
|
569
|
-
}
|
|
570
|
-
if (peer.dataStore === undefined) {
|
|
571
|
-
return []; // We have no store, also also no data
|
|
602
|
+
if (peer === undefined || peer.dataStore === undefined) {
|
|
603
|
+
return []; // We have no store, also no data
|
|
572
604
|
}
|
|
573
605
|
await peer.dataStore.construction;
|
|
574
606
|
return peer.dataStore.retrieveAttributes(endpointId, clusterId);
|
package/src/PaseCommissioner.ts
CHANGED
|
@@ -119,7 +119,7 @@ export class PaseCommissioner {
|
|
|
119
119
|
) {
|
|
120
120
|
const controller = this.assertControllerIsStarted();
|
|
121
121
|
|
|
122
|
-
return await controller.commission(nodeOptions, completeCommissioningCallback);
|
|
122
|
+
return await controller.commission(nodeOptions, { completeCommissioningCallback });
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
/** Disconnects all connected nodes and Closes the network connections and other resources of the controller. */
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { capitalize, ImplementationError, InternalError, Logger, MaybePromise } from "#general";
|
|
7
|
+
import { capitalize, Diagnostic, ImplementationError, InternalError, Logger, MaybePromise } from "#general";
|
|
8
8
|
import { AccessLevel } from "#model";
|
|
9
9
|
import {
|
|
10
10
|
ClusterServer as BaseClusterServer,
|
|
@@ -233,7 +233,7 @@ export function ClusterServer<const T extends ClusterType, const H extends Clust
|
|
|
233
233
|
for (const attributeName in attributeDef) {
|
|
234
234
|
const capitalizedAttributeName = capitalize(attributeName);
|
|
235
235
|
|
|
236
|
-
// logger.info(`check this for REQUIRED Attributes ${
|
|
236
|
+
// logger.info(`check this for REQUIRED Attributes ${Diagnostic.json(attributeName)}`)
|
|
237
237
|
if (attributeDef[attributeName].isConditional) {
|
|
238
238
|
const { mandatoryIf, optionalIf } = attributeDef[attributeName];
|
|
239
239
|
let conditionHasMatched = false;
|
|
@@ -244,7 +244,7 @@ export function ClusterServer<const T extends ClusterType, const H extends Clust
|
|
|
244
244
|
logger.warn(
|
|
245
245
|
`InitialAttributeValue for "${
|
|
246
246
|
clusterDef.name
|
|
247
|
-
}/${attributeName}" is REQUIRED by supportedFeatures: ${
|
|
247
|
+
}/${attributeName}" is REQUIRED by supportedFeatures: ${Diagnostic.json(
|
|
248
248
|
supportedFeatures,
|
|
249
249
|
)} but is not set!`,
|
|
250
250
|
);
|
|
@@ -258,7 +258,7 @@ export function ClusterServer<const T extends ClusterType, const H extends Clust
|
|
|
258
258
|
logger.debug(
|
|
259
259
|
`InitialAttributeValue for "${
|
|
260
260
|
clusterDef.name
|
|
261
|
-
}/${attributeName}" is optional by supportedFeatures: ${
|
|
261
|
+
}/${attributeName}" is optional by supportedFeatures: ${Diagnostic.json(
|
|
262
262
|
supportedFeatures,
|
|
263
263
|
)} and is not set!`,
|
|
264
264
|
);
|
|
@@ -270,7 +270,7 @@ export function ClusterServer<const T extends ClusterType, const H extends Clust
|
|
|
270
270
|
logger.warn(
|
|
271
271
|
`InitialAttributeValue for "${
|
|
272
272
|
clusterDef.name
|
|
273
|
-
}/${attributeName}" is provided but it's neither optional or mandatory for supportedFeatures: ${
|
|
273
|
+
}/${attributeName}" is provided but it's neither optional or mandatory for supportedFeatures: ${Diagnostic.json(
|
|
274
274
|
supportedFeatures,
|
|
275
275
|
)} but is set!`,
|
|
276
276
|
);
|
|
@@ -379,7 +379,7 @@ export function ClusterServer<const T extends ClusterType, const H extends Clust
|
|
|
379
379
|
const conditionMatched = isConditionMatching(mandatoryIf, supportedFeatures);
|
|
380
380
|
if (conditionMatched && handler === undefined) {
|
|
381
381
|
logger.warn(
|
|
382
|
-
`Command "${clusterDef.name}/${name}" is REQUIRED by supportedFeatures: ${
|
|
382
|
+
`Command "${clusterDef.name}/${name}" is REQUIRED by supportedFeatures: ${Diagnostic.json(
|
|
383
383
|
supportedFeatures,
|
|
384
384
|
)} but is not set!`,
|
|
385
385
|
);
|
|
@@ -391,7 +391,7 @@ export function ClusterServer<const T extends ClusterType, const H extends Clust
|
|
|
391
391
|
const conditionMatched = isConditionMatching(optionalIf, supportedFeatures);
|
|
392
392
|
if (conditionMatched && handler === undefined) {
|
|
393
393
|
logger.debug(
|
|
394
|
-
`Command "${clusterDef.name}/${name}" is optional by supportedFeatures: ${
|
|
394
|
+
`Command "${clusterDef.name}/${name}" is optional by supportedFeatures: ${Diagnostic.json(
|
|
395
395
|
supportedFeatures,
|
|
396
396
|
)} and is not set!`,
|
|
397
397
|
);
|
|
@@ -403,7 +403,7 @@ export function ClusterServer<const T extends ClusterType, const H extends Clust
|
|
|
403
403
|
logger.warn(
|
|
404
404
|
`Command "${
|
|
405
405
|
clusterDef.name
|
|
406
|
-
}/${name}" is provided but it's neither optional nor mandatory for supportedFeatures: ${
|
|
406
|
+
}/${name}" is provided but it's neither optional nor mandatory for supportedFeatures: ${Diagnostic.json(
|
|
407
407
|
supportedFeatures,
|
|
408
408
|
)} but is set!`,
|
|
409
409
|
);
|
|
@@ -464,7 +464,7 @@ export function ClusterServer<const T extends ClusterType, const H extends Clust
|
|
|
464
464
|
const conditionMatched = isConditionMatching(mandatoryIf, supportedFeatures);
|
|
465
465
|
if (conditionMatched && (supportedEvents as any)[eventName] === undefined) {
|
|
466
466
|
logger.warn(
|
|
467
|
-
`Event "${clusterDef.name}/${eventName}" is REQUIRED by supportedFeatures: ${
|
|
467
|
+
`Event "${clusterDef.name}/${eventName}" is REQUIRED by supportedFeatures: ${Diagnostic.json(
|
|
468
468
|
supportedFeatures,
|
|
469
469
|
)} but is not set!`,
|
|
470
470
|
);
|
|
@@ -476,7 +476,7 @@ export function ClusterServer<const T extends ClusterType, const H extends Clust
|
|
|
476
476
|
const conditionMatched = isConditionMatching(optionalIf, supportedFeatures);
|
|
477
477
|
if (conditionMatched && (supportedEvents as any)[eventName] === undefined) {
|
|
478
478
|
logger.debug(
|
|
479
|
-
`Event "${clusterDef.name}/${eventName}" is optional by supportedFeatures: ${
|
|
479
|
+
`Event "${clusterDef.name}/${eventName}" is optional by supportedFeatures: ${Diagnostic.json(
|
|
480
480
|
supportedFeatures,
|
|
481
481
|
)} and is not set!`,
|
|
482
482
|
);
|
|
@@ -488,7 +488,7 @@ export function ClusterServer<const T extends ClusterType, const H extends Clust
|
|
|
488
488
|
logger.warn(
|
|
489
489
|
`Event "${
|
|
490
490
|
clusterDef.name
|
|
491
|
-
}/${eventName}" is provided but it's neither optional or mandatory for supportedFeatures: ${
|
|
491
|
+
}/${eventName}" is provided but it's neither optional or mandatory for supportedFeatures: ${Diagnostic.json(
|
|
492
492
|
supportedFeatures,
|
|
493
493
|
)} but is set!`,
|
|
494
494
|
);
|