@matter-server/dashboard 0.8.0 → 0.8.1-alpha.0-20260605-9f5c78b
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 +53 -13
- package/dist/esm/pages/network/wifi-graph.js +1 -1
- package/dist/esm/pages/network/wifi-graph.js.map +1 -1
- package/dist/web/js/{attribute-write-dialog-f6XnfRjW.js → attribute-write-dialog-W7xpCE2E.js} +1 -1
- package/dist/web/js/{command-invoke-dialog-jzzpwI81.js → command-invoke-dialog-BAqAAdJw.js} +1 -1
- package/dist/web/js/{commission-node-dialog-B3RBDYQU.js → commission-node-dialog-BTzCGgdy.js} +5 -5
- package/dist/web/js/{commission-node-existing-Cf6SG9fC.js → commission-node-existing-B2M2hyDh.js} +2 -2
- package/dist/web/js/{commission-node-thread-BlC2ZhGB.js → commission-node-thread-djdz2dXW.js} +2 -2
- package/dist/web/js/{commission-node-wifi-BzeVHU3H.js → commission-node-wifi-DxAYNS1A.js} +2 -2
- package/dist/web/js/{dialog-box-8CugytjX.js → dialog-box-tHvPVxDN.js} +1 -1
- package/dist/web/js/{fire_event-B0dFAh3R.js → fire_event-BleYfTLc.js} +1 -1
- package/dist/web/js/main.js +1 -1
- package/dist/web/js/{matter-dashboard-app-D7-YX94X.js → matter-dashboard-app-CVi_GDky.js} +8 -8
- package/dist/web/js/{node-binding-dialog-Dpjn-GtG.js → node-binding-dialog-B9IdqHrZ.js} +1 -1
- package/dist/web/js/{node-label-dialog-B31BzWy6.js → node-label-dialog-DVZSjsXU.js} +1 -1
- package/dist/web/js/{settings-dialog-Di2Qnh3-.js → settings-dialog-BG5MgZcO.js} +1 -1
- package/package.json +3 -3
- package/src/pages/network/wifi-graph.ts +1 -1
package/README.md
CHANGED
|
@@ -39,16 +39,48 @@ Node colors indicate device status:
|
|
|
39
39
|
- **Red**: Offline device (not responding)
|
|
40
40
|
- **Orange**: Unknown/external device (not commissioned to this fabric, detected in neighbor tables)
|
|
41
41
|
|
|
42
|
+
### Understanding Node Role Badges
|
|
43
|
+
|
|
44
|
+
Thread nodes commissioned to this fabric carry a small corner badge over the device icon showing their Thread routing role:
|
|
45
|
+
|
|
46
|
+
- **Crown (amber)**: Leader — the elected coordinator of the Thread network
|
|
47
|
+
- **Swap arrows (blue)**: Router — forwards traffic for other nodes
|
|
48
|
+
- **Small dot (grey-blue)**: End Device or REED (Router-Eligible End Device)
|
|
49
|
+
- **Zzz / sleep (grey-blue)**: Sleepy End Device — radio off when idle to save battery
|
|
50
|
+
- **No badge**: Role unassigned/unspecified, or an external device whose role can't be queried
|
|
51
|
+
|
|
52
|
+
Thread Border Routers use the device icon itself to show role:
|
|
53
|
+
|
|
54
|
+
- **Crown**: this Border Router is currently the Thread Leader
|
|
55
|
+
- **Wireless router icon**: a Border Router that is not the Leader
|
|
56
|
+
- **Star badge (teal)**: the Primary Backbone Border Router (BBR). Independent of the Leader role — a node can be either, both, or neither.
|
|
57
|
+
|
|
58
|
+
Other node icons:
|
|
59
|
+
|
|
60
|
+
- **WiFi symbol**: WiFi-connected node
|
|
61
|
+
- **Access point (orange)**: external/unknown router-capable device
|
|
62
|
+
- **Question mark (orange)**: external/unknown end device
|
|
63
|
+
|
|
42
64
|
### Understanding Connection Lines
|
|
43
65
|
|
|
44
|
-
Connection lines represent the communication links between devices
|
|
66
|
+
Connection lines represent the communication links between devices.
|
|
67
|
+
|
|
68
|
+
**Line style:**
|
|
45
69
|
|
|
46
|
-
- **Solid lines**:
|
|
47
|
-
- **Dashed lines**:
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
70
|
+
- **Solid lines**: link to an online device
|
|
71
|
+
- **Dashed lines**: link to an offline or unknown/external device (based on last known data), **or** an asymmetric link where the peer reports no usable link back (one direction is dead)
|
|
72
|
+
|
|
73
|
+
**Line color** indicates signal quality. Thread links are scored by LQI (Link Quality Indicator, typically 0–3 on the underlying stack; higher is better); WiFi links by RSSI:
|
|
74
|
+
|
|
75
|
+
- **Green**: strong signal (LQI > 2, or RSSI > -70 dBm)
|
|
76
|
+
- **Orange**: medium signal (LQI = 2, or RSSI -70 to -85 dBm)
|
|
77
|
+
- **Red**: weak signal (LQI = 1, or RSSI ≤ -85 dBm)
|
|
78
|
+
- **Grey**: no usable link (LQI = 0 — stale or dead neighbor entry)
|
|
79
|
+
|
|
80
|
+
**Arrows** appear only on asymmetric links and point from the reporting node toward the node it sees:
|
|
81
|
+
|
|
82
|
+
- A link drawn with an arrow means only one side reports the other in its neighbor/route table, or the link is shown from the peer's perspective rather than the selected node's.
|
|
83
|
+
- A plain line (no arrow) means both nodes see each other — a healthy bidirectional link.
|
|
52
84
|
|
|
53
85
|
### Thread Network Details
|
|
54
86
|
|
|
@@ -62,11 +94,18 @@ When you click on a Thread device, the details panel shows network information:
|
|
|
62
94
|
|
|
63
95
|
Each connection shows:
|
|
64
96
|
|
|
65
|
-
- **LQI (Link Quality Indicator)**: 0
|
|
97
|
+
- **LQI (Link Quality Indicator)**: higher is better. The Matter spec types this as 0–255, but the OpenThread stack reports 0–3 in practice. Derived from RF signal quality.
|
|
66
98
|
- **RSSI (Received Signal Strength)**: In dBm, closer to 0 is stronger (e.g., -50 dBm is better than -80 dBm).
|
|
67
|
-
- **Bidir (Bidirectional LQI)**: Average of inbound and outbound LQI from the route table. Only available for router connections.
|
|
99
|
+
- **Bidir (Bidirectional LQI)**: Average of the inbound and outbound LQI from the route table — i.e. the link quality measured in **both directions**. Only available for router connections, which maintain a route table.
|
|
68
100
|
- **Cost (Path Cost)**: Number of hops to reach the destination. 1 = direct link, higher = multi-hop route.
|
|
69
101
|
|
|
102
|
+
A connection may also be tagged with a direction hint:
|
|
103
|
+
|
|
104
|
+
- **← one-way**: the peer reports this node as a neighbor, but this node has no matching neighbor-table entry for the peer. This points to asymmetric (one-way) visibility — caused by range, transmit-power differences, or a stale neighbor table — rather than a healthy two-way link.
|
|
105
|
+
- **(reverse)**: the displayed link comes from the peer's neighbor/route table, not the selected node's. The data is real, just measured from the other end.
|
|
106
|
+
|
|
107
|
+
A connection with neither tag is bidirectional: both nodes see each other.
|
|
108
|
+
|
|
70
109
|
#### Data Sources
|
|
71
110
|
|
|
72
111
|
Thread devices maintain two tables:
|
|
@@ -88,11 +127,12 @@ This is useful when network topology changes or when you want the latest signal
|
|
|
88
127
|
|
|
89
128
|
### Unknown Devices
|
|
90
129
|
|
|
91
|
-
Devices that appear in neighbor tables but are not commissioned to your fabric are shown as "Unknown" with an orange icon.
|
|
130
|
+
Devices that appear in neighbor or route tables but are not commissioned to your fabric are shown as "Unknown" with an orange icon. Because these tables live at the Thread mesh layer, an unknown entry is always a node on the **same** Thread network as your devices — just not reachable by us. They could be:
|
|
92
131
|
|
|
93
|
-
- Devices
|
|
94
|
-
- Border
|
|
95
|
-
- Thread
|
|
132
|
+
- **Devices on a different Matter fabric**: a single Thread network is often shared by several fabrics (e.g. Home Assistant, Apple, Google). Their nodes and Border Routers are RF neighbors of your devices, but we cannot query them.
|
|
133
|
+
- **Non-Matter Thread infrastructure**: Border Routers, range extenders, and other Thread devices (e.g. HomeKit-only Thread devices) that are not Matter devices and can never be commissioned.
|
|
134
|
+
- **A Border Router under an unstable radio MAC**: some vendors (notably Apple and Aqara) randomize their Thread radio MAC at each reboot. The same physical Border Router then shows up twice — once as the known BR (matched via its stable MeshCoP `xa` identifier) and once here as an "External Router" carrying its current radio MAC. After such a reboot the old MAC lingers until neighbor tables age out.
|
|
135
|
+
- **Stale entries**: a neighbor may keep listing a node that has left the network or a battery-powered (sleepy) device it has not heard from recently, until the entry ages out. Use the refresh button to re-read current tables; sometimes a device restart is needed before its tables drop the obsolete entry.
|
|
96
136
|
|
|
97
137
|
Unknown devices show as "Router (external)" or "End Device (external)" based on their radio behavior (rxOnWhenIdle). Since they're not commissioned to this fabric, we cannot query their actual Thread role (Leader, Router, etc.).
|
|
98
138
|
|
|
@@ -94,7 +94,7 @@ let WiFiGraph = class extends BaseNetworkGraph {
|
|
|
94
94
|
const isSelected = String(apId) === String(this._selectedNodeId);
|
|
95
95
|
graphNodes.push({
|
|
96
96
|
id: apId,
|
|
97
|
-
label: `AP ${bssid
|
|
97
|
+
label: `AP ${bssid}`,
|
|
98
98
|
image: createWiFiRouterIconDataUrl(isSelected),
|
|
99
99
|
shape: "image",
|
|
100
100
|
networkType: "wifi",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/pages/network/wifi-graph.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAC9B,SAAS,uBAAuB,mCAAmC;AACnE,SAAS,wBAAwB;AAEjC;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AAgBA,IAAM,YAAN,cAAwB,iBAAiB;AAAA,EAAzC;AAAA;AAEH;AAAA,SAAQ,gBAA8C,oBAAI,IAAI;AAAA;AAAA;AAAA,EAG9D,IAAW,sBAAgF;AACvF,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKmB,qBAA0B;AACzC,WAAO;AAAA,MACH,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,kBAAkB;AAAA,QACd,uBAAuB;AAAA;AAAA,QACvB,gBAAgB;AAAA;AAAA,QAChB,cAAc;AAAA;AAAA,QACd,gBAAgB;AAAA;AAAA,QAChB,SAAS;AAAA,QACT,cAAc;AAAA,MAClB;AAAA,MACA,eAAe;AAAA,QACX,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,gBAAgB;AAAA,MACpB;AAAA,IACJ;AAAA,EACJ;AAAA,EAEmB,eAAqB;AACpC,QAAI,CAAC,KAAK,iBAAiB,CAAC,KAAK,cAAe;AAGhD,SAAK,yBAAyB;AAG9B,UAAM,cAAc,kBAAkB,KAAK,KAAK;AAChD,UAAM,cAAc,YAAY;AAEhC,QAAI,YAAY,WAAW,GAAG;AAC1B,WAAK,cAAc,MAAM;AACzB,WAAK,cAAc,MAAM;AACzB,WAAK,cAAc,MAAM;AACzB;AAAA,IACJ;AAIA,SAAK,cAAc,MAAM;AAEzB,eAAW,UAAU,aAAa;AAC9B,YAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,UAAI,CAAC,KAAM;AAEX,YAAM,WAAW,mBAAmB,IAAI;AACxC,UAAI,SAAS,OAAO;AAChB,cAAM,OAAO,MAAM,SAAS,MAAM,QAAQ,MAAM,EAAE,CAAC;AACnD,YAAI,CAAC,KAAK,cAAc,IAAI,IAAI,GAAG;AAC/B,eAAK,cAAc,IAAI,MAAM;AAAA,YACzB,OAAO,SAAS;AAAA,YAChB,gBAAgB,CAAC;AAAA,UACrB,CAAC;AAAA,QACL;AACA,aAAK,cAAc,IAAI,IAAI,EAAG,eAAe,KAAK,MAAM;AAAA,MAC5D;AAAA,IACJ;AAGA,UAAM,aAAiC,CAAC;AACxC,UAAM,aAAiC,CAAC;AAGxC,eAAW,CAAC,MAAM,EAAE,KAAK,KAAK,eAAe;AACzC,YAAM,QAAQ,GAAG;AACjB,YAAM,aAAa,OAAO,IAAI,MAAM,OAAO,KAAK,eAAe;AAE/D,iBAAW,KAAK;AAAA,QACZ,IAAI;AAAA,QACJ,OAAO,MAAM,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/web/js/{attribute-write-dialog-f6XnfRjW.js → attribute-write-dialog-W7xpCE2E.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i, n, r, e, b as i$1, A, o as formatHex, d as b, h as handleAsync, g as t } from './matter-dashboard-app-
|
|
1
|
+
import { i, n, r, e, b as i$1, A, o as formatHex, d as b, h as handleAsync, g as t } from './matter-dashboard-app-CVi_GDky.js';
|
|
2
2
|
import { t as toBigIntAwareJson } from './main.js';
|
|
3
3
|
import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
|
|
4
4
|
import { p as parseJsonPayload } from './parse-json-payload-DU9TWKdu.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i, n, r, e, b as i$1, A, o as formatHex, d as b, h as handleAsync, g as t } from './matter-dashboard-app-
|
|
1
|
+
import { i, n, r, e, b as i$1, A, o as formatHex, d as b, h as handleAsync, g as t } from './matter-dashboard-app-CVi_GDky.js';
|
|
2
2
|
import { t as toBigIntAwareJson } from './main.js';
|
|
3
3
|
import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
|
|
4
4
|
import { p as parseJsonPayload, i as isPlainObject } from './parse-json-payload-DU9TWKdu.js';
|
package/dist/web/js/{commission-node-dialog-B3RBDYQU.js → commission-node-dialog-BTzCGgdy.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r, c, a as clientContext, t as tickContext, g as t, b as i, d as b } from './matter-dashboard-app-
|
|
1
|
+
import { r, c, a as clientContext, t as tickContext, g as t, b as i, d as b } from './matter-dashboard-app-CVi_GDky.js';
|
|
2
2
|
import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
|
|
3
3
|
import './main.js';
|
|
4
4
|
|
|
@@ -52,18 +52,18 @@ let ComissionNodeDialog = class extends i {
|
|
|
52
52
|
if (!this.client.serverInfo.bluetooth_enabled) {
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
55
|
-
import('./commission-node-wifi-
|
|
55
|
+
import('./commission-node-wifi-DxAYNS1A.js');
|
|
56
56
|
this._mode = "wifi";
|
|
57
57
|
}
|
|
58
58
|
_commissionThread() {
|
|
59
59
|
if (!this.client.serverInfo.bluetooth_enabled) {
|
|
60
60
|
return;
|
|
61
61
|
}
|
|
62
|
-
import('./commission-node-thread-
|
|
62
|
+
import('./commission-node-thread-djdz2dXW.js');
|
|
63
63
|
this._mode = "thread";
|
|
64
64
|
}
|
|
65
65
|
_commissionExisting() {
|
|
66
|
-
import('./commission-node-existing-
|
|
66
|
+
import('./commission-node-existing-B2M2hyDh.js');
|
|
67
67
|
this._mode = "existing";
|
|
68
68
|
}
|
|
69
69
|
_nodeCommissioned(ev) {
|
|
@@ -71,7 +71,7 @@ let ComissionNodeDialog = class extends i {
|
|
|
71
71
|
this._close();
|
|
72
72
|
}
|
|
73
73
|
_requestSettings() {
|
|
74
|
-
import('./matter-dashboard-app-
|
|
74
|
+
import('./matter-dashboard-app-CVi_GDky.js').then(function (n) { return n.v; }).then(({
|
|
75
75
|
showSettingsDialog
|
|
76
76
|
}) => {
|
|
77
77
|
showSettingsDialog("network-credentials");
|
package/dist/web/js/{commission-node-existing-Cf6SG9fC.js → commission-node-existing-B2M2hyDh.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r, c, a as clientContext, n, e, g as t, b as i, A, h as handleAsync, d as b, s as showAlertDialog } from './matter-dashboard-app-
|
|
2
|
-
import { f as fireEvent } from './fire_event-
|
|
1
|
+
import { r, c, a as clientContext, n, e, g as t, b as i, A, h as handleAsync, d as b, s as showAlertDialog } from './matter-dashboard-app-CVi_GDky.js';
|
|
2
|
+
import { f as fireEvent } from './fire_event-BleYfTLc.js';
|
|
3
3
|
import './main.js';
|
|
4
4
|
|
|
5
5
|
var __defProp = Object.defineProperty;
|
package/dist/web/js/{commission-node-thread-BlC2ZhGB.js → commission-node-thread-djdz2dXW.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { i, c, a as clientContext, n, r, e, b as i$1, A, h as handleAsync, d as b, j as mdiAccessPoint, s as showAlertDialog, g as t } from './matter-dashboard-app-
|
|
2
|
-
import { f as fireEvent } from './fire_event-
|
|
1
|
+
import { i, c, a as clientContext, n, r, e, b as i$1, A, h as handleAsync, d as b, j as mdiAccessPoint, s as showAlertDialog, g as t } from './matter-dashboard-app-CVi_GDky.js';
|
|
2
|
+
import { f as fireEvent } from './fire_event-BleYfTLc.js';
|
|
3
3
|
import './main.js';
|
|
4
4
|
|
|
5
5
|
var __defProp = Object.defineProperty;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { i, c, a as clientContext, n, r, e, b as i$1, A, h as handleAsync, d as b, m as mdiWifi, s as showAlertDialog, g as t } from './matter-dashboard-app-
|
|
2
|
-
import { f as fireEvent } from './fire_event-
|
|
1
|
+
import { i, c, a as clientContext, n, r, e, b as i$1, A, h as handleAsync, d as b, m as mdiWifi, s as showAlertDialog, g as t } from './matter-dashboard-app-CVi_GDky.js';
|
|
2
|
+
import { f as fireEvent } from './fire_event-BleYfTLc.js';
|
|
3
3
|
import './main.js';
|
|
4
4
|
|
|
5
5
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { q as mixinDelegatesAria, b as i, _ as __decorate, n, A, u as e, d as b, i as i$1, g as t } from './matter-dashboard-app-
|
|
1
|
+
import { q as mixinDelegatesAria, b as i, _ as __decorate, n, A, u as e, d as b, i as i$1, g as t } from './matter-dashboard-app-CVi_GDky.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @license
|
package/dist/web/js/main.js
CHANGED
|
@@ -801,7 +801,7 @@ const ThemeService = new ThemeServiceImpl();
|
|
|
801
801
|
* SPDX-License-Identifier: Apache-2.0
|
|
802
802
|
*/
|
|
803
803
|
async function main() {
|
|
804
|
-
import('./matter-dashboard-app-
|
|
804
|
+
import('./matter-dashboard-app-CVi_GDky.js').then(function (n) { return n.x; });
|
|
805
805
|
let url = "";
|
|
806
806
|
const isProductionServer = window.__MATTERJS_PRODUCTION_MODE__ === true || location.origin.includes(":5580") || location.href.includes("hassio_ingress") || location.href.includes("/api/ingress/");
|
|
807
807
|
if (!isProductionServer) {
|
|
@@ -4040,7 +4040,7 @@ MdListItem = __decorate([t$1('md-list-item')], MdListItem);
|
|
|
4040
4040
|
*/
|
|
4041
4041
|
const showSettingsDialog = async section => {
|
|
4042
4042
|
var _document$querySelect;
|
|
4043
|
-
await import('./settings-dialog-
|
|
4043
|
+
await import('./settings-dialog-BG5MgZcO.js');
|
|
4044
4044
|
const dialog = document.createElement("settings-dialog");
|
|
4045
4045
|
if (section) dialog.scrollToSection = section;
|
|
4046
4046
|
(_document$querySelect = document.querySelector("matter-dashboard-app")) === null || _document$querySelect === void 0 || _document$querySelect.renderRoot.appendChild(dialog);
|
|
@@ -21796,7 +21796,7 @@ const clusters = {
|
|
|
21796
21796
|
* SPDX-License-Identifier: Apache-2.0
|
|
21797
21797
|
*/
|
|
21798
21798
|
const showDialogBox = async (type, dialogParams) => {
|
|
21799
|
-
await import('./dialog-box-
|
|
21799
|
+
await import('./dialog-box-tHvPVxDN.js');
|
|
21800
21800
|
return new Promise(resolve => {
|
|
21801
21801
|
const dialog = document.createElement("dialog-box");
|
|
21802
21802
|
dialog.params = dialogParams;
|
|
@@ -21815,7 +21815,7 @@ const showPromptDialog = dialogParams => showDialogBox("prompt", dialogParams);
|
|
|
21815
21815
|
*/
|
|
21816
21816
|
const showAttributeWriteDialog = async options => {
|
|
21817
21817
|
var _document$querySelect;
|
|
21818
|
-
await import('./attribute-write-dialog-
|
|
21818
|
+
await import('./attribute-write-dialog-W7xpCE2E.js');
|
|
21819
21819
|
const dialog = document.createElement("attribute-write-dialog");
|
|
21820
21820
|
dialog.client = options.client;
|
|
21821
21821
|
dialog.nodeId = options.nodeId;
|
|
@@ -21834,7 +21834,7 @@ const showAttributeWriteDialog = async options => {
|
|
|
21834
21834
|
*/
|
|
21835
21835
|
const showCommandInvokeDialog = async options => {
|
|
21836
21836
|
var _document$querySelect;
|
|
21837
|
-
await import('./command-invoke-dialog-
|
|
21837
|
+
await import('./command-invoke-dialog-BAqAAdJw.js');
|
|
21838
21838
|
const dialog = document.createElement("command-invoke-dialog");
|
|
21839
21839
|
dialog.client = options.client;
|
|
21840
21840
|
dialog.nodeId = options.nodeId;
|
|
@@ -22007,7 +22007,7 @@ MdTextButton = __decorate([t$1('md-text-button')], MdTextButton);
|
|
|
22007
22007
|
*/
|
|
22008
22008
|
const showNodeBindingDialog = async (node, endpoint) => {
|
|
22009
22009
|
var _document$querySelect;
|
|
22010
|
-
await import('./node-binding-dialog-
|
|
22010
|
+
await import('./node-binding-dialog-B9IdqHrZ.js');
|
|
22011
22011
|
const dialog = document.createElement("node-binding-dialog");
|
|
22012
22012
|
dialog.node = node;
|
|
22013
22013
|
dialog.endpoint = endpoint;
|
|
@@ -22021,7 +22021,7 @@ const showNodeBindingDialog = async (node, endpoint) => {
|
|
|
22021
22021
|
*/
|
|
22022
22022
|
const showNodeLabelDialog = async (client, node) => {
|
|
22023
22023
|
var _document$querySelect;
|
|
22024
|
-
await import('./node-label-dialog-
|
|
22024
|
+
await import('./node-label-dialog-DVZSjsXU.js');
|
|
22025
22025
|
const dialog = document.createElement("node-label-dialog");
|
|
22026
22026
|
dialog.client = client;
|
|
22027
22027
|
dialog.node = node;
|
|
@@ -44576,7 +44576,7 @@ let WiFiGraph = class extends BaseNetworkGraph {
|
|
|
44576
44576
|
const isSelected = String(apId) === String(this._selectedNodeId);
|
|
44577
44577
|
graphNodes.push({
|
|
44578
44578
|
id: apId,
|
|
44579
|
-
label: `AP ${bssid
|
|
44579
|
+
label: `AP ${bssid}`,
|
|
44580
44580
|
image: createWiFiRouterIconDataUrl(isSelected),
|
|
44581
44581
|
shape: "image",
|
|
44582
44582
|
networkType: "wifi",
|
|
@@ -45512,7 +45512,7 @@ MatterNodeView = __decorateClass$3([t$1("matter-node-view")], MatterNodeView);
|
|
|
45512
45512
|
*/
|
|
45513
45513
|
const showCommissionNodeDialog = async () => {
|
|
45514
45514
|
var _document$querySelect;
|
|
45515
|
-
await import('./commission-node-dialog-
|
|
45515
|
+
await import('./commission-node-dialog-BTzCGgdy.js');
|
|
45516
45516
|
const dialog = document.createElement("commission-node-dialog");
|
|
45517
45517
|
(_document$querySelect = document.querySelector("matter-dashboard-app")) === null || _document$querySelect === void 0 || _document$querySelect.renderRoot.appendChild(dialog);
|
|
45518
45518
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i, c, a as clientContext, n, e, b as i$1, p as showPromptDialog, s as showAlertDialog, A, d as b, h as handleAsync, g as t } from './matter-dashboard-app-
|
|
1
|
+
import { i, c, a as clientContext, n, e, b as i$1, p as showPromptDialog, s as showAlertDialog, A, d as b, h as handleAsync, g as t } from './matter-dashboard-app-CVi_GDky.js';
|
|
2
2
|
import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
|
|
3
3
|
import './main.js';
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r, n, g as t, b as i, M as MAX_NODE_LABEL_LENGTH, d as b, w as writeNodeLabel, s as showAlertDialog } from './matter-dashboard-app-
|
|
1
|
+
import { r, n, g as t, b as i, M as MAX_NODE_LABEL_LENGTH, d as b, w as writeNodeLabel, s as showAlertDialog } from './matter-dashboard-app-CVi_GDky.js';
|
|
2
2
|
import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
|
|
3
3
|
import './main.js';
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i, c, a as clientContext, t as tickContext, r, e, b as i$1, f as fireAndForget, s as showAlertDialog, d as b, A, h as handleAsync, g as t, n, D as DevModeService, m as mdiWifi, j as mdiAccessPoint, k as mdiEyeOff, l as mdiEye } from './matter-dashboard-app-
|
|
1
|
+
import { i, c, a as clientContext, t as tickContext, r, e, b as i$1, f as fireAndForget, s as showAlertDialog, d as b, A, h as handleAsync, g as t, n, D as DevModeService, m as mdiWifi, j as mdiAccessPoint, k as mdiEyeOff, l as mdiEye } from './matter-dashboard-app-CVi_GDky.js';
|
|
2
2
|
import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
|
|
3
3
|
import './main.js';
|
|
4
4
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter-server/dashboard",
|
|
3
|
-
"version": "0.8.0",
|
|
3
|
+
"version": "0.8.1-alpha.0-20260605-9f5c78b",
|
|
4
4
|
"description": "Dashboard for OHF Matter Server",
|
|
5
5
|
"homepage": "https://github.com/matter-js/matterjs-server",
|
|
6
6
|
"bugs": {
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@lit/context": "^1.1.6",
|
|
35
35
|
"@material/web": "^2.4.1",
|
|
36
|
-
"@matter-server/custom-clusters": "0.8.0",
|
|
37
|
-
"@matter-server/ws-client": "0.8.0",
|
|
36
|
+
"@matter-server/custom-clusters": "0.8.1-alpha.0-20260605-9f5c78b",
|
|
37
|
+
"@matter-server/ws-client": "0.8.1-alpha.0-20260605-9f5c78b",
|
|
38
38
|
"@mdi/js": "^7.4.47",
|
|
39
39
|
"lit": "^3.3.3",
|
|
40
40
|
"tslib": "^2.8.1",
|