@matter-server/dashboard 0.3.3 → 0.3.4
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/README.md +76 -0
- package/dist/esm/pages/components/node-details.js +1 -1
- package/dist/esm/pages/components/node-details.js.map +1 -1
- package/dist/esm/pages/matter-cluster-view.d.ts.map +1 -1
- package/dist/esm/pages/matter-cluster-view.js +9 -4
- package/dist/esm/pages/matter-cluster-view.js.map +1 -1
- package/dist/esm/pages/matter-endpoint-view.d.ts.map +1 -1
- package/dist/esm/pages/matter-endpoint-view.js +8 -2
- package/dist/esm/pages/matter-endpoint-view.js.map +1 -1
- package/dist/esm/pages/matter-node-view.d.ts.map +1 -1
- package/dist/esm/pages/matter-node-view.js +17 -3
- package/dist/esm/pages/matter-node-view.js.map +1 -1
- package/dist/esm/pages/network/base-network-graph.d.ts.map +1 -1
- package/dist/esm/pages/network/base-network-graph.js +10 -2
- package/dist/esm/pages/network/base-network-graph.js.map +1 -1
- package/dist/esm/pages/network/device-icons.js +1 -1
- package/dist/esm/pages/network/network-details.d.ts +31 -1
- package/dist/esm/pages/network/network-details.d.ts.map +1 -1
- package/dist/esm/pages/network/network-details.js +233 -15
- package/dist/esm/pages/network/network-details.js.map +1 -1
- package/dist/esm/pages/network/network-types.d.ts +6 -0
- package/dist/esm/pages/network/network-types.d.ts.map +1 -1
- package/dist/esm/pages/network/network-utils.d.ts +26 -0
- package/dist/esm/pages/network/network-utils.d.ts.map +1 -1
- package/dist/esm/pages/network/network-utils.js +71 -3
- package/dist/esm/pages/network/network-utils.js.map +1 -1
- package/dist/esm/pages/network/thread-graph.d.ts.map +1 -1
- package/dist/esm/pages/network/thread-graph.js +5 -2
- package/dist/esm/pages/network/thread-graph.js.map +1 -1
- package/dist/esm/pages/network/update-connections-dialog.d.ts +55 -0
- package/dist/esm/pages/network/update-connections-dialog.d.ts.map +1 -0
- package/dist/esm/pages/network/update-connections-dialog.js +284 -0
- package/dist/esm/pages/network/update-connections-dialog.js.map +6 -0
- package/dist/esm/pages/network/wifi-graph.d.ts.map +1 -1
- package/dist/esm/pages/network/wifi-graph.js +5 -3
- package/dist/esm/pages/network/wifi-graph.js.map +1 -1
- package/dist/esm/util/format_hex.d.ts +18 -0
- package/dist/esm/util/format_hex.d.ts.map +1 -1
- package/dist/esm/util/format_hex.js +21 -1
- package/dist/esm/util/format_hex.js.map +1 -1
- package/dist/web/js/{commission-node-dialog-B1_khzZb.js → commission-node-dialog-CcMuttYO.js} +5 -5
- package/dist/web/js/{commission-node-existing-RpdajrwF.js → commission-node-existing-CqTRDMAr.js} +2 -2
- package/dist/web/js/{commission-node-thread-5f2itkTG.js → commission-node-thread-DgwtTVwK.js} +2 -2
- package/dist/web/js/{commission-node-wifi-DZ_pWqsa.js → commission-node-wifi-XaN2SEnE.js} +2 -2
- package/dist/web/js/{dialog-box-DEUxM4B1.js → dialog-box-COpDD8i7.js} +2 -2
- package/dist/web/js/{fire_event-BczBMT8E.js → fire_event-mDYWi2sw.js} +1 -1
- package/dist/web/js/{log-level-dialog-Cr3PfX1X.js → log-level-dialog-Bc32kZVw.js} +2 -2
- package/dist/web/js/main.js +1 -1
- package/dist/web/js/{matter-dashboard-app-BuCe_Jxf.js → matter-dashboard-app-CrBHT4fT.js} +1824 -208
- package/dist/web/js/{node-binding-dialog-DMiHNDLA.js → node-binding-dialog-C8fqOJiB.js} +2 -2
- package/dist/web/js/prevent_default-D-ohDGsN.js +8 -0
- package/package.json +4 -4
- package/src/pages/components/node-details.ts +1 -1
- package/src/pages/matter-cluster-view.ts +11 -4
- package/src/pages/matter-endpoint-view.ts +10 -3
- package/src/pages/matter-node-view.ts +19 -4
- package/src/pages/network/base-network-graph.ts +17 -3
- package/src/pages/network/device-icons.ts +1 -1
- package/src/pages/network/network-details.ts +281 -16
- package/src/pages/network/network-types.ts +6 -0
- package/src/pages/network/network-utils.ts +109 -0
- package/src/pages/network/thread-graph.ts +7 -1
- package/src/pages/network/update-connections-dialog.ts +327 -0
- package/src/pages/network/wifi-graph.ts +4 -3
- package/src/util/format_hex.ts +39 -0
- package/dist/web/js/prevent_default-D4FX_PIh.js +0 -774
|
@@ -13,16 +13,21 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
13
13
|
* Copyright 2025-2026 Open Home Foundation
|
|
14
14
|
* SPDX-License-Identifier: Apache-2.0
|
|
15
15
|
*/
|
|
16
|
+
import { consume } from "@lit/context";
|
|
16
17
|
import "@material/web/divider/divider";
|
|
17
|
-
import {
|
|
18
|
+
import { isTestNodeId } from "@matter-server/ws-client";
|
|
19
|
+
import { mdiClose, mdiRefresh, mdiSignal, mdiSignalCellular1, mdiSignalCellular2 } from "@mdi/js";
|
|
18
20
|
import { LitElement, css, html, nothing } from "lit";
|
|
19
|
-
import { customElement, property } from "lit/decorators.js";
|
|
21
|
+
import { customElement, property, state } from "lit/decorators.js";
|
|
22
|
+
import { clientContext } from "../../client/client-context.js";
|
|
20
23
|
import "../../components/ha-svg-icon";
|
|
24
|
+
import { formatNodeAddressFromAny, getEffectiveFabricIndex } from "../../util/format_hex.js";
|
|
21
25
|
import {
|
|
22
26
|
buildExtAddrMap,
|
|
23
27
|
getDeviceName,
|
|
24
28
|
getNetworkType,
|
|
25
29
|
getNodeConnections,
|
|
30
|
+
getRoutableDestinationsCount,
|
|
26
31
|
getSignalColor,
|
|
27
32
|
getSignalColorFromRssi,
|
|
28
33
|
getThreadChannel,
|
|
@@ -34,6 +39,7 @@ import {
|
|
|
34
39
|
getWiFiVersionName,
|
|
35
40
|
parseNeighborTable
|
|
36
41
|
} from "./network-utils.js";
|
|
42
|
+
import "./update-connections-dialog.js";
|
|
37
43
|
let NetworkDetails = class extends LitElement {
|
|
38
44
|
constructor() {
|
|
39
45
|
super(...arguments);
|
|
@@ -41,6 +47,7 @@ let NetworkDetails = class extends LitElement {
|
|
|
41
47
|
this.nodes = {};
|
|
42
48
|
this.unknownDevices = /* @__PURE__ */ new Map();
|
|
43
49
|
this.wifiAccessPoints = /* @__PURE__ */ new Map();
|
|
50
|
+
this._showUpdateDialog = false;
|
|
44
51
|
}
|
|
45
52
|
_handleClose() {
|
|
46
53
|
this.dispatchEvent(
|
|
@@ -84,6 +91,16 @@ let NetworkDetails = class extends LitElement {
|
|
|
84
91
|
if (color === "#ff9800") return mdiSignalCellular2;
|
|
85
92
|
return mdiSignalCellular1;
|
|
86
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* Format a node ID as hex for Matter log format display.
|
|
96
|
+
* Returns format like "@1:7b" for node ID 123.
|
|
97
|
+
*/
|
|
98
|
+
_formatNodeIdHex(nodeId) {
|
|
99
|
+
const node = this.nodes[String(nodeId)];
|
|
100
|
+
const isTestNode = node ? isTestNodeId(node.node_id) : false;
|
|
101
|
+
const fabricIndex = getEffectiveFabricIndex(this.client?.serverInfo?.fabric_index, isTestNode);
|
|
102
|
+
return formatNodeAddressFromAny(fabricIndex, nodeId);
|
|
103
|
+
}
|
|
87
104
|
_renderWiFiInfo(node) {
|
|
88
105
|
const wifiDiag = getWiFiDiagnostics(node);
|
|
89
106
|
if (!wifiDiag.bssid && wifiDiag.rssi === null) {
|
|
@@ -152,6 +169,19 @@ let NetworkDetails = class extends LitElement {
|
|
|
152
169
|
<span class="value mono">${extAddressHex}</span>
|
|
153
170
|
</div>
|
|
154
171
|
` : nothing}
|
|
172
|
+
<div class="info-row">
|
|
173
|
+
<span class="label">Direct neighbors:</span>
|
|
174
|
+
<span class="value">${connections.length}</span>
|
|
175
|
+
</div>
|
|
176
|
+
${(() => {
|
|
177
|
+
const routableCount = getRoutableDestinationsCount(node);
|
|
178
|
+
return routableCount > 0 ? html`
|
|
179
|
+
<div class="info-row">
|
|
180
|
+
<span class="label">Routable destinations:</span>
|
|
181
|
+
<span class="value">${routableCount}</span>
|
|
182
|
+
</div>
|
|
183
|
+
` : nothing;
|
|
184
|
+
})()}
|
|
155
185
|
</div>
|
|
156
186
|
|
|
157
187
|
${connections.length > 0 ? html`
|
|
@@ -174,12 +204,15 @@ let NetworkDetails = class extends LitElement {
|
|
|
174
204
|
></ha-svg-icon>
|
|
175
205
|
<div class="neighbor-info">
|
|
176
206
|
<div class="neighbor-name">
|
|
177
|
-
${conn.connectedNode ? html`Node ${conn.connectedNodeId}
|
|
178
|
-
|
|
207
|
+
${conn.connectedNode ? html`Node ${conn.connectedNodeId}
|
|
208
|
+
<span class="node-id-hex"
|
|
209
|
+
>${this._formatNodeIdHex(conn.connectedNodeId)}</span
|
|
210
|
+
>: ${getDeviceName(conn.connectedNode)}` : html`External: <span class="mono">${conn.extAddressHex}</span>`}
|
|
179
211
|
</div>
|
|
180
212
|
<div class="neighbor-signal">
|
|
181
|
-
${conn.rssi !== null ? html`RSSI: ${conn.rssi} dBm, ` : nothing}
|
|
182
|
-
|
|
213
|
+
${conn.rssi !== null ? html`RSSI: ${conn.rssi} dBm` : nothing}${conn.rssi !== null && conn.lqi !== null ? ", " : nothing}${conn.lqi !== null ? html`LQI: ${conn.lqi}` : nothing}${conn.bidirectionalLqi !== void 0 ? html`<span class="route-info"
|
|
214
|
+
>, Bidir: ${conn.bidirectionalLqi}</span
|
|
215
|
+
>` : nothing}${conn.pathCost !== void 0 ? html`<span class="route-info">, Cost: ${conn.pathCost}</span>` : nothing}
|
|
183
216
|
${!conn.isOutgoing ? html`<span class="direction-hint">(reverse)</span>` : nothing}
|
|
184
217
|
</div>
|
|
185
218
|
</div>
|
|
@@ -300,7 +333,11 @@ let NetworkDetails = class extends LitElement {
|
|
|
300
333
|
></ha-svg-icon>
|
|
301
334
|
` : nothing}
|
|
302
335
|
<div class="neighbor-info">
|
|
303
|
-
<div class="neighbor-name">
|
|
336
|
+
<div class="neighbor-name">
|
|
337
|
+
Node ${nodeId}
|
|
338
|
+
<span class="node-id-hex">${this._formatNodeIdHex(nodeId)}</span>:
|
|
339
|
+
${getDeviceName(node)}
|
|
340
|
+
</div>
|
|
304
341
|
${neighborEntry ? html`
|
|
305
342
|
<div class="neighbor-signal">
|
|
306
343
|
${rssi !== null ? html`RSSI: ${rssi} dBm, ` : nothing}
|
|
@@ -324,6 +361,87 @@ let NetworkDetails = class extends LitElement {
|
|
|
324
361
|
</div>
|
|
325
362
|
`;
|
|
326
363
|
}
|
|
364
|
+
/**
|
|
365
|
+
* Determine if update connections button should be shown.
|
|
366
|
+
*/
|
|
367
|
+
_canUpdateConnections() {
|
|
368
|
+
if (this.selectedNodeId === null) return false;
|
|
369
|
+
const isAccessPoint = typeof this.selectedNodeId === "string" && this.selectedNodeId.startsWith("ap_");
|
|
370
|
+
if (isAccessPoint) return false;
|
|
371
|
+
const isUnknown = typeof this.selectedNodeId === "string" && this.selectedNodeId.startsWith("unknown_");
|
|
372
|
+
if (isUnknown) {
|
|
373
|
+
return this._getOnlineSeenByNodes().length > 0;
|
|
374
|
+
}
|
|
375
|
+
const node = this.nodes[this.selectedNodeId.toString()];
|
|
376
|
+
if (!node) return false;
|
|
377
|
+
const networkType = getNetworkType(node);
|
|
378
|
+
if (networkType === "ethernet" || networkType === "unknown") return false;
|
|
379
|
+
return true;
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Get the type of the currently selected node for dialog variant.
|
|
383
|
+
*/
|
|
384
|
+
_getSelectedNodeType() {
|
|
385
|
+
if (typeof this.selectedNodeId === "string" && this.selectedNodeId.startsWith("unknown_")) {
|
|
386
|
+
return "unknown";
|
|
387
|
+
}
|
|
388
|
+
const node = this.nodes[this.selectedNodeId.toString()];
|
|
389
|
+
if (!node || node.available === false) {
|
|
390
|
+
return "offline";
|
|
391
|
+
}
|
|
392
|
+
return "online";
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* Get online neighbors for a Thread node.
|
|
396
|
+
*/
|
|
397
|
+
_getOnlineNeighbors(nodeId) {
|
|
398
|
+
const node = this.nodes[nodeId];
|
|
399
|
+
if (!node) return [];
|
|
400
|
+
const networkType = getNetworkType(node);
|
|
401
|
+
if (networkType === "thread") {
|
|
402
|
+
const extAddrMap = buildExtAddrMap(this.nodes);
|
|
403
|
+
const connections = getNodeConnections(nodeId, this.nodes, extAddrMap);
|
|
404
|
+
return connections.filter((conn) => {
|
|
405
|
+
if (typeof conn.connectedNodeId === "string" && conn.connectedNodeId.startsWith("unknown_")) {
|
|
406
|
+
return false;
|
|
407
|
+
}
|
|
408
|
+
const connectedNode = this.nodes[String(conn.connectedNodeId)];
|
|
409
|
+
return connectedNode?.available === true;
|
|
410
|
+
}).map((conn) => String(conn.connectedNodeId));
|
|
411
|
+
}
|
|
412
|
+
return [];
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* Get online nodes that see an unknown device.
|
|
416
|
+
*/
|
|
417
|
+
_getOnlineSeenByNodes() {
|
|
418
|
+
if (typeof this.selectedNodeId !== "string" || !this.selectedNodeId.startsWith("unknown_")) {
|
|
419
|
+
return [];
|
|
420
|
+
}
|
|
421
|
+
const unknown = this.unknownDevices.get(this.selectedNodeId);
|
|
422
|
+
if (!unknown) return [];
|
|
423
|
+
return unknown.seenBy.filter((nodeId) => {
|
|
424
|
+
const node = this.nodes[nodeId.toString()];
|
|
425
|
+
return node?.available === true;
|
|
426
|
+
});
|
|
427
|
+
}
|
|
428
|
+
/**
|
|
429
|
+
* Get the name of the selected node for display in dialog.
|
|
430
|
+
*/
|
|
431
|
+
_getSelectedNodeName() {
|
|
432
|
+
if (typeof this.selectedNodeId === "string" && this.selectedNodeId.startsWith("unknown_")) {
|
|
433
|
+
const unknown = this.unknownDevices.get(this.selectedNodeId);
|
|
434
|
+
return unknown ? `Unknown (${unknown.extAddressHex.slice(-8)})` : "Unknown Device";
|
|
435
|
+
}
|
|
436
|
+
const node = this.nodes[this.selectedNodeId.toString()];
|
|
437
|
+
return node ? getDeviceName(node) : "Unknown";
|
|
438
|
+
}
|
|
439
|
+
_handleUpdateConnections() {
|
|
440
|
+
this._showUpdateDialog = true;
|
|
441
|
+
}
|
|
442
|
+
_handleDialogClose() {
|
|
443
|
+
this._showUpdateDialog = false;
|
|
444
|
+
}
|
|
327
445
|
_renderWiFiAccessPointInfo(apId) {
|
|
328
446
|
const ap = this.wifiAccessPoints.get(apId);
|
|
329
447
|
if (!ap) {
|
|
@@ -359,7 +477,11 @@ let NetworkDetails = class extends LitElement {
|
|
|
359
477
|
@click=${() => this._handleSelectNode(nodeId)}
|
|
360
478
|
@keydown=${(e) => this._handleKeyDown(e, nodeId)}
|
|
361
479
|
>
|
|
362
|
-
<div class="node-name">
|
|
480
|
+
<div class="node-name">
|
|
481
|
+
Node ${nodeId}
|
|
482
|
+
<span class="node-id-hex">${this._formatNodeIdHex(nodeId)}</span>:
|
|
483
|
+
${getDeviceName(node)}
|
|
484
|
+
</div>
|
|
363
485
|
${wifiDiag.rssi !== null ? html`<div class="node-signal" style="color: ${signalColor}">
|
|
364
486
|
${wifiDiag.rssi} dBm
|
|
365
487
|
</div>` : nothing}
|
|
@@ -387,16 +509,40 @@ let NetworkDetails = class extends LitElement {
|
|
|
387
509
|
}
|
|
388
510
|
const isUnknown = typeof this.selectedNodeId === "string" && this.selectedNodeId.startsWith("unknown_");
|
|
389
511
|
if (isUnknown) {
|
|
512
|
+
const onlineSeenByNodes = this._getOnlineSeenByNodes();
|
|
390
513
|
return html`
|
|
391
514
|
<div class="details-panel">
|
|
392
515
|
<div class="header">
|
|
393
516
|
<h3>External Device</h3>
|
|
394
|
-
<
|
|
395
|
-
|
|
396
|
-
|
|
517
|
+
<div class="header-actions">
|
|
518
|
+
${onlineSeenByNodes.length > 0 ? html`
|
|
519
|
+
<button
|
|
520
|
+
class="action-button"
|
|
521
|
+
@click=${this._handleUpdateConnections}
|
|
522
|
+
aria-label="Update connection data"
|
|
523
|
+
title="Update connection data"
|
|
524
|
+
>
|
|
525
|
+
<ha-svg-icon .path=${mdiRefresh}></ha-svg-icon>
|
|
526
|
+
</button>
|
|
527
|
+
` : nothing}
|
|
528
|
+
<button class="close-button" @click=${this._handleClose} aria-label="Close details panel">
|
|
529
|
+
<ha-svg-icon .path=${mdiClose}></ha-svg-icon>
|
|
530
|
+
</button>
|
|
531
|
+
</div>
|
|
397
532
|
</div>
|
|
398
533
|
<div class="content">${this._renderUnknownDeviceInfo(this.selectedNodeId)}</div>
|
|
399
534
|
</div>
|
|
535
|
+
${this._showUpdateDialog ? html`
|
|
536
|
+
<update-connections-dialog
|
|
537
|
+
.client=${this.client}
|
|
538
|
+
.nodes=${this.nodes}
|
|
539
|
+
selectedNodeType="unknown"
|
|
540
|
+
.selectedNodeName=${this._getSelectedNodeName()}
|
|
541
|
+
.selectedNodeId=${this.selectedNodeId}
|
|
542
|
+
.onlineNeighborIds=${onlineSeenByNodes}
|
|
543
|
+
@dialog-closed=${this._handleDialogClose}
|
|
544
|
+
></update-connections-dialog>
|
|
545
|
+
` : nothing}
|
|
400
546
|
`;
|
|
401
547
|
}
|
|
402
548
|
const isAccessPoint = typeof this.selectedNodeId === "string" && this.selectedNodeId.startsWith("ap_");
|
|
@@ -421,19 +567,48 @@ let NetworkDetails = class extends LitElement {
|
|
|
421
567
|
</div>
|
|
422
568
|
`;
|
|
423
569
|
}
|
|
570
|
+
const canUpdate = this._canUpdateConnections();
|
|
571
|
+
const nodeType = this._getSelectedNodeType();
|
|
572
|
+
const onlineNeighbors = this._getOnlineNeighbors(String(this.selectedNodeId));
|
|
424
573
|
return html`
|
|
425
574
|
<div class="details-panel">
|
|
426
575
|
<div class="header">
|
|
427
|
-
<h3>
|
|
428
|
-
|
|
429
|
-
<
|
|
430
|
-
</
|
|
576
|
+
<h3>
|
|
577
|
+
Node ${this.selectedNodeId}
|
|
578
|
+
<span class="node-id-hex">${this._formatNodeIdHex(this.selectedNodeId)}</span>
|
|
579
|
+
</h3>
|
|
580
|
+
<div class="header-actions">
|
|
581
|
+
${canUpdate ? html`
|
|
582
|
+
<button
|
|
583
|
+
class="action-button"
|
|
584
|
+
@click=${this._handleUpdateConnections}
|
|
585
|
+
aria-label="Update connection data"
|
|
586
|
+
title="Update connection data"
|
|
587
|
+
>
|
|
588
|
+
<ha-svg-icon .path=${mdiRefresh}></ha-svg-icon>
|
|
589
|
+
</button>
|
|
590
|
+
` : nothing}
|
|
591
|
+
<button class="close-button" @click=${this._handleClose} aria-label="Close details panel">
|
|
592
|
+
<ha-svg-icon .path=${mdiClose}></ha-svg-icon>
|
|
593
|
+
</button>
|
|
594
|
+
</div>
|
|
431
595
|
</div>
|
|
432
596
|
<div class="content">${this._renderNodeInfo(node)}</div>
|
|
433
597
|
<div class="footer">
|
|
434
598
|
<a href="#node/${this.selectedNodeId}" class="view-link">View node details</a>
|
|
435
599
|
</div>
|
|
436
600
|
</div>
|
|
601
|
+
${this._showUpdateDialog ? html`
|
|
602
|
+
<update-connections-dialog
|
|
603
|
+
.client=${this.client}
|
|
604
|
+
.nodes=${this.nodes}
|
|
605
|
+
.selectedNodeType=${nodeType}
|
|
606
|
+
.selectedNodeName=${this._getSelectedNodeName()}
|
|
607
|
+
.selectedNodeId=${this.selectedNodeId}
|
|
608
|
+
.onlineNeighborIds=${onlineNeighbors}
|
|
609
|
+
@dialog-closed=${this._handleDialogClose}
|
|
610
|
+
></update-connections-dialog>
|
|
611
|
+
` : nothing}
|
|
437
612
|
`;
|
|
438
613
|
}
|
|
439
614
|
};
|
|
@@ -479,6 +654,38 @@ NetworkDetails.styles = css`
|
|
|
479
654
|
color: var(--md-sys-color-on-surface, #333);
|
|
480
655
|
}
|
|
481
656
|
|
|
657
|
+
.node-id-hex {
|
|
658
|
+
font-size: 0.75em;
|
|
659
|
+
font-weight: 400;
|
|
660
|
+
color: var(--md-sys-color-on-surface-variant, #666);
|
|
661
|
+
font-family: monospace;
|
|
662
|
+
}
|
|
663
|
+
|
|
664
|
+
.header-actions {
|
|
665
|
+
display: flex;
|
|
666
|
+
align-items: center;
|
|
667
|
+
gap: 4px;
|
|
668
|
+
}
|
|
669
|
+
|
|
670
|
+
.action-button {
|
|
671
|
+
background: none;
|
|
672
|
+
border: none;
|
|
673
|
+
padding: 4px;
|
|
674
|
+
cursor: pointer;
|
|
675
|
+
border-radius: 50%;
|
|
676
|
+
display: flex;
|
|
677
|
+
align-items: center;
|
|
678
|
+
justify-content: center;
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
.action-button:hover {
|
|
682
|
+
background-color: var(--md-sys-color-surface-container-high, #e8e8e8);
|
|
683
|
+
}
|
|
684
|
+
|
|
685
|
+
.action-button ha-svg-icon {
|
|
686
|
+
--icon-primary-color: var(--md-sys-color-on-surface-variant, #666);
|
|
687
|
+
}
|
|
688
|
+
|
|
482
689
|
.close-button {
|
|
483
690
|
background: none;
|
|
484
691
|
border: none;
|
|
@@ -600,6 +807,11 @@ NetworkDetails.styles = css`
|
|
|
600
807
|
opacity: 0.8;
|
|
601
808
|
}
|
|
602
809
|
|
|
810
|
+
.route-info {
|
|
811
|
+
color: var(--md-sys-color-tertiary, #7d5260);
|
|
812
|
+
font-size: 0.85em;
|
|
813
|
+
}
|
|
814
|
+
|
|
603
815
|
.footer {
|
|
604
816
|
padding: 12px 16px;
|
|
605
817
|
border-top: 1px solid var(--md-sys-color-outline-variant, #ccc);
|
|
@@ -677,6 +889,12 @@ __decorateClass([
|
|
|
677
889
|
__decorateClass([
|
|
678
890
|
property({ type: Object })
|
|
679
891
|
], NetworkDetails.prototype, "wifiAccessPoints", 2);
|
|
892
|
+
__decorateClass([
|
|
893
|
+
consume({ context: clientContext })
|
|
894
|
+
], NetworkDetails.prototype, "client", 2);
|
|
895
|
+
__decorateClass([
|
|
896
|
+
state()
|
|
897
|
+
], NetworkDetails.prototype, "_showUpdateDialog", 2);
|
|
680
898
|
NetworkDetails = __decorateClass([
|
|
681
899
|
customElement("network-details")
|
|
682
900
|
], NetworkDetails);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/pages/network/network-details.ts"],
|
|
4
|
-
"mappings": "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",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -99,6 +99,12 @@ export interface ThreadConnection {
|
|
|
99
99
|
signalColor: string;
|
|
100
100
|
lqi: number;
|
|
101
101
|
rssi: number | null;
|
|
102
|
+
/** Path cost from route table (1 = direct, higher = multi-hop). Only available for routers. */
|
|
103
|
+
pathCost?: number;
|
|
104
|
+
/** Bidirectional LQI from route table (average of lqiIn and lqiOut) */
|
|
105
|
+
bidirectionalLqi?: number;
|
|
106
|
+
/** Whether this connection was supplemented by route table data (vs neighbor table only) */
|
|
107
|
+
fromRouteTable?: boolean;
|
|
102
108
|
}
|
|
103
109
|
/**
|
|
104
110
|
* Unknown Thread device seen in neighbor tables but not commissioned.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-types.d.ts","sourceRoot":"","sources":["../../../../src/pages/network/network-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;AAErE;;;GAGG;AACH,oBAAY,iBAAiB;IACzB,WAAW,IAAI;IACf,UAAU,IAAI;IACd,eAAe,IAAI;IACnB,SAAS,IAAI;IACb,IAAI,IAAI,CAAE,6BAA6B;IACvC,MAAM,IAAI;IACV,MAAM,IAAI;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,wBAAwB;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,GAAG,EAAE,MAAM,CAAC;IACZ,qCAAqC;IACrC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,+BAA+B;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,iCAAiC;IACjC,YAAY,EAAE,OAAO,CAAC;IACtB,2CAA2C;IAC3C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iDAAiD;IACjD,eAAe,EAAE,OAAO,CAAC;IACzB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IACxB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa;IACb,KAAK,EAAE,MAAM,CAAC;IACd,cAAc;IACd,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,gCAAgC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,kCAAkC;IAClC,eAAe,EAAE,OAAO,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"network-types.d.ts","sourceRoot":"","sources":["../../../../src/pages/network/network-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -73,6 +73,22 @@ export declare function parseNeighborTable(node: MatterNode): ThreadNeighbor[];
|
|
|
73
73
|
* The data uses numeric keys matching the Matter spec field IDs.
|
|
74
74
|
*/
|
|
75
75
|
export declare function parseRouteTable(node: MatterNode): ThreadRoute[];
|
|
76
|
+
/**
|
|
77
|
+
* Find a route table entry for a specific destination by extended address.
|
|
78
|
+
* Returns the route entry if found, undefined otherwise.
|
|
79
|
+
*/
|
|
80
|
+
export declare function findRouteByExtAddress(node: MatterNode, targetExtAddr: bigint): ThreadRoute | undefined;
|
|
81
|
+
/**
|
|
82
|
+
* Count the number of routable destinations for a node (from route table).
|
|
83
|
+
* Only counts entries where allocated=true and linkEstablished=true.
|
|
84
|
+
* This is typically only meaningful for router nodes.
|
|
85
|
+
*/
|
|
86
|
+
export declare function getRoutableDestinationsCount(node: MatterNode): number;
|
|
87
|
+
/**
|
|
88
|
+
* Calculate combined bidirectional LQI from route table entry.
|
|
89
|
+
* Returns average of lqiIn and lqiOut if both are non-zero.
|
|
90
|
+
*/
|
|
91
|
+
export declare function getRouteBidirectionalLqi(route: ThreadRoute): number | undefined;
|
|
76
92
|
/**
|
|
77
93
|
* Gets the RLOC16 (short address) for a Thread node.
|
|
78
94
|
* Uses attribute 0/53/64 (Rloc16, 0x0040).
|
|
@@ -103,6 +119,12 @@ export declare function findUnknownDevices(nodes: Record<string, MatterNode>, ex
|
|
|
103
119
|
* Red: Weak signal
|
|
104
120
|
*/
|
|
105
121
|
export declare function getSignalColor(neighbor: ThreadNeighbor): string;
|
|
122
|
+
/**
|
|
123
|
+
* Get signal color based on LQI value alone.
|
|
124
|
+
* Used for route table entries where only LQI is available.
|
|
125
|
+
* @param lqi Link Quality Indicator (0-255, higher is better)
|
|
126
|
+
*/
|
|
127
|
+
export declare function getSignalColorFromLqi(lqi: number): string;
|
|
106
128
|
/**
|
|
107
129
|
* Gets a human-readable display name for a node.
|
|
108
130
|
* Format: nodeLabel || productName (serialNumber)
|
|
@@ -154,6 +176,10 @@ export interface NodeConnection {
|
|
|
154
176
|
isOutgoing: boolean;
|
|
155
177
|
/** Whether this is an unknown/external device */
|
|
156
178
|
isUnknown: boolean;
|
|
179
|
+
/** Path cost from route table (1 = direct, higher = multi-hop). Only available for routers. */
|
|
180
|
+
pathCost?: number;
|
|
181
|
+
/** Bidirectional LQI from route table (average of lqiIn and lqiOut) */
|
|
182
|
+
bidirectionalLqi?: number;
|
|
157
183
|
}
|
|
158
184
|
/**
|
|
159
185
|
* Get all connections for a specific node (bidirectional).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-utils.d.ts","sourceRoot":"","sources":["../../../../src/pages/network/network-utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"network-utils.d.ts","sourceRoot":"","sources":["../../../../src/pages/network/network-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -170,6 +170,22 @@ function parseRouteTable(node) {
|
|
|
170
170
|
};
|
|
171
171
|
});
|
|
172
172
|
}
|
|
173
|
+
function findRouteByExtAddress(node, targetExtAddr) {
|
|
174
|
+
const routes = parseRouteTable(node);
|
|
175
|
+
return routes.find((route) => route.extAddress === targetExtAddr && route.linkEstablished);
|
|
176
|
+
}
|
|
177
|
+
function getRoutableDestinationsCount(node) {
|
|
178
|
+
const routes = parseRouteTable(node);
|
|
179
|
+
return routes.filter((route) => route.allocated && route.linkEstablished).length;
|
|
180
|
+
}
|
|
181
|
+
function getRouteBidirectionalLqi(route) {
|
|
182
|
+
if (route.lqiIn > 0 && route.lqiOut > 0) {
|
|
183
|
+
return Math.round((route.lqiIn + route.lqiOut) / 2);
|
|
184
|
+
}
|
|
185
|
+
if (route.lqiIn > 0) return route.lqiIn;
|
|
186
|
+
if (route.lqiOut > 0) return route.lqiOut;
|
|
187
|
+
return void 0;
|
|
188
|
+
}
|
|
173
189
|
function getThreadRloc16(node) {
|
|
174
190
|
const value = node.attributes["0/53/64"];
|
|
175
191
|
if (typeof value === "number") {
|
|
@@ -254,6 +270,15 @@ function getSignalColor(neighbor) {
|
|
|
254
270
|
}
|
|
255
271
|
return SIGNAL_COLOR_WEAK;
|
|
256
272
|
}
|
|
273
|
+
function getSignalColorFromLqi(lqi) {
|
|
274
|
+
if (lqi > LQI_STRONG_THRESHOLD) {
|
|
275
|
+
return SIGNAL_COLOR_STRONG;
|
|
276
|
+
}
|
|
277
|
+
if (lqi > LQI_MEDIUM_THRESHOLD) {
|
|
278
|
+
return SIGNAL_COLOR_MEDIUM;
|
|
279
|
+
}
|
|
280
|
+
return SIGNAL_COLOR_WEAK;
|
|
281
|
+
}
|
|
257
282
|
function getDeviceName(node) {
|
|
258
283
|
if (node.nodeLabel) {
|
|
259
284
|
return node.nodeLabel;
|
|
@@ -385,12 +410,43 @@ function buildThreadConnections(nodes, extAddrMap, unknownDevices) {
|
|
|
385
410
|
continue;
|
|
386
411
|
}
|
|
387
412
|
seenConnections.add(connectionKey);
|
|
413
|
+
const routeEntry = findRouteByExtAddress(node, neighbor.extAddress);
|
|
414
|
+
const bidirectionalLqi = routeEntry ? getRouteBidirectionalLqi(routeEntry) : void 0;
|
|
388
415
|
connections.push({
|
|
389
416
|
fromNodeId,
|
|
390
417
|
toNodeId,
|
|
391
418
|
signalColor: getSignalColor(neighbor),
|
|
392
419
|
lqi: neighbor.lqi,
|
|
393
|
-
rssi: neighbor.avgRssi ?? neighbor.lastRssi
|
|
420
|
+
rssi: neighbor.avgRssi ?? neighbor.lastRssi,
|
|
421
|
+
pathCost: routeEntry?.pathCost,
|
|
422
|
+
bidirectionalLqi
|
|
423
|
+
});
|
|
424
|
+
}
|
|
425
|
+
const routes = parseRouteTable(node);
|
|
426
|
+
for (const route of routes) {
|
|
427
|
+
if (!route.linkEstablished || !route.allocated) continue;
|
|
428
|
+
let toNodeId = extAddrMap.get(route.extAddress);
|
|
429
|
+
if (toNodeId === void 0) {
|
|
430
|
+
toNodeId = unknownExtAddrMap.get(route.extAddress);
|
|
431
|
+
}
|
|
432
|
+
if (toNodeId === void 0 || toNodeId === fromNodeId) continue;
|
|
433
|
+
const connectionKey = `${fromNodeId}-${toNodeId}`;
|
|
434
|
+
const reverseKey = `${toNodeId}-${fromNodeId}`;
|
|
435
|
+
if (seenConnections.has(connectionKey) || seenConnections.has(reverseKey)) {
|
|
436
|
+
continue;
|
|
437
|
+
}
|
|
438
|
+
seenConnections.add(connectionKey);
|
|
439
|
+
const bidirectionalLqi = getRouteBidirectionalLqi(route);
|
|
440
|
+
const signalColor = bidirectionalLqi !== void 0 ? getSignalColorFromLqi(bidirectionalLqi) : "var(--md-sys-color-outline, grey)";
|
|
441
|
+
connections.push({
|
|
442
|
+
fromNodeId,
|
|
443
|
+
toNodeId,
|
|
444
|
+
signalColor,
|
|
445
|
+
lqi: bidirectionalLqi ?? 0,
|
|
446
|
+
rssi: null,
|
|
447
|
+
pathCost: route.pathCost,
|
|
448
|
+
bidirectionalLqi,
|
|
449
|
+
fromRouteTable: true
|
|
394
450
|
});
|
|
395
451
|
}
|
|
396
452
|
}
|
|
@@ -409,6 +465,8 @@ function getNodeConnections(nodeId, nodes, extAddrMap) {
|
|
|
409
465
|
const isUnknown = connectedNodeId === void 0;
|
|
410
466
|
const displayId = isUnknown ? `unknown_${neighbor.extAddress.toString(16).toUpperCase().padStart(16, "0")}` : connectedNodeId;
|
|
411
467
|
seenConnectedIds.add(displayId);
|
|
468
|
+
const routeEntry = findRouteByExtAddress(node, neighbor.extAddress);
|
|
469
|
+
const bidirectionalLqi = routeEntry ? getRouteBidirectionalLqi(routeEntry) : void 0;
|
|
412
470
|
connections.push({
|
|
413
471
|
connectedNodeId: displayId,
|
|
414
472
|
connectedNode,
|
|
@@ -417,7 +475,9 @@ function getNodeConnections(nodeId, nodes, extAddrMap) {
|
|
|
417
475
|
lqi: neighbor.lqi,
|
|
418
476
|
rssi: neighbor.avgRssi ?? neighbor.lastRssi,
|
|
419
477
|
isOutgoing: true,
|
|
420
|
-
isUnknown
|
|
478
|
+
isUnknown,
|
|
479
|
+
pathCost: routeEntry?.pathCost,
|
|
480
|
+
bidirectionalLqi
|
|
421
481
|
});
|
|
422
482
|
}
|
|
423
483
|
if (thisExtAddr !== void 0) {
|
|
@@ -430,6 +490,8 @@ function getNodeConnections(nodeId, nodes, extAddrMap) {
|
|
|
430
490
|
if (reverseEntry) {
|
|
431
491
|
const otherExtAddr = getThreadExtendedAddress(otherNode);
|
|
432
492
|
const extAddrHex = otherExtAddr ? otherExtAddr.toString(16).toUpperCase().padStart(16, "0") : "Unknown";
|
|
493
|
+
const routeEntry = findRouteByExtAddress(otherNode, thisExtAddr);
|
|
494
|
+
const bidirectionalLqi = routeEntry ? getRouteBidirectionalLqi(routeEntry) : void 0;
|
|
433
495
|
connections.push({
|
|
434
496
|
connectedNodeId: otherNodeId,
|
|
435
497
|
connectedNode: otherNode,
|
|
@@ -438,7 +500,9 @@ function getNodeConnections(nodeId, nodes, extAddrMap) {
|
|
|
438
500
|
lqi: reverseEntry.lqi,
|
|
439
501
|
rssi: reverseEntry.avgRssi ?? reverseEntry.lastRssi,
|
|
440
502
|
isOutgoing: false,
|
|
441
|
-
isUnknown: false
|
|
503
|
+
isUnknown: false,
|
|
504
|
+
pathCost: routeEntry?.pathCost,
|
|
505
|
+
bidirectionalLqi
|
|
442
506
|
});
|
|
443
507
|
}
|
|
444
508
|
}
|
|
@@ -450,11 +514,15 @@ export {
|
|
|
450
514
|
buildRloc16Map,
|
|
451
515
|
buildThreadConnections,
|
|
452
516
|
categorizeDevices,
|
|
517
|
+
findRouteByExtAddress,
|
|
453
518
|
findUnknownDevices,
|
|
454
519
|
getDeviceName,
|
|
455
520
|
getNetworkType,
|
|
456
521
|
getNodeConnections,
|
|
522
|
+
getRoutableDestinationsCount,
|
|
523
|
+
getRouteBidirectionalLqi,
|
|
457
524
|
getSignalColor,
|
|
525
|
+
getSignalColorFromLqi,
|
|
458
526
|
getSignalColorFromRssi,
|
|
459
527
|
getThreadChannel,
|
|
460
528
|
getThreadExtendedAddress,
|