@project-chip/matter.js 0.12.4-alpha.0-20250209-00d44975c → 0.12.4-alpha.0-20250210-ad8edf096

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.
@@ -117,9 +117,6 @@ export declare class NodeNotConnectedError extends MatterError {
117
117
  export declare class PairedNode {
118
118
  #private;
119
119
  readonly nodeId: NodeId;
120
- private readonly commissioningController;
121
- private options;
122
- private readonly reconnectFunc;
123
120
  readonly events: {
124
121
  /**
125
122
  * Emitted when the node is initialized from local data. These data usually are stale, but you can still already
@@ -149,21 +146,28 @@ export declare class PairedNode {
149
146
  constructor(nodeId: NodeId, commissioningController: CommissioningController, options: CommissioningControllerNodeOptions | undefined, knownNodeDetails: DeviceInformationData, interactionClient: InteractionClient, reconnectFunc: (discoveryType?: NodeDiscoveryType, noForcedConnection?: boolean) => Promise<void>, assignDisconnectedHandler: (handler: () => Promise<void>) => void, sessions: BasicSet<SecureSession, SecureSession>, storedAttributeData?: DecodedAttributeReportValue<any>[]);
150
147
  get construction(): Construction<PairedNode>;
151
148
  get isConnected(): boolean;
149
+ /** Returns the Node connection state. */
152
150
  get state(): NodeStates;
151
+ /** Returns the BasicInformation cluster metadata collected from the device. */
153
152
  get basicInformation(): import("./DeviceInformation.js").DeviceBasicInformation | undefined;
153
+ /** Returns the general capability metadata collected from the device. */
154
154
  get deviceInformation(): import("./DeviceInformation.js").DeviceMetaInformation | undefined;
155
+ /** Is the Node fully initialized with formerly stored subscription data? False when the node was never connected so far. */
155
156
  get localInitializationDone(): boolean;
157
+ /** Is the Node fully initialized with remote subscription or read data? */
156
158
  get remoteInitializationDone(): boolean;
159
+ /** Is the Node initialized - locally or remotely? */
157
160
  get initialized(): boolean;
158
161
  /**
159
162
  * Schedule a connection to the device. This method is non-blocking and will return immediately.
160
- * The connection happens in the background. Please monitor the state of the node to see if the
163
+ * The connection happens in the background. Please monitor the state events of the node to see if the
161
164
  * connection was successful.
165
+ * The provided connection options will be set and used internally if the node reconnects successfully.
162
166
  */
163
167
  connect(connectOptions?: CommissioningControllerNodeOptions): void;
164
168
  /**
165
169
  * Trigger a reconnection to the device. This method is non-blocking and will return immediately.
166
- * The reconnection happens in the background. Please monitor the state of the node to see if the
170
+ * The reconnection happens in the background. Please monitor the state events of the node to see if the
167
171
  * reconnection was successful.
168
172
  */
169
173
  triggerReconnect(): void;
@@ -176,8 +180,9 @@ export declare class PairedNode {
176
180
  */
177
181
  reconnect(connectOptions?: CommissioningControllerNodeOptions): Promise<void>;
178
182
  /**
179
- * Request the current InteractionClient for custom special case interactions with the device. Usually the
180
- * ClusterClients of the Devices of the node should be used instead.
183
+ * Request the current InteractionClient for custom special interactions with the device. Usually the
184
+ * ClusterClients of the Devices of the node should be used instead. An own InteractionClient is only needed
185
+ * when you want to read or write multiple attributes or events in a single request or send batch invokes.
181
186
  */
182
187
  getInteractionClient(): Promise<InteractionClient>;
183
188
  /** Method to log the structure of this node with all endpoint and clusters. */
@@ -194,22 +199,30 @@ export declare class PairedNode {
194
199
  attributeReports?: DecodedAttributeReportValue<any>[];
195
200
  eventReports?: DecodedEventReportValue<any>[];
196
201
  }>;
202
+ /** Read all attributes of the devices and return them. If a stored state exists this is used to minimize needed traffic. */
197
203
  readAllAttributes(): Promise<DecodedAttributeReportValue<any>[]>;
198
- /** Returns the functional devices/endpoints (those below the Root Endpoint) known for this node. */
204
+ /** Returns the functional devices/endpoints (the "childs" of the Root Endpoint) known for this node. */
199
205
  getDevices(): EndpointInterface[];
200
206
  /** Returns the device/endpoint with the given endpoint ID. */
201
207
  getDeviceById(endpointId: number): Endpoint | undefined;
208
+ /** Returns the Root Endpoint of the device. */
202
209
  getRootEndpoint(): Endpoint | undefined;
203
210
  /** De-Commission (unpair) the device from this controller by removing the fabric from the device. */
204
211
  decommission(): Promise<void>;
205
- /** Opens a Basic Commissioning Window (uses the original Passcode printed on the device) with the device. */
212
+ /**
213
+ * Opens a Basic Commissioning Window (uses the original Passcode printed on the device) with the device.
214
+ * This is an optional method, so it might not be supported by all devices and could be rejected with an error in
215
+ * this case! Better use openEnhancedCommissioningWindow() instead.
216
+ */
206
217
  openBasicCommissioningWindow(commissioningTimeout?: number): Promise<void>;
207
218
  /** Opens an Enhanced Commissioning Window (uses a generated random Passcode) with the device. */
208
219
  openEnhancedCommissioningWindow(commissioningTimeout?: number): Promise<{
209
220
  manualPairingCode: string;
210
221
  qrPairingCode: string;
211
222
  }>;
223
+ /** Closes the current session, ends the subscription and disconnects the device. */
212
224
  disconnect(): Promise<void>;
225
+ /** Closes the current subscription and ends all timers for reconnects or such used by this PairedNode instance. */
213
226
  close(sendDecommissionedStatus?: boolean): void;
214
227
  /**
215
228
  * Get a cluster server from the root endpoint. This is mainly used internally and not needed to be called by the user.
@@ -1 +1 @@
1
- {"version":3,"file":"PairedNode.d.ts","sourceRoot":"","sources":["../../../src/device/PairedNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PairedNode.d.ts","sourceRoot":"","sources":["../../../src/device/PairedNode.ts"],"names":[],"mappings":"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"}
@@ -69,9 +69,6 @@ class NodeNotConnectedError extends import_general.MatterError {
69
69
  class PairedNode {
70
70
  constructor(nodeId, commissioningController, options = {}, knownNodeDetails, interactionClient, reconnectFunc, assignDisconnectedHandler, sessions, storedAttributeData) {
71
71
  this.nodeId = nodeId;
72
- this.commissioningController = commissioningController;
73
- this.options = options;
74
- this.reconnectFunc = reconnectFunc;
75
72
  assignDisconnectedHandler(async () => {
76
73
  logger.info(
77
74
  `Node ${this.nodeId}: Session disconnected${this.#connectionState !== 1 /* Disconnected */ ? ", trying to reconnect ..." : ""}`
@@ -80,6 +77,9 @@ class PairedNode {
80
77
  this.#scheduleReconnect();
81
78
  }
82
79
  });
80
+ this.#commissioningController = commissioningController;
81
+ this.#options = options;
82
+ this.#reconnectFunc = reconnectFunc;
83
83
  this.#interactionClient = interactionClient;
84
84
  this.#interactionClient.channelUpdated.on(() => {
85
85
  if (this.#reconnectDelayTimer?.isRunning && !this.#clientReconnectInProgress && !this.#reconnectionInProgress && this.#connectionState === 2 /* Reconnecting */) {
@@ -103,7 +103,7 @@ class PairedNode {
103
103
  if (storedAttributeData !== void 0) {
104
104
  await this.#initializeFromStoredData(storedAttributeData);
105
105
  }
106
- if (this.options.autoConnect !== false) {
106
+ if (this.#options.autoConnect !== false) {
107
107
  this.#initialize().catch((error) => {
108
108
  logger.info(`Node ${nodeId}: Error during remote initialization`, error);
109
109
  if (this.state !== 1 /* Disconnected */) {
@@ -147,6 +147,9 @@ class PairedNode {
147
147
  #construction;
148
148
  #clientReconnectInProgress = false;
149
149
  #currentSubscriptionHandler;
150
+ #commissioningController;
151
+ #options;
152
+ #reconnectFunc;
150
153
  events = {
151
154
  /**
152
155
  * Emitted when the node is initialized from local data. These data usually are stale, but you can still already
@@ -193,21 +196,27 @@ class PairedNode {
193
196
  get isConnected() {
194
197
  return this.#connectionState === 0 /* Connected */;
195
198
  }
199
+ /** Returns the Node connection state. */
196
200
  get state() {
197
201
  return this.#connectionState;
198
202
  }
203
+ /** Returns the BasicInformation cluster metadata collected from the device. */
199
204
  get basicInformation() {
200
205
  return this.#nodeDetails.basicInformation;
201
206
  }
207
+ /** Returns the general capability metadata collected from the device. */
202
208
  get deviceInformation() {
203
209
  return this.#nodeDetails.meta;
204
210
  }
211
+ /** Is the Node fully initialized with formerly stored subscription data? False when the node was never connected so far. */
205
212
  get localInitializationDone() {
206
213
  return this.#localInitializationDone;
207
214
  }
215
+ /** Is the Node fully initialized with remote subscription or read data? */
208
216
  get remoteInitializationDone() {
209
217
  return this.#remoteInitializationDone;
210
218
  }
219
+ /** Is the Node initialized - locally or remotely? */
211
220
  get initialized() {
212
221
  return this.#remoteInitializationDone || this.#localInitializationDone;
213
222
  }
@@ -227,7 +236,7 @@ class PairedNode {
227
236
  if (this.#connectionState === state || this.#connectionState === 3 /* WaitingForDeviceDiscovery */ && state === 2 /* Reconnecting */)
228
237
  return;
229
238
  this.#connectionState = state;
230
- this.options.stateInformationCallback?.(this.nodeId, state);
239
+ this.#options.stateInformationCallback?.(this.nodeId, state);
231
240
  this.events.stateChanged.emit(state);
232
241
  if (state === 1 /* Disconnected */) {
233
242
  this.#reconnectDelayTimer?.stop();
@@ -241,25 +250,26 @@ class PairedNode {
241
250
  }
242
251
  this.#clientReconnectInProgress = true;
243
252
  try {
244
- await this.reconnectFunc(discoveryType);
253
+ await this.#reconnectFunc(discoveryType);
245
254
  } finally {
246
255
  this.#clientReconnectInProgress = false;
247
256
  }
248
257
  }
249
258
  /**
250
259
  * Schedule a connection to the device. This method is non-blocking and will return immediately.
251
- * The connection happens in the background. Please monitor the state of the node to see if the
260
+ * The connection happens in the background. Please monitor the state events of the node to see if the
252
261
  * connection was successful.
262
+ * The provided connection options will be set and used internally if the node reconnects successfully.
253
263
  */
254
264
  connect(connectOptions) {
255
265
  if (connectOptions !== void 0) {
256
- this.options = connectOptions;
266
+ this.#options = connectOptions;
257
267
  }
258
268
  this.triggerReconnect();
259
269
  }
260
270
  /**
261
271
  * Trigger a reconnection to the device. This method is non-blocking and will return immediately.
262
- * The reconnection happens in the background. Please monitor the state of the node to see if the
272
+ * The reconnection happens in the background. Please monitor the state events of the node to see if the
263
273
  * reconnection was successful.
264
274
  */
265
275
  triggerReconnect() {
@@ -280,7 +290,7 @@ class PairedNode {
280
290
  */
281
291
  async reconnect(connectOptions) {
282
292
  if (connectOptions !== void 0) {
283
- this.options = connectOptions;
293
+ this.#options = connectOptions;
284
294
  }
285
295
  if (this.#reconnectionInProgress || this.#remoteInitializationInProgress) {
286
296
  logger.debug(
@@ -355,7 +365,7 @@ class PairedNode {
355
365
  return this.#interactionClient;
356
366
  }
357
367
  async #initializeFromStoredData(storedAttributeData) {
358
- const { autoSubscribe } = this.options;
368
+ const { autoSubscribe } = this.#options;
359
369
  if (this.#remoteInitializationDone || this.#localInitializationDone || autoSubscribe === false) return;
360
370
  let rootEndpointIncluded = false;
361
371
  let otherEndpointIncluded = false;
@@ -384,7 +394,7 @@ class PairedNode {
384
394
  this.#remoteInitializationInProgress = true;
385
395
  try {
386
396
  await this.#ensureConnection(true);
387
- const { autoSubscribe, attributeChangedCallback, eventTriggeredCallback } = this.options;
397
+ const { autoSubscribe, attributeChangedCallback, eventTriggeredCallback } = this.#options;
388
398
  let deviceDetailsUpdated = false;
389
399
  if (!this.#nodeDetails.valid || autoSubscribe === false && !this.#remoteInitializationDone) {
390
400
  await this.#nodeDetails.enhanceDeviceDetailsFromRemote(this.#interactionClient);
@@ -423,7 +433,7 @@ class PairedNode {
423
433
  }
424
434
  if (!this.#remoteInitializationDone) {
425
435
  try {
426
- await this.commissioningController.validateAndUpdateFabricLabel(this.nodeId);
436
+ await this.#commissioningController.validateAndUpdateFabricLabel(this.nodeId);
427
437
  } catch (error) {
428
438
  logger.info(`Node ${this.nodeId}: Error updating fabric label`, error);
429
439
  }
@@ -441,8 +451,9 @@ class PairedNode {
441
451
  }
442
452
  }
443
453
  /**
444
- * Request the current InteractionClient for custom special case interactions with the device. Usually the
445
- * ClusterClients of the Devices of the node should be used instead.
454
+ * Request the current InteractionClient for custom special interactions with the device. Usually the
455
+ * ClusterClients of the Devices of the node should be used instead. An own InteractionClient is only needed
456
+ * when you want to read or write multiple attributes or events in a single request or send batch invokes.
446
457
  */
447
458
  getInteractionClient() {
448
459
  return this.#ensureConnection();
@@ -464,7 +475,7 @@ class PairedNode {
464
475
  options = options ?? {};
465
476
  const { attributeChangedCallback, eventTriggeredCallback } = options;
466
477
  let { ignoreInitialTriggers = false } = options;
467
- const { minIntervalFloorSeconds, maxIntervalCeilingSeconds } = this.#nodeDetails.determineSubscriptionParameters(this.options);
478
+ const { minIntervalFloorSeconds, maxIntervalCeilingSeconds } = this.#nodeDetails.determineSubscriptionParameters(this.#options);
468
479
  const { threadConnected } = this.#nodeDetails.meta ?? {};
469
480
  this.#invalidateSubscriptionHandler();
470
481
  const subscriptionHandler = {
@@ -573,6 +584,7 @@ class PairedNode {
573
584
  ignoreInitialTriggers = false;
574
585
  return initialSubscriptionData;
575
586
  }
587
+ /** Read all attributes of the devices and return them. If a stored state exists this is used to minimize needed traffic. */
576
588
  async readAllAttributes() {
577
589
  return this.#interactionClient.getAllAttributes({
578
590
  dataVersionFilters: this.#interactionClient.getCachedClusterDataVersions(),
@@ -632,7 +644,7 @@ class PairedNode {
632
644
  async #updateEndpointStructure() {
633
645
  const allClusterAttributes = await this.readAllAttributes();
634
646
  await this.#initializeEndpointStructure(allClusterAttributes, true);
635
- this.options.stateInformationCallback?.(this.nodeId, 4 /* StructureChanged */);
647
+ this.#options.stateInformationCallback?.(this.nodeId, 4 /* StructureChanged */);
636
648
  this.events.structureChanged.emit();
637
649
  }
638
650
  /** Reads all data from the device and create a device object structure out of it. */
@@ -726,14 +738,7 @@ class PairedNode {
726
738
  });
727
739
  }
728
740
  }
729
- /**
730
- * Create a device object from the data read from the device.
731
- *
732
- * @param endpointId Endpoint ID
733
- * @param data Data of all clusters read from the device
734
- * @param interactionClient InteractionClient to use for the device
735
- * @private
736
- */
741
+ /** Create a device object from the data read from the device. */
737
742
  #createDevice(endpointId, data, interactionClient) {
738
743
  const descriptorData = data[import_clusters.DescriptorCluster.id];
739
744
  const deviceTypes = descriptorData.deviceTypeList.flatMap(({ deviceType, revision }) => {
@@ -814,7 +819,7 @@ class PairedNode {
814
819
  }
815
820
  }
816
821
  }
817
- /** Returns the functional devices/endpoints (those below the Root Endpoint) known for this node. */
822
+ /** Returns the functional devices/endpoints (the "childs" of the Root Endpoint) known for this node. */
818
823
  getDevices() {
819
824
  return this.#endpoints.get((0, import_types.EndpointNumber)(0))?.getChildEndpoints() ?? [];
820
825
  }
@@ -822,12 +827,13 @@ class PairedNode {
822
827
  getDeviceById(endpointId) {
823
828
  return this.#endpoints.get((0, import_types.EndpointNumber)(endpointId));
824
829
  }
830
+ /** Returns the Root Endpoint of the device. */
825
831
  getRootEndpoint() {
826
832
  return this.getDeviceById(0);
827
833
  }
828
834
  /** De-Commission (unpair) the device from this controller by removing the fabric from the device. */
829
835
  async decommission() {
830
- if (!this.commissioningController.isNodeCommissioned(this.nodeId)) {
836
+ if (!this.#commissioningController.isNodeCommissioned(this.nodeId)) {
831
837
  throw new import_general.ImplementationError(`This Node ${this.nodeId} is not commissioned.`);
832
838
  }
833
839
  if (this.#connectionState === 2 /* Reconnecting */ || this.#connectionState === 3 /* WaitingForDeviceDiscovery */) {
@@ -848,9 +854,13 @@ class PairedNode {
848
854
  );
849
855
  }
850
856
  this.#setConnectionState(1 /* Disconnected */);
851
- await this.commissioningController.removeNode(this.nodeId, false);
857
+ await this.#commissioningController.removeNode(this.nodeId, false);
852
858
  }
853
- /** Opens a Basic Commissioning Window (uses the original Passcode printed on the device) with the device. */
859
+ /**
860
+ * Opens a Basic Commissioning Window (uses the original Passcode printed on the device) with the device.
861
+ * This is an optional method, so it might not be supported by all devices and could be rejected with an error in
862
+ * this case! Better use openEnhancedCommissioningWindow() instead.
863
+ */
854
864
  async openBasicCommissioningWindow(commissioningTimeout = 900) {
855
865
  const adminCommissioningCluster = this.getRootClusterClient(import_clusters.AdministratorCommissioning.Cluster.with("Basic"));
856
866
  if (adminCommissioningCluster === void 0) {
@@ -925,17 +935,19 @@ class PairedNode {
925
935
  qrPairingCode
926
936
  };
927
937
  }
938
+ /** Closes the current session, ends the subscription and disconnects the device. */
928
939
  async disconnect() {
929
940
  this.close();
930
- await this.commissioningController.disconnectNode(this.nodeId);
941
+ await this.#commissioningController.disconnectNode(this.nodeId);
931
942
  }
943
+ /** Closes the current subscription and ends all timers for reconnects or such used by this PairedNode instance. */
932
944
  close(sendDecommissionedStatus = false) {
933
945
  this.#newChannelReconnectDelayTimer.stop();
934
946
  this.#reconnectDelayTimer?.stop();
935
947
  this.#reconnectDelayTimer = void 0;
936
948
  this.#updateEndpointStructureTimer.stop();
937
949
  if (sendDecommissionedStatus) {
938
- this.options.stateInformationCallback?.(this.nodeId, 5 /* Decommissioned */);
950
+ this.#options.stateInformationCallback?.(this.nodeId, 5 /* Decommissioned */);
939
951
  this.events.decommissioned.emit();
940
952
  }
941
953
  this.#setConnectionState(1 /* Disconnected */);
@@ -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
  }
@@ -4,10 +4,9 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { Environment, NetInterfaceSet, StorageContext, SyncStorage } from "#general";
7
- import { CommissionableDevice, CommissionableDeviceIdentifiers, DecodedAttributeReportValue, DiscoveryAndCommissioningOptions, DiscoveryData, InteractionClient, MdnsBroadcaster, MdnsScanner, NodeDiscoveryType, ScannerSet } from "#protocol";
7
+ import { CommissionableDevice, CommissionableDeviceIdentifiers, DiscoveryAndCommissioningOptions, DiscoveryData, InteractionClient, MdnsBroadcaster, MdnsScanner, NodeDiscoveryType, ScannerSet } from "#protocol";
8
8
  import { CaseAuthenticatedTag, DiscoveryCapabilitiesBitmap, FabricId, FabricIndex, NodeId, TypeFromPartialBitSchema, VendorId } from "#types";
9
9
  import { CommissioningControllerNodeOptions, PairedNode } from "./device/PairedNode.js";
10
- import { MatterController } from "./MatterController.js";
11
10
  import { MatterNode } from "./MatterNode.js";
12
11
  export type ControllerEnvironmentOptions = {
13
12
  /**
@@ -75,19 +74,7 @@ export type NodeCommissioningOptions = CommissioningControllerNodeOptions & {
75
74
  };
76
75
  /** Controller class to commission and connect multiple nodes into one fabric. */
77
76
  export declare class CommissioningController extends MatterNode {
78
- private readonly options;
79
- private started;
80
- private ipv4Disabled?;
81
- private readonly listeningAddressIpv4?;
82
- private readonly listeningAddressIpv6?;
83
- private environment?;
84
- private storage?;
85
- private mdnsScanner?;
86
- private mdnsBroadcaster?;
87
- private controllerInstance?;
88
- private initializedNodes;
89
- private nodeUpdateLabelHandlers;
90
- private sessionDisconnectedHandler;
77
+ #private;
91
78
  /**
92
79
  * Creates a new CommissioningController instance
93
80
  *
@@ -95,21 +82,14 @@ export declare class CommissioningController extends MatterNode {
95
82
  */
96
83
  constructor(options: CommissioningControllerOptions);
97
84
  get nodeId(): NodeId | undefined;
85
+ /** Returns the configuration data needed to create a PASE commissioner, e.g. in a mobile app. */
98
86
  get paseCommissionerConfig(): {
99
87
  caConfig: import("#protocol").CertificateAuthority.Configuration;
100
88
  fabricData: import("#protocol").Fabric.Config;
101
89
  };
102
- assertIsAddedToMatterServer(): {
103
- mdnsScanner: MdnsScanner;
104
- storage: StorageContext<any> | undefined;
105
- environment: Environment | undefined;
106
- };
107
- assertControllerIsStarted(errorText?: string): MatterController;
108
- /** Internal method to initialize a MatterController instance. */
109
- private initializeController;
110
90
  /**
111
91
  * Commissions/Pairs a new device into the controller fabric. The method returns the NodeId of the commissioned
112
- * node.
92
+ * node on success.
113
93
  */
114
94
  commissionNode(nodeOptions: NodeCommissioningOptions, connectNodeAfterCommissioning?: boolean): Promise<NodeId>;
115
95
  /**
@@ -124,40 +104,53 @@ export declare class CommissioningController extends MatterNode {
124
104
  * Remove a Node id from the controller. This method should only be used if the decommission method on the
125
105
  * PairedNode instance returns an error. By default, it tries to decommission the node from the controller but will
126
106
  * remove it also in case of an error during decommissioning. Ideally try to decommission the node before and only
127
- * use this in case of an error.
107
+ * use this in case of an error as last option.
108
+ * If this method is used the state of the PairedNode instance might be out of sync, so the PairedNode instance
109
+ * should be disconnected first.
128
110
  */
129
111
  removeNode(nodeId: NodeId, tryDecommissioning?: boolean): Promise<void>;
112
+ /** @deprecated Use PairedNode.disconnect() instead */
130
113
  disconnectNode(nodeId: NodeId): Promise<void>;
114
+ /**
115
+ * Returns the PairedNode instance for a given NodeId. The instance is initialized without auto connect if not yet
116
+ * created.
117
+ */
131
118
  getNode(nodeId: NodeId): Promise<PairedNode>;
132
119
  /**
133
120
  * Connect to an already paired Node.
134
121
  * After connection the endpoint data of the device is analyzed and an object structure is created.
135
122
  * This call is not blocking and returns an initialized PairedNode instance. The connection or reconnection
136
123
  * happens in the background. Please monitor the state of the node to see if the connection was successful.
124
+ *
125
+ * @deprecated Use getNode() instead and call PairedNode.connect() or PairedNode.disconnect() as needed.
137
126
  */
138
127
  connectNode(nodeId: NodeId, connectOptions?: CommissioningControllerNodeOptions): Promise<PairedNode>;
139
- collectStoredAttributeData(nodeId: NodeId): Promise<DecodedAttributeReportValue<any>[]>;
140
128
  /**
141
129
  * Connects to all paired nodes.
142
130
  * After connection the endpoint data of the device is analyzed and an object structure is created.
131
+ *
132
+ * @deprecated Use getCommissionedNodes() to get the list of nodes and getNode(nodeId) instead and call PairedNode.connect() or PairedNode.disconnect() as needed.
143
133
  */
144
134
  connect(connectOptions?: CommissioningControllerNodeOptions): Promise<PairedNode[]>;
145
135
  /**
146
136
  * Set the MDNS Scanner instance. Should be only used internally
147
137
  *
148
138
  * @param mdnsScanner MdnsScanner instance
139
+ * @private
149
140
  */
150
141
  setMdnsScanner(mdnsScanner: MdnsScanner): void;
151
142
  /**
152
143
  * Set the MDNS Broadcaster instance. Should be only used internally
153
144
  *
154
145
  * @param mdnsBroadcaster MdnsBroadcaster instance
146
+ * @private
155
147
  */
156
148
  setMdnsBroadcaster(mdnsBroadcaster: MdnsBroadcaster): void;
157
149
  /**
158
150
  * Set the Storage instance. Should be only used internally
159
151
  *
160
152
  * @param storage storage context to use
153
+ * @private
161
154
  */
162
155
  setStorage(storage: StorageContext<SyncStorage>): void;
163
156
  /** Returns true if t least one node is commissioned/paired with this controller instance. */
@@ -167,10 +160,14 @@ export declare class CommissioningController extends MatterNode {
167
160
  * not be used directly. See the PairedNode class for the public API.
168
161
  */
169
162
  createInteractionClient(nodeId: NodeId, discoveryType?: NodeDiscoveryType, forcedConnection?: boolean): Promise<InteractionClient>;
170
- /** Returns the PairedNode instance for a given node id, if this node is connected. */
163
+ /**
164
+ * Returns the PairedNode instance for a given node id, if this node is connected.
165
+ * @deprecated Use getNode() instead
166
+ */
171
167
  getPairedNode(nodeId: NodeId): PairedNode | undefined;
172
- /** Returns an array with the Node Ids for all commissioned nodes. */
168
+ /** Returns an array with the NodeIds of all commissioned nodes. */
173
169
  getCommissionedNodes(): NodeId[];
170
+ /** Returns an arra with all commissioned NodeIds and their metadata. */
174
171
  getCommissionedNodesDetails(): {
175
172
  nodeId: NodeId;
176
173
  operationalAddress: string | undefined;
@@ -178,15 +175,35 @@ export declare class CommissioningController extends MatterNode {
178
175
  discoveryData: DiscoveryData | undefined;
179
176
  deviceData: import("./device/DeviceInformation.js").DeviceInformationData | undefined;
180
177
  }[];
181
- /** Disconnects all connected nodes and Closes the network connections and other resources of the controller. */
178
+ /**
179
+ * Disconnects all connected nodes and closes the network connections and other resources of the controller.
180
+ * You can use "start()" to restart the controller after closing it.
181
+ */
182
182
  close(): Promise<void>;
183
+ /** Return the port used by the controller for the UDP interface. */
183
184
  getPort(): number | undefined;
185
+ /** @private */
184
186
  initialize(ipv4Disabled: boolean): void;
187
+ /** @private */
185
188
  initializeControllerStore(): Promise<void>;
186
- /** Initialize the controller and connect to all commissioned nodes if autoConnect is not set to false. */
189
+ /**
190
+ * Initialize the controller and initialize and connect to all commissioned nodes if autoConnect is not set to false.
191
+ */
187
192
  start(): Promise<void>;
193
+ /**
194
+ * Cancels the discovery process for commissionable devices started with discoverCommissionableDevices().
195
+ */
188
196
  cancelCommissionableDeviceDiscovery(identifierData: CommissionableDeviceIdentifiers, discoveryCapabilities?: TypeFromPartialBitSchema<typeof DiscoveryCapabilitiesBitmap>): void;
197
+ /**
198
+ * Starts to discover commissionable devices.
199
+ * The promise will be fulfilled after the provided timeout or when the discovery is stopped via
200
+ * cancelCommissionableDeviceDiscovery(). The discoveredCallback will be called for each discovered device.
201
+ */
189
202
  discoverCommissionableDevices(identifierData: CommissionableDeviceIdentifiers, discoveryCapabilities?: TypeFromPartialBitSchema<typeof DiscoveryCapabilitiesBitmap>, discoveredCallback?: (device: CommissionableDevice) => void, timeoutSeconds?: number): Promise<CommissionableDevice[]>;
203
+ /**
204
+ * Use this method to reset the Controller storage. The method can only be called if the controller is stopped and
205
+ * will remove all commissioning data and paired nodes from the controller.
206
+ */
190
207
  resetStorage(): Promise<void>;
191
208
  /** Returns active session information for all connected nodes. */
192
209
  getActiveSessionInformation(): {
@@ -200,7 +217,12 @@ export declare class CommissioningController extends MatterNode {
200
217
  lastActiveTimestamp: number | undefined;
201
218
  numberOfActiveSubscriptions: number;
202
219
  }[];
220
+ /** @private */
203
221
  validateAndUpdateFabricLabel(nodeId: NodeId): Promise<void>;
222
+ /**
223
+ * Updates the fabric label for the controller and all connected nodes.
224
+ * The label is used to identify the controller and all connected nodes in the fabric.
225
+ */
204
226
  updateFabricLabel(label: string): Promise<void>;
205
227
  }
206
228
  export declare function configureNetwork(options: {