@project-chip/matter.js 0.11.0-alpha.0-20241026-35e309e35 → 0.11.0-alpha.0-20241027-de3c9d280
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/device/DeviceInformation.d.ts.map +1 -1
- package/dist/cjs/device/DeviceInformation.js +108 -112
- package/dist/cjs/device/DeviceInformation.js.map +1 -1
- package/dist/esm/device/DeviceInformation.d.ts.map +1 -1
- package/dist/esm/device/DeviceInformation.js +108 -112
- package/dist/esm/device/DeviceInformation.js.map +1 -1
- package/package.json +8 -7
- package/src/device/DeviceInformation.ts +121 -125
- package/src/tsconfig.json +3 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceInformation.d.ts","sourceRoot":"","sources":["../../../src/device/DeviceInformation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,EAAU,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAA4B,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAoC,MAAM,EAA4C,MAAM,eAAe,CAAC;AACnH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,MAAM,MAAM,qBAAqB,GAAG;IAChC,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,yBAAyB,EAAE,OAAO,CAAC;IACnC,uBAAuB,EAAE,OAAO,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAE3E,MAAM,MAAM,qBAAqB,GAAG;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACzD,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAWtC,qBAAa,iBAAiB;;IAKtB,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EACvB,IAAI,EAAE,qBAAqB;IAM/B,IAAI,IAAI,sCAEP;IAED,IAAI,gBAAgB,uCAEnB;IAED,IAAI,KAAK,YAMR;IAEK,6BAA6B,CAAC,YAAY,EAAE,QAAQ;IA6FpD,8BAA8B,CAAC,iBAAiB,EAAE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"DeviceInformation.d.ts","sourceRoot":"","sources":["../../../src/device/DeviceInformation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,EAAU,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAA4B,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAoC,MAAM,EAA4C,MAAM,eAAe,CAAC;AACnH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,MAAM,MAAM,qBAAqB,GAAG;IAChC,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,yBAAyB,EAAE,OAAO,CAAC;IACnC,uBAAuB,EAAE,OAAO,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAE3E,MAAM,MAAM,qBAAqB,GAAG;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACzD,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAWtC,qBAAa,iBAAiB;;IAKtB,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EACvB,IAAI,EAAE,qBAAqB;IAM/B,IAAI,IAAI,sCAEP;IAED,IAAI,gBAAgB,uCAEnB;IAED,IAAI,KAAK,YAMR;IAEK,6BAA6B,CAAC,YAAY,EAAE,QAAQ;IA6FpD,8BAA8B,CAAC,iBAAiB,EAAE,iBAAiB;IAqIzE,+BAA+B,CAAC,OAAO,EAAE;QACrC,gCAAgC,CAAC,EAAE,MAAM,CAAC;QAC1C,kCAAkC,CAAC,EAAE,MAAM,CAAC;KAC/C;;;;IAwCD,aAAa,IAAI,qBAAqB;CAMzC"}
|
|
@@ -143,126 +143,122 @@ class DeviceInformation {
|
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
145
|
async enhanceDeviceDetailsFromRemote(interactionClient) {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
146
|
+
const readData = await interactionClient.getMultipleAttributes({
|
|
147
|
+
attributes: [
|
|
148
|
+
{ endpointId: (0, import_types.EndpointNumber)(0), clusterId: import_clusters.BasicInformation.Cluster.id },
|
|
149
|
+
{
|
|
150
|
+
endpointId: (0, import_types.EndpointNumber)(0),
|
|
151
|
+
clusterId: import_clusters.Descriptor.Cluster.id,
|
|
152
|
+
attributeId: import_clusters.Descriptor.Cluster.attributes.serverList.id
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
clusterId: import_clusters.NetworkCommissioning.Cluster.id,
|
|
156
|
+
attributeId: import_clusters.NetworkCommissioning.Complete.attributes.featureMap.id
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
clusterId: import_clusters.NetworkCommissioning.Cluster.id,
|
|
160
|
+
attributeId: import_clusters.NetworkCommissioning.Complete.attributes.networks.id
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
clusterId: import_clusters.NetworkCommissioning.Cluster.id,
|
|
164
|
+
attributeId: import_clusters.NetworkCommissioning.Complete.attributes.interfaceEnabled.id
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
clusterId: import_clusters.PowerSource.Cluster.id,
|
|
168
|
+
attributeId: import_clusters.PowerSource.Cluster.attributes.featureMap.id
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
clusterId: import_clusters.PowerSource.Cluster.id,
|
|
172
|
+
attributeId: import_clusters.PowerSource.Cluster.attributes.status.id
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
endpointId: (0, import_types.EndpointNumber)(0),
|
|
176
|
+
clusterId: import_clusters.ThreadNetworkDiagnostics.Cluster.id,
|
|
177
|
+
attributeId: import_clusters.ThreadNetworkDiagnostics.Cluster.attributes.routingRole.id
|
|
178
|
+
}
|
|
179
|
+
]
|
|
180
|
+
});
|
|
181
|
+
const basicInformationData = {};
|
|
182
|
+
const deviceData = {
|
|
183
|
+
ethernetConnected: false,
|
|
184
|
+
wifiConnected: false,
|
|
185
|
+
threadConnected: false,
|
|
186
|
+
rootEndpointServerList: [],
|
|
187
|
+
isBatteryPowered: false,
|
|
188
|
+
isIntermittentlyConnected: false,
|
|
189
|
+
isThreadSleepyEndDevice: false,
|
|
190
|
+
dataRevision: DEVICE_DATA_REVISION
|
|
191
|
+
};
|
|
192
|
+
const networkData = /* @__PURE__ */ new Map();
|
|
193
|
+
const powerSourceData = /* @__PURE__ */ new Map();
|
|
194
|
+
for (const {
|
|
195
|
+
path: { endpointId, clusterId, attributeId, attributeName },
|
|
196
|
+
value
|
|
197
|
+
} of readData) {
|
|
198
|
+
switch (clusterId) {
|
|
199
|
+
case import_clusters.BasicInformation.Cluster.id:
|
|
200
|
+
if (!GlobalAttributeKeys.includes(attributeName)) {
|
|
201
|
+
basicInformationData[attributeName] = value;
|
|
179
202
|
}
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
threadConnected: false,
|
|
187
|
-
rootEndpointServerList: [],
|
|
188
|
-
isBatteryPowered: false,
|
|
189
|
-
isIntermittentlyConnected: false,
|
|
190
|
-
isThreadSleepyEndDevice: false,
|
|
191
|
-
dataRevision: DEVICE_DATA_REVISION
|
|
192
|
-
};
|
|
193
|
-
const networkData = /* @__PURE__ */ new Map();
|
|
194
|
-
const powerSourceData = /* @__PURE__ */ new Map();
|
|
195
|
-
for (const {
|
|
196
|
-
path: { endpointId, clusterId, attributeId, attributeName },
|
|
197
|
-
value
|
|
198
|
-
} of readData) {
|
|
199
|
-
switch (clusterId) {
|
|
200
|
-
case import_clusters.BasicInformation.Cluster.id:
|
|
201
|
-
if (!GlobalAttributeKeys.includes(attributeName)) {
|
|
202
|
-
basicInformationData[attributeName] = value;
|
|
203
|
-
}
|
|
204
|
-
break;
|
|
205
|
-
case import_clusters.Descriptor.Cluster.id:
|
|
206
|
-
if (attributeId === import_clusters.Descriptor.Cluster.attributes.serverList.id) {
|
|
207
|
-
deviceData.rootEndpointServerList = value;
|
|
208
|
-
if (value.includes(import_clusters.IcdManagement.Cluster.id)) {
|
|
209
|
-
deviceData.isIntermittentlyConnected = true;
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
break;
|
|
213
|
-
case import_clusters.NetworkCommissioning.Cluster.id:
|
|
214
|
-
const networkEntry = networkData.get(endpointId) ?? {};
|
|
215
|
-
if (attributeId === import_clusters.NetworkCommissioning.Complete.attributes.featureMap.id) {
|
|
216
|
-
networkEntry.type = value;
|
|
217
|
-
} else if (attributeId === import_clusters.NetworkCommissioning.Complete.attributes.interfaceEnabled.id) {
|
|
218
|
-
networkEntry.enabled = value;
|
|
219
|
-
} else if (attributeId === import_clusters.NetworkCommissioning.Complete.attributes.networks.id) {
|
|
220
|
-
networkEntry.connected = value.some((network) => network.connected);
|
|
203
|
+
break;
|
|
204
|
+
case import_clusters.Descriptor.Cluster.id:
|
|
205
|
+
if (attributeId === import_clusters.Descriptor.Cluster.attributes.serverList.id) {
|
|
206
|
+
deviceData.rootEndpointServerList = value;
|
|
207
|
+
if (value.includes(import_clusters.IcdManagement.Cluster.id)) {
|
|
208
|
+
deviceData.isIntermittentlyConnected = true;
|
|
221
209
|
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
210
|
+
}
|
|
211
|
+
break;
|
|
212
|
+
case import_clusters.NetworkCommissioning.Cluster.id:
|
|
213
|
+
const networkEntry = networkData.get(endpointId) ?? {};
|
|
214
|
+
if (attributeId === import_clusters.NetworkCommissioning.Complete.attributes.featureMap.id) {
|
|
215
|
+
networkEntry.type = value;
|
|
216
|
+
} else if (attributeId === import_clusters.NetworkCommissioning.Complete.attributes.interfaceEnabled.id) {
|
|
217
|
+
networkEntry.enabled = value;
|
|
218
|
+
} else if (attributeId === import_clusters.NetworkCommissioning.Complete.attributes.networks.id) {
|
|
219
|
+
networkEntry.connected = value.some((network) => network.connected);
|
|
220
|
+
}
|
|
221
|
+
networkData.set(endpointId, networkEntry);
|
|
222
|
+
break;
|
|
223
|
+
case import_clusters.PowerSource.Cluster.id:
|
|
224
|
+
const powerSourceEntry = powerSourceData.get(endpointId) ?? {};
|
|
225
|
+
if (attributeId === import_clusters.PowerSource.Cluster.attributes.featureMap.id) {
|
|
226
|
+
powerSourceEntry.features = value;
|
|
227
|
+
} else if (attributeId === import_clusters.PowerSource.Cluster.attributes.status.id) {
|
|
228
|
+
powerSourceEntry.status = value;
|
|
229
|
+
}
|
|
230
|
+
powerSourceData.set(endpointId, powerSourceEntry);
|
|
231
|
+
break;
|
|
232
|
+
case import_clusters.ThreadNetworkDiagnostics.Cluster.id:
|
|
233
|
+
if (attributeId === import_clusters.ThreadNetworkDiagnostics.Cluster.attributes.routingRole.id) {
|
|
234
|
+
if (value === import_clusters.ThreadNetworkDiagnostics.RoutingRole.SleepyEndDevice) {
|
|
235
|
+
deviceData.isThreadSleepyEndDevice = true;
|
|
238
236
|
}
|
|
239
|
-
break;
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
if (networkData.size === 0) {
|
|
243
|
-
deviceData.ethernetConnected = true;
|
|
244
|
-
} else {
|
|
245
|
-
for (const { type, enabled, connected } of networkData.values()) {
|
|
246
|
-
if (!type || !enabled || !connected) continue;
|
|
247
|
-
if (type.ethernetNetworkInterface) {
|
|
248
|
-
deviceData.ethernetConnected = true;
|
|
249
|
-
} else if (type.wiFiNetworkInterface) {
|
|
250
|
-
deviceData.wifiConnected = true;
|
|
251
|
-
} else if (type.threadNetworkInterface) {
|
|
252
|
-
deviceData.threadConnected = true;
|
|
253
237
|
}
|
|
254
|
-
|
|
238
|
+
break;
|
|
255
239
|
}
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
240
|
+
}
|
|
241
|
+
if (networkData.size === 0) {
|
|
242
|
+
deviceData.ethernetConnected = true;
|
|
243
|
+
} else {
|
|
244
|
+
for (const { type, enabled, connected } of networkData.values()) {
|
|
245
|
+
if (!type || !enabled || !connected) continue;
|
|
246
|
+
if (type.ethernetNetworkInterface) {
|
|
247
|
+
deviceData.ethernetConnected = true;
|
|
248
|
+
} else if (type.wiFiNetworkInterface) {
|
|
249
|
+
deviceData.wifiConnected = true;
|
|
250
|
+
} else if (type.threadNetworkInterface) {
|
|
251
|
+
deviceData.threadConnected = true;
|
|
259
252
|
}
|
|
260
253
|
}
|
|
261
|
-
this.#basicInformation = basicInformationData;
|
|
262
|
-
this.#deviceMeta = deviceData;
|
|
263
|
-
} catch (error) {
|
|
264
|
-
logger.info(`Error while enhancing basic information for node ${this.nodeId}: ${error}`);
|
|
265
254
|
}
|
|
255
|
+
for (const { features, status } of powerSourceData.values()) {
|
|
256
|
+
if (features?.battery && status === import_clusters.PowerSource.PowerSourceStatus.Active) {
|
|
257
|
+
deviceData.isBatteryPowered = true;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
this.#basicInformation = basicInformationData;
|
|
261
|
+
this.#deviceMeta = deviceData;
|
|
266
262
|
}
|
|
267
263
|
determineSubscriptionParameters(options) {
|
|
268
264
|
let {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/device/DeviceInformation.ts"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceInformation.d.ts","sourceRoot":"","sources":["../../../src/device/DeviceInformation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,EAAU,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAA4B,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAoC,MAAM,EAA4C,MAAM,eAAe,CAAC;AACnH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,MAAM,MAAM,qBAAqB,GAAG;IAChC,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,yBAAyB,EAAE,OAAO,CAAC;IACnC,uBAAuB,EAAE,OAAO,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAE3E,MAAM,MAAM,qBAAqB,GAAG;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACzD,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAWtC,qBAAa,iBAAiB;;IAKtB,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EACvB,IAAI,EAAE,qBAAqB;IAM/B,IAAI,IAAI,sCAEP;IAED,IAAI,gBAAgB,uCAEnB;IAED,IAAI,KAAK,YAMR;IAEK,6BAA6B,CAAC,YAAY,EAAE,QAAQ;IA6FpD,8BAA8B,CAAC,iBAAiB,EAAE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"DeviceInformation.d.ts","sourceRoot":"","sources":["../../../src/device/DeviceInformation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,EAAU,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAA4B,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAoC,MAAM,EAA4C,MAAM,eAAe,CAAC;AACnH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,MAAM,MAAM,qBAAqB,GAAG;IAChC,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,yBAAyB,EAAE,OAAO,CAAC;IACnC,uBAAuB,EAAE,OAAO,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAE3E,MAAM,MAAM,qBAAqB,GAAG;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACzD,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAWtC,qBAAa,iBAAiB;;IAKtB,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EACvB,IAAI,EAAE,qBAAqB;IAM/B,IAAI,IAAI,sCAEP;IAED,IAAI,gBAAgB,uCAEnB;IAED,IAAI,KAAK,YAMR;IAEK,6BAA6B,CAAC,YAAY,EAAE,QAAQ;IA6FpD,8BAA8B,CAAC,iBAAiB,EAAE,iBAAiB;IAqIzE,+BAA+B,CAAC,OAAO,EAAE;QACrC,gCAAgC,CAAC,EAAE,MAAM,CAAC;QAC1C,kCAAkC,CAAC,EAAE,MAAM,CAAC;KAC/C;;;;IAwCD,aAAa,IAAI,qBAAqB;CAMzC"}
|
|
@@ -126,126 +126,122 @@ class DeviceInformation {
|
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
128
|
async enhanceDeviceDetailsFromRemote(interactionClient) {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
129
|
+
const readData = await interactionClient.getMultipleAttributes({
|
|
130
|
+
attributes: [
|
|
131
|
+
{ endpointId: EndpointNumber(0), clusterId: BasicInformation.Cluster.id },
|
|
132
|
+
{
|
|
133
|
+
endpointId: EndpointNumber(0),
|
|
134
|
+
clusterId: Descriptor.Cluster.id,
|
|
135
|
+
attributeId: Descriptor.Cluster.attributes.serverList.id
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
clusterId: NetworkCommissioning.Cluster.id,
|
|
139
|
+
attributeId: NetworkCommissioning.Complete.attributes.featureMap.id
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
clusterId: NetworkCommissioning.Cluster.id,
|
|
143
|
+
attributeId: NetworkCommissioning.Complete.attributes.networks.id
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
clusterId: NetworkCommissioning.Cluster.id,
|
|
147
|
+
attributeId: NetworkCommissioning.Complete.attributes.interfaceEnabled.id
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
clusterId: PowerSource.Cluster.id,
|
|
151
|
+
attributeId: PowerSource.Cluster.attributes.featureMap.id
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
clusterId: PowerSource.Cluster.id,
|
|
155
|
+
attributeId: PowerSource.Cluster.attributes.status.id
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
endpointId: EndpointNumber(0),
|
|
159
|
+
clusterId: ThreadNetworkDiagnostics.Cluster.id,
|
|
160
|
+
attributeId: ThreadNetworkDiagnostics.Cluster.attributes.routingRole.id
|
|
161
|
+
}
|
|
162
|
+
]
|
|
163
|
+
});
|
|
164
|
+
const basicInformationData = {};
|
|
165
|
+
const deviceData = {
|
|
166
|
+
ethernetConnected: false,
|
|
167
|
+
wifiConnected: false,
|
|
168
|
+
threadConnected: false,
|
|
169
|
+
rootEndpointServerList: [],
|
|
170
|
+
isBatteryPowered: false,
|
|
171
|
+
isIntermittentlyConnected: false,
|
|
172
|
+
isThreadSleepyEndDevice: false,
|
|
173
|
+
dataRevision: DEVICE_DATA_REVISION
|
|
174
|
+
};
|
|
175
|
+
const networkData = /* @__PURE__ */ new Map();
|
|
176
|
+
const powerSourceData = /* @__PURE__ */ new Map();
|
|
177
|
+
for (const {
|
|
178
|
+
path: { endpointId, clusterId, attributeId, attributeName },
|
|
179
|
+
value
|
|
180
|
+
} of readData) {
|
|
181
|
+
switch (clusterId) {
|
|
182
|
+
case BasicInformation.Cluster.id:
|
|
183
|
+
if (!GlobalAttributeKeys.includes(attributeName)) {
|
|
184
|
+
basicInformationData[attributeName] = value;
|
|
162
185
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
threadConnected: false,
|
|
170
|
-
rootEndpointServerList: [],
|
|
171
|
-
isBatteryPowered: false,
|
|
172
|
-
isIntermittentlyConnected: false,
|
|
173
|
-
isThreadSleepyEndDevice: false,
|
|
174
|
-
dataRevision: DEVICE_DATA_REVISION
|
|
175
|
-
};
|
|
176
|
-
const networkData = /* @__PURE__ */ new Map();
|
|
177
|
-
const powerSourceData = /* @__PURE__ */ new Map();
|
|
178
|
-
for (const {
|
|
179
|
-
path: { endpointId, clusterId, attributeId, attributeName },
|
|
180
|
-
value
|
|
181
|
-
} of readData) {
|
|
182
|
-
switch (clusterId) {
|
|
183
|
-
case BasicInformation.Cluster.id:
|
|
184
|
-
if (!GlobalAttributeKeys.includes(attributeName)) {
|
|
185
|
-
basicInformationData[attributeName] = value;
|
|
186
|
-
}
|
|
187
|
-
break;
|
|
188
|
-
case Descriptor.Cluster.id:
|
|
189
|
-
if (attributeId === Descriptor.Cluster.attributes.serverList.id) {
|
|
190
|
-
deviceData.rootEndpointServerList = value;
|
|
191
|
-
if (value.includes(IcdManagement.Cluster.id)) {
|
|
192
|
-
deviceData.isIntermittentlyConnected = true;
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
break;
|
|
196
|
-
case NetworkCommissioning.Cluster.id:
|
|
197
|
-
const networkEntry = networkData.get(endpointId) ?? {};
|
|
198
|
-
if (attributeId === NetworkCommissioning.Complete.attributes.featureMap.id) {
|
|
199
|
-
networkEntry.type = value;
|
|
200
|
-
} else if (attributeId === NetworkCommissioning.Complete.attributes.interfaceEnabled.id) {
|
|
201
|
-
networkEntry.enabled = value;
|
|
202
|
-
} else if (attributeId === NetworkCommissioning.Complete.attributes.networks.id) {
|
|
203
|
-
networkEntry.connected = value.some((network) => network.connected);
|
|
186
|
+
break;
|
|
187
|
+
case Descriptor.Cluster.id:
|
|
188
|
+
if (attributeId === Descriptor.Cluster.attributes.serverList.id) {
|
|
189
|
+
deviceData.rootEndpointServerList = value;
|
|
190
|
+
if (value.includes(IcdManagement.Cluster.id)) {
|
|
191
|
+
deviceData.isIntermittentlyConnected = true;
|
|
204
192
|
}
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
193
|
+
}
|
|
194
|
+
break;
|
|
195
|
+
case NetworkCommissioning.Cluster.id:
|
|
196
|
+
const networkEntry = networkData.get(endpointId) ?? {};
|
|
197
|
+
if (attributeId === NetworkCommissioning.Complete.attributes.featureMap.id) {
|
|
198
|
+
networkEntry.type = value;
|
|
199
|
+
} else if (attributeId === NetworkCommissioning.Complete.attributes.interfaceEnabled.id) {
|
|
200
|
+
networkEntry.enabled = value;
|
|
201
|
+
} else if (attributeId === NetworkCommissioning.Complete.attributes.networks.id) {
|
|
202
|
+
networkEntry.connected = value.some((network) => network.connected);
|
|
203
|
+
}
|
|
204
|
+
networkData.set(endpointId, networkEntry);
|
|
205
|
+
break;
|
|
206
|
+
case PowerSource.Cluster.id:
|
|
207
|
+
const powerSourceEntry = powerSourceData.get(endpointId) ?? {};
|
|
208
|
+
if (attributeId === PowerSource.Cluster.attributes.featureMap.id) {
|
|
209
|
+
powerSourceEntry.features = value;
|
|
210
|
+
} else if (attributeId === PowerSource.Cluster.attributes.status.id) {
|
|
211
|
+
powerSourceEntry.status = value;
|
|
212
|
+
}
|
|
213
|
+
powerSourceData.set(endpointId, powerSourceEntry);
|
|
214
|
+
break;
|
|
215
|
+
case ThreadNetworkDiagnostics.Cluster.id:
|
|
216
|
+
if (attributeId === ThreadNetworkDiagnostics.Cluster.attributes.routingRole.id) {
|
|
217
|
+
if (value === ThreadNetworkDiagnostics.RoutingRole.SleepyEndDevice) {
|
|
218
|
+
deviceData.isThreadSleepyEndDevice = true;
|
|
221
219
|
}
|
|
222
|
-
break;
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
if (networkData.size === 0) {
|
|
226
|
-
deviceData.ethernetConnected = true;
|
|
227
|
-
} else {
|
|
228
|
-
for (const { type, enabled, connected } of networkData.values()) {
|
|
229
|
-
if (!type || !enabled || !connected) continue;
|
|
230
|
-
if (type.ethernetNetworkInterface) {
|
|
231
|
-
deviceData.ethernetConnected = true;
|
|
232
|
-
} else if (type.wiFiNetworkInterface) {
|
|
233
|
-
deviceData.wifiConnected = true;
|
|
234
|
-
} else if (type.threadNetworkInterface) {
|
|
235
|
-
deviceData.threadConnected = true;
|
|
236
220
|
}
|
|
237
|
-
|
|
221
|
+
break;
|
|
238
222
|
}
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
223
|
+
}
|
|
224
|
+
if (networkData.size === 0) {
|
|
225
|
+
deviceData.ethernetConnected = true;
|
|
226
|
+
} else {
|
|
227
|
+
for (const { type, enabled, connected } of networkData.values()) {
|
|
228
|
+
if (!type || !enabled || !connected) continue;
|
|
229
|
+
if (type.ethernetNetworkInterface) {
|
|
230
|
+
deviceData.ethernetConnected = true;
|
|
231
|
+
} else if (type.wiFiNetworkInterface) {
|
|
232
|
+
deviceData.wifiConnected = true;
|
|
233
|
+
} else if (type.threadNetworkInterface) {
|
|
234
|
+
deviceData.threadConnected = true;
|
|
242
235
|
}
|
|
243
236
|
}
|
|
244
|
-
this.#basicInformation = basicInformationData;
|
|
245
|
-
this.#deviceMeta = deviceData;
|
|
246
|
-
} catch (error) {
|
|
247
|
-
logger.info(`Error while enhancing basic information for node ${this.nodeId}: ${error}`);
|
|
248
237
|
}
|
|
238
|
+
for (const { features, status } of powerSourceData.values()) {
|
|
239
|
+
if (features?.battery && status === PowerSource.PowerSourceStatus.Active) {
|
|
240
|
+
deviceData.isBatteryPowered = true;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
this.#basicInformation = basicInformationData;
|
|
244
|
+
this.#deviceMeta = deviceData;
|
|
249
245
|
}
|
|
250
246
|
determineSubscriptionParameters(options) {
|
|
251
247
|
let {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/device/DeviceInformation.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AACP,SAAS,cAAqC;AAC9C,SAA4B,gCAAgC;AAC5D,SAAS,gBAAgB,wBAA0E;AAGnG,MAAM,SAAS,OAAO,IAAI,mBAAmB;AAoBtC,MAAM,uBAAuB;AAEpC,MAAM,uCAAuC;AAC7C,MAAM,mCAAmC;AACzC,MAAM,sCAAsC;AAC5C,MAAM,wCAAwC;AAC9C,MAAM,+CAA+C;AACrD,MAAM,iDAAiD;AAEvD,MAAM,sBAAsB,OAAO,KAAK,iBAAiB,CAAC,CAAC,CAAC;AAErD,MAAM,kBAAkB;AAAA,EAI3B,YACa,QACT,MACF;AAFW;AAGT,SAAK,oBAAoB,KAAK;AAC9B,SAAK,cAAc,KAAK;AAAA,EAC5B;AAAA,EATA;AAAA,EACA;AAAA,EAUA,IAAI,OAAO;AACP,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,mBAAmB;AACnB,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,QAAQ;AACR,WACI,KAAK,sBAAsB,UAC3B,KAAK,gBAAgB,UACrB,KAAK,aAAa,iBAAiB;AAAA,EAE3C;AAAA,EAEA,MAAM,8BAA8B,cAAwB;AACxD,UAAM,uBAAuB,CAAC;AAC9B,UAAM,aAAoC;AAAA,MACtC,mBAAmB;AAAA,MACnB,eAAe;AAAA,MACf,iBAAiB;AAAA,MACjB,wBAAwB,CAAC;AAAA,MACzB,kBAAkB;AAAA,MAClB,2BAA2B;AAAA,MAC3B,yBAAyB;AAAA,MACzB,cAAc;AAAA,IAClB;AAEA,UAAM,yBAAyB,aAAa,iBAAiB,iBAAiB,OAAO;AACrF,QAAI,2BAA2B,QAAW;AACtC,iBAAW,iBAAiB,OAAO,KAAK,uBAAuB,UAAU,GAAG;AACxE,YAAI,oBAAoB,SAAS,aAAa,GAAG;AAC7C;AAAA,QACJ;AACA,cAAM,YAAa,uBAAuB,WAAmB,aAAa;AAC1E,YAAI,qBAAqB,0BAA0B;AAC/C,cAAI;AACA,iCAAqB,aAAa,IAAI,MAAM,UAAU,IAAI;AAAA,UAC9D,SAAS,OAAO;AACZ,mBAAO,KAAK,iCAAiC,aAAa,aAAa,KAAK,MAAM,KAAK,KAAK,EAAE;AAAA,UAClG;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ,OAAO;AACH,aAAO,KAAK,+CAA+C,KAAK,MAAM,EAAE;AAAA,IAC5E;AAEA,UAAM,mBAAmB,aAAa,iBAAiB,WAAW,OAAO;AACzE,QAAI,qBAAqB,QAAW;AAChC,YAAM,aAAa,MAAM,iBAAiB,uBAAuB;AACjE,iBAAW,yBAAyB;AACpC,UAAI,WAAW,SAAS,cAAc,QAAQ,EAAE,GAAG;AAC/C,mBAAW,4BAA4B;AAAA,MAC3C;AAAA,IACJ,OAAO;AACH,aAAO,KAAK,wCAAwC,KAAK,MAAM,EAAE;AAAA,IACrE;AAEA,UAAM,gCAAgC,aAAa,iBAAiB,yBAAyB,OAAO;AACpG,QAAI,kCAAkC,QAAW;AAC7C,YAAM,cAAc,MAAM,8BAA8B,wBAAwB;AAChF,UAAI,gBAAgB,yBAAyB,YAAY,iBAAiB;AACtE,mBAAW,0BAA0B;AAAA,MACzC;AAAA,IACJ;AAEA,UAAM,KAAK,uBAAuB,cAAc,UAAU;AAE1D,SAAK,oBAAoB;AACzB,SAAK,cAAc;AAAA,EACvB;AAAA,EAEA,MAAM,uBAAuB,UAAoB,YAAmC;AAChF,UAAM,iBAAiB,SAAS,iBAAiB,qBAAqB,QAAQ;AAC9E,QAAI,mBAAmB,QAAW;AAC9B,UAAI,MAAM,eAAe,6BAA6B,GAAG;AACrD,cAAM,WAAW,MAAM,eAAe,qBAAqB;AAC3D,YAAI,UAAU;AACV,cAAI,SAAS,KAAK,aAAW,QAAQ,SAAS,GAAG;AAC7C,kBAAM,WAAW,MAAM,eAAe,uBAAuB;AAC7D,gBAAI,UAAU;AACV,kBAAI,SAAS,0BAA0B;AACnC,2BAAW,oBAAoB;AAAA,cACnC,WAAW,SAAS,sBAAsB;AACtC,2BAAW,gBAAgB;AAAA,cAC/B,WAAW,SAAS,wBAAwB;AACxC,2BAAW,kBAAkB;AAAA,cACjC;AAAA,YACJ;AAAA,UACJ;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAEA,UAAM,qBAAqB,SAAS,iBAAiB,YAAY,OAAO;AACxE,QAAI,uBAAuB,QAAW;AAClC,UAAK,MAAM,mBAAmB,mBAAmB,MAAO,YAAY,kBAAkB,QAAQ;AAC1F,cAAM,WAAW,MAAM,mBAAmB,uBAAuB;AACjE,YAAI,UAAU,SAAS;AACnB,qBAAW,mBAAmB;AAAA,QAClC;AAAA,MACJ;AAAA,IACJ;AACA,eAAW,iBAAiB,SAAS,kBAAkB,GAAG;AACtD,YAAM,KAAK,uBAAuB,eAAe,UAAU;AAAA,IAC/D;AAAA,EACJ;AAAA,EAEA,MAAM,+BAA+B,mBAAsC;AACvE,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@project-chip/matter.js",
|
|
3
|
-
"version": "0.11.0-alpha.0-
|
|
3
|
+
"version": "0.11.0-alpha.0-20241027-de3c9d280",
|
|
4
4
|
"description": "Matter protocol in pure js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -45,15 +45,16 @@
|
|
|
45
45
|
"#*": "./src/*"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@matter/general": "0.11.0-alpha.0-
|
|
49
|
-
"@matter/model": "0.11.0-alpha.0-
|
|
50
|
-
"@matter/node": "0.11.0-alpha.0-
|
|
51
|
-
"@matter/protocol": "0.11.0-alpha.0-
|
|
52
|
-
"@matter/types": "0.11.0-alpha.0-
|
|
48
|
+
"@matter/general": "0.11.0-alpha.0-20241027-de3c9d280",
|
|
49
|
+
"@matter/model": "0.11.0-alpha.0-20241027-de3c9d280",
|
|
50
|
+
"@matter/node": "0.11.0-alpha.0-20241027-de3c9d280",
|
|
51
|
+
"@matter/protocol": "0.11.0-alpha.0-20241027-de3c9d280",
|
|
52
|
+
"@matter/types": "0.11.0-alpha.0-20241027-de3c9d280",
|
|
53
53
|
"@noble/curves": "^1.5.0"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
|
-
"@matter/tools": "0.11.0-alpha.0-
|
|
56
|
+
"@matter/tools": "0.11.0-alpha.0-20241027-de3c9d280",
|
|
57
|
+
"@matter/testing": "0.11.0-alpha.0-20241027-de3c9d280"
|
|
57
58
|
},
|
|
58
59
|
"files": [
|
|
59
60
|
"dist/**/*",
|
|
@@ -170,140 +170,136 @@ export class DeviceInformation {
|
|
|
170
170
|
}
|
|
171
171
|
|
|
172
172
|
async enhanceDeviceDetailsFromRemote(interactionClient: InteractionClient) {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
{ endpointId: EndpointNumber(0), clusterId: BasicInformation.Cluster.id },
|
|
177
|
-
{
|
|
178
|
-
endpointId: EndpointNumber(0),
|
|
179
|
-
clusterId: Descriptor.Cluster.id,
|
|
180
|
-
attributeId: Descriptor.Cluster.attributes.serverList.id,
|
|
181
|
-
},
|
|
182
|
-
{
|
|
183
|
-
clusterId: NetworkCommissioning.Cluster.id,
|
|
184
|
-
attributeId: NetworkCommissioning.Complete.attributes.featureMap.id,
|
|
185
|
-
},
|
|
186
|
-
{
|
|
187
|
-
clusterId: NetworkCommissioning.Cluster.id,
|
|
188
|
-
attributeId: NetworkCommissioning.Complete.attributes.networks.id,
|
|
189
|
-
},
|
|
190
|
-
{
|
|
191
|
-
clusterId: NetworkCommissioning.Cluster.id,
|
|
192
|
-
attributeId: NetworkCommissioning.Complete.attributes.interfaceEnabled.id,
|
|
193
|
-
},
|
|
194
|
-
{
|
|
195
|
-
clusterId: PowerSource.Cluster.id,
|
|
196
|
-
attributeId: PowerSource.Cluster.attributes.featureMap.id,
|
|
197
|
-
},
|
|
198
|
-
{
|
|
199
|
-
clusterId: PowerSource.Cluster.id,
|
|
200
|
-
attributeId: PowerSource.Cluster.attributes.status.id,
|
|
201
|
-
},
|
|
202
|
-
{
|
|
203
|
-
endpointId: EndpointNumber(0),
|
|
204
|
-
clusterId: ThreadNetworkDiagnostics.Cluster.id,
|
|
205
|
-
attributeId: ThreadNetworkDiagnostics.Cluster.attributes.routingRole.id,
|
|
206
|
-
},
|
|
207
|
-
],
|
|
208
|
-
});
|
|
209
|
-
const basicInformationData = {} as Record<string, SupportedStorageTypes>;
|
|
210
|
-
const deviceData: DeviceMetaInformation = {
|
|
211
|
-
ethernetConnected: false,
|
|
212
|
-
wifiConnected: false,
|
|
213
|
-
threadConnected: false,
|
|
214
|
-
rootEndpointServerList: [] as number[],
|
|
215
|
-
isBatteryPowered: false,
|
|
216
|
-
isIntermittentlyConnected: false,
|
|
217
|
-
isThreadSleepyEndDevice: false,
|
|
218
|
-
dataRevision: DEVICE_DATA_REVISION,
|
|
219
|
-
};
|
|
220
|
-
const networkData = new Map<
|
|
221
|
-
EndpointNumber,
|
|
173
|
+
const readData = await interactionClient.getMultipleAttributes({
|
|
174
|
+
attributes: [
|
|
175
|
+
{ endpointId: EndpointNumber(0), clusterId: BasicInformation.Cluster.id },
|
|
222
176
|
{
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
177
|
+
endpointId: EndpointNumber(0),
|
|
178
|
+
clusterId: Descriptor.Cluster.id,
|
|
179
|
+
attributeId: Descriptor.Cluster.attributes.serverList.id,
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
clusterId: NetworkCommissioning.Cluster.id,
|
|
183
|
+
attributeId: NetworkCommissioning.Complete.attributes.featureMap.id,
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
clusterId: NetworkCommissioning.Cluster.id,
|
|
187
|
+
attributeId: NetworkCommissioning.Complete.attributes.networks.id,
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
clusterId: NetworkCommissioning.Cluster.id,
|
|
191
|
+
attributeId: NetworkCommissioning.Complete.attributes.interfaceEnabled.id,
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
clusterId: PowerSource.Cluster.id,
|
|
195
|
+
attributeId: PowerSource.Cluster.attributes.featureMap.id,
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
clusterId: PowerSource.Cluster.id,
|
|
199
|
+
attributeId: PowerSource.Cluster.attributes.status.id,
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
endpointId: EndpointNumber(0),
|
|
203
|
+
clusterId: ThreadNetworkDiagnostics.Cluster.id,
|
|
204
|
+
attributeId: ThreadNetworkDiagnostics.Cluster.attributes.routingRole.id,
|
|
205
|
+
},
|
|
206
|
+
],
|
|
207
|
+
});
|
|
208
|
+
const basicInformationData = {} as Record<string, SupportedStorageTypes>;
|
|
209
|
+
const deviceData: DeviceMetaInformation = {
|
|
210
|
+
ethernetConnected: false,
|
|
211
|
+
wifiConnected: false,
|
|
212
|
+
threadConnected: false,
|
|
213
|
+
rootEndpointServerList: [] as number[],
|
|
214
|
+
isBatteryPowered: false,
|
|
215
|
+
isIntermittentlyConnected: false,
|
|
216
|
+
isThreadSleepyEndDevice: false,
|
|
217
|
+
dataRevision: DEVICE_DATA_REVISION,
|
|
218
|
+
};
|
|
219
|
+
const networkData = new Map<
|
|
220
|
+
EndpointNumber,
|
|
221
|
+
{
|
|
222
|
+
type?: TypeFromPartialBitSchema<typeof NetworkCommissioning.Complete.features>;
|
|
223
|
+
enabled?: boolean;
|
|
224
|
+
connected?: boolean;
|
|
225
|
+
}
|
|
226
|
+
>();
|
|
227
|
+
const powerSourceData = new Map<
|
|
228
|
+
EndpointNumber,
|
|
229
|
+
{ features?: TypeFromPartialBitSchema<typeof PowerSource.Complete.features>; status?: number }
|
|
230
|
+
>();
|
|
231
|
+
for (const {
|
|
232
|
+
path: { endpointId, clusterId, attributeId, attributeName },
|
|
233
|
+
value,
|
|
234
|
+
} of readData) {
|
|
235
|
+
switch (clusterId) {
|
|
236
|
+
case BasicInformation.Cluster.id:
|
|
237
|
+
if (!GlobalAttributeKeys.includes(attributeName)) {
|
|
238
|
+
basicInformationData[attributeName] = value;
|
|
239
|
+
}
|
|
240
|
+
break;
|
|
241
|
+
case Descriptor.Cluster.id:
|
|
242
|
+
if (attributeId === Descriptor.Cluster.attributes.serverList.id) {
|
|
243
|
+
deviceData.rootEndpointServerList = value;
|
|
244
|
+
if (value.includes(IcdManagement.Cluster.id)) {
|
|
245
|
+
deviceData.isIntermittentlyConnected = true;
|
|
269
246
|
}
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
247
|
+
}
|
|
248
|
+
break;
|
|
249
|
+
case NetworkCommissioning.Cluster.id:
|
|
250
|
+
const networkEntry = networkData.get(endpointId) ?? {};
|
|
251
|
+
if (attributeId === NetworkCommissioning.Complete.attributes.featureMap.id) {
|
|
252
|
+
networkEntry.type = value;
|
|
253
|
+
} else if (attributeId === NetworkCommissioning.Complete.attributes.interfaceEnabled.id) {
|
|
254
|
+
networkEntry.enabled = value;
|
|
255
|
+
} else if (attributeId === NetworkCommissioning.Complete.attributes.networks.id) {
|
|
256
|
+
networkEntry.connected = (
|
|
257
|
+
value as TypeFromSchema<typeof NetworkCommissioning.TlvNetworkInfo>[]
|
|
258
|
+
).some(network => network.connected);
|
|
259
|
+
}
|
|
260
|
+
networkData.set(endpointId, networkEntry);
|
|
261
|
+
break;
|
|
262
|
+
case PowerSource.Cluster.id:
|
|
263
|
+
const powerSourceEntry = powerSourceData.get(endpointId) ?? {};
|
|
264
|
+
if (attributeId === PowerSource.Cluster.attributes.featureMap.id) {
|
|
265
|
+
powerSourceEntry.features = value;
|
|
266
|
+
} else if (attributeId === PowerSource.Cluster.attributes.status.id) {
|
|
267
|
+
powerSourceEntry.status = value;
|
|
268
|
+
}
|
|
269
|
+
powerSourceData.set(endpointId, powerSourceEntry);
|
|
270
|
+
break;
|
|
271
|
+
case ThreadNetworkDiagnostics.Cluster.id:
|
|
272
|
+
if (attributeId === ThreadNetworkDiagnostics.Cluster.attributes.routingRole.id) {
|
|
273
|
+
if (value === ThreadNetworkDiagnostics.RoutingRole.SleepyEndDevice) {
|
|
274
|
+
deviceData.isThreadSleepyEndDevice = true;
|
|
277
275
|
}
|
|
278
|
-
|
|
279
|
-
|
|
276
|
+
}
|
|
277
|
+
break;
|
|
280
278
|
}
|
|
279
|
+
}
|
|
281
280
|
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
}
|
|
281
|
+
if (networkData.size === 0) {
|
|
282
|
+
// No Network cluster, so Custom Network, assume ethernet for now
|
|
283
|
+
deviceData.ethernetConnected = true;
|
|
284
|
+
} else {
|
|
285
|
+
for (const { type, enabled, connected } of networkData.values()) {
|
|
286
|
+
if (!type || !enabled || !connected) continue;
|
|
287
|
+
if (type.ethernetNetworkInterface) {
|
|
288
|
+
deviceData.ethernetConnected = true;
|
|
289
|
+
} else if (type.wiFiNetworkInterface) {
|
|
290
|
+
deviceData.wifiConnected = true;
|
|
291
|
+
} else if (type.threadNetworkInterface) {
|
|
292
|
+
deviceData.threadConnected = true;
|
|
295
293
|
}
|
|
296
294
|
}
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
295
|
+
}
|
|
296
|
+
for (const { features, status } of powerSourceData.values()) {
|
|
297
|
+
if (features?.battery && status === PowerSource.PowerSourceStatus.Active) {
|
|
298
|
+
deviceData.isBatteryPowered = true;
|
|
301
299
|
}
|
|
302
|
-
this.#basicInformation = basicInformationData;
|
|
303
|
-
this.#deviceMeta = deviceData;
|
|
304
|
-
} catch (error) {
|
|
305
|
-
logger.info(`Error while enhancing basic information for node ${this.nodeId}: ${error}`);
|
|
306
300
|
}
|
|
301
|
+
this.#basicInformation = basicInformationData;
|
|
302
|
+
this.#deviceMeta = deviceData;
|
|
307
303
|
}
|
|
308
304
|
|
|
309
305
|
determineSubscriptionParameters(options: {
|