@project-chip/matter.js 0.16.0-alpha.0-20251020-3f6e46245 → 0.16.0-alpha.0-20251022-5a69ce65a
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 +4 -42
- package/dist/cjs/CommissioningController.d.ts.map +1 -1
- package/dist/cjs/CommissioningController.js +17 -93
- package/dist/cjs/CommissioningController.js.map +1 -1
- package/dist/cjs/MatterController.d.ts +39 -68
- package/dist/cjs/MatterController.d.ts.map +1 -1
- package/dist/cjs/MatterController.js +175 -212
- package/dist/cjs/MatterController.js.map +2 -2
- package/dist/cjs/PaseCommissioner.d.ts.map +1 -1
- package/dist/cjs/PaseCommissioner.js +4 -14
- package/dist/cjs/PaseCommissioner.js.map +2 -2
- package/dist/esm/CommissioningController.d.ts +4 -42
- package/dist/esm/CommissioningController.d.ts.map +1 -1
- package/dist/esm/CommissioningController.js +18 -101
- package/dist/esm/CommissioningController.js.map +1 -1
- package/dist/esm/MatterController.d.ts +39 -68
- package/dist/esm/MatterController.d.ts.map +1 -1
- package/dist/esm/MatterController.js +178 -221
- package/dist/esm/MatterController.js.map +2 -2
- package/dist/esm/PaseCommissioner.d.ts.map +1 -1
- package/dist/esm/PaseCommissioner.js +5 -17
- package/dist/esm/PaseCommissioner.js.map +1 -1
- package/package.json +8 -8
- package/src/CommissioningController.ts +22 -126
- package/src/MatterController.ts +240 -268
- package/src/PaseCommissioner.ts +4 -18
- package/src/tsconfig.json +2 -2
|
@@ -25,52 +25,40 @@ var import_clusters = require("#clusters");
|
|
|
25
25
|
var import_CachedClientNodeStore = require("#device/CachedClientNodeStore.js");
|
|
26
26
|
var import_general = require("#general");
|
|
27
27
|
var import_LegacyControllerStore = require("#LegacyControllerStore.js");
|
|
28
|
+
var import_node = require("#node");
|
|
28
29
|
var import_protocol = require("#protocol");
|
|
29
30
|
var import_types = require("#types");
|
|
30
|
-
var import_protocol2 = require("@matter/protocol");
|
|
31
31
|
/**
|
|
32
32
|
* @license
|
|
33
33
|
* Copyright 2022-2025 Matter.js Authors
|
|
34
34
|
* SPDX-License-Identifier: Apache-2.0
|
|
35
35
|
*/
|
|
36
36
|
const DEFAULT_FABRIC_INDEX = (0, import_types.FabricIndex)(1);
|
|
37
|
-
const CONTROLLER_CONNECTIONS_PER_FABRIC_AND_NODE = 3;
|
|
38
|
-
const CONTROLLER_MAX_PATHS_PER_INVOKE = 10;
|
|
39
37
|
const logger = import_general.Logger.get("MatterController");
|
|
40
38
|
class MatterController {
|
|
41
39
|
static async create(options) {
|
|
42
|
-
const crypto = options.
|
|
40
|
+
const crypto = options.environment.get(import_general.Crypto);
|
|
43
41
|
const {
|
|
44
42
|
controllerStore,
|
|
45
|
-
|
|
46
|
-
transports: netInterfaces,
|
|
47
|
-
sessionClosedCallback,
|
|
48
|
-
adminVendorId,
|
|
49
|
-
adminFabricId = (0, import_types.FabricId)(crypto.randomBigInt(8)),
|
|
50
|
-
adminFabricIndex = (0, import_types.FabricIndex)(DEFAULT_FABRIC_INDEX),
|
|
51
|
-
caseAuthenticatedTags,
|
|
52
|
-
adminFabricLabel,
|
|
53
|
-
rootNodeId,
|
|
43
|
+
rootFabric,
|
|
54
44
|
rootCertificateAuthority,
|
|
55
|
-
|
|
45
|
+
adminFabricIndex = (0, import_types.FabricIndex)(DEFAULT_FABRIC_INDEX),
|
|
46
|
+
environment
|
|
56
47
|
} = options;
|
|
48
|
+
if (adminFabricIndex !== (0, import_types.FabricIndex)(1)) {
|
|
49
|
+
logger.warn(
|
|
50
|
+
"Fabric Indices will be assigned automatically from now on. Specifying a custom Fabric Index is deprecated."
|
|
51
|
+
);
|
|
52
|
+
}
|
|
57
53
|
const ca = rootCertificateAuthority ?? await import_protocol.CertificateAuthority.create(crypto, controllerStore.caStorage);
|
|
58
|
-
|
|
54
|
+
environment.set(import_protocol.CertificateAuthority, ca);
|
|
59
55
|
let controller = void 0;
|
|
56
|
+
let fabric = void 0;
|
|
57
|
+
const fabricStorage = controllerStore.fabricStorage;
|
|
60
58
|
if (rootFabric !== void 0 || await fabricStorage.has("fabric")) {
|
|
61
|
-
|
|
59
|
+
fabric = rootFabric ?? new import_protocol.Fabric(crypto, await fabricStorage.get("fabric"));
|
|
62
60
|
if (import_general.Bytes.areEqual(fabric.rootCert, ca.rootCert)) {
|
|
63
|
-
logger.info("
|
|
64
|
-
controller = new MatterController({
|
|
65
|
-
controllerStore,
|
|
66
|
-
scanners,
|
|
67
|
-
transports: netInterfaces,
|
|
68
|
-
certificateManager: ca,
|
|
69
|
-
fabric,
|
|
70
|
-
adminFabricLabel,
|
|
71
|
-
sessionClosedCallback
|
|
72
|
-
});
|
|
73
|
-
fabric.storage = fabricStorage;
|
|
61
|
+
logger.info("Using existing fabric");
|
|
74
62
|
} else {
|
|
75
63
|
if (rootFabric !== void 0) {
|
|
76
64
|
throw new import_general.MatterError("Fabric CA certificate is not in sync with CA.");
|
|
@@ -81,187 +69,158 @@ class MatterController {
|
|
|
81
69
|
"Fabric certificate changed, but commissioned nodes are still present. Please clear the storage."
|
|
82
70
|
);
|
|
83
71
|
}
|
|
72
|
+
fabric = void 0;
|
|
84
73
|
}
|
|
85
74
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
await fabricBuilder.setRootCert(ca.rootCert);
|
|
92
|
-
fabricBuilder.setRootNodeId(controllerNodeId).setIdentityProtectionKey(ipkValue).setRootVendorId(adminVendorId ?? import_protocol.DEFAULT_ADMIN_VENDOR_ID).setLabel(adminFabricLabel);
|
|
93
|
-
await fabricBuilder.setOperationalCert(
|
|
94
|
-
await ca.generateNoc(fabricBuilder.publicKey, adminFabricId, controllerNodeId, caseAuthenticatedTags)
|
|
95
|
-
);
|
|
96
|
-
const fabric = await fabricBuilder.build(adminFabricIndex);
|
|
97
|
-
fabric.storage = fabricStorage;
|
|
98
|
-
controller = new MatterController({
|
|
99
|
-
controllerStore,
|
|
100
|
-
scanners,
|
|
101
|
-
transports: netInterfaces,
|
|
102
|
-
certificateManager: ca,
|
|
103
|
-
fabric,
|
|
104
|
-
adminFabricLabel,
|
|
105
|
-
sessionClosedCallback
|
|
106
|
-
});
|
|
107
|
-
}
|
|
75
|
+
controller = new MatterController({
|
|
76
|
+
...options,
|
|
77
|
+
controllerStore,
|
|
78
|
+
fabric
|
|
79
|
+
});
|
|
108
80
|
await controller.construction;
|
|
109
81
|
return controller;
|
|
110
82
|
}
|
|
111
83
|
static async createAsPaseCommissioner(options) {
|
|
112
|
-
const {
|
|
113
|
-
|
|
114
|
-
rootCertificateAuthority,
|
|
115
|
-
fabricConfig,
|
|
116
|
-
adminFabricLabel,
|
|
117
|
-
scanners,
|
|
118
|
-
transports: netInterfaces,
|
|
119
|
-
sessionClosedCallback
|
|
120
|
-
} = options;
|
|
121
|
-
const crypto = options.crypto ?? import_general.Environment.default.get(import_general.Crypto);
|
|
122
|
-
if (!netInterfaces.hasInterfaceFor(import_general.ChannelType.BLE)) {
|
|
123
|
-
if (!scanners.hasScannerFor(import_general.ChannelType.UDP) || !netInterfaces.hasInterfaceFor(import_general.ChannelType.UDP, "::")) {
|
|
124
|
-
throw new import_general.ImplementationError(
|
|
125
|
-
"Ble must be initialized to create a Sub Commissioner without an IP network!"
|
|
126
|
-
);
|
|
127
|
-
}
|
|
128
|
-
logger.info("BLE is not enabled. Using only IP network for commissioning.");
|
|
129
|
-
}
|
|
84
|
+
const { certificateAuthorityConfig, rootCertificateAuthority, fabricConfig, environment } = options;
|
|
85
|
+
const crypto = environment.get(import_general.Crypto);
|
|
130
86
|
if (rootCertificateAuthority === void 0 && certificateAuthorityConfig === void 0) {
|
|
131
87
|
throw new import_general.ImplementationError("Either rootCertificateAuthority or certificateAuthorityConfig must be set.");
|
|
132
88
|
}
|
|
133
|
-
const
|
|
89
|
+
const ca = rootCertificateAuthority ?? await import_protocol.CertificateAuthority.create(crypto, certificateAuthorityConfig);
|
|
90
|
+
environment.set(import_protocol.CertificateAuthority, ca);
|
|
134
91
|
const storageManager = new import_general.StorageManager(new import_general.StorageBackendMemory());
|
|
135
92
|
await storageManager.initialize();
|
|
136
93
|
const fabric = new import_protocol.Fabric(crypto, fabricConfig);
|
|
94
|
+
if (!import_general.Bytes.areEqual(fabric.rootCert, ca.rootCert)) {
|
|
95
|
+
throw new import_general.MatterError("Fabric CA certificate is not in sync with CA.");
|
|
96
|
+
}
|
|
137
97
|
const controller = new MatterController({
|
|
98
|
+
...options,
|
|
138
99
|
controllerStore: new import_LegacyControllerStore.LegacyControllerStore(storageManager.createContext("Commissioner")),
|
|
139
|
-
|
|
140
|
-
transports: netInterfaces,
|
|
141
|
-
certificateManager,
|
|
142
|
-
fabric,
|
|
143
|
-
adminFabricLabel,
|
|
144
|
-
sessionClosedCallback
|
|
100
|
+
fabric
|
|
145
101
|
});
|
|
146
102
|
await controller.construction;
|
|
103
|
+
const netInterfaces = environment.get(import_general.ConnectionlessTransportSet);
|
|
104
|
+
if (!netInterfaces.hasInterfaceFor(import_general.ChannelType.BLE)) {
|
|
105
|
+
if (!environment.get(import_protocol.ScannerSet).hasScannerFor(import_general.ChannelType.UDP) || !netInterfaces.hasInterfaceFor(import_general.ChannelType.UDP, "::")) {
|
|
106
|
+
throw new import_general.ImplementationError(
|
|
107
|
+
"Ble must be initialized to create a Sub Commissioner without an IP network!"
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
logger.info("BLE is not enabled. Using only IP network for commissioning.");
|
|
111
|
+
}
|
|
147
112
|
return controller;
|
|
148
113
|
}
|
|
149
|
-
sessionManager;
|
|
150
|
-
transports = new import_general.ConnectionlessTransportSet();
|
|
151
|
-
channelManager = new import_protocol.ChannelManager(CONTROLLER_CONNECTIONS_PER_FABRIC_AND_NODE);
|
|
152
|
-
exchangeManager;
|
|
153
|
-
peers;
|
|
154
|
-
clients;
|
|
155
|
-
commissioner;
|
|
156
114
|
#construction;
|
|
157
|
-
#
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
ca;
|
|
161
|
-
fabric;
|
|
162
|
-
sessionClosedCallback;
|
|
163
|
-
#advertiser;
|
|
115
|
+
#node;
|
|
116
|
+
#peers;
|
|
117
|
+
#fabric;
|
|
164
118
|
get construction() {
|
|
165
119
|
return this.#construction;
|
|
166
120
|
}
|
|
167
121
|
constructor(options) {
|
|
122
|
+
const crypto = options.environment.get(import_general.Crypto);
|
|
168
123
|
const {
|
|
169
124
|
controllerStore,
|
|
170
|
-
scanners,
|
|
171
|
-
transports: netInterfaces,
|
|
172
|
-
certificateManager,
|
|
173
|
-
fabric,
|
|
174
125
|
sessionClosedCallback,
|
|
175
|
-
|
|
126
|
+
ble = false,
|
|
127
|
+
adminFabricLabel,
|
|
128
|
+
adminFabricId = (0, import_types.FabricId)(crypto.randomBigInt(8)),
|
|
129
|
+
adminVendorId,
|
|
130
|
+
rootNodeId,
|
|
131
|
+
caseAuthenticatedTags,
|
|
132
|
+
ipv4 = true,
|
|
133
|
+
listeningAddressIpv4,
|
|
134
|
+
listeningAddressIpv6,
|
|
135
|
+
localPort,
|
|
136
|
+
environment,
|
|
137
|
+
id,
|
|
138
|
+
fabric
|
|
176
139
|
} = options;
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
this.sessionClosedCallback = sessionClosedCallback;
|
|
183
|
-
const fabricManager = new import_protocol.FabricManager(fabric.crypto);
|
|
184
|
-
fabricManager.addFabric(fabric);
|
|
185
|
-
fabric.persistCallback = async () => {
|
|
186
|
-
await this.#store.fabricStorage.set("fabric", this.fabric.config);
|
|
187
|
-
};
|
|
188
|
-
this.sessionManager = new import_protocol.SessionManager({
|
|
189
|
-
fabrics: fabricManager,
|
|
190
|
-
storage: controllerStore.sessionStorage,
|
|
191
|
-
parameters: {
|
|
192
|
-
maxPathsPerInvoke: CONTROLLER_MAX_PATHS_PER_INVOKE
|
|
193
|
-
}
|
|
194
|
-
});
|
|
195
|
-
this.sessionManager.sessions.deleted.on(async (session) => {
|
|
196
|
-
this.sessionClosedCallback?.(session.peerNodeId);
|
|
197
|
-
});
|
|
198
|
-
const subscriptionClient = new import_protocol.SubscriptionClient();
|
|
199
|
-
this.exchangeManager = new import_protocol.ExchangeManager({
|
|
200
|
-
crypto: fabric.crypto,
|
|
201
|
-
sessionManager: this.sessionManager,
|
|
202
|
-
channelManager: this.channelManager,
|
|
203
|
-
netInterface: this.transports
|
|
204
|
-
});
|
|
205
|
-
this.exchangeManager.addProtocolHandler(new import_protocol.SecureChannelProtocol(this.sessionManager, fabricManager));
|
|
206
|
-
this.exchangeManager.addProtocolHandler(subscriptionClient);
|
|
207
|
-
this.nodesStore = new CommissionedNodeStore(controllerStore, fabric);
|
|
208
|
-
this.nodesStore.peers = this.peers = new import_protocol.PeerSet({
|
|
209
|
-
sessions: this.sessionManager,
|
|
210
|
-
channels: this.channelManager,
|
|
211
|
-
exchanges: this.exchangeManager,
|
|
212
|
-
subscriptionClient,
|
|
213
|
-
scanners: this.scanners,
|
|
214
|
-
transports: this.transports,
|
|
215
|
-
store: this.nodesStore
|
|
216
|
-
});
|
|
217
|
-
this.clients = new import_protocol.InteractionClientProvider(this.peers);
|
|
218
|
-
this.commissioner = new import_protocol.ControllerCommissioner({
|
|
219
|
-
peers: this.peers,
|
|
220
|
-
clients: this.clients,
|
|
221
|
-
scanners: this.scanners,
|
|
222
|
-
transports: this.transports,
|
|
223
|
-
exchanges: this.exchangeManager,
|
|
224
|
-
sessions: this.sessionManager,
|
|
225
|
-
ca: this.ca
|
|
226
|
-
});
|
|
227
|
-
this.#advertiser = new import_protocol.DeviceAdvertiser({
|
|
228
|
-
fabrics: fabricManager,
|
|
229
|
-
sessions: this.sessionManager
|
|
230
|
-
});
|
|
140
|
+
const fabricManager = new import_protocol.FabricManager(crypto);
|
|
141
|
+
environment.set(import_protocol.FabricManager, fabricManager);
|
|
142
|
+
if (fabric !== void 0) {
|
|
143
|
+
fabricManager.addFabric(fabric);
|
|
144
|
+
}
|
|
231
145
|
this.#construction = (0, import_general.Construction)(this, async () => {
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
146
|
+
const persistFabric = async (fabric3) => controllerStore.fabricStorage.set("fabric", fabric3.config);
|
|
147
|
+
const fabricAuth = environment.get(import_protocol.FabricAuthority);
|
|
148
|
+
fabricAuth.fabricAdded.on(persistFabric);
|
|
149
|
+
const fabric2 = await fabricAuth.defaultFabric({
|
|
150
|
+
adminFabricLabel,
|
|
151
|
+
adminVendorId,
|
|
152
|
+
adminFabricId,
|
|
153
|
+
caseAuthenticatedTags,
|
|
154
|
+
adminNodeId: rootNodeId
|
|
155
|
+
});
|
|
156
|
+
fabric2.storage = controllerStore.fabricStorage;
|
|
157
|
+
fabric2.persistCallback = () => persistFabric(fabric2);
|
|
158
|
+
this.#fabric = fabric2;
|
|
159
|
+
const nodesStore = new CommissionedNodeStore(controllerStore, fabric2);
|
|
160
|
+
environment.set(import_protocol.PeerAddressStore, nodesStore);
|
|
161
|
+
this.#node = await import_node.ServerNode.create({
|
|
162
|
+
environment,
|
|
163
|
+
id,
|
|
164
|
+
network: {
|
|
165
|
+
ble,
|
|
166
|
+
ipv4,
|
|
167
|
+
listeningAddressIpv4,
|
|
168
|
+
listeningAddressIpv6,
|
|
169
|
+
port: localPort
|
|
170
|
+
},
|
|
171
|
+
basicInformation: {
|
|
172
|
+
vendorId: adminVendorId
|
|
173
|
+
},
|
|
174
|
+
controller: {
|
|
175
|
+
adminFabricLabel,
|
|
176
|
+
adminFabricId,
|
|
177
|
+
adminNodeId: rootNodeId,
|
|
178
|
+
caseAuthenticatedTags
|
|
179
|
+
},
|
|
180
|
+
commissioning: {
|
|
181
|
+
enabled: false
|
|
182
|
+
// The node is never commissionable directly
|
|
183
|
+
},
|
|
184
|
+
subscriptions: {
|
|
185
|
+
persistenceEnabled: false
|
|
186
|
+
// We do not want to reestablish subscriptions on restart
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
this.#node.env.get(import_protocol.SessionManager).sessions.deleted.on(async (session) => sessionClosedCallback?.(session.peerNodeId));
|
|
190
|
+
this.#peers = this.#node.env.get(import_protocol.PeerSet);
|
|
191
|
+
nodesStore.peers = this.#peers;
|
|
192
|
+
if (this.#fabric.label !== adminFabricLabel) {
|
|
193
|
+
await fabric2.setLabel(adminFabricLabel);
|
|
236
194
|
}
|
|
237
195
|
});
|
|
238
196
|
}
|
|
197
|
+
get ble() {
|
|
198
|
+
this.#construction.assert();
|
|
199
|
+
return this.#node.state.network.ble ?? false;
|
|
200
|
+
}
|
|
239
201
|
get nodeId() {
|
|
240
|
-
|
|
202
|
+
this.#construction.assert();
|
|
203
|
+
return this.#fabric.rootNodeId;
|
|
241
204
|
}
|
|
242
205
|
get caConfig() {
|
|
243
|
-
|
|
206
|
+
this.#construction.assert();
|
|
207
|
+
return this.#node.env.get(import_protocol.CertificateAuthority).config;
|
|
244
208
|
}
|
|
245
209
|
get fabricConfig() {
|
|
246
|
-
|
|
210
|
+
this.#construction.assert();
|
|
211
|
+
return this.#fabric.config;
|
|
247
212
|
}
|
|
248
213
|
get sessions() {
|
|
249
|
-
|
|
214
|
+
this.#construction.assert();
|
|
215
|
+
return this.#node.env.get(import_protocol.SessionManager).sessions;
|
|
250
216
|
}
|
|
251
217
|
getFabrics() {
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
hasAdvertiser(advertiser) {
|
|
255
|
-
return this.#advertiser.hasAdvertiser(advertiser);
|
|
256
|
-
}
|
|
257
|
-
addAdvertiser(advertiser) {
|
|
258
|
-
this.#advertiser.addAdvertiser(advertiser);
|
|
259
|
-
}
|
|
260
|
-
async deleteBroadcaster(advertiser) {
|
|
261
|
-
await this.#advertiser.deleteAdvertiser(advertiser);
|
|
218
|
+
this.#construction.assert();
|
|
219
|
+
return [this.#fabric];
|
|
262
220
|
}
|
|
263
221
|
collectScanners(discoveryCapabilities = { onIpNetwork: true }) {
|
|
264
|
-
|
|
222
|
+
this.#construction.assert();
|
|
223
|
+
return this.#node.env.get(import_protocol.ScannerSet).filter(
|
|
265
224
|
(scanner) => scanner.type === import_general.ChannelType.UDP || discoveryCapabilities.ble && scanner.type === import_general.ChannelType.BLE
|
|
266
225
|
);
|
|
267
226
|
}
|
|
@@ -277,9 +236,10 @@ class MatterController {
|
|
|
277
236
|
* Return true when the commissioning process is completed successfully, false on error.
|
|
278
237
|
*/
|
|
279
238
|
async commission(options, customizations) {
|
|
239
|
+
this.#construction.assert();
|
|
280
240
|
const commissioningOptions = {
|
|
281
241
|
...options.commissioning,
|
|
282
|
-
fabric: this
|
|
242
|
+
fabric: this.#fabric,
|
|
283
243
|
discovery: options.discovery,
|
|
284
244
|
passcode: options.passcode
|
|
285
245
|
};
|
|
@@ -293,17 +253,19 @@ class MatterController {
|
|
|
293
253
|
};
|
|
294
254
|
}
|
|
295
255
|
commissioningOptions.commissioningFlowImpl = commissioningFlowImpl;
|
|
296
|
-
const address = await this.
|
|
297
|
-
await this
|
|
256
|
+
const address = await this.#node.env.get(import_protocol.ControllerCommissioner).commissionWithDiscovery(commissioningOptions);
|
|
257
|
+
await this.#fabric.persist();
|
|
298
258
|
return address.nodeId;
|
|
299
259
|
}
|
|
300
260
|
async disconnect(nodeId) {
|
|
301
|
-
|
|
261
|
+
this.#construction.assert();
|
|
262
|
+
return this.#peers.disconnect(this.#fabric.addressOf(nodeId));
|
|
302
263
|
}
|
|
303
264
|
async connectPaseChannel(options) {
|
|
304
|
-
|
|
265
|
+
this.#construction.assert();
|
|
266
|
+
const { paseSecureChannel } = await this.#node.env.get(import_protocol.ControllerCommissioner).discoverAndEstablishPase({
|
|
305
267
|
...options.commissioning,
|
|
306
|
-
fabric: this
|
|
268
|
+
fabric: this.#fabric,
|
|
307
269
|
discovery: options.discovery,
|
|
308
270
|
passcode: options.passcode
|
|
309
271
|
});
|
|
@@ -311,12 +273,14 @@ class MatterController {
|
|
|
311
273
|
return paseSecureChannel;
|
|
312
274
|
}
|
|
313
275
|
async removeNode(nodeId) {
|
|
314
|
-
|
|
276
|
+
this.#construction.assert();
|
|
277
|
+
return this.#peers.delete(this.#fabric.addressOf(nodeId));
|
|
315
278
|
}
|
|
316
279
|
/**
|
|
317
280
|
* Method to complete the commissioning process to a node which was initialized with a PASE secure channel.
|
|
318
281
|
*/
|
|
319
282
|
async completeCommissioning(peerNodeId, discoveryData) {
|
|
283
|
+
this.#construction.assert();
|
|
320
284
|
const interactionClient = await this.connect(peerNodeId, {
|
|
321
285
|
discoveryOptions: {
|
|
322
286
|
discoveryType: import_protocol.NodeDiscoveryType.TimedDiscovery,
|
|
@@ -334,19 +298,22 @@ class MatterController {
|
|
|
334
298
|
useExtendedFailSafeMessageResponseTimeout: true
|
|
335
299
|
});
|
|
336
300
|
if (errorCode !== import_clusters.GeneralCommissioning.CommissioningError.Ok) {
|
|
337
|
-
await this
|
|
301
|
+
await this.#peers.delete(this.#fabric.addressOf(peerNodeId));
|
|
338
302
|
throw new import_protocol.CommissioningError(`Commission error on commissioningComplete: ${errorCode}, ${debugText}`);
|
|
339
303
|
}
|
|
340
|
-
await this
|
|
304
|
+
await this.#fabric.persist();
|
|
341
305
|
}
|
|
342
306
|
isCommissioned() {
|
|
343
|
-
|
|
307
|
+
this.#construction.assert();
|
|
308
|
+
return !!this.#peers.size;
|
|
344
309
|
}
|
|
345
310
|
getCommissionedNodes() {
|
|
346
|
-
|
|
311
|
+
this.#construction.assert();
|
|
312
|
+
return this.#peers.map((peer) => peer.address.nodeId);
|
|
347
313
|
}
|
|
348
314
|
getCommissionedNodesDetails() {
|
|
349
|
-
|
|
315
|
+
this.#construction.assert();
|
|
316
|
+
return this.#peers.map((peer) => {
|
|
350
317
|
const { address, operationalAddress, discoveryData, deviceData } = peer;
|
|
351
318
|
return {
|
|
352
319
|
nodeId: address.nodeId,
|
|
@@ -358,7 +325,8 @@ class MatterController {
|
|
|
358
325
|
});
|
|
359
326
|
}
|
|
360
327
|
getCommissionedNodeDetails(nodeId) {
|
|
361
|
-
|
|
328
|
+
this.#construction.assert();
|
|
329
|
+
const nodeDetails = this.#peers.get(this.#fabric.addressOf(nodeId));
|
|
362
330
|
if (nodeDetails === void 0) {
|
|
363
331
|
throw new Error(`Node ${nodeId} is not commissioned.`);
|
|
364
332
|
}
|
|
@@ -372,54 +340,46 @@ class MatterController {
|
|
|
372
340
|
};
|
|
373
341
|
}
|
|
374
342
|
async enhanceCommissionedNodeDetails(nodeId, deviceData) {
|
|
375
|
-
|
|
343
|
+
this.#construction.assert();
|
|
344
|
+
const nodeDetails = this.#peers.get(this.#fabric.addressOf(nodeId));
|
|
376
345
|
if (nodeDetails === void 0) {
|
|
377
346
|
throw new Error(`Node ${nodeId} is not commissioned.`);
|
|
378
347
|
}
|
|
379
348
|
nodeDetails.deviceData = deviceData;
|
|
380
|
-
await this.
|
|
349
|
+
await this.#node.env.get(import_protocol.PeerAddressStore).save();
|
|
381
350
|
}
|
|
382
351
|
/**
|
|
383
352
|
* Connect to the device by opening a channel and creating a new CASE session if necessary.
|
|
384
353
|
* Returns a InteractionClient on success.
|
|
385
354
|
*/
|
|
386
355
|
async connect(peerNodeId, options) {
|
|
387
|
-
|
|
356
|
+
this.#construction.assert();
|
|
357
|
+
return this.#node.env.get(import_protocol.InteractionClientProvider).connect(this.#fabric.addressOf(peerNodeId), options);
|
|
388
358
|
}
|
|
389
359
|
createInteractionClient(peerNodeIdOrChannel, options = {}) {
|
|
390
|
-
if (peerNodeIdOrChannel instanceof
|
|
391
|
-
return this.
|
|
360
|
+
if (peerNodeIdOrChannel instanceof import_protocol.MessageChannel) {
|
|
361
|
+
return this.#node.env.get(import_protocol.InteractionClientProvider).getInteractionClientForChannel(peerNodeIdOrChannel);
|
|
392
362
|
}
|
|
393
|
-
return this.
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
}
|
|
398
|
-
getResumptionRecord(resumptionId) {
|
|
399
|
-
return this.sessionManager.findResumptionRecordById(resumptionId);
|
|
400
|
-
}
|
|
401
|
-
findResumptionRecordByNodeId(nodeId) {
|
|
402
|
-
return this.sessionManager.findResumptionRecordByAddress(this.fabric.addressOf(nodeId));
|
|
403
|
-
}
|
|
404
|
-
async saveResumptionRecord(resumptionRecord) {
|
|
405
|
-
return this.sessionManager.saveResumptionRecord(resumptionRecord);
|
|
363
|
+
return this.#node.env.get(import_protocol.InteractionClientProvider).getInteractionClient(
|
|
364
|
+
this.#fabric.addressOf(peerNodeIdOrChannel),
|
|
365
|
+
options
|
|
366
|
+
);
|
|
406
367
|
}
|
|
407
|
-
|
|
408
|
-
this.#
|
|
368
|
+
async start() {
|
|
369
|
+
this.#construction.assert();
|
|
370
|
+
await this.#node.start();
|
|
371
|
+
this.#node.env.get(import_node.InteractionServer).clientHandler = this.#node.env.get(import_protocol.SubscriptionClient);
|
|
409
372
|
}
|
|
410
373
|
async close() {
|
|
411
|
-
await this
|
|
412
|
-
await this.exchangeManager.close();
|
|
413
|
-
await this.sessionManager.close();
|
|
414
|
-
await this.channelManager.close();
|
|
415
|
-
await this.transports.close();
|
|
416
|
-
await this.#advertiser.close();
|
|
374
|
+
await this.#node?.close();
|
|
417
375
|
}
|
|
418
376
|
getActiveSessionInformation() {
|
|
419
|
-
|
|
377
|
+
this.#construction.assert();
|
|
378
|
+
return this.#node.env.get(import_protocol.SessionManager).getActiveSessionInformation();
|
|
420
379
|
}
|
|
421
380
|
async getStoredClusterDataVersions(nodeId, filterEndpointId, filterClusterId) {
|
|
422
|
-
|
|
381
|
+
this.#construction.assert();
|
|
382
|
+
const peer = this.#peers.get(this.#fabric.addressOf(nodeId));
|
|
423
383
|
if (peer === void 0 || peer.dataStore === void 0) {
|
|
424
384
|
return [];
|
|
425
385
|
}
|
|
@@ -427,7 +387,8 @@ class MatterController {
|
|
|
427
387
|
return peer.dataStore.getClusterDataVersions(filterEndpointId, filterClusterId);
|
|
428
388
|
}
|
|
429
389
|
async retrieveStoredAttributes(nodeId, endpointId, clusterId) {
|
|
430
|
-
|
|
390
|
+
this.#construction.assert();
|
|
391
|
+
const peer = this.#peers.get(this.#fabric.addressOf(nodeId));
|
|
431
392
|
if (peer === void 0 || peer.dataStore === void 0) {
|
|
432
393
|
return [];
|
|
433
394
|
}
|
|
@@ -435,16 +396,18 @@ class MatterController {
|
|
|
435
396
|
return peer.dataStore.retrieveAttributes(endpointId, clusterId);
|
|
436
397
|
}
|
|
437
398
|
async updateFabricLabel(label) {
|
|
438
|
-
|
|
399
|
+
this.#construction.assert();
|
|
400
|
+
await this.#fabric.setLabel(label);
|
|
439
401
|
}
|
|
440
402
|
}
|
|
441
403
|
class CommissionedNodeStore extends import_protocol.PeerAddressStore {
|
|
404
|
+
#controllerStore;
|
|
405
|
+
#fabric;
|
|
442
406
|
constructor(controllerStore, fabric) {
|
|
443
407
|
super();
|
|
444
|
-
this.fabric = fabric;
|
|
445
408
|
this.#controllerStore = controllerStore;
|
|
409
|
+
this.#fabric = fabric;
|
|
446
410
|
}
|
|
447
|
-
#controllerStore;
|
|
448
411
|
async createNodeStore(address, load = true) {
|
|
449
412
|
return new import_CachedClientNodeStore.CachedClientNodeStore(await this.#controllerStore.clientNodeStore(address.nodeId.toString()), load);
|
|
450
413
|
}
|
|
@@ -455,7 +418,7 @@ class CommissionedNodeStore extends import_protocol.PeerAddressStore {
|
|
|
455
418
|
const commissionedNodes = await this.#controllerStore.nodesStorage.get("commissionedNodes");
|
|
456
419
|
const nodes = new Array();
|
|
457
420
|
for (const [nodeId, { operationalServerAddress, discoveryData, deviceData }] of commissionedNodes) {
|
|
458
|
-
const address = this
|
|
421
|
+
const address = this.#fabric.addressOf(nodeId);
|
|
459
422
|
nodes.push({
|
|
460
423
|
address,
|
|
461
424
|
operationalAddress: operationalServerAddress,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/MatterController.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA,sBAAqC;AAGrC,mCAAsC;AAEtC,qBAgBO;AACP,mCAAsC;AACtC,
|
|
5
|
-
"names": ["
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["fabric"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaseCommissioner.d.ts","sourceRoot":"","sources":["../../src/PaseCommissioner.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACpB,+BAA+B,EAE/B,aAAa,EACb,MAAM,
|
|
1
|
+
{"version":3,"file":"PaseCommissioner.d.ts","sourceRoot":"","sources":["../../src/PaseCommissioner.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACpB,+BAA+B,EAE/B,aAAa,EACb,MAAM,EAGT,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,2BAA2B,EAAE,MAAM,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AACvF,OAAO,EACH,8BAA8B,EAC9B,4BAA4B,EAC5B,wBAAwB,EAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD,KAAK,uBAAuB,GAAG,IAAI,CAAC,8BAA8B,EAAE,aAAa,CAAC,GAAG;IACjF,0CAA0C;IAC1C,WAAW,EAAE,4BAA4B,CAAC;IAE1C,oDAAoD;IACpD,0BAA0B,EAAE,oBAAoB,CAAC,aAAa,CAAC;IAE/D,2CAA2C;IAC3C,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC;CAC/B,CAAC;AAEF;;;;GAIG;AACH,qBAAa,gBAAgB;IASb,OAAO,CAAC,QAAQ,CAAC,OAAO;IARpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,kBAAkB,CAAC,CAAmB;IAE9C;;;;OAIG;gBAC0B,OAAO,EAAE,uBAAuB;IAQ7D,IAAI,MAAM,uBAET;IAED,yBAAyB,CAAC,SAAS,CAAC,EAAE,MAAM;IAS5C,iEAAiE;YACnD,oBAAoB;IAsBlC;;;;;;OAMG;IACG,cAAc,CAChB,WAAW,EAAE,wBAAwB,EACrC,6BAA6B,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC;IAO1G,gHAAgH;IAC1G,KAAK;IAKX,iCAAiC;IAC3B,KAAK;IAQX,mCAAmC,CAC/B,cAAc,EAAE,+BAA+B,EAC/C,qBAAqB,CAAC,EAAE,wBAAwB,CAAC,OAAO,2BAA2B,CAAC;IAUlF,6BAA6B,CAC/B,cAAc,EAAE,+BAA+B,EAC/C,qBAAqB,CAAC,EAAE,wBAAwB,CAAC,OAAO,2BAA2B,CAAC,EACpF,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,EAC3D,OAAO,8BAAc;CAU5B"}
|