@matter-server/dashboard 0.3.2 → 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/cluster-commands/base-cluster-commands.d.ts +2 -2
- package/dist/esm/pages/cluster-commands/base-cluster-commands.d.ts.map +1 -1
- package/dist/esm/pages/cluster-commands/base-cluster-commands.js.map +1 -1
- package/dist/esm/pages/cluster-commands/clusters/basic-information-commands.d.ts +36 -0
- package/dist/esm/pages/cluster-commands/clusters/basic-information-commands.d.ts.map +1 -0
- package/dist/esm/pages/cluster-commands/clusters/basic-information-commands.js +159 -0
- package/dist/esm/pages/cluster-commands/clusters/basic-information-commands.js.map +6 -0
- package/dist/esm/pages/cluster-commands/index.d.ts +1 -0
- package/dist/esm/pages/cluster-commands/index.d.ts.map +1 -1
- package/dist/esm/pages/cluster-commands/index.js +1 -0
- package/dist/esm/pages/cluster-commands/index.js.map +1 -1
- package/dist/esm/pages/components/footer.d.ts.map +1 -1
- package/dist/esm/pages/components/footer.js +4 -7
- package/dist/esm/pages/components/footer.js.map +1 -1
- package/dist/esm/pages/components/header.d.ts +5 -0
- package/dist/esm/pages/components/header.d.ts.map +1 -1
- package/dist/esm/pages/components/header.js +75 -0
- package/dist/esm/pages/components/header.js.map +1 -1
- package/dist/esm/pages/components/node-details.js +2 -2
- package/dist/esm/pages/components/node-details.js.map +1 -1
- package/dist/esm/pages/components/server-details.d.ts.map +1 -1
- package/dist/esm/pages/components/server-details.js +0 -1
- package/dist/esm/pages/components/server-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-dashboard-app.d.ts +12 -0
- package/dist/esm/pages/matter-dashboard-app.d.ts.map +1 -1
- package/dist/esm/pages/matter-dashboard-app.js +84 -4
- package/dist/esm/pages/matter-dashboard-app.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-network-view.d.ts +52 -0
- package/dist/esm/pages/matter-network-view.d.ts.map +1 -0
- package/dist/esm/pages/matter-network-view.js +309 -0
- package/dist/esm/pages/matter-network-view.js.map +6 -0
- package/dist/esm/pages/matter-node-view.d.ts.map +1 -1
- package/dist/esm/pages/matter-node-view.js +86 -3
- package/dist/esm/pages/matter-node-view.js.map +1 -1
- package/dist/esm/pages/matter-server-view.d.ts +4 -0
- package/dist/esm/pages/matter-server-view.d.ts.map +1 -1
- package/dist/esm/pages/matter-server-view.js +16 -1
- package/dist/esm/pages/matter-server-view.js.map +1 -1
- package/dist/esm/pages/network/base-network-graph.d.ts +74 -0
- package/dist/esm/pages/network/base-network-graph.d.ts.map +1 -0
- package/dist/esm/pages/network/base-network-graph.js +411 -0
- package/dist/esm/pages/network/base-network-graph.js.map +6 -0
- package/dist/esm/pages/network/device-icons.d.ts +52 -0
- package/dist/esm/pages/network/device-icons.d.ts.map +1 -0
- package/dist/esm/pages/network/device-icons.js +197 -0
- package/dist/esm/pages/network/device-icons.js.map +6 -0
- package/dist/esm/pages/network/device-panel.d.ts +31 -0
- package/dist/esm/pages/network/device-panel.d.ts.map +1 -0
- package/dist/esm/pages/network/device-panel.js +183 -0
- package/dist/esm/pages/network/device-panel.js.map +6 -0
- package/dist/esm/pages/network/network-details.d.ts +77 -0
- package/dist/esm/pages/network/network-details.d.ts.map +1 -0
- package/dist/esm/pages/network/network-details.js +904 -0
- package/dist/esm/pages/network/network-details.js.map +6 -0
- package/dist/esm/pages/network/network-types.d.ts +159 -0
- package/dist/esm/pages/network/network-types.d.ts.map +1 -0
- package/dist/esm/pages/network/network-types.js +19 -0
- package/dist/esm/pages/network/network-types.js.map +6 -0
- package/dist/esm/pages/network/network-utils.d.ts +196 -0
- package/dist/esm/pages/network/network-utils.d.ts.map +1 -0
- package/dist/esm/pages/network/network-utils.js +540 -0
- package/dist/esm/pages/network/network-utils.js.map +6 -0
- package/dist/esm/pages/network/thread-graph.d.ts +27 -0
- package/dist/esm/pages/network/thread-graph.d.ts.map +1 -0
- package/dist/esm/pages/network/thread-graph.js +137 -0
- package/dist/esm/pages/network/thread-graph.js.map +6 -0
- 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 +27 -0
- package/dist/esm/pages/network/wifi-graph.d.ts.map +1 -0
- package/dist/esm/pages/network/wifi-graph.js +169 -0
- package/dist/esm/pages/network/wifi-graph.js.map +6 -0
- 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-CBSDiqRW.js → commission-node-dialog-CcMuttYO.js} +5 -5
- package/dist/web/js/{commission-node-existing-TP6s8Tez.js → commission-node-existing-CqTRDMAr.js} +2 -5
- package/dist/web/js/{commission-node-thread-DOB8pu6x.js → commission-node-thread-DgwtTVwK.js} +2 -5
- package/dist/web/js/{commission-node-wifi-tzavmk1j.js → commission-node-wifi-XaN2SEnE.js} +2 -5
- package/dist/web/js/{dialog-box-Dknil_Be.js → dialog-box-COpDD8i7.js} +2 -2
- package/dist/web/js/{fire_event-DRpOSjJR.js → fire_event-mDYWi2sw.js} +1 -1
- package/dist/web/js/{log-level-dialog-TXkma-7Z.js → log-level-dialog-Bc32kZVw.js} +2 -3
- package/dist/web/js/main.js +1 -1
- package/dist/web/js/matter-dashboard-app-CrBHT4fT.js +31606 -0
- package/dist/web/js/{node-binding-dialog-D52FCBFP.js → node-binding-dialog-C8fqOJiB.js} +2 -4
- package/dist/web/js/prevent_default-D-ohDGsN.js +8 -0
- package/package.json +6 -5
- package/src/pages/cluster-commands/base-cluster-commands.ts +2 -2
- package/src/pages/cluster-commands/clusters/basic-information-commands.ts +171 -0
- package/src/pages/cluster-commands/index.ts +1 -0
- package/src/pages/components/footer.ts +4 -7
- package/src/pages/components/header.ts +81 -0
- package/src/pages/components/node-details.ts +3 -3
- package/src/pages/components/server-details.ts +0 -1
- package/src/pages/matter-cluster-view.ts +11 -4
- package/src/pages/matter-dashboard-app.ts +105 -5
- package/src/pages/matter-endpoint-view.ts +10 -3
- package/src/pages/matter-network-view.ts +325 -0
- package/src/pages/matter-node-view.ts +93 -4
- package/src/pages/matter-server-view.ts +17 -1
- package/src/pages/network/base-network-graph.ts +477 -0
- package/src/pages/network/device-icons.ts +283 -0
- package/src/pages/network/device-panel.ts +180 -0
- package/src/pages/network/network-details.ts +1015 -0
- package/src/pages/network/network-types.ts +167 -0
- package/src/pages/network/network-utils.ts +861 -0
- package/src/pages/network/thread-graph.ts +170 -0
- package/src/pages/network/update-connections-dialog.ts +327 -0
- package/src/pages/network/wifi-graph.ts +193 -0
- package/src/util/format_hex.ts +39 -0
- package/dist/web/js/matter-dashboard-app-B7GUghkC.js +0 -17254
- package/dist/web/js/outlined-text-field-D1DyKQY-.js +0 -968
- package/dist/web/js/prevent_default-BPgSQsuY.js +0 -814
- package/dist/web/js/validator-C735j770.js +0 -1122
|
@@ -18,8 +18,8 @@ import "@material/web/divider/divider";
|
|
|
18
18
|
import "@material/web/iconbutton/icon-button";
|
|
19
19
|
import "@material/web/list/list";
|
|
20
20
|
import "@material/web/list/list-item";
|
|
21
|
-
import { toBigIntAwareJson } from "@matter-server/ws-client";
|
|
22
|
-
import {
|
|
21
|
+
import { isTestNodeId, toBigIntAwareJson } from "@matter-server/ws-client";
|
|
22
|
+
import { css, html, LitElement } from "lit";
|
|
23
23
|
import { customElement, property } from "lit/decorators.js";
|
|
24
24
|
import { unsafeHTML } from "lit/directives/unsafe-html.js";
|
|
25
25
|
import { clusters } from "../client/models/descriptions.js";
|
|
@@ -27,7 +27,7 @@ import { showAlertDialog } from "../components/dialog-box/show-dialog-box.js";
|
|
|
27
27
|
import "../components/ha-svg-icon";
|
|
28
28
|
import "../pages/components/node-details";
|
|
29
29
|
import { bindingContext } from "./components/context.js";
|
|
30
|
-
import { formatHex } from "../util/format_hex.js";
|
|
30
|
+
import { formatHex, formatNodeAddress, getEffectiveFabricIndex } from "../util/format_hex.js";
|
|
31
31
|
import { getClusterCommandsTag } from "./cluster-commands/index.js";
|
|
32
32
|
const GLOBAL_ATTRIBUTE_MIN = 65520;
|
|
33
33
|
const GLOBAL_ATTRIBUTE_MAX = 65535;
|
|
@@ -55,9 +55,14 @@ let MatterClusterView = class extends LitElement {
|
|
|
55
55
|
<button @click=${this._goBack}>Back</button>
|
|
56
56
|
`;
|
|
57
57
|
}
|
|
58
|
+
const fabricIndex = getEffectiveFabricIndex(
|
|
59
|
+
this.client.serverInfo.fabric_index,
|
|
60
|
+
isTestNodeId(this.node.node_id)
|
|
61
|
+
);
|
|
62
|
+
const nodeHex = formatNodeAddress(fabricIndex, this.node.node_id);
|
|
58
63
|
return html`
|
|
59
64
|
<dashboard-header
|
|
60
|
-
.title=${`Node ${this.node.node_id} | Endpoint ${this.endpoint} | Cluster ${this.cluster}`}
|
|
65
|
+
.title=${`Node ${this.node.node_id} ${nodeHex} | Endpoint ${this.endpoint} | Cluster ${this.cluster}`}
|
|
61
66
|
.backButton=${`#node/${this.node.node_id}/${this.endpoint}`}
|
|
62
67
|
.client=${this.client}
|
|
63
68
|
></dashboard-header>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/pages/matter-cluster-view.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,eAAe;AACxB,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -9,6 +9,7 @@ import "../components/ha-svg-icon";
|
|
|
9
9
|
import "./components/header";
|
|
10
10
|
import "./matter-cluster-view";
|
|
11
11
|
import "./matter-endpoint-view";
|
|
12
|
+
import "./matter-network-view";
|
|
12
13
|
import "./matter-node-view";
|
|
13
14
|
import "./matter-server-view";
|
|
14
15
|
declare global {
|
|
@@ -18,13 +19,24 @@ declare global {
|
|
|
18
19
|
}
|
|
19
20
|
declare class MatterDashboardApp extends LitElement {
|
|
20
21
|
private _route;
|
|
22
|
+
private _activeView;
|
|
23
|
+
/** Initial selected node ID from URL (string to avoid BigInt precision loss) */
|
|
24
|
+
private _initialSelectedNodeId;
|
|
21
25
|
client: MatterClient;
|
|
22
26
|
private _state;
|
|
27
|
+
/** Track whether nodes have been loaded at least once (to avoid redirecting before data arrives) */
|
|
28
|
+
private _nodesLoaded;
|
|
23
29
|
private provider;
|
|
30
|
+
/** Reference to updateRoute function so it can be called from event listeners */
|
|
31
|
+
private _updateRoute?;
|
|
24
32
|
protected firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
|
|
25
33
|
private _connect;
|
|
26
34
|
private _setupEventListeners;
|
|
27
35
|
private _reconnect;
|
|
36
|
+
/**
|
|
37
|
+
* Get device counts for Thread and WiFi networks.
|
|
38
|
+
*/
|
|
39
|
+
private _getDeviceCounts;
|
|
28
40
|
render(): import("lit-html").TemplateResult<1>;
|
|
29
41
|
static styles: import("lit").CSSResult;
|
|
30
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matter-dashboard-app.d.ts","sourceRoot":"","sources":["../../../src/pages/matter-dashboard-app.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,YAAY,EAAe,MAAM,0BAA0B,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAa,MAAM,KAAK,CAAC;AAG9D,OAAO,2BAA2B,CAAC;AAGnC,OAAO,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"matter-dashboard-app.d.ts","sourceRoot":"","sources":["../../../src/pages/matter-dashboard-app.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,YAAY,EAAe,MAAM,0BAA0B,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAa,MAAM,KAAK,CAAC;AAG9D,OAAO,2BAA2B,CAAC;AAGnC,OAAO,qBAAqB,CAAC;AAE7B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,wBAAwB,CAAC;AAChC,OAAO,uBAAuB,CAAC;AAC/B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,sBAAsB,CAAC;AAG9B,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,sBAAsB,EAAE,kBAAkB,CAAC;KAC9C;CACJ;AAED,cACM,kBAAmB,SAAQ,UAAU;IAC9B,OAAO,CAAC,MAAM,CAGrB;IAEO,OAAO,CAAC,WAAW,CAAuB;IAEnD,gFAAgF;IACvE,OAAO,CAAC,sBAAsB,CAAuB;IAEvD,MAAM,EAAG,YAAY,CAAC;IAG7B,OAAO,CAAC,MAAM,CAAuE;IAErF,oGAAoG;IACpG,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,QAAQ,CAAoF;IAEpG,iFAAiF;IACjF,OAAO,CAAC,YAAY,CAAC,CAAa;cAEf,YAAY,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,IAAI;IAmD5G,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,UAAU,CAGhB;IAEF;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAWf,MAAM;IA2Gf,OAAgB,MAAM,0BAwDpB;CACL"}
|
|
@@ -23,8 +23,10 @@ import { clone } from "../util/clone_class.js";
|
|
|
23
23
|
import "./components/header";
|
|
24
24
|
import "./matter-cluster-view";
|
|
25
25
|
import "./matter-endpoint-view";
|
|
26
|
+
import "./matter-network-view";
|
|
26
27
|
import "./matter-node-view";
|
|
27
28
|
import "./matter-server-view";
|
|
29
|
+
import { categorizeDevices } from "./network/network-utils.js";
|
|
28
30
|
let MatterDashboardApp = class extends LitElement {
|
|
29
31
|
constructor() {
|
|
30
32
|
super(...arguments);
|
|
@@ -32,7 +34,11 @@ let MatterDashboardApp = class extends LitElement {
|
|
|
32
34
|
prefix: "",
|
|
33
35
|
path: []
|
|
34
36
|
};
|
|
37
|
+
this._activeView = "nodes";
|
|
38
|
+
this._initialSelectedNodeId = null;
|
|
35
39
|
this._state = "connecting";
|
|
40
|
+
/** Track whether nodes have been loaded at least once (to avoid redirecting before data arrives) */
|
|
41
|
+
this._nodesLoaded = false;
|
|
36
42
|
this.provider = new ContextProvider(this, { context: clientContext, initialValue: this.client });
|
|
37
43
|
this._reconnect = () => {
|
|
38
44
|
this._state = "connecting";
|
|
@@ -42,15 +48,39 @@ let MatterDashboardApp = class extends LitElement {
|
|
|
42
48
|
firstUpdated(_changedProperties) {
|
|
43
49
|
super.firstUpdated(_changedProperties);
|
|
44
50
|
this._connect();
|
|
45
|
-
|
|
46
|
-
const
|
|
51
|
+
this._updateRoute = () => {
|
|
52
|
+
const hash = location.hash.substring(1);
|
|
53
|
+
const pathParts = hash.split("/");
|
|
54
|
+
this._initialSelectedNodeId = null;
|
|
55
|
+
const { hasThreadDevices, hasWifiDevices } = this._getDeviceCounts();
|
|
56
|
+
if (pathParts[0] === "thread") {
|
|
57
|
+
if (this._nodesLoaded && !hasThreadDevices) {
|
|
58
|
+
location.hash = "#nodes";
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
this._activeView = "thread";
|
|
62
|
+
if (pathParts.length > 1 && pathParts[1]) {
|
|
63
|
+
this._initialSelectedNodeId = pathParts[1];
|
|
64
|
+
}
|
|
65
|
+
} else if (pathParts[0] === "wifi") {
|
|
66
|
+
if (this._nodesLoaded && !hasWifiDevices) {
|
|
67
|
+
location.hash = "#nodes";
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
this._activeView = "wifi";
|
|
71
|
+
if (pathParts.length > 1 && pathParts[1]) {
|
|
72
|
+
this._initialSelectedNodeId = pathParts[1];
|
|
73
|
+
}
|
|
74
|
+
} else if (hash === "nodes" || hash === "" || pathParts[0] === "node") {
|
|
75
|
+
this._activeView = "nodes";
|
|
76
|
+
}
|
|
47
77
|
this._route = {
|
|
48
78
|
prefix: pathParts.length == 1 ? "" : pathParts[0],
|
|
49
79
|
path: pathParts.length == 1 ? pathParts : pathParts.slice(1)
|
|
50
80
|
};
|
|
51
81
|
};
|
|
52
|
-
window.addEventListener("hashchange",
|
|
53
|
-
|
|
82
|
+
window.addEventListener("hashchange", this._updateRoute);
|
|
83
|
+
this._updateRoute();
|
|
54
84
|
}
|
|
55
85
|
_connect() {
|
|
56
86
|
this.client.startListening().then(
|
|
@@ -65,6 +95,11 @@ let MatterDashboardApp = class extends LitElement {
|
|
|
65
95
|
}
|
|
66
96
|
_setupEventListeners() {
|
|
67
97
|
this.client.addEventListener("nodes_changed", () => {
|
|
98
|
+
const wasFirstLoad = !this._nodesLoaded;
|
|
99
|
+
this._nodesLoaded = true;
|
|
100
|
+
if (wasFirstLoad && this._updateRoute) {
|
|
101
|
+
this._updateRoute();
|
|
102
|
+
}
|
|
68
103
|
this.requestUpdate();
|
|
69
104
|
this.provider.setValue(clone(this.client));
|
|
70
105
|
});
|
|
@@ -75,6 +110,19 @@ let MatterDashboardApp = class extends LitElement {
|
|
|
75
110
|
this._state = "disconnected";
|
|
76
111
|
});
|
|
77
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Get device counts for Thread and WiFi networks.
|
|
115
|
+
*/
|
|
116
|
+
_getDeviceCounts() {
|
|
117
|
+
if (!this.client?.nodes) {
|
|
118
|
+
return { hasThreadDevices: false, hasWifiDevices: false };
|
|
119
|
+
}
|
|
120
|
+
const categorized = categorizeDevices(this.client.nodes);
|
|
121
|
+
return {
|
|
122
|
+
hasThreadDevices: categorized.thread.length > 0,
|
|
123
|
+
hasWifiDevices: categorized.wifi.length > 0 || categorized.ethernet.length > 0
|
|
124
|
+
};
|
|
125
|
+
}
|
|
78
126
|
render() {
|
|
79
127
|
if (this._state === "connecting") {
|
|
80
128
|
return html`
|
|
@@ -141,10 +189,36 @@ let MatterDashboardApp = class extends LitElement {
|
|
|
141
189
|
></matter-node-view>
|
|
142
190
|
`;
|
|
143
191
|
}
|
|
192
|
+
const { hasThreadDevices, hasWifiDevices } = this._getDeviceCounts();
|
|
193
|
+
if (this._route.prefix === "thread" || this._route.path[0] === "thread") {
|
|
194
|
+
return html`<matter-network-view
|
|
195
|
+
.client=${this.client}
|
|
196
|
+
.nodes=${this.client.nodes}
|
|
197
|
+
.activeView=${this._activeView}
|
|
198
|
+
.initialSelectedNodeId=${this._initialSelectedNodeId}
|
|
199
|
+
.hasThreadDevices=${hasThreadDevices}
|
|
200
|
+
.hasWifiDevices=${hasWifiDevices}
|
|
201
|
+
networkType="thread"
|
|
202
|
+
></matter-network-view>`;
|
|
203
|
+
}
|
|
204
|
+
if (this._route.prefix === "wifi" || this._route.path[0] === "wifi") {
|
|
205
|
+
return html`<matter-network-view
|
|
206
|
+
.client=${this.client}
|
|
207
|
+
.nodes=${this.client.nodes}
|
|
208
|
+
.activeView=${this._activeView}
|
|
209
|
+
.initialSelectedNodeId=${this._initialSelectedNodeId}
|
|
210
|
+
.hasThreadDevices=${hasThreadDevices}
|
|
211
|
+
.hasWifiDevices=${hasWifiDevices}
|
|
212
|
+
networkType="wifi"
|
|
213
|
+
></matter-network-view>`;
|
|
214
|
+
}
|
|
144
215
|
return html`<matter-server-view
|
|
145
216
|
.client=${this.client}
|
|
146
217
|
.nodes=${this.client.nodes}
|
|
147
218
|
.route=${this._route}
|
|
219
|
+
.activeView=${this._activeView}
|
|
220
|
+
.hasThreadDevices=${hasThreadDevices}
|
|
221
|
+
.hasWifiDevices=${hasWifiDevices}
|
|
148
222
|
></matter-server-view>`;
|
|
149
223
|
}
|
|
150
224
|
};
|
|
@@ -208,6 +282,12 @@ MatterDashboardApp.styles = css`
|
|
|
208
282
|
__decorateClass([
|
|
209
283
|
state()
|
|
210
284
|
], MatterDashboardApp.prototype, "_route", 2);
|
|
285
|
+
__decorateClass([
|
|
286
|
+
state()
|
|
287
|
+
], MatterDashboardApp.prototype, "_activeView", 2);
|
|
288
|
+
__decorateClass([
|
|
289
|
+
state()
|
|
290
|
+
], MatterDashboardApp.prototype, "_initialSelectedNodeId", 2);
|
|
211
291
|
__decorateClass([
|
|
212
292
|
state()
|
|
213
293
|
], MatterDashboardApp.prototype, "_state", 2);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/pages/matter-dashboard-app.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,uBAAuB;AAEhC,SAAS,kBAAkB;AAC3B,SAAS,YAA8B,KAAK,YAAY;AACxD,SAAS,eAAe,aAAa;AACrC,SAAS,qBAAqB;AAC9B,OAAO;AACP,SAAS,aAAa;AAEtB,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matter-endpoint-view.d.ts","sourceRoot":"","sources":["../../../src/pages/matter-endpoint-view.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,+BAA+B,CAAC;AACvC,OAAO,sCAAsC,CAAC;AAC9C,OAAO,yBAAyB,CAAC;AACjC,OAAO,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"matter-endpoint-view.d.ts","sourceRoot":"","sources":["../../../src/pages/matter-endpoint-view.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,+BAA+B,CAAC;AACvC,OAAO,sCAAsC,CAAC;AAC9C,OAAO,yBAAyB,CAAC;AACjC,OAAO,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAgB,MAAM,0BAA0B,CAAC;AAElF,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAG5C,OAAO,EAAE,UAAU,EAA0B,MAAM,kCAAkC,CAAC;AACtF,OAAO,2BAA2B,CAAC;AAGnC,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,sBAAsB,EAAE,kBAAkB,CAAC;KAC9C;CACJ;AAcD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CAOvF;AAED,cACM,kBAAmB,SAAQ,UAAU;IAChC,MAAM,EAAG,YAAY,CAAC;IAGtB,IAAI,CAAC,EAAE,UAAU,CAAC;IAGlB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAEhB,MAAM;IA8Df,OAAO,CAAC,OAAO;IAIf,OAAgB,MAAM,0BAoCpB;CACL"}
|
|
@@ -17,13 +17,14 @@ import "@material/web/divider/divider";
|
|
|
17
17
|
import "@material/web/iconbutton/icon-button";
|
|
18
18
|
import "@material/web/list/list";
|
|
19
19
|
import "@material/web/list/list-item";
|
|
20
|
+
import { isTestNodeId } from "@matter-server/ws-client";
|
|
20
21
|
import { mdiChevronRight } from "@mdi/js";
|
|
21
22
|
import { LitElement, css, html } from "lit";
|
|
22
23
|
import { customElement, property } from "lit/decorators.js";
|
|
23
24
|
import { guard } from "lit/directives/guard.js";
|
|
24
25
|
import { clusters, device_types } from "../client/models/descriptions.js";
|
|
25
26
|
import "../components/ha-svg-icon";
|
|
26
|
-
import { formatHex } from "../util/format_hex.js";
|
|
27
|
+
import { formatHex, formatNodeAddress, getEffectiveFabricIndex } from "../util/format_hex.js";
|
|
27
28
|
function getUniqueClusters(node, endpoint) {
|
|
28
29
|
return Array.from(
|
|
29
30
|
new Set(
|
|
@@ -49,9 +50,14 @@ let MatterEndpointView = class extends LitElement {
|
|
|
49
50
|
<button @click=${this._goBack}>Back</button>
|
|
50
51
|
`;
|
|
51
52
|
}
|
|
53
|
+
const fabricIndex = getEffectiveFabricIndex(
|
|
54
|
+
this.client.serverInfo.fabric_index,
|
|
55
|
+
isTestNodeId(this.node.node_id)
|
|
56
|
+
);
|
|
57
|
+
const nodeHex = formatNodeAddress(fabricIndex, this.node.node_id);
|
|
52
58
|
return html`
|
|
53
59
|
<dashboard-header
|
|
54
|
-
.title=${`Node ${this.node.node_id} | Endpoint ${this.endpoint}`}
|
|
60
|
+
.title=${`Node ${this.node.node_id} ${nodeHex} | Endpoint ${this.endpoint}`}
|
|
55
61
|
.backButton=${`#node/${this.node.node_id}`}
|
|
56
62
|
.client=${this.client}
|
|
57
63
|
></dashboard-header>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/pages/matter-endpoint-view.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025-2026 Open Home Foundation
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { MatterClient, MatterNode } from "@matter-server/ws-client";
|
|
7
|
+
import { LitElement } from "lit";
|
|
8
|
+
import "../components/ha-svg-icon";
|
|
9
|
+
import "./components/footer";
|
|
10
|
+
import "./components/header";
|
|
11
|
+
import type { ActiveView } from "./components/header.js";
|
|
12
|
+
import "./network/device-panel";
|
|
13
|
+
import "./network/network-details";
|
|
14
|
+
import "./network/thread-graph";
|
|
15
|
+
import "./network/wifi-graph";
|
|
16
|
+
declare global {
|
|
17
|
+
interface HTMLElementTagNameMap {
|
|
18
|
+
"matter-network-view": MatterNetworkView;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
declare class MatterNetworkView extends LitElement {
|
|
22
|
+
client: MatterClient;
|
|
23
|
+
nodes: Record<string, MatterNode>;
|
|
24
|
+
activeView?: ActiveView;
|
|
25
|
+
networkType: "thread" | "wifi";
|
|
26
|
+
/** Initial selected node ID from URL (string to avoid BigInt precision loss) */
|
|
27
|
+
initialSelectedNodeId: string | null;
|
|
28
|
+
hasThreadDevices?: boolean;
|
|
29
|
+
hasWifiDevices?: boolean;
|
|
30
|
+
private _selectedNodeId;
|
|
31
|
+
private _initialSelectionApplied;
|
|
32
|
+
private _selectRetryTimer?;
|
|
33
|
+
private _threadGraph?;
|
|
34
|
+
private _wifiGraph?;
|
|
35
|
+
willUpdate(changedProperties: Map<string, unknown>): void;
|
|
36
|
+
updated(changedProperties: Map<string, unknown>): void;
|
|
37
|
+
disconnectedCallback(): void;
|
|
38
|
+
/**
|
|
39
|
+
* Tries to select a node in the graph, retrying until the graph is ready.
|
|
40
|
+
*/
|
|
41
|
+
private _selectNodeWhenReady;
|
|
42
|
+
private _handleNodeSelected;
|
|
43
|
+
private _handleDetailsClose;
|
|
44
|
+
private _handleSelectNode;
|
|
45
|
+
private _handleFitToScreen;
|
|
46
|
+
private _renderThreadView;
|
|
47
|
+
private _renderWifiView;
|
|
48
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
49
|
+
static styles: import("lit").CSSResult;
|
|
50
|
+
}
|
|
51
|
+
export {};
|
|
52
|
+
//# sourceMappingURL=matter-network-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matter-network-view.d.ts","sourceRoot":"","sources":["../../../src/pages/matter-network-view.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEzE,OAAO,EAAa,UAAU,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,2BAA2B,CAAC;AACnC,OAAO,qBAAqB,CAAC;AAC7B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,wBAAwB,CAAC;AAChC,OAAO,2BAA2B,CAAC;AACnC,OAAO,wBAAwB,CAAC;AAEhC,OAAO,sBAAsB,CAAC;AAG9B,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,qBAAqB,EAAE,iBAAiB,CAAC;KAC5C;CACJ;AAED,cACM,iBAAkB,SAAQ,UAAU;IAC/B,MAAM,EAAG,YAAY,CAAC;IAGtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAM;IAGvC,UAAU,CAAC,EAAE,UAAU,CAAC;IAGxB,WAAW,EAAE,QAAQ,GAAG,MAAM,CAAY;IAEjD,gFAAgF;IAEzE,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG5C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAG3B,cAAc,CAAC,EAAE,OAAO,CAAC;IAGhC,OAAO,CAAC,eAAe,CAAgC;IAEvD,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,iBAAiB,CAAC,CAAgC;IAG1D,OAAO,CAAC,YAAY,CAAC,CAAc;IAGnC,OAAO,CAAC,UAAU,CAAC,CAAY;IAEtB,UAAU,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAQzD,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAWtD,oBAAoB,IAAI,IAAI;IAOrC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,eAAe;IAcd,MAAM;IAmCf,OAAgB,MAAM,0BAmIpB;CACL"}
|