@matter-server/dashboard 0.5.10 → 0.5.12
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/esm/components/dialog-box/dialog-box.d.ts.map +1 -1
- package/dist/esm/components/dialog-box/dialog-box.js.map +1 -1
- package/dist/esm/components/dialogs/commission-node-dialog/commission-node-dialog.d.ts.map +1 -1
- package/dist/esm/components/dialogs/commission-node-dialog/commission-node-dialog.js +1 -7
- package/dist/esm/components/dialogs/commission-node-dialog/commission-node-dialog.js.map +1 -1
- package/dist/esm/components/dialogs/commission-node-dialog/commission-node-existing.d.ts.map +1 -1
- package/dist/esm/components/dialogs/commission-node-dialog/commission-node-existing.js +1 -3
- package/dist/esm/components/dialogs/commission-node-dialog/commission-node-existing.js.map +1 -1
- package/dist/esm/components/dialogs/commission-node-dialog/commission-node-thread.d.ts.map +1 -1
- package/dist/esm/components/dialogs/commission-node-dialog/commission-node-thread.js +7 -7
- package/dist/esm/components/dialogs/commission-node-dialog/commission-node-thread.js.map +1 -1
- package/dist/esm/components/dialogs/commission-node-dialog/commission-node-wifi.d.ts.map +1 -1
- package/dist/esm/components/dialogs/commission-node-dialog/commission-node-wifi.js +1 -3
- package/dist/esm/components/dialogs/commission-node-dialog/commission-node-wifi.js.map +1 -1
- package/dist/esm/components/dialogs/settings/log-level-dialog.d.ts.map +1 -1
- package/dist/esm/components/dialogs/settings/log-level-dialog.js +1 -3
- package/dist/esm/components/dialogs/settings/log-level-dialog.js.map +1 -1
- package/dist/esm/pages/cluster-commands/clusters/basic-information-commands.d.ts.map +1 -1
- package/dist/esm/pages/cluster-commands/clusters/basic-information-commands.js +1 -3
- package/dist/esm/pages/cluster-commands/clusters/basic-information-commands.js.map +1 -1
- package/dist/esm/pages/components/footer.d.ts.map +1 -1
- package/dist/esm/pages/components/footer.js +3 -1
- package/dist/esm/pages/components/footer.js.map +1 -1
- package/dist/esm/pages/components/header.d.ts.map +1 -1
- package/dist/esm/pages/components/header.js.map +1 -1
- package/dist/esm/pages/components/node-details.d.ts.map +1 -1
- package/dist/esm/pages/components/node-details.js +10 -13
- 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 +1 -3
- 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.map +1 -1
- package/dist/esm/pages/matter-network-view.d.ts.map +1 -1
- package/dist/esm/pages/matter-network-view.js +2 -2
- package/dist/esm/pages/matter-network-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.map +1 -1
- package/dist/esm/pages/matter-server-view.d.ts.map +1 -1
- package/dist/esm/pages/matter-server-view.js +1 -3
- package/dist/esm/pages/matter-server-view.js.map +1 -1
- package/dist/esm/pages/network/device-panel.d.ts.map +1 -1
- package/dist/esm/pages/network/device-panel.js.map +1 -1
- package/dist/esm/pages/network/network-details.d.ts.map +1 -1
- package/dist/esm/pages/network/network-details.js +73 -74
- package/dist/esm/pages/network/network-details.js.map +1 -1
- package/dist/esm/pages/network/thread-graph.d.ts.map +1 -1
- package/dist/esm/pages/network/thread-graph.js +1 -3
- package/dist/esm/pages/network/thread-graph.js.map +1 -1
- package/dist/esm/pages/network/update-connections-dialog.d.ts.map +1 -1
- package/dist/esm/pages/network/update-connections-dialog.js +2 -6
- package/dist/esm/pages/network/update-connections-dialog.js.map +1 -1
- package/dist/esm/pages/network/wifi-graph.d.ts.map +1 -1
- package/dist/esm/pages/network/wifi-graph.js +1 -3
- package/dist/esm/pages/network/wifi-graph.js.map +1 -1
- package/dist/web/js/{commission-node-dialog-B8btRo-u.js → commission-node-dialog-C3vakpfo.js} +5 -11
- package/dist/web/js/{commission-node-existing-DV3Mdryb.js → commission-node-existing-D3r5Plch.js} +3 -5
- package/dist/web/js/{commission-node-thread-CRmXG-l7.js → commission-node-thread-C9ECK9dL.js} +9 -9
- package/dist/web/js/{commission-node-wifi-B9czrkgM.js → commission-node-wifi-DlG5s0i_.js} +3 -5
- package/dist/web/js/{dialog-box-D1T172PR.js → dialog-box-Bi0vD6U9.js} +1 -1
- package/dist/web/js/{fire_event-CpzR8zJR.js → fire_event-Cy9Y-JEv.js} +1 -1
- package/dist/web/js/{log-level-dialog-Dlvacuei.js → log-level-dialog-B7jqYNxe.js} +2 -4
- package/dist/web/js/main.js +1 -1
- package/dist/web/js/{matter-dashboard-app-CJAvDfru.js → matter-dashboard-app-BiNu4m8W.js} +97 -115
- package/dist/web/js/{node-binding-dialog-CTsnRoFC.js → node-binding-dialog-BmjRJ8c2.js} +1 -1
- package/package.json +5 -5
- package/src/components/dialog-box/dialog-box.ts +9 -15
- package/src/components/dialogs/commission-node-dialog/commission-node-dialog.ts +7 -15
- package/src/components/dialogs/commission-node-dialog/commission-node-existing.ts +1 -7
- package/src/components/dialogs/commission-node-dialog/commission-node-thread.ts +7 -15
- package/src/components/dialogs/commission-node-dialog/commission-node-wifi.ts +4 -12
- package/src/components/dialogs/settings/log-level-dialog.ts +7 -13
- package/src/pages/cluster-commands/clusters/basic-information-commands.ts +3 -7
- package/src/pages/components/footer.ts +3 -1
- package/src/pages/components/header.ts +15 -25
- package/src/pages/components/node-details.ts +29 -46
- package/src/pages/components/server-details.ts +1 -7
- package/src/pages/matter-cluster-view.ts +5 -9
- package/src/pages/matter-network-view.ts +7 -11
- package/src/pages/matter-node-view.ts +3 -5
- package/src/pages/matter-server-view.ts +1 -7
- package/src/pages/network/device-panel.ts +3 -5
- package/src/pages/network/network-details.ts +146 -192
- package/src/pages/network/thread-graph.ts +1 -3
- package/src/pages/network/update-connections-dialog.ts +17 -31
- package/src/pages/network/wifi-graph.ts +1 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { e, N as NavigableKeys, _ as __decorate, a as e$1, n as n$1, o, r, i, c as createAnimationSignal, L as ListController, g as getActiveItem, b as getLastActivatableItem, d as getFirstActivatableItem, A, f as e$2, h as o$1, j as b, E as EASING, k as i$1, t, V as Validator, D, m as mixinDelegatesAria, l as mixinOnReportValidity, p as mixinConstraintValidation, q as mixinFormAssociated, s as mixinElementInternals, u as onReportValidity, v as u, w as redispatchEvent, x as getFormValue, y as createValidator, z as getValidityAnchor, B as i$2, C as fireAndForget, F as handleAsync } from './matter-dashboard-app-
|
|
1
|
+
import { e, N as NavigableKeys, _ as __decorate, a as e$1, n as n$1, o, r, i, c as createAnimationSignal, L as ListController, g as getActiveItem, b as getLastActivatableItem, d as getFirstActivatableItem, A, f as e$2, h as o$1, j as b, E as EASING, k as i$1, t, V as Validator, D, m as mixinDelegatesAria, l as mixinOnReportValidity, p as mixinConstraintValidation, q as mixinFormAssociated, s as mixinElementInternals, u as onReportValidity, v as u, w as redispatchEvent, x as getFormValue, y as createValidator, z as getValidityAnchor, B as i$2, C as fireAndForget, F as handleAsync } from './matter-dashboard-app-BiNu4m8W.js';
|
|
2
2
|
import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
|
|
3
3
|
import './main.js';
|
|
4
4
|
|
|
@@ -3146,9 +3146,7 @@ let LogLevelDialog = class extends i {
|
|
|
3146
3146
|
<md-dialog open @cancel=${preventDefault} @closed=${this._handleClosed}>
|
|
3147
3147
|
<div slot="headline">Server Log Settings</div>
|
|
3148
3148
|
<div slot="content">
|
|
3149
|
-
${this._loading ? b`
|
|
3150
|
-
<p class="loading">Loading...</p>
|
|
3151
|
-
` : b`
|
|
3149
|
+
${this._loading ? b` <p class="loading">Loading...</p> ` : b`
|
|
3152
3150
|
<p class="hint">Changes are temporary and will be reset on the next server restart.</p>
|
|
3153
3151
|
<div class="form-field">
|
|
3154
3152
|
<label>Console Log Level</label>
|
package/dist/web/js/main.js
CHANGED
|
@@ -752,7 +752,7 @@ const ThemeService = new ThemeServiceImpl();
|
|
|
752
752
|
* SPDX-License-Identifier: Apache-2.0
|
|
753
753
|
*/
|
|
754
754
|
async function main() {
|
|
755
|
-
import('./matter-dashboard-app-
|
|
755
|
+
import('./matter-dashboard-app-BiNu4m8W.js').then(function (n) { return n.I; });
|
|
756
756
|
let url = "";
|
|
757
757
|
const isProductionServer = window.__MATTERJS_PRODUCTION_MODE__ === true || location.origin.includes(":5580") || location.href.includes("hassio_ingress") || location.href.includes("/api/ingress/");
|
|
758
758
|
if (!isProductionServer) {
|
|
@@ -4026,7 +4026,7 @@ MdListItem = __decorate([t$1('md-list-item')], MdListItem);
|
|
|
4026
4026
|
*/
|
|
4027
4027
|
const showLogLevelDialog = async client => {
|
|
4028
4028
|
var _document$querySelect;
|
|
4029
|
-
await import('./log-level-dialog-
|
|
4029
|
+
await import('./log-level-dialog-B7jqYNxe.js');
|
|
4030
4030
|
const dialog = document.createElement("log-level-dialog");
|
|
4031
4031
|
dialog.client = client;
|
|
4032
4032
|
(_document$querySelect = document.querySelector("matter-dashboard-app")) === null || _document$querySelect === void 0 || _document$querySelect.renderRoot.appendChild(dialog);
|
|
@@ -15728,7 +15728,7 @@ const clusters = {
|
|
|
15728
15728
|
* SPDX-License-Identifier: Apache-2.0
|
|
15729
15729
|
*/
|
|
15730
15730
|
const showDialogBox = async (type, dialogParams) => {
|
|
15731
|
-
await import('./dialog-box-
|
|
15731
|
+
await import('./dialog-box-Bi0vD6U9.js');
|
|
15732
15732
|
return new Promise(resolve => {
|
|
15733
15733
|
const dialog = document.createElement("dialog-box");
|
|
15734
15734
|
dialog.params = dialogParams;
|
|
@@ -15902,7 +15902,7 @@ MdTextButton = __decorate([t$1('md-text-button')], MdTextButton);
|
|
|
15902
15902
|
*/
|
|
15903
15903
|
const showNodeBindingDialog = async (client, node, endpoint) => {
|
|
15904
15904
|
var _document$querySelect;
|
|
15905
|
-
await import('./node-binding-dialog-
|
|
15905
|
+
await import('./node-binding-dialog-BmjRJ8c2.js');
|
|
15906
15906
|
const dialog = document.createElement("node-binding-dialog");
|
|
15907
15907
|
dialog.client = client;
|
|
15908
15908
|
dialog.node = node;
|
|
@@ -16469,9 +16469,7 @@ let NodeDetails = class extends i$4 {
|
|
|
16469
16469
|
<ha-svg-icon slot="start" class="device-icon" .path=${getDeviceIcon(this.node)}></ha-svg-icon>
|
|
16470
16470
|
<div slot="headline">
|
|
16471
16471
|
<b>${this.node.nodeLabel || "Node Info"}</b>
|
|
16472
|
-
${this.node.available ? A : b`
|
|
16473
|
-
<span class="status">OFFLINE</span>
|
|
16474
|
-
`}
|
|
16472
|
+
${this.node.available ? A : b` <span class="status">OFFLINE</span> `}
|
|
16475
16473
|
</div>
|
|
16476
16474
|
</md-list-item>
|
|
16477
16475
|
<md-list-item>
|
|
@@ -16583,23 +16581,22 @@ let NodeDetails = class extends i$4 {
|
|
|
16583
16581
|
const isUnverifiedSource = nodeUpdate.update_source !== UpdateSource.MAIN_NET_DCL;
|
|
16584
16582
|
if (!(await showPromptDialog({
|
|
16585
16583
|
title: "Firmware update available",
|
|
16586
|
-
text: b`Found a firmware update for this node on
|
|
16587
|
-
<b>${nodeUpdate.update_source}</b>.
|
|
16584
|
+
text: b`Found a firmware update for this node on <b>${nodeUpdate.update_source}</b>.
|
|
16588
16585
|
${isUnverifiedSource ? b`
|
|
16589
|
-
|
|
16590
|
-
|
|
16586
|
+
<p
|
|
16587
|
+
style="
|
|
16591
16588
|
background: var(--md-sys-color-error, #b3261e);
|
|
16592
16589
|
color: var(--md-sys-color-on-error, #fff);
|
|
16593
16590
|
padding: 8px 12px;
|
|
16594
16591
|
border-radius: 4px;
|
|
16595
16592
|
font-weight: bold;
|
|
16596
16593
|
"
|
|
16597
|
-
|
|
16598
|
-
|
|
16599
|
-
|
|
16600
|
-
|
|
16601
|
-
|
|
16602
|
-
|
|
16594
|
+
>
|
|
16595
|
+
Warning: This update was found on an unverified source. Updates from test-net or local
|
|
16596
|
+
sources have not been certified and may contain untested firmware that could result in
|
|
16597
|
+
non-functional devices. Applying these updates is entirely at your own risk.
|
|
16598
|
+
</p>
|
|
16599
|
+
` : A}
|
|
16603
16600
|
<p>
|
|
16604
16601
|
Do you want to update this node to version
|
|
16605
16602
|
<b>${nodeUpdate.software_version_string}</b>?
|
|
@@ -18999,9 +18996,7 @@ let BasicInformationClusterCommands = class extends BaseClusterCommands {
|
|
|
18999
18996
|
<details class="command-panel">
|
|
19000
18997
|
<summary>Node Label</summary>
|
|
19001
18998
|
<div class="command-content">
|
|
19002
|
-
${!this._isNodeAvailable ? b`
|
|
19003
|
-
<div class="offline-warning">Node is offline - cannot edit label</div>
|
|
19004
|
-
` : A}
|
|
18999
|
+
${!this._isNodeAvailable ? b` <div class="offline-warning">Node is offline - cannot edit label</div> ` : A}
|
|
19005
19000
|
<div class="command-row">
|
|
19006
19001
|
<md-outlined-text-field
|
|
19007
19002
|
label="Node Label"
|
|
@@ -19425,7 +19420,9 @@ let DashboardFooter = class extends i$4 {
|
|
|
19425
19420
|
return b`
|
|
19426
19421
|
<div class="footer">
|
|
19427
19422
|
The OHF Matter Server is a project by the Open Home Foundation.
|
|
19428
|
-
<a href="https://www.openhomefoundation.org/structure/#support-our-work" target="_blank"
|
|
19423
|
+
<a href="https://www.openhomefoundation.org/structure/#support-our-work" target="_blank"
|
|
19424
|
+
>Support development</a
|
|
19425
|
+
>
|
|
19429
19426
|
</div>
|
|
19430
19427
|
`;
|
|
19431
19428
|
}
|
|
@@ -21275,9 +21272,7 @@ let UpdateConnectionsDialog = class extends i$4 {
|
|
|
21275
21272
|
Update network data from its ${this.onlineNeighborIds.length} online
|
|
21276
21273
|
neighbor${this.onlineNeighborIds.length !== 1 ? "s" : ""} to refresh connection info.
|
|
21277
21274
|
</p>
|
|
21278
|
-
` : b`
|
|
21279
|
-
<p>No online neighbors available to update.</p>
|
|
21280
|
-
`}
|
|
21275
|
+
` : b` <p>No online neighbors available to update.</p> `}
|
|
21281
21276
|
`;
|
|
21282
21277
|
}
|
|
21283
21278
|
_renderUnknownContent() {
|
|
@@ -21289,9 +21284,7 @@ let UpdateConnectionsDialog = class extends i$4 {
|
|
|
21289
21284
|
node${this.onlineNeighborIds.length !== 1 ? "s" : ""} that
|
|
21290
21285
|
see${this.onlineNeighborIds.length === 1 ? "s" : ""} this device to refresh info.
|
|
21291
21286
|
</p>
|
|
21292
|
-
` : b`
|
|
21293
|
-
<p>No online nodes available that see this device.</p>
|
|
21294
|
-
`}
|
|
21287
|
+
` : b` <p>No online nodes available that see this device.</p> `}
|
|
21295
21288
|
`;
|
|
21296
21289
|
}
|
|
21297
21290
|
render() {
|
|
@@ -21564,35 +21557,36 @@ let NetworkDetails = class extends i$4 {
|
|
|
21564
21557
|
return score(b) - score(a);
|
|
21565
21558
|
}).map(conn => {
|
|
21566
21559
|
return b`
|
|
21567
|
-
|
|
21568
|
-
|
|
21569
|
-
|
|
21570
|
-
|
|
21571
|
-
|
|
21572
|
-
|
|
21573
|
-
|
|
21574
|
-
|
|
21575
|
-
|
|
21576
|
-
|
|
21577
|
-
|
|
21578
|
-
|
|
21579
|
-
|
|
21580
|
-
|
|
21581
|
-
|
|
21582
|
-
|
|
21583
|
-
|
|
21584
|
-
|
|
21585
|
-
|
|
21586
|
-
|
|
21587
|
-
|
|
21588
|
-
|
|
21589
|
-
|
|
21590
|
-
|
|
21591
|
-
|
|
21560
|
+
<div
|
|
21561
|
+
class="neighbor-item clickable"
|
|
21562
|
+
role="button"
|
|
21563
|
+
tabindex="0"
|
|
21564
|
+
@click=${() => this._handleSelectNode(conn.connectedNodeId)}
|
|
21565
|
+
@keydown=${e => this._handleKeyDown(e, conn.connectedNodeId)}
|
|
21566
|
+
>
|
|
21567
|
+
<ha-svg-icon
|
|
21568
|
+
.path=${this._getSignalIconFromColor(conn.signalColor)}
|
|
21569
|
+
style="--icon-primary-color: ${conn.signalColor}"
|
|
21570
|
+
></ha-svg-icon>
|
|
21571
|
+
<div class="neighbor-info">
|
|
21572
|
+
<div class="neighbor-name">
|
|
21573
|
+
${conn.connectedNode ? b`Node ${conn.connectedNodeId}
|
|
21574
|
+
<span class="node-id-hex"
|
|
21575
|
+
>${this._formatNodeIdHex(conn.connectedNodeId)}</span
|
|
21576
|
+
>: ${getDeviceName(conn.connectedNode)}` : b`External:
|
|
21577
|
+
<span class="mono">${conn.extAddressHex}</span>`}
|
|
21578
|
+
</div>
|
|
21579
|
+
<div class="neighbor-signal">
|
|
21580
|
+
${conn.rssi !== null ? b`RSSI: ${conn.rssi} dBm` : A}${conn.rssi !== null && conn.lqi !== null ? ", " : A}${conn.lqi !== null ? b`LQI: ${conn.lqi}` : A}${conn.bidirectionalLqi !== void 0 ? b`<span class="route-info"
|
|
21581
|
+
>, Bidir: ${conn.bidirectionalLqi}</span
|
|
21582
|
+
>` : A}${conn.pathCost !== void 0 ? b`<span class="route-info"
|
|
21583
|
+
>, Cost: ${conn.pathCost}</span
|
|
21584
|
+
>` : A}
|
|
21585
|
+
${!conn.isOutgoing ? b` <span class="direction-hint">(reverse)</span> ` : A}
|
|
21586
|
+
</div>
|
|
21592
21587
|
</div>
|
|
21593
21588
|
</div>
|
|
21594
|
-
|
|
21595
|
-
`;
|
|
21589
|
+
`;
|
|
21596
21590
|
})}
|
|
21597
21591
|
</div>
|
|
21598
21592
|
</div>
|
|
@@ -21660,9 +21654,7 @@ let NetworkDetails = class extends i$4 {
|
|
|
21660
21654
|
_renderUnknownDeviceInfo(deviceId) {
|
|
21661
21655
|
const unknown = this.unknownDevices.get(deviceId);
|
|
21662
21656
|
if (!unknown) {
|
|
21663
|
-
return b`
|
|
21664
|
-
<p>Unknown device data not available</p>
|
|
21665
|
-
`;
|
|
21657
|
+
return b` <p>Unknown device data not available</p> `;
|
|
21666
21658
|
}
|
|
21667
21659
|
return b`
|
|
21668
21660
|
<div class="section">
|
|
@@ -21708,34 +21700,34 @@ let NetworkDetails = class extends i$4 {
|
|
|
21708
21700
|
const rssi = (neighborEntry === null || neighborEntry === void 0 ? void 0 : neighborEntry.avgRssi) ?? (neighborEntry === null || neighborEntry === void 0 ? void 0 : neighborEntry.lastRssi) ?? null;
|
|
21709
21701
|
const lqi = neighborEntry === null || neighborEntry === void 0 ? void 0 : neighborEntry.lqi;
|
|
21710
21702
|
return b`
|
|
21711
|
-
|
|
21712
|
-
|
|
21713
|
-
|
|
21714
|
-
|
|
21715
|
-
|
|
21716
|
-
|
|
21717
|
-
|
|
21718
|
-
${neighborEntry ? b`
|
|
21719
|
-
<ha-svg-icon
|
|
21720
|
-
.path=${this._getSignalIcon(neighborEntry)}
|
|
21721
|
-
style="--icon-primary-color: ${signalColor}"
|
|
21722
|
-
></ha-svg-icon>
|
|
21723
|
-
` : A}
|
|
21724
|
-
<div class="neighbor-info">
|
|
21725
|
-
<div class="neighbor-name">
|
|
21726
|
-
Node ${nodeId}
|
|
21727
|
-
<span class="node-id-hex">${this._formatNodeIdHex(nodeId)}</span>:
|
|
21728
|
-
${getDeviceName(node)}
|
|
21729
|
-
</div>
|
|
21703
|
+
<div
|
|
21704
|
+
class="neighbor-item clickable"
|
|
21705
|
+
role="button"
|
|
21706
|
+
tabindex="0"
|
|
21707
|
+
@click=${() => this._handleSelectNode(nodeId)}
|
|
21708
|
+
@keydown=${e => this._handleKeyDown(e, nodeId)}
|
|
21709
|
+
>
|
|
21730
21710
|
${neighborEntry ? b`
|
|
21731
|
-
<
|
|
21732
|
-
|
|
21733
|
-
|
|
21734
|
-
|
|
21711
|
+
<ha-svg-icon
|
|
21712
|
+
.path=${this._getSignalIcon(neighborEntry)}
|
|
21713
|
+
style="--icon-primary-color: ${signalColor}"
|
|
21714
|
+
></ha-svg-icon>
|
|
21735
21715
|
` : A}
|
|
21716
|
+
<div class="neighbor-info">
|
|
21717
|
+
<div class="neighbor-name">
|
|
21718
|
+
Node ${nodeId}
|
|
21719
|
+
<span class="node-id-hex">${this._formatNodeIdHex(nodeId)}</span>:
|
|
21720
|
+
${getDeviceName(node)}
|
|
21721
|
+
</div>
|
|
21722
|
+
${neighborEntry ? b`
|
|
21723
|
+
<div class="neighbor-signal">
|
|
21724
|
+
${rssi !== null ? b`RSSI: ${rssi} dBm, ` : A}
|
|
21725
|
+
${lqi !== void 0 ? b`LQI: ${lqi}` : A}
|
|
21726
|
+
</div>
|
|
21727
|
+
` : A}
|
|
21728
|
+
</div>
|
|
21736
21729
|
</div>
|
|
21737
|
-
|
|
21738
|
-
`;
|
|
21730
|
+
`;
|
|
21739
21731
|
})}
|
|
21740
21732
|
</div>
|
|
21741
21733
|
</div>
|
|
@@ -21837,9 +21829,7 @@ let NetworkDetails = class extends i$4 {
|
|
|
21837
21829
|
_renderWiFiAccessPointInfo(apId) {
|
|
21838
21830
|
const ap = this.wifiAccessPoints.get(apId);
|
|
21839
21831
|
if (!ap) {
|
|
21840
|
-
return b`
|
|
21841
|
-
<p>Access point data not available</p>
|
|
21842
|
-
`;
|
|
21832
|
+
return b` <p>Access point data not available</p> `;
|
|
21843
21833
|
}
|
|
21844
21834
|
return b`
|
|
21845
21835
|
<div class="section">
|
|
@@ -21871,23 +21861,23 @@ let NetworkDetails = class extends i$4 {
|
|
|
21871
21861
|
const wifiDiag = getWiFiDiagnostics(node);
|
|
21872
21862
|
const signalColor = getSignalColorFromRssi(wifiDiag.rssi);
|
|
21873
21863
|
return b`
|
|
21874
|
-
|
|
21875
|
-
|
|
21876
|
-
|
|
21877
|
-
|
|
21878
|
-
|
|
21879
|
-
|
|
21880
|
-
|
|
21881
|
-
|
|
21882
|
-
|
|
21883
|
-
|
|
21884
|
-
|
|
21864
|
+
<div
|
|
21865
|
+
class="connected-node-item clickable"
|
|
21866
|
+
role="button"
|
|
21867
|
+
tabindex="0"
|
|
21868
|
+
@click=${() => this._handleSelectNode(nodeId)}
|
|
21869
|
+
@keydown=${e => this._handleKeyDown(e, nodeId)}
|
|
21870
|
+
>
|
|
21871
|
+
<div class="node-name">
|
|
21872
|
+
Node ${nodeId}
|
|
21873
|
+
<span class="node-id-hex">${this._formatNodeIdHex(nodeId)}</span>:
|
|
21874
|
+
${getDeviceName(node)}
|
|
21875
|
+
</div>
|
|
21876
|
+
${wifiDiag.rssi !== null ? b`<div class="node-signal" style="color: ${signalColor}">
|
|
21877
|
+
${wifiDiag.rssi} dBm
|
|
21878
|
+
</div>` : A}
|
|
21885
21879
|
</div>
|
|
21886
|
-
|
|
21887
|
-
${wifiDiag.rssi} dBm
|
|
21888
|
-
</div>` : A}
|
|
21889
|
-
</div>
|
|
21890
|
-
`;
|
|
21880
|
+
`;
|
|
21891
21881
|
})}
|
|
21892
21882
|
</div>
|
|
21893
21883
|
</div>
|
|
@@ -30835,9 +30825,7 @@ let ThreadGraph = class extends BaseNetworkGraph {
|
|
|
30835
30825
|
</div>
|
|
30836
30826
|
`;
|
|
30837
30827
|
}
|
|
30838
|
-
return b`
|
|
30839
|
-
<div class="graph-container"></div>
|
|
30840
|
-
`;
|
|
30828
|
+
return b` <div class="graph-container"></div> `;
|
|
30841
30829
|
}
|
|
30842
30830
|
};
|
|
30843
30831
|
ThreadGraph = __decorateClass$6([t$1("thread-graph")], ThreadGraph);
|
|
@@ -30993,9 +30981,7 @@ let WiFiGraph = class extends BaseNetworkGraph {
|
|
|
30993
30981
|
</div>
|
|
30994
30982
|
`;
|
|
30995
30983
|
}
|
|
30996
|
-
return b`
|
|
30997
|
-
<div class="graph-container"></div>
|
|
30998
|
-
`;
|
|
30984
|
+
return b` <div class="graph-container"></div> `;
|
|
30999
30985
|
}
|
|
31000
30986
|
};
|
|
31001
30987
|
WiFiGraph = __decorateClass$5([t$1("wifi-graph")], WiFiGraph);
|
|
@@ -31170,8 +31156,8 @@ let MatterNetworkView = class extends i$4 {
|
|
|
31170
31156
|
</div>
|
|
31171
31157
|
</div>
|
|
31172
31158
|
${this._threadAddressSearchStatus === "idle" ? "" : b`<div class="thread-search-status ${this._threadAddressSearchStatus}">
|
|
31173
|
-
|
|
31174
|
-
|
|
31159
|
+
${this._threadAddressSearchStatus === "found" ? "Node highlighted." : "No matching extended address found."}
|
|
31160
|
+
</div>`}
|
|
31175
31161
|
<thread-graph
|
|
31176
31162
|
.nodes=${this.nodes}
|
|
31177
31163
|
@node-selected=${this._handleNodeSelected}
|
|
@@ -31693,7 +31679,7 @@ MatterNodeView = __decorateClass$3([t$1("matter-node-view")], MatterNodeView);
|
|
|
31693
31679
|
*/
|
|
31694
31680
|
const showCommissionNodeDialog = async client => {
|
|
31695
31681
|
var _document$querySelect;
|
|
31696
|
-
await import('./commission-node-dialog-
|
|
31682
|
+
await import('./commission-node-dialog-C3vakpfo.js');
|
|
31697
31683
|
const dialog = document.createElement("commission-node-dialog");
|
|
31698
31684
|
dialog.client = client;
|
|
31699
31685
|
(_document$querySelect = document.querySelector("matter-dashboard-app")) === null || _document$querySelect === void 0 || _document$querySelect.renderRoot.appendChild(dialog);
|
|
@@ -31736,9 +31722,7 @@ let ServerDetails = class extends i$4 {
|
|
|
31736
31722
|
<md-list-item>
|
|
31737
31723
|
<div slot="headline">
|
|
31738
31724
|
<b>Open Home Foundation Matter Server ${this.client.isProduction ? "" : `(${this.client.serverBaseAddress})`}</b>
|
|
31739
|
-
${this.client.connection.connected ? A : b`
|
|
31740
|
-
<span class="status">OFFLINE</span>
|
|
31741
|
-
`}
|
|
31725
|
+
${this.client.connection.connected ? A : b` <span class="status">OFFLINE</span> `}
|
|
31742
31726
|
</div>
|
|
31743
31727
|
</md-list-item>
|
|
31744
31728
|
<md-list-item>
|
|
@@ -31878,9 +31862,7 @@ let MatterServerView = class extends i$4 {
|
|
|
31878
31862
|
<span class="hex-id"
|
|
31879
31863
|
>(${formatNodeAddress(isTestNodeId(node.node_id) || this.client.serverInfo.fabric_index === void 0 ? void 0 : this.client.serverInfo.fabric_index, node.node_id)})</span
|
|
31880
31864
|
>
|
|
31881
|
-
${node.available ? "" : b`
|
|
31882
|
-
<span class="status">OFFLINE</span>
|
|
31883
|
-
`}
|
|
31865
|
+
${node.available ? "" : b` <span class="status">OFFLINE</span> `}
|
|
31884
31866
|
</div>
|
|
31885
31867
|
<div slot="supporting-text">
|
|
31886
31868
|
${node.nodeLabel ? `${node.nodeLabel} | ` : A} ${node.vendorName} |
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { k as i, G as c, H as clientContext, n, a as e, i as i$1, A, j as b, F as handleAsync, t } from './matter-dashboard-app-
|
|
1
|
+
import { k as i, G as c, H as clientContext, n, a as e, i as i$1, A, j as b, F as handleAsync, t } from './matter-dashboard-app-BiNu4m8W.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.5.
|
|
3
|
+
"version": "0.5.12",
|
|
4
4
|
"description": "Dashboard for OHF Matter Server",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/matter-js/matterjs-server/issues"
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"@babel/preset-env": "^7.29.2",
|
|
26
|
-
"@matter/main": "0.17.0-alpha.0-
|
|
26
|
+
"@matter/main": "0.17.0-alpha.0-20260401-1edc54c9a",
|
|
27
27
|
"@rollup/plugin-babel": "^7.0.0",
|
|
28
28
|
"@rollup/plugin-commonjs": "^29.0.2",
|
|
29
29
|
"rollup-plugin-copy": "^3.5.0",
|
|
@@ -31,14 +31,14 @@
|
|
|
31
31
|
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
32
32
|
"@rollup/plugin-terser": "^1.0.0",
|
|
33
33
|
"@rollup/plugin-typescript": "^12.3.0",
|
|
34
|
-
"rollup": "^4.60.
|
|
34
|
+
"rollup": "^4.60.1",
|
|
35
35
|
"serve": "^14.2.6"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@lit/context": "^1.1.6",
|
|
39
39
|
"@material/web": "^2.4.1",
|
|
40
|
-
"@matter-server/ws-client": "0.5.
|
|
41
|
-
"@matter-server/custom-clusters": "0.5.
|
|
40
|
+
"@matter-server/ws-client": "0.5.12",
|
|
41
|
+
"@matter-server/custom-clusters": "0.5.12",
|
|
42
42
|
"@mdi/js": "^7.4.47",
|
|
43
43
|
"lit": "^3.3.2",
|
|
44
44
|
"tslib": "^2.8.1",
|
|
@@ -24,25 +24,19 @@ export class DialogBox extends LitElement {
|
|
|
24
24
|
return html`
|
|
25
25
|
<md-dialog open @cancel=${preventDefault} @closed=${this._handleClosed}>
|
|
26
26
|
${params.title ? html`<div slot="headline">${params.title}</div>` : ""}
|
|
27
|
-
${
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
? html`<code>${params.text}</code>`
|
|
33
|
-
: params.text
|
|
34
|
-
}
|
|
27
|
+
${params.text
|
|
28
|
+
? html`<div slot="content">
|
|
29
|
+
${params.asCodeBlock && typeof params.text === "string"
|
|
30
|
+
? html`<code>${params.text}</code>`
|
|
31
|
+
: params.text}
|
|
35
32
|
</div>`
|
|
36
|
-
|
|
37
|
-
}
|
|
33
|
+
: ""}
|
|
38
34
|
<div slot="actions">
|
|
39
|
-
${
|
|
40
|
-
|
|
41
|
-
? html`
|
|
35
|
+
${this.type === "prompt"
|
|
36
|
+
? html`
|
|
42
37
|
<md-text-button @click=${this._cancel}>${params.cancelText ?? "Cancel"}</md-text-button>
|
|
43
38
|
`
|
|
44
|
-
|
|
45
|
-
}
|
|
39
|
+
: ""}
|
|
46
40
|
<md-text-button @click=${this._confirm}>${params.confirmText ?? "OK"}</md-text-button>
|
|
47
41
|
</div>
|
|
48
42
|
</md-dialog>
|
|
@@ -25,9 +25,8 @@ export class ComissionNodeDialog extends LitElement {
|
|
|
25
25
|
<md-dialog open @cancel=${preventDefault} @closed=${this._handleClosed}>
|
|
26
26
|
<div slot="headline">Commission node</div>
|
|
27
27
|
<div slot="content" @node-commissioned=${this._nodeCommissioned}>
|
|
28
|
-
${
|
|
29
|
-
|
|
30
|
-
? html`<md-list>
|
|
28
|
+
${!this._mode
|
|
29
|
+
? html`<md-list>
|
|
31
30
|
<md-list-item
|
|
32
31
|
type="button"
|
|
33
32
|
.disabled=${!this.client.serverInfo.bluetooth_enabled}
|
|
@@ -44,18 +43,11 @@ export class ComissionNodeDialog extends LitElement {
|
|
|
44
43
|
>Commission existing device</md-list-item
|
|
45
44
|
>
|
|
46
45
|
</md-list>`
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
? html`
|
|
53
|
-
<commission-node-thread></commission-node-thread>
|
|
54
|
-
`
|
|
55
|
-
: html`
|
|
56
|
-
<commission-node-existing></commission-node-existing>
|
|
57
|
-
`
|
|
58
|
-
}
|
|
46
|
+
: this._mode === "wifi"
|
|
47
|
+
? html` <commission-node-wifi></commission-node-wifi> `
|
|
48
|
+
: this._mode === "thread"
|
|
49
|
+
? html` <commission-node-thread></commission-node-thread> `
|
|
50
|
+
: html` <commission-node-existing></commission-node-existing> `}
|
|
59
51
|
</div>
|
|
60
52
|
<div slot="actions">
|
|
61
53
|
<md-text-button @click=${this._close}>Cancel</md-text-button>
|
|
@@ -33,13 +33,7 @@ export class CommissionNodeExisting extends LitElement {
|
|
|
33
33
|
<br />
|
|
34
34
|
<md-outlined-button @click=${handleAsync(() => this._commissionNode())} .disabled="${this._loading}"
|
|
35
35
|
>Commission</md-outlined-button
|
|
36
|
-
>${
|
|
37
|
-
this._loading
|
|
38
|
-
? html`
|
|
39
|
-
<md-circular-progress indeterminate></md-circular-progress>
|
|
40
|
-
`
|
|
41
|
-
: nothing
|
|
42
|
-
}`;
|
|
36
|
+
>${this._loading ? html` <md-circular-progress indeterminate></md-circular-progress> ` : nothing}`;
|
|
43
37
|
}
|
|
44
38
|
|
|
45
39
|
private async _commissionNode() {
|
|
@@ -37,34 +37,26 @@ export class CommissionNodeThread extends LitElement {
|
|
|
37
37
|
<br />
|
|
38
38
|
<md-outlined-button @click=${handleAsync(() => this._setThreadDataset())} .disabled="${this._loading}"
|
|
39
39
|
>Set Thread Dataset</md-outlined-button
|
|
40
|
-
>${
|
|
41
|
-
this._loading
|
|
42
|
-
? html`
|
|
43
|
-
<md-circular-progress indeterminate></md-circular-progress>
|
|
44
|
-
`
|
|
45
|
-
: nothing
|
|
46
|
-
}`;
|
|
40
|
+
>${this._loading ? html` <md-circular-progress indeterminate></md-circular-progress> ` : nothing}`;
|
|
47
41
|
}
|
|
48
42
|
return html`<md-outlined-text-field label="Pairing code" .disabled="${this._loading}"> </md-outlined-text-field>
|
|
49
43
|
<br />
|
|
50
44
|
<br />
|
|
51
45
|
<md-outlined-button @click=${handleAsync(() => this._commissionNode())} .disabled="${this._loading}"
|
|
52
46
|
>Commission</md-outlined-button
|
|
53
|
-
>${
|
|
54
|
-
this._loading
|
|
55
|
-
? html`
|
|
56
|
-
<md-circular-progress indeterminate></md-circular-progress>
|
|
57
|
-
`
|
|
58
|
-
: nothing
|
|
59
|
-
}`;
|
|
47
|
+
>${this._loading ? html` <md-circular-progress indeterminate></md-circular-progress> ` : nothing}`;
|
|
60
48
|
}
|
|
61
49
|
|
|
62
50
|
private async _setThreadDataset() {
|
|
63
|
-
const dataset = this._datasetField.value;
|
|
51
|
+
const dataset = this._datasetField.value.trim();
|
|
64
52
|
if (!dataset) {
|
|
65
53
|
alert("Dataset is required");
|
|
66
54
|
return;
|
|
67
55
|
}
|
|
56
|
+
if (!/^[0-9a-fA-F]*$/.test(dataset) || dataset.length % 2 !== 0) {
|
|
57
|
+
alert("Invalid Thread dataset: must be a hex string with even length (each byte is two hex characters)");
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
68
60
|
this._loading = true;
|
|
69
61
|
try {
|
|
70
62
|
await this.client.setThreadOperationalDataset(dataset);
|
|
@@ -40,24 +40,16 @@ export class CommissionNodeWifi extends LitElement {
|
|
|
40
40
|
<br />
|
|
41
41
|
<md-outlined-button @click=${handleAsync(() => this._setWifiCredentials())} .disabled="${this._loading}"
|
|
42
42
|
>Set WiFi Credentials</md-outlined-button
|
|
43
|
-
>${
|
|
44
|
-
this._loading
|
|
45
|
-
|
|
46
|
-
: nothing
|
|
47
|
-
}`;
|
|
43
|
+
>${this._loading
|
|
44
|
+
? html`<md-circular-progress indeterminate .visible="${this._loading}"></md-circular-progress>`
|
|
45
|
+
: nothing}`;
|
|
48
46
|
}
|
|
49
47
|
return html`<md-outlined-text-field label="Pairing code" .disabled="${this._loading}"> </md-outlined-text-field>
|
|
50
48
|
<br />
|
|
51
49
|
<br />
|
|
52
50
|
<md-outlined-button @click=${handleAsync(() => this._commissionNode())} .disabled="${this._loading}"
|
|
53
51
|
>Commission</md-outlined-button
|
|
54
|
-
>${
|
|
55
|
-
this._loading
|
|
56
|
-
? html`
|
|
57
|
-
<md-circular-progress indeterminate></md-circular-progress>
|
|
58
|
-
`
|
|
59
|
-
: nothing
|
|
60
|
-
}`;
|
|
52
|
+
>${this._loading ? html` <md-circular-progress indeterminate></md-circular-progress> ` : nothing}`;
|
|
61
53
|
}
|
|
62
54
|
|
|
63
55
|
private async _setWifiCredentials() {
|