@matter/nodejs-shell 0.13.1-alpha.0-20250501-80c86b03e → 0.13.1-alpha.0-20250504-87f265a2e
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/MatterNode.js +18 -21
- package/dist/cjs/MatterNode.js.map +1 -1
- package/package.json +6 -6
- package/src/MatterNode.ts +17 -24
package/dist/cjs/MatterNode.js
CHANGED
|
@@ -33,27 +33,28 @@ var import_node_path = require("node:path");
|
|
|
33
33
|
*/
|
|
34
34
|
const logger = import_general.Logger.get("Node");
|
|
35
35
|
class MatterNode {
|
|
36
|
+
#storageLocation;
|
|
37
|
+
#storageContext;
|
|
38
|
+
#environment;
|
|
39
|
+
commissioningController;
|
|
40
|
+
#started = false;
|
|
41
|
+
#nodeNum;
|
|
42
|
+
#netInterface;
|
|
36
43
|
constructor(nodeNum, netInterface) {
|
|
37
|
-
this.nodeNum = nodeNum;
|
|
38
|
-
this.netInterface = netInterface;
|
|
39
44
|
this.#environment = import_general.Environment.default;
|
|
40
45
|
this.#environment.runtime.add(this);
|
|
46
|
+
this.#nodeNum = nodeNum;
|
|
47
|
+
this.#netInterface = netInterface;
|
|
41
48
|
}
|
|
42
|
-
#storageLocation;
|
|
43
|
-
storage;
|
|
44
|
-
storageContext;
|
|
45
|
-
#environment;
|
|
46
|
-
commissioningController;
|
|
47
|
-
started = false;
|
|
48
49
|
get storageLocation() {
|
|
49
50
|
return this.#storageLocation;
|
|
50
51
|
}
|
|
51
52
|
async initialize(resetStorage) {
|
|
52
53
|
if (this.#environment) {
|
|
53
|
-
if (this
|
|
54
|
-
this.#environment.vars.set("mdns.networkinterface", this
|
|
54
|
+
if (this.#netInterface !== void 0) {
|
|
55
|
+
this.#environment.vars.set("mdns.networkinterface", this.#netInterface);
|
|
55
56
|
}
|
|
56
|
-
const id = `shell-${this
|
|
57
|
+
const id = `shell-${this.#nodeNum.toString()}`;
|
|
57
58
|
this.commissioningController = new import_matter.CommissioningController({
|
|
58
59
|
environment: {
|
|
59
60
|
environment: this.#environment,
|
|
@@ -67,7 +68,7 @@ class MatterNode {
|
|
|
67
68
|
if (resetStorage) {
|
|
68
69
|
await controllerStore.erase();
|
|
69
70
|
}
|
|
70
|
-
this
|
|
71
|
+
this.#storageContext = controllerStore.storage.createContext("Node");
|
|
71
72
|
const storageService = this.#environment.get(import_general.StorageService);
|
|
72
73
|
const baseLocation = storageService.location;
|
|
73
74
|
if (baseLocation !== void 0) {
|
|
@@ -81,23 +82,19 @@ class MatterNode {
|
|
|
81
82
|
}
|
|
82
83
|
}
|
|
83
84
|
get Store() {
|
|
84
|
-
if (!this
|
|
85
|
+
if (!this.#storageContext) {
|
|
85
86
|
throw new Error("Storage uninitialized");
|
|
86
87
|
}
|
|
87
|
-
return this
|
|
88
|
+
return this.#storageContext;
|
|
88
89
|
}
|
|
89
90
|
async close() {
|
|
90
91
|
await this.commissioningController?.close();
|
|
91
|
-
return await this.closeStorage();
|
|
92
|
-
}
|
|
93
|
-
async closeStorage() {
|
|
94
|
-
await this.storage?.close();
|
|
95
92
|
}
|
|
96
93
|
async start() {
|
|
97
|
-
if (this
|
|
94
|
+
if (this.#started) {
|
|
98
95
|
return;
|
|
99
96
|
}
|
|
100
|
-
logger.info(`matter.js shell controller started for node ${this
|
|
97
|
+
logger.info(`matter.js shell controller started for node ${this.#nodeNum}`);
|
|
101
98
|
if (this.commissioningController !== void 0) {
|
|
102
99
|
await this.commissioningController.start();
|
|
103
100
|
if (await this.Store.has("ControllerFabricLabel")) {
|
|
@@ -108,7 +105,7 @@ class MatterNode {
|
|
|
108
105
|
} else {
|
|
109
106
|
throw new Error("No controller initialized");
|
|
110
107
|
}
|
|
111
|
-
this
|
|
108
|
+
this.#started = true;
|
|
112
109
|
}
|
|
113
110
|
async connectAndGetNodes(nodeIdStr, connectOptions) {
|
|
114
111
|
await this.start();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/MatterNode.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,qBAAoE;AACpE,kBAAgC;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/nodejs-shell",
|
|
3
|
-
"version": "0.13.1-alpha.0-
|
|
3
|
+
"version": "0.13.1-alpha.0-20250504-87f265a2e",
|
|
4
4
|
"description": "Shell app for Matter controller",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -36,11 +36,11 @@
|
|
|
36
36
|
"#types": "@matter/types"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@matter/general": "0.13.1-alpha.0-
|
|
40
|
-
"@matter/nodejs": "0.13.1-alpha.0-
|
|
41
|
-
"@matter/nodejs-ble": "0.13.1-alpha.0-
|
|
42
|
-
"@matter/tools": "0.13.1-alpha.0-
|
|
43
|
-
"@project-chip/matter.js": "0.13.1-alpha.0-
|
|
39
|
+
"@matter/general": "0.13.1-alpha.0-20250504-87f265a2e",
|
|
40
|
+
"@matter/nodejs": "0.13.1-alpha.0-20250504-87f265a2e",
|
|
41
|
+
"@matter/nodejs-ble": "0.13.1-alpha.0-20250504-87f265a2e",
|
|
42
|
+
"@matter/tools": "0.13.1-alpha.0-20250504-87f265a2e",
|
|
43
|
+
"@project-chip/matter.js": "0.13.1-alpha.0-20250504-87f265a2e",
|
|
44
44
|
"yargs": "^17.7.2"
|
|
45
45
|
},
|
|
46
46
|
"engines": {
|
package/src/MatterNode.ts
CHANGED
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
// Include this first to auto-register Crypto, Network and Time Node.js implementations
|
|
8
8
|
import { Environment, Logger, StorageContext, StorageService } from "@matter/general";
|
|
9
9
|
import { ControllerStore } from "@matter/node";
|
|
10
|
-
import { StorageBackendDisk } from "@matter/nodejs";
|
|
11
10
|
import { EndpointInterface } from "@matter/protocol";
|
|
12
11
|
import { NodeId } from "@matter/types";
|
|
13
12
|
import { CommissioningController } from "@project-chip/matter.js";
|
|
@@ -18,19 +17,18 @@ const logger = Logger.get("Node");
|
|
|
18
17
|
|
|
19
18
|
export class MatterNode {
|
|
20
19
|
#storageLocation?: string;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
#environment?: Environment;
|
|
20
|
+
#storageContext?: StorageContext;
|
|
21
|
+
readonly #environment?: Environment;
|
|
25
22
|
commissioningController?: CommissioningController;
|
|
26
|
-
|
|
23
|
+
#started = false;
|
|
24
|
+
readonly #nodeNum: number;
|
|
25
|
+
readonly #netInterface?: string;
|
|
27
26
|
|
|
28
|
-
constructor(
|
|
29
|
-
private readonly nodeNum: number,
|
|
30
|
-
private readonly netInterface?: string,
|
|
31
|
-
) {
|
|
27
|
+
constructor(nodeNum: number, netInterface?: string) {
|
|
32
28
|
this.#environment = Environment.default;
|
|
33
29
|
this.#environment.runtime.add(this);
|
|
30
|
+
this.#nodeNum = nodeNum;
|
|
31
|
+
this.#netInterface = netInterface;
|
|
34
32
|
}
|
|
35
33
|
|
|
36
34
|
get storageLocation() {
|
|
@@ -46,11 +44,11 @@ export class MatterNode {
|
|
|
46
44
|
*/
|
|
47
45
|
|
|
48
46
|
if (this.#environment) {
|
|
49
|
-
if (this
|
|
50
|
-
this.#environment.vars.set("mdns.networkinterface", this
|
|
47
|
+
if (this.#netInterface !== undefined) {
|
|
48
|
+
this.#environment.vars.set("mdns.networkinterface", this.#netInterface);
|
|
51
49
|
}
|
|
52
50
|
// Build up the "Not-so-legacy" Controller
|
|
53
|
-
const id = `shell-${this
|
|
51
|
+
const id = `shell-${this.#nodeNum.toString()}`;
|
|
54
52
|
this.commissioningController = new CommissioningController({
|
|
55
53
|
environment: {
|
|
56
54
|
environment: this.#environment,
|
|
@@ -65,7 +63,7 @@ export class MatterNode {
|
|
|
65
63
|
if (resetStorage) {
|
|
66
64
|
await controllerStore.erase();
|
|
67
65
|
}
|
|
68
|
-
this
|
|
66
|
+
this.#storageContext = controllerStore.storage.createContext("Node");
|
|
69
67
|
|
|
70
68
|
const storageService = this.#environment.get(StorageService);
|
|
71
69
|
const baseLocation = storageService.location;
|
|
@@ -81,26 +79,21 @@ export class MatterNode {
|
|
|
81
79
|
}
|
|
82
80
|
|
|
83
81
|
get Store() {
|
|
84
|
-
if (!this
|
|
82
|
+
if (!this.#storageContext) {
|
|
85
83
|
throw new Error("Storage uninitialized");
|
|
86
84
|
}
|
|
87
|
-
return this
|
|
85
|
+
return this.#storageContext;
|
|
88
86
|
}
|
|
89
87
|
|
|
90
88
|
async close() {
|
|
91
89
|
await this.commissioningController?.close();
|
|
92
|
-
return await this.closeStorage();
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
async closeStorage() {
|
|
96
|
-
await this.storage?.close();
|
|
97
90
|
}
|
|
98
91
|
|
|
99
92
|
async start() {
|
|
100
|
-
if (this
|
|
93
|
+
if (this.#started) {
|
|
101
94
|
return;
|
|
102
95
|
}
|
|
103
|
-
logger.info(`matter.js shell controller started for node ${this
|
|
96
|
+
logger.info(`matter.js shell controller started for node ${this.#nodeNum}`);
|
|
104
97
|
|
|
105
98
|
if (this.commissioningController !== undefined) {
|
|
106
99
|
await this.commissioningController.start();
|
|
@@ -113,7 +106,7 @@ export class MatterNode {
|
|
|
113
106
|
} else {
|
|
114
107
|
throw new Error("No controller initialized");
|
|
115
108
|
}
|
|
116
|
-
this
|
|
109
|
+
this.#started = true;
|
|
117
110
|
}
|
|
118
111
|
|
|
119
112
|
async connectAndGetNodes(nodeIdStr?: string, connectOptions?: CommissioningControllerNodeOptions) {
|