Web: rework Info panel to show Hardware instead of Client Version

Replace the two Info panel fields so they surface more useful
device identity information on login:

- First field: renamed from "Version" (id: versionValue, cmd: ver)
  to "Hardware" (id: hardware, cmd: board), showing the board
  identifier rather than the firmware version string.

- Second field: renamed from "Client Version" (id: clientVersionValue,
  cmd: get mqtt.client_version) to "Firmware" (id: firmware, cmd: ver),
  showing the firmware version string.

"Client Version" was a static MQTT protocol identifier string used
internally in MQTT status payloads published to brokers.  It tracks
the firmware build but carries no additinal information for a
user.  It remains accessible via the Quick "get" Commands panel
(get mqtt.client_version).
This commit is contained in:
Valentin V. Bartenev
2026-05-09 17:35:50 +03:00
parent a6f01d544e
commit 34192fa884
+6 -6
View File
@@ -609,15 +609,15 @@ const char kWebPanelAppHtml[] PROGMEM = R"HTML(
<div class="stack">
<div class="row">
<div class="field-card">
<label class="label" for="versionValue">Version</label>
<label class="label" for="hardware">Hardware</label>
<div class="fieldline">
<input id="versionValue" readonly disabled>
<input id="hardware" readonly disabled>
</div>
</div>
<div class="field-card">
<label class="label" for="clientVersionValue">Client Version</label>
<label class="label" for="firmware">Firmware</label>
<div class="fieldline">
<input id="clientVersionValue" readonly disabled>
<input id="firmware" readonly disabled>
</div>
</div>
</div>
@@ -2516,8 +2516,8 @@ const char kWebPanelAppHtml[] PROGMEM = R"HTML(
const quiet = { recordHistory:false, updateInput:false };
try {
await loadSection("Loading info...", [
() => loadField("ver", "versionValue", null, quiet),
() => loadField("get mqtt.client_version", "clientVersionValue", null, quiet),
() => loadField("board", "hardware", null, quiet),
() => loadField("ver", "firmware", null, quiet),
() => loadField("clock", "clockUtc", null, quiet),
() => loadField("get public.key", "publicKey", "uppercase", quiet)
]);