@matter/nodejs-shell 0.17.1-alpha.0-20260602-24f28a953 → 0.17.1
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.
|
@@ -31,9 +31,15 @@ function generateAllAttributeHandlersForCluster(yargs, theNode) {
|
|
|
31
31
|
describe: "endpoint id to read",
|
|
32
32
|
type: "number",
|
|
33
33
|
demandOption: true
|
|
34
|
+
}).options({
|
|
35
|
+
"fabric-filtered": {
|
|
36
|
+
describe: "request fabric-filtered data (only data visible to the accessing fabric)",
|
|
37
|
+
default: true,
|
|
38
|
+
type: "boolean"
|
|
39
|
+
}
|
|
34
40
|
}),
|
|
35
41
|
async (argv) => {
|
|
36
|
-
const { nodeId, endpointId, clusterId, attributeId: rawAttributeId } = argv;
|
|
42
|
+
const { nodeId, endpointId, clusterId, attributeId: rawAttributeId, fabricFiltered } = argv;
|
|
37
43
|
const attributeId = rawAttributeId === "*" ? void 0 : parseInt(rawAttributeId);
|
|
38
44
|
const node = (await theNode.connectAndGetNodes(nodeId))[0];
|
|
39
45
|
try {
|
|
@@ -45,7 +51,8 @@ function generateAllAttributeHandlersForCluster(yargs, theNode) {
|
|
|
45
51
|
clusterId: ClusterId(clusterId),
|
|
46
52
|
attributeId: attributeId !== void 0 ? AttributeId(attributeId) : void 0
|
|
47
53
|
}
|
|
48
|
-
]
|
|
54
|
+
],
|
|
55
|
+
isFabricFiltered: fabricFiltered
|
|
49
56
|
});
|
|
50
57
|
console.log(
|
|
51
58
|
`Attribute values for cluster ${node.nodeId.toString()}/${endpointId}/${clusterId}/${attributeId}:`
|
|
@@ -97,12 +104,17 @@ function generateClusterAttributeHandlers(yargs, cluster, theNode) {
|
|
|
97
104
|
describe: "request value always remote. Also ignores information about attribute existence on device",
|
|
98
105
|
default: false,
|
|
99
106
|
type: "boolean"
|
|
107
|
+
},
|
|
108
|
+
"fabric-filtered": {
|
|
109
|
+
describe: "request fabric-filtered data (only data visible to the accessing fabric)",
|
|
110
|
+
default: true,
|
|
111
|
+
type: "boolean"
|
|
100
112
|
}
|
|
101
113
|
});
|
|
102
114
|
},
|
|
103
115
|
async (argv) => {
|
|
104
116
|
const clusterId2 = cluster.id;
|
|
105
|
-
const { nodeId, endpointId, remote } = argv;
|
|
117
|
+
const { nodeId, endpointId, remote, fabricFiltered } = argv;
|
|
106
118
|
const requestRemote = remote ? true : void 0;
|
|
107
119
|
const node = (await theNode.connectAndGetNodes(nodeId))[0];
|
|
108
120
|
const clusterClient = node.getDeviceById(endpointId)?.getClusterClientById(ClusterId(clusterId2));
|
|
@@ -118,11 +130,11 @@ function generateClusterAttributeHandlers(yargs, cluster, theNode) {
|
|
|
118
130
|
for (const attribute of cluster.attributes) {
|
|
119
131
|
const attributeName = attribute.propertyName;
|
|
120
132
|
const attributeClient = clusterClient.attributes[attributeName];
|
|
121
|
-
if (!remote && !(attributeClient instanceof SupportedAttributeClient)) {
|
|
133
|
+
if (attributeClient === void 0 || !remote && !(attributeClient instanceof SupportedAttributeClient)) {
|
|
122
134
|
continue;
|
|
123
135
|
}
|
|
124
136
|
console.log(
|
|
125
|
-
` ${attributeName} (${attribute.id}): ${Diagnostic.json(await attributeClient.get(requestRemote))}`
|
|
137
|
+
` ${attributeName} (${attribute.id}): ${Diagnostic.json(await attributeClient.get(requestRemote, fabricFiltered))}`
|
|
126
138
|
);
|
|
127
139
|
}
|
|
128
140
|
}
|
|
@@ -180,10 +192,15 @@ function generateAttributeReadHandler(yargs, clusterId, clusterName, attribute,
|
|
|
180
192
|
describe: "request value always remote. Also ignores information about attribute existence on device",
|
|
181
193
|
default: false,
|
|
182
194
|
type: "boolean"
|
|
195
|
+
},
|
|
196
|
+
"fabric-filtered": {
|
|
197
|
+
describe: "request fabric-filtered data (only data visible to the accessing fabric)",
|
|
198
|
+
default: true,
|
|
199
|
+
type: "boolean"
|
|
183
200
|
}
|
|
184
201
|
}),
|
|
185
202
|
async (argv) => {
|
|
186
|
-
const { nodeId, endpointId, remote } = argv;
|
|
203
|
+
const { nodeId, endpointId, remote, fabricFiltered } = argv;
|
|
187
204
|
const requestRemote = remote ? true : void 0;
|
|
188
205
|
const node = (await theNode.connectAndGetNodes(nodeId))[0];
|
|
189
206
|
const clusterClient = node.getDeviceById(endpointId)?.getClusterClientById(ClusterId(clusterId));
|
|
@@ -192,7 +209,7 @@ function generateAttributeReadHandler(yargs, clusterId, clusterName, attribute,
|
|
|
192
209
|
return;
|
|
193
210
|
}
|
|
194
211
|
const attributeClient = clusterClient.attributes[attributeName];
|
|
195
|
-
if (!remote && !(attributeClient instanceof SupportedAttributeClient)) {
|
|
212
|
+
if (attributeClient === void 0 || !remote && !(attributeClient instanceof SupportedAttributeClient)) {
|
|
196
213
|
console.log(
|
|
197
214
|
`ERROR: Attribute ${node.nodeId.toString()}/${endpointId}/${clusterId}/${attribute.id} not supported by the device.`
|
|
198
215
|
);
|
|
@@ -200,7 +217,7 @@ function generateAttributeReadHandler(yargs, clusterId, clusterName, attribute,
|
|
|
200
217
|
}
|
|
201
218
|
try {
|
|
202
219
|
console.log(
|
|
203
|
-
`Attribute value for ${attributeName} ${node.nodeId.toString()}/${endpointId}/${clusterId}/${attribute.id}: ${Diagnostic.json(await attributeClient.get(requestRemote))}`
|
|
220
|
+
`Attribute value for ${attributeName} ${node.nodeId.toString()}/${endpointId}/${clusterId}/${attribute.id}: ${Diagnostic.json(await attributeClient.get(requestRemote, fabricFiltered))}`
|
|
204
221
|
);
|
|
205
222
|
} catch (error) {
|
|
206
223
|
console.log(`ERROR: Could not get attribute ${attribute.name}: ${error}`);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/shell/cmd_cluster-attributes.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,kBAAkB;AAC3B,SAAuC,cAAc;AACrD,SAAS,aAAa,WAAW,gBAAgB,uBAAuB;AACxE,SAAS,gCAAgC;AAGzC,SAAS,gCAAgC;AAEzC,SAAS,uCAAuC,OAAa,SAAqB;AAC9E,SAAO,SAAS,QAAQ,aAAW;AAC/B,YAAQ,iCAAiC,OAAO,SAAS,OAAO;AAAA,EACpE,CAAC;AAED,UAAQ,MAAM;AAAA,IACV;AAAA,IACA;AAAA,IACA,CAAAA,WACIA,OACK,WAAW,cAAc;AAAA,MACtB,UAAU;AAAA,MACV,MAAM;AAAA,MACN,cAAc;AAAA,IAClB,CAAC,EACA,WAAW,gBAAgB;AAAA,MACxB,UAAU;AAAA,MACV,MAAM;AAAA,MACN,cAAc;AAAA,IAClB,CAAC,EACA,WAAW,WAAW;AAAA,MACnB,UAAU;AAAA,MACV,MAAM;AAAA,MACN,cAAc;AAAA,IAClB,CAAC,EACA,WAAW,eAAe;AAAA,MACvB,UAAU;AAAA,MACV,MAAM;AAAA,MACN,cAAc;AAAA,IAClB,CAAC;AAAA,IACT,OAAM,SAAQ;AACV,YAAM,EAAE,QAAQ,YAAY,WAAW,aAAa,eAAe,IAAI;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["yargs", "attributeId", "clusterId"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/nodejs-shell",
|
|
3
|
-
"version": "0.17.1
|
|
3
|
+
"version": "0.17.1",
|
|
4
4
|
"description": "Shell app for Matter controller",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -34,14 +34,14 @@
|
|
|
34
34
|
"matter-shell": "dist/cjs/app.js"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@matter/general": "0.17.1
|
|
38
|
-
"@matter/model": "0.17.1
|
|
39
|
-
"@matter/node": "0.17.1
|
|
40
|
-
"@matter/nodejs": "0.17.1
|
|
41
|
-
"@matter/nodejs-ble": "0.17.1
|
|
42
|
-
"@matter/protocol": "0.17.1
|
|
43
|
-
"@matter/types": "0.17.1
|
|
44
|
-
"@project-chip/matter.js": "0.17.1
|
|
37
|
+
"@matter/general": "0.17.1",
|
|
38
|
+
"@matter/model": "0.17.1",
|
|
39
|
+
"@matter/node": "0.17.1",
|
|
40
|
+
"@matter/nodejs": "0.17.1",
|
|
41
|
+
"@matter/nodejs-ble": "0.17.1",
|
|
42
|
+
"@matter/protocol": "0.17.1",
|
|
43
|
+
"@matter/types": "0.17.1",
|
|
44
|
+
"@project-chip/matter.js": "0.17.1",
|
|
45
45
|
"ws": "^8.21.0",
|
|
46
46
|
"yargs": "^18.0.0"
|
|
47
47
|
},
|
|
@@ -41,9 +41,16 @@ function generateAllAttributeHandlersForCluster(yargs: Argv, theNode: MatterNode
|
|
|
41
41
|
describe: "endpoint id to read",
|
|
42
42
|
type: "number",
|
|
43
43
|
demandOption: true,
|
|
44
|
+
})
|
|
45
|
+
.options({
|
|
46
|
+
"fabric-filtered": {
|
|
47
|
+
describe: "request fabric-filtered data (only data visible to the accessing fabric)",
|
|
48
|
+
default: true,
|
|
49
|
+
type: "boolean",
|
|
50
|
+
},
|
|
44
51
|
}),
|
|
45
52
|
async argv => {
|
|
46
|
-
const { nodeId, endpointId, clusterId, attributeId: rawAttributeId } = argv;
|
|
53
|
+
const { nodeId, endpointId, clusterId, attributeId: rawAttributeId, fabricFiltered } = argv;
|
|
47
54
|
const attributeId = rawAttributeId === "*" ? undefined : parseInt(rawAttributeId);
|
|
48
55
|
const node = (await theNode.connectAndGetNodes(nodeId))[0];
|
|
49
56
|
|
|
@@ -57,6 +64,7 @@ function generateAllAttributeHandlersForCluster(yargs: Argv, theNode: MatterNode
|
|
|
57
64
|
attributeId: attributeId !== undefined ? AttributeId(attributeId) : undefined,
|
|
58
65
|
},
|
|
59
66
|
],
|
|
67
|
+
isFabricFiltered: fabricFiltered,
|
|
60
68
|
});
|
|
61
69
|
console.log(
|
|
62
70
|
`Attribute values for cluster ${node.nodeId.toString()}/${endpointId}/${clusterId}/${attributeId}:`,
|
|
@@ -115,11 +123,17 @@ function generateClusterAttributeHandlers(yargs: Argv, cluster: ClusterModel, th
|
|
|
115
123
|
default: false,
|
|
116
124
|
type: "boolean",
|
|
117
125
|
},
|
|
126
|
+
"fabric-filtered": {
|
|
127
|
+
describe:
|
|
128
|
+
"request fabric-filtered data (only data visible to the accessing fabric)",
|
|
129
|
+
default: true,
|
|
130
|
+
type: "boolean",
|
|
131
|
+
},
|
|
118
132
|
});
|
|
119
133
|
},
|
|
120
134
|
async argv => {
|
|
121
135
|
const clusterId = cluster.id;
|
|
122
|
-
const { nodeId, endpointId, remote } = argv;
|
|
136
|
+
const { nodeId, endpointId, remote, fabricFiltered } = argv;
|
|
123
137
|
const requestRemote = remote ? true : undefined;
|
|
124
138
|
const node = (await theNode.connectAndGetNodes(nodeId))[0];
|
|
125
139
|
|
|
@@ -138,11 +152,14 @@ function generateClusterAttributeHandlers(yargs: Argv, cluster: ClusterModel, th
|
|
|
138
152
|
for (const attribute of cluster.attributes) {
|
|
139
153
|
const attributeName = attribute.propertyName;
|
|
140
154
|
const attributeClient = clusterClient.attributes[attributeName];
|
|
141
|
-
if (
|
|
155
|
+
if (
|
|
156
|
+
attributeClient === undefined ||
|
|
157
|
+
(!remote && !(attributeClient instanceof SupportedAttributeClient))
|
|
158
|
+
) {
|
|
142
159
|
continue;
|
|
143
160
|
}
|
|
144
161
|
console.log(
|
|
145
|
-
` ${attributeName} (${attribute.id}): ${Diagnostic.json(await attributeClient.get(requestRemote))}`,
|
|
162
|
+
` ${attributeName} (${attribute.id}): ${Diagnostic.json(await attributeClient.get(requestRemote, fabricFiltered))}`,
|
|
146
163
|
);
|
|
147
164
|
}
|
|
148
165
|
},
|
|
@@ -217,9 +234,14 @@ function generateAttributeReadHandler(
|
|
|
217
234
|
default: false,
|
|
218
235
|
type: "boolean",
|
|
219
236
|
},
|
|
237
|
+
"fabric-filtered": {
|
|
238
|
+
describe: "request fabric-filtered data (only data visible to the accessing fabric)",
|
|
239
|
+
default: true,
|
|
240
|
+
type: "boolean",
|
|
241
|
+
},
|
|
220
242
|
}),
|
|
221
243
|
async argv => {
|
|
222
|
-
const { nodeId, endpointId, remote } = argv;
|
|
244
|
+
const { nodeId, endpointId, remote, fabricFiltered } = argv;
|
|
223
245
|
const requestRemote = remote ? true : undefined;
|
|
224
246
|
const node = (await theNode.connectAndGetNodes(nodeId))[0];
|
|
225
247
|
|
|
@@ -229,7 +251,7 @@ function generateAttributeReadHandler(
|
|
|
229
251
|
return;
|
|
230
252
|
}
|
|
231
253
|
const attributeClient = clusterClient.attributes[attributeName];
|
|
232
|
-
if (!remote && !(attributeClient instanceof SupportedAttributeClient)) {
|
|
254
|
+
if (attributeClient === undefined || (!remote && !(attributeClient instanceof SupportedAttributeClient))) {
|
|
233
255
|
console.log(
|
|
234
256
|
`ERROR: Attribute ${node.nodeId.toString()}/${endpointId}/${clusterId}/${attribute.id} not supported by the device.`,
|
|
235
257
|
);
|
|
@@ -237,7 +259,7 @@ function generateAttributeReadHandler(
|
|
|
237
259
|
}
|
|
238
260
|
try {
|
|
239
261
|
console.log(
|
|
240
|
-
`Attribute value for ${attributeName} ${node.nodeId.toString()}/${endpointId}/${clusterId}/${attribute.id}: ${Diagnostic.json(await attributeClient.get(requestRemote))}`,
|
|
262
|
+
`Attribute value for ${attributeName} ${node.nodeId.toString()}/${endpointId}/${clusterId}/${attribute.id}: ${Diagnostic.json(await attributeClient.get(requestRemote, fabricFiltered))}`,
|
|
241
263
|
);
|
|
242
264
|
} catch (error) {
|
|
243
265
|
console.log(`ERROR: Could not get attribute ${attribute.name}: ${error}`);
|