@matter/nodejs-shell 0.17.0-alpha.0-20260311-5fb2f183e → 0.17.0-alpha.0-20260315-65cdcd993
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/esm/MatterNode.js +17 -7
- package/dist/esm/MatterNode.js.map +1 -1
- package/dist/esm/app.js +5 -8
- package/dist/esm/app.js.map +1 -1
- package/dist/esm/shell/cmd_config.js +58 -0
- package/dist/esm/shell/cmd_config.js.map +1 -1
- package/dist/esm/shell/cmd_vendor.js +37 -0
- package/dist/esm/shell/cmd_vendor.js.map +1 -1
- package/package.json +10 -10
- package/src/MatterNode.ts +22 -7
- package/src/app.ts +5 -11
- package/src/shell/cmd_config.ts +70 -0
- package/src/shell/cmd_vendor.ts +48 -0
package/dist/esm/MatterNode.js
CHANGED
|
@@ -3,7 +3,13 @@
|
|
|
3
3
|
* Copyright 2022-2026 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
Environment,
|
|
8
|
+
Filesystem,
|
|
9
|
+
Logger,
|
|
10
|
+
ObserverGroup,
|
|
11
|
+
StorageService
|
|
12
|
+
} from "@matter/general";
|
|
7
13
|
import { DclBehavior, SoftwareUpdateManager } from "@matter/node";
|
|
8
14
|
import { NodeId } from "@matter/types";
|
|
9
15
|
import { CommissioningController } from "@project-chip/matter.js";
|
|
@@ -19,6 +25,7 @@ class MatterNode {
|
|
|
19
25
|
#nodeNum;
|
|
20
26
|
#netInterface;
|
|
21
27
|
#dclFetchTestCertificates = false;
|
|
28
|
+
#allowTestOtaImages = false;
|
|
22
29
|
#observers;
|
|
23
30
|
constructor(nodeNum, netInterface) {
|
|
24
31
|
this.#environment = Environment.default;
|
|
@@ -71,17 +78,17 @@ class MatterNode {
|
|
|
71
78
|
productName: "matter.js Shell"
|
|
72
79
|
}
|
|
73
80
|
});
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
this.#storageLocation = join(baseLocation, id);
|
|
81
|
+
const env = this.commissioningController.env;
|
|
82
|
+
if (env.has(Filesystem)) {
|
|
83
|
+
this.#storageLocation = join(env.get(Filesystem).path, id);
|
|
78
84
|
}
|
|
79
85
|
if (resetStorage) {
|
|
80
86
|
await this.commissioningController.node.erase();
|
|
81
87
|
}
|
|
82
|
-
this.#storageManager = await
|
|
88
|
+
this.#storageManager = await env.get(StorageService).open(id);
|
|
83
89
|
this.#storageContext = this.#storageManager.createContext("Node");
|
|
84
90
|
this.#dclFetchTestCertificates = await this.#storageContext.get("DclFetchTestCertificates", false);
|
|
91
|
+
this.#allowTestOtaImages = await this.#storageContext.get("AllowTestOtaImages", false);
|
|
85
92
|
} else {
|
|
86
93
|
console.log(
|
|
87
94
|
"Legacy support was removed in Matter.js 0.13. Please downgrade or migrate the storage manually"
|
|
@@ -107,9 +114,12 @@ class MatterNode {
|
|
|
107
114
|
logger.info(`matter.js shell controller started for node ${this.#nodeNum}`);
|
|
108
115
|
if (this.commissioningController !== void 0) {
|
|
109
116
|
await this.commissioningController.start();
|
|
110
|
-
this.commissioningController.node.
|
|
117
|
+
await this.commissioningController.node.setStateOf(DclBehavior, {
|
|
111
118
|
fetchTestCertificates: this.#dclFetchTestCertificates
|
|
112
119
|
});
|
|
120
|
+
await this.commissioningController.otaProvider.setStateOf(SoftwareUpdateManager, {
|
|
121
|
+
allowTestOtaImages: this.#allowTestOtaImages
|
|
122
|
+
});
|
|
113
123
|
if (await this.Store.has("ControllerFabricLabel")) {
|
|
114
124
|
await this.commissioningController.updateFabricLabel(
|
|
115
125
|
await this.Store.get("ControllerFabricLabel", "matter.js Shell")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/MatterNode.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/esm/app.js
CHANGED
|
@@ -154,15 +154,12 @@ process.on("message", function(message) {
|
|
|
154
154
|
}
|
|
155
155
|
});
|
|
156
156
|
async function exit(code = 0) {
|
|
157
|
-
process.
|
|
158
|
-
|
|
159
|
-
process.exit(code);
|
|
157
|
+
process.exitCode = code;
|
|
158
|
+
Environment.default.runtime.cancel();
|
|
160
159
|
}
|
|
161
|
-
const
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
process.on("SIGINT", sigIntHandler);
|
|
165
|
-
Environment.default.runtime.add(main());
|
|
160
|
+
const runtime = Environment.default.runtime;
|
|
161
|
+
runtime.add(main());
|
|
162
|
+
void runtime.inactive.then(() => process.exit(process.exitCode ?? 0));
|
|
166
163
|
export {
|
|
167
164
|
exit,
|
|
168
165
|
setLogLevel
|
package/dist/esm/app.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/app.ts"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["yargs"]
|
|
6
6
|
}
|
|
@@ -180,6 +180,36 @@ function commands(theNode) {
|
|
|
180
180
|
(argv) => doThreadCredentials(theNode, { action: "set", ...argv })
|
|
181
181
|
);
|
|
182
182
|
}).command(
|
|
183
|
+
"ota-test-images",
|
|
184
|
+
"Manage whether test OTA images (from Test DCL) are offered to nodes requesting updates",
|
|
185
|
+
(yargs2) => {
|
|
186
|
+
return yargs2.command(
|
|
187
|
+
"* [action]",
|
|
188
|
+
"get/delete OTA test images setting",
|
|
189
|
+
(yargs3) => {
|
|
190
|
+
return yargs3.positional("action", {
|
|
191
|
+
describe: "get/delete",
|
|
192
|
+
choices: ["get", "delete"],
|
|
193
|
+
default: "get",
|
|
194
|
+
type: "string"
|
|
195
|
+
});
|
|
196
|
+
},
|
|
197
|
+
async (argv) => doOtaTestImages(theNode, argv)
|
|
198
|
+
).command(
|
|
199
|
+
"set <value>",
|
|
200
|
+
"Enable or disable offering test OTA images to nodes",
|
|
201
|
+
(yargs3) => {
|
|
202
|
+
return yargs3.positional("value", {
|
|
203
|
+
describe: "Enable test OTA images (true/false)",
|
|
204
|
+
type: "string",
|
|
205
|
+
choices: ["true", "false"],
|
|
206
|
+
demandOption: true
|
|
207
|
+
});
|
|
208
|
+
},
|
|
209
|
+
async (argv) => doOtaTestImages(theNode, { action: "set", ...argv })
|
|
210
|
+
);
|
|
211
|
+
}
|
|
212
|
+
).command(
|
|
183
213
|
"dcl-test-certificates",
|
|
184
214
|
"Manage DCL test certificate fetching (production only vs. include test)",
|
|
185
215
|
(yargs2) => {
|
|
@@ -368,6 +398,34 @@ async function doThreadCredentials(theNode, args) {
|
|
|
368
398
|
break;
|
|
369
399
|
}
|
|
370
400
|
}
|
|
401
|
+
async function doOtaTestImages(theNode, args) {
|
|
402
|
+
const { action, value } = args;
|
|
403
|
+
switch (action) {
|
|
404
|
+
case "get":
|
|
405
|
+
const enabled = await theNode.Store.get("AllowTestOtaImages", false);
|
|
406
|
+
console.log(
|
|
407
|
+
`OTA test images: ${enabled ? "enabled (production + test DCL)" : "disabled (production DCL only)"}`
|
|
408
|
+
);
|
|
409
|
+
break;
|
|
410
|
+
case "set":
|
|
411
|
+
if (value === void 0) {
|
|
412
|
+
console.log(`Cannot change OTA test images setting: New value not provided`);
|
|
413
|
+
return;
|
|
414
|
+
}
|
|
415
|
+
const newValue = value === "true";
|
|
416
|
+
await theNode.Store.set("AllowTestOtaImages", newValue);
|
|
417
|
+
console.log(
|
|
418
|
+
`OTA test images: ${newValue ? "enabled (production + test DCL)" : "disabled (production DCL only)"}. Please restart the shell for the changes to take effect.`
|
|
419
|
+
);
|
|
420
|
+
break;
|
|
421
|
+
case "delete":
|
|
422
|
+
await theNode.Store.delete("AllowTestOtaImages");
|
|
423
|
+
console.log(
|
|
424
|
+
`OTA test images setting reset to default (disabled). Please restart the shell for the changes to take effect.`
|
|
425
|
+
);
|
|
426
|
+
break;
|
|
427
|
+
}
|
|
428
|
+
}
|
|
371
429
|
async function doDclTestCertificates(theNode, args) {
|
|
372
430
|
const { action, value } = args;
|
|
373
431
|
switch (action) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/shell/cmd_config.ts"],
|
|
4
|
-
"mappings": "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",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["yargs"]
|
|
6
6
|
}
|
|
@@ -68,6 +68,43 @@ Found ${vendors.length} vendor(s):
|
|
|
68
68
|
console.log("\nVendor Details:");
|
|
69
69
|
console.log(Diagnostic.json(vendor));
|
|
70
70
|
}
|
|
71
|
+
).command(
|
|
72
|
+
"product <vendor-id> <product-id>",
|
|
73
|
+
"Fetch and display product details from DCL for a vendor/product ID combination",
|
|
74
|
+
(yargs2) => {
|
|
75
|
+
return yargs2.positional("vendor-id", {
|
|
76
|
+
describe: "Vendor ID (hex format like 0xFFF1 or decimal)",
|
|
77
|
+
type: "string",
|
|
78
|
+
demandOption: true
|
|
79
|
+
}).positional("product-id", {
|
|
80
|
+
describe: "Product ID (hex format like 0x8000 or decimal)",
|
|
81
|
+
type: "string",
|
|
82
|
+
demandOption: true
|
|
83
|
+
});
|
|
84
|
+
},
|
|
85
|
+
async (argv) => {
|
|
86
|
+
const { "vendor-id": vendorIdStr, "product-id": productIdStr } = argv;
|
|
87
|
+
const vendorId = vendorIdStr.startsWith("0x") ? parseInt(vendorIdStr.replace(/^0x/i, ""), 16) : parseInt(vendorIdStr, 10);
|
|
88
|
+
const productId = productIdStr.startsWith("0x") ? parseInt(productIdStr.replace(/^0x/i, ""), 16) : parseInt(productIdStr, 10);
|
|
89
|
+
if (!isFinite(vendorId)) {
|
|
90
|
+
console.error(`Error: Invalid vendor ID "${vendorIdStr}"`);
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
if (!isFinite(productId)) {
|
|
94
|
+
console.error(`Error: Invalid product ID "${productIdStr}"`);
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
await theNode.start();
|
|
98
|
+
const product = await (await theNode.vendorInfoService()).productInfoFor(vendorId, productId);
|
|
99
|
+
if (!product) {
|
|
100
|
+
console.error(
|
|
101
|
+
`Product with vendor ID ${vendorIdStr} and product ID ${productIdStr} not found in DCL`
|
|
102
|
+
);
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
console.log("\nProduct Details:");
|
|
106
|
+
console.log(JSON.stringify(product, null, 2));
|
|
107
|
+
}
|
|
71
108
|
).command(
|
|
72
109
|
"update",
|
|
73
110
|
"Update vendor information from DCL",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/shell/cmd_vendor.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,kBAAkB;AAIZ,SAAR,SAA0B,SAAqB;AAClD,SAAO;AAAA,IACH,SAAS;AAAA,IACT,UAAU;AAAA,IACV,SAAS,CAAC,UACN,MACK;AAAA,MACG,CAAC,KAAK,MAAM;AAAA,MACZ;AAAA,MACA,MAAM;AAAA,MAAC;AAAA,MACP,YAAY;AACR,cAAM,QAAQ,MAAM;AACpB,cAAM,gBAAgB,MAAM,QAAQ,kBAAkB;AACtD,cAAM,UAAU,CAAC,GAAG,cAAc,QAAQ,OAAO,CAAC;AAElD,YAAI,QAAQ,WAAW,GAAG;AACtB,kBAAQ,IAAI,yCAAyC;AACrD;AAAA,QACJ;AAEA,gBAAQ,IAAI;AAAA,QAAW,QAAQ,MAAM;AAAA,CAAe;AAGpD,gBAAQ,KAAK,CAAC,GAAG,MAAM,EAAE,WAAW,EAAE,QAAQ;AAE9C,gBAAQ,QAAQ,YAAU;AACtB,kBAAQ;AAAA,YACJ,cAAc,OAAO,QAAQ,OAAO,OAAO,SAAS,SAAS,EAAE,EAAE,YAAY,EAAE,SAAS,GAAG,GAAG,CAAC;AAAA,UACnG;AACA,kBAAQ,IAAI,WAAW,OAAO,UAAU,EAAE;AAC1C,kBAAQ,IAAI,iBAAiB,OAAO,gBAAgB,EAAE;AACtD,kBAAQ,IAAI,qBAAqB,OAAO,oBAAoB,EAAE;AAC9D,kBAAQ,IAAI,mBAAmB,OAAO,oBAAoB,EAAE;AAC5D,kBAAQ,IAAI,EAAE;AAAA,QAClB,CAAC;AAAA,MACL;AAAA,IACJ,EACC;AAAA,MACG;AAAA,MACA;AAAA,MACA,CAAAA,WAAS;AACL,eAAOA,OAAM,WAAW,aAAa;AAAA,UACjC,UAAU;AAAA,UACV,MAAM;AAAA,UACN,cAAc;AAAA,QAClB,CAAC;AAAA,MACL;AAAA,MACA,OAAM,SAAQ;AACV,cAAM,EAAE,UAAU,YAAY,IAAI;AAElC,YAAI;AACJ,YAAI,YAAY,WAAW,IAAI,GAAG;AAC9B,gBAAM,SAAS,YAAY,QAAQ,QAAQ,EAAE;AAC7C,qBAAW,SAAS,QAAQ,EAAE;AAAA,QAClC,OAAO;AACH,qBAAW,SAAS,aAAa,EAAE;AAAA,QACvC;AAEA,YAAI,CAAC,SAAS,QAAQ,GAAG;AACrB,kBAAQ,MAAM,6BAA6B,WAAW,GAAG;AACzD;AAAA,QACJ;AAEA,cAAM,QAAQ,MAAM;AACpB,cAAM,UAAU,MAAM,QAAQ,kBAAkB,GAAG,QAAQ,QAAQ;AACnE,YAAI,CAAC,QAAQ;AACT,kBAAQ,MAAM,kBAAkB,WAAW,YAAY;AACvD;AAAA,QACJ;AAEA,gBAAQ,IAAI,mBAAmB;AAC/B,gBAAQ,IAAI,WAAW,KAAK,MAAM,CAAC;AAAA,MACvC;AAAA,IACJ,EACC;AAAA,MACG;AAAA,MACA;AAAA,MACA,MAAM;AAAA,MAAC;AAAA,MACP,YAAY;AACR,cAAM,QAAQ,MAAM;AACpB,cAAM,gBAAgB,MAAM,QAAQ,kBAAkB;AACtD,gBAAQ,IAAI,yCAAyC;AAErD,YAAI;AACA,gBAAM,cAAc,OAAO;AAC3B,kBAAQ,IAAI,yBAAyB,cAAc,QAAQ,IAAI,2BAA2B;AAAA,QAC9F,SAAS,OAAO;AACZ,kBAAQ;AAAA,YACJ,wCAAwC,iBAAiB,QAAQ,MAAM,UAAU,KAAK;AAAA,UAC1F;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,IACR,SAAS,OAAO,SAAc;AAC1B,WAAK,YAAY;AAAA,IACrB;AAAA,EACJ;AACJ;",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["yargs"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/nodejs-shell",
|
|
3
|
-
"version": "0.17.0-alpha.0-
|
|
3
|
+
"version": "0.17.0-alpha.0-20260315-65cdcd993",
|
|
4
4
|
"description": "Shell app for Matter controller",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -34,15 +34,15 @@
|
|
|
34
34
|
"matter-shell": "dist/cjs/app.js"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@matter/general": "0.17.0-alpha.0-
|
|
38
|
-
"@matter/model": "0.17.0-alpha.0-
|
|
39
|
-
"@matter/node": "0.17.0-alpha.0-
|
|
40
|
-
"@matter/nodejs": "0.17.0-alpha.0-
|
|
41
|
-
"@matter/nodejs-ble": "0.17.0-alpha.0-
|
|
42
|
-
"@matter/protocol": "0.17.0-alpha.0-
|
|
43
|
-
"@matter/tools": "0.17.0-alpha.0-
|
|
44
|
-
"@matter/types": "0.17.0-alpha.0-
|
|
45
|
-
"@project-chip/matter.js": "0.17.0-alpha.0-
|
|
37
|
+
"@matter/general": "0.17.0-alpha.0-20260315-65cdcd993",
|
|
38
|
+
"@matter/model": "0.17.0-alpha.0-20260315-65cdcd993",
|
|
39
|
+
"@matter/node": "0.17.0-alpha.0-20260315-65cdcd993",
|
|
40
|
+
"@matter/nodejs": "0.17.0-alpha.0-20260315-65cdcd993",
|
|
41
|
+
"@matter/nodejs-ble": "0.17.0-alpha.0-20260315-65cdcd993",
|
|
42
|
+
"@matter/protocol": "0.17.0-alpha.0-20260315-65cdcd993",
|
|
43
|
+
"@matter/tools": "0.17.0-alpha.0-20260315-65cdcd993",
|
|
44
|
+
"@matter/types": "0.17.0-alpha.0-20260315-65cdcd993",
|
|
45
|
+
"@project-chip/matter.js": "0.17.0-alpha.0-20260315-65cdcd993",
|
|
46
46
|
"ws": "^8.19.0",
|
|
47
47
|
"yargs": "^18.0.0"
|
|
48
48
|
},
|
package/src/MatterNode.ts
CHANGED
|
@@ -5,7 +5,15 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
// Include this first to auto-register Crypto, Network and Time Node.js implementations
|
|
8
|
-
import {
|
|
8
|
+
import {
|
|
9
|
+
Environment,
|
|
10
|
+
Filesystem,
|
|
11
|
+
Logger,
|
|
12
|
+
ObserverGroup,
|
|
13
|
+
StorageContext,
|
|
14
|
+
StorageManager,
|
|
15
|
+
StorageService,
|
|
16
|
+
} from "@matter/general";
|
|
9
17
|
import { DclBehavior, ServerNode, SoftwareUpdateManager } from "@matter/node";
|
|
10
18
|
import { NodeId } from "@matter/types";
|
|
11
19
|
import { CommissioningController } from "@project-chip/matter.js";
|
|
@@ -24,6 +32,7 @@ export class MatterNode {
|
|
|
24
32
|
readonly #nodeNum: number;
|
|
25
33
|
readonly #netInterface?: string;
|
|
26
34
|
#dclFetchTestCertificates = false;
|
|
35
|
+
#allowTestOtaImages = false;
|
|
27
36
|
#observers?: ObserverGroup;
|
|
28
37
|
|
|
29
38
|
constructor(nodeNum: number, netInterface?: string) {
|
|
@@ -94,10 +103,9 @@ export class MatterNode {
|
|
|
94
103
|
},
|
|
95
104
|
});
|
|
96
105
|
|
|
97
|
-
const
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
this.#storageLocation = join(baseLocation, id);
|
|
106
|
+
const env = this.commissioningController.env;
|
|
107
|
+
if (env.has(Filesystem)) {
|
|
108
|
+
this.#storageLocation = join(env.get(Filesystem).path, id);
|
|
101
109
|
}
|
|
102
110
|
|
|
103
111
|
if (resetStorage) {
|
|
@@ -106,11 +114,14 @@ export class MatterNode {
|
|
|
106
114
|
|
|
107
115
|
// We side open a storage with the same ID as the ServerNode but only care about the "Node" sub context which
|
|
108
116
|
// is consistent.
|
|
109
|
-
this.#storageManager = await
|
|
117
|
+
this.#storageManager = await env.get(StorageService).open(id);
|
|
110
118
|
this.#storageContext = this.#storageManager.createContext("Node");
|
|
111
119
|
|
|
112
120
|
// Read DCL test certificates setting
|
|
113
121
|
this.#dclFetchTestCertificates = await this.#storageContext.get<boolean>("DclFetchTestCertificates", false);
|
|
122
|
+
|
|
123
|
+
// Read OTA test images setting
|
|
124
|
+
this.#allowTestOtaImages = await this.#storageContext.get<boolean>("AllowTestOtaImages", false);
|
|
114
125
|
} else {
|
|
115
126
|
console.log(
|
|
116
127
|
"Legacy support was removed in Matter.js 0.13. Please downgrade or migrate the storage manually",
|
|
@@ -141,10 +152,14 @@ export class MatterNode {
|
|
|
141
152
|
if (this.commissioningController !== undefined) {
|
|
142
153
|
await this.commissioningController.start();
|
|
143
154
|
|
|
144
|
-
this.commissioningController.node.
|
|
155
|
+
await this.commissioningController.node.setStateOf(DclBehavior, {
|
|
145
156
|
fetchTestCertificates: this.#dclFetchTestCertificates,
|
|
146
157
|
});
|
|
147
158
|
|
|
159
|
+
await this.commissioningController.otaProvider.setStateOf(SoftwareUpdateManager, {
|
|
160
|
+
allowTestOtaImages: this.#allowTestOtaImages,
|
|
161
|
+
});
|
|
162
|
+
|
|
148
163
|
if (await this.Store.has("ControllerFabricLabel")) {
|
|
149
164
|
await this.commissioningController.updateFabricLabel(
|
|
150
165
|
await this.Store.get<string>("ControllerFabricLabel", "matter.js Shell"),
|
package/src/app.ts
CHANGED
|
@@ -182,16 +182,10 @@ process.on("message", function (message) {
|
|
|
182
182
|
});
|
|
183
183
|
|
|
184
184
|
export async function exit(code = 0) {
|
|
185
|
-
process.
|
|
186
|
-
|
|
187
|
-
process.exit(code);
|
|
185
|
+
process.exitCode = code;
|
|
186
|
+
Environment.default.runtime.cancel();
|
|
188
187
|
}
|
|
189
188
|
|
|
190
|
-
const
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
};
|
|
194
|
-
|
|
195
|
-
process.on("SIGINT", sigIntHandler);
|
|
196
|
-
|
|
197
|
-
Environment.default.runtime.add(main());
|
|
189
|
+
const runtime = Environment.default.runtime;
|
|
190
|
+
runtime.add(main());
|
|
191
|
+
void runtime.inactive.then(() => process.exit(process.exitCode ?? 0));
|
package/src/shell/cmd_config.ts
CHANGED
|
@@ -223,6 +223,41 @@ export default function commands(theNode: MatterNode) {
|
|
|
223
223
|
);
|
|
224
224
|
})
|
|
225
225
|
|
|
226
|
+
// OTA Test Images
|
|
227
|
+
.command(
|
|
228
|
+
"ota-test-images",
|
|
229
|
+
"Manage whether test OTA images (from Test DCL) are offered to nodes requesting updates",
|
|
230
|
+
yargs => {
|
|
231
|
+
return yargs
|
|
232
|
+
.command(
|
|
233
|
+
"* [action]",
|
|
234
|
+
"get/delete OTA test images setting",
|
|
235
|
+
yargs => {
|
|
236
|
+
return yargs.positional("action", {
|
|
237
|
+
describe: "get/delete",
|
|
238
|
+
choices: ["get", "delete"] as const,
|
|
239
|
+
default: "get",
|
|
240
|
+
type: "string",
|
|
241
|
+
});
|
|
242
|
+
},
|
|
243
|
+
async argv => doOtaTestImages(theNode, argv),
|
|
244
|
+
)
|
|
245
|
+
.command(
|
|
246
|
+
"set <value>",
|
|
247
|
+
"Enable or disable offering test OTA images to nodes",
|
|
248
|
+
yargs => {
|
|
249
|
+
return yargs.positional("value", {
|
|
250
|
+
describe: "Enable test OTA images (true/false)",
|
|
251
|
+
type: "string",
|
|
252
|
+
choices: ["true", "false"] as const,
|
|
253
|
+
demandOption: true,
|
|
254
|
+
});
|
|
255
|
+
},
|
|
256
|
+
async argv => doOtaTestImages(theNode, { action: "set", ...argv }),
|
|
257
|
+
);
|
|
258
|
+
},
|
|
259
|
+
)
|
|
260
|
+
|
|
226
261
|
// DCL Test Certificates
|
|
227
262
|
.command(
|
|
228
263
|
"dcl-test-certificates",
|
|
@@ -461,6 +496,41 @@ async function doThreadCredentials(
|
|
|
461
496
|
}
|
|
462
497
|
}
|
|
463
498
|
|
|
499
|
+
async function doOtaTestImages(
|
|
500
|
+
theNode: MatterNode,
|
|
501
|
+
args: {
|
|
502
|
+
action: string;
|
|
503
|
+
value?: string;
|
|
504
|
+
},
|
|
505
|
+
) {
|
|
506
|
+
const { action, value } = args;
|
|
507
|
+
switch (action) {
|
|
508
|
+
case "get":
|
|
509
|
+
const enabled = await theNode.Store.get<boolean>("AllowTestOtaImages", false);
|
|
510
|
+
console.log(
|
|
511
|
+
`OTA test images: ${enabled ? "enabled (production + test DCL)" : "disabled (production DCL only)"}`,
|
|
512
|
+
);
|
|
513
|
+
break;
|
|
514
|
+
case "set":
|
|
515
|
+
if (value === undefined) {
|
|
516
|
+
console.log(`Cannot change OTA test images setting: New value not provided`);
|
|
517
|
+
return;
|
|
518
|
+
}
|
|
519
|
+
const newValue = value === "true";
|
|
520
|
+
await theNode.Store.set("AllowTestOtaImages", newValue);
|
|
521
|
+
console.log(
|
|
522
|
+
`OTA test images: ${newValue ? "enabled (production + test DCL)" : "disabled (production DCL only)"}. Please restart the shell for the changes to take effect.`,
|
|
523
|
+
);
|
|
524
|
+
break;
|
|
525
|
+
case "delete":
|
|
526
|
+
await theNode.Store.delete("AllowTestOtaImages");
|
|
527
|
+
console.log(
|
|
528
|
+
`OTA test images setting reset to default (disabled). Please restart the shell for the changes to take effect.`,
|
|
529
|
+
);
|
|
530
|
+
break;
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
|
|
464
534
|
async function doDclTestCertificates(
|
|
465
535
|
theNode: MatterNode,
|
|
466
536
|
args: {
|
package/src/shell/cmd_vendor.ts
CHANGED
|
@@ -82,6 +82,54 @@ export default function commands(theNode: MatterNode) {
|
|
|
82
82
|
console.log(Diagnostic.json(vendor));
|
|
83
83
|
},
|
|
84
84
|
)
|
|
85
|
+
.command(
|
|
86
|
+
"product <vendor-id> <product-id>",
|
|
87
|
+
"Fetch and display product details from DCL for a vendor/product ID combination",
|
|
88
|
+
yargs => {
|
|
89
|
+
return yargs
|
|
90
|
+
.positional("vendor-id", {
|
|
91
|
+
describe: "Vendor ID (hex format like 0xFFF1 or decimal)",
|
|
92
|
+
type: "string",
|
|
93
|
+
demandOption: true,
|
|
94
|
+
})
|
|
95
|
+
.positional("product-id", {
|
|
96
|
+
describe: "Product ID (hex format like 0x8000 or decimal)",
|
|
97
|
+
type: "string",
|
|
98
|
+
demandOption: true,
|
|
99
|
+
});
|
|
100
|
+
},
|
|
101
|
+
async argv => {
|
|
102
|
+
const { "vendor-id": vendorIdStr, "product-id": productIdStr } = argv;
|
|
103
|
+
|
|
104
|
+
const vendorId = vendorIdStr.startsWith("0x")
|
|
105
|
+
? parseInt(vendorIdStr.replace(/^0x/i, ""), 16)
|
|
106
|
+
: parseInt(vendorIdStr, 10);
|
|
107
|
+
const productId = productIdStr.startsWith("0x")
|
|
108
|
+
? parseInt(productIdStr.replace(/^0x/i, ""), 16)
|
|
109
|
+
: parseInt(productIdStr, 10);
|
|
110
|
+
|
|
111
|
+
if (!isFinite(vendorId)) {
|
|
112
|
+
console.error(`Error: Invalid vendor ID "${vendorIdStr}"`);
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
if (!isFinite(productId)) {
|
|
116
|
+
console.error(`Error: Invalid product ID "${productIdStr}"`);
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
await theNode.start();
|
|
121
|
+
const product = await (await theNode.vendorInfoService()).productInfoFor(vendorId, productId);
|
|
122
|
+
if (!product) {
|
|
123
|
+
console.error(
|
|
124
|
+
`Product with vendor ID ${vendorIdStr} and product ID ${productIdStr} not found in DCL`,
|
|
125
|
+
);
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
console.log("\nProduct Details:");
|
|
130
|
+
console.log(JSON.stringify(product, null, 2));
|
|
131
|
+
},
|
|
132
|
+
)
|
|
85
133
|
.command(
|
|
86
134
|
"update",
|
|
87
135
|
"Update vendor information from DCL",
|