From 846807965c1bd340e3b301cd05e6061a5e5e3887 Mon Sep 17 00:00:00 2001 From: serversdown Date: Mon, 8 Jun 2026 21:31:52 +0000 Subject: [PATCH] feat(slm): replace Lmin/Lpeak with configurable Ln1/Ln2 percentile slots MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Live SLM display (dashboard + unit detail) now shows two configurable percentile slots instead of Lmin/Lpeak. Values come from `ln1`/`ln2`; labels come from `ln1_label`/`ln2_label` (default L1/L10), so a future job can reconfigure the device's Ln slots to any percentile without a Terra-View redeploy. Contract for SLMM: emit ln1/ln2 (+ optional ln1_label/ln2_label) in both the /status data dict and the DRD stream payload. No Terra-View Python changes needed — proxy WS and current_status are transparent passthroughs. Co-Authored-By: Claude Opus 4.8 (1M context) --- templates/partials/slm_live_view.html | 26 ++++++++++++++++---------- templates/sound_level_meters.html | 14 ++++++++------ 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/templates/partials/slm_live_view.html b/templates/partials/slm_live_view.html index 0684d97..dc5e363 100644 --- a/templates/partials/slm_live_view.html +++ b/templates/partials/slm_live_view.html @@ -173,17 +173,17 @@
-

Lmin (Min)

-

- {% if current_status and current_status.lmin %}{{ current_status.lmin }}{% else %}--{% endif %} +

{% if current_status and current_status.ln1_label %}{{ current_status.ln1_label }}{% else %}L1{% endif %}

+

+ {% if current_status and current_status.ln1 %}{{ current_status.ln1 }}{% else %}--{% endif %}

dB

-

Lpeak (Peak)

-

- {% if current_status and current_status.lpeak %}{{ current_status.lpeak }}{% else %}--{% endif %} +

{% if current_status and current_status.ln2_label %}{{ current_status.ln2_label }}{% else %}L10{% endif %}

+

+ {% if current_status and current_status.ln2 %}{{ current_status.ln2 }}{% else %}--{% endif %}

dB

@@ -570,11 +570,17 @@ function updateLiveMetrics(data) { if (document.getElementById('live-lmax')) { document.getElementById('live-lmax').textContent = data.lmax || '--'; } - if (document.getElementById('live-lmin')) { - document.getElementById('live-lmin').textContent = data.lmin || '--'; + if (document.getElementById('live-ln1')) { + document.getElementById('live-ln1').textContent = data.ln1 || '--'; } - if (document.getElementById('live-lpeak')) { - document.getElementById('live-lpeak').textContent = data.lpeak || '--'; + if (data.ln1_label && document.getElementById('live-ln1-label')) { + document.getElementById('live-ln1-label').textContent = data.ln1_label; + } + if (document.getElementById('live-ln2')) { + document.getElementById('live-ln2').textContent = data.ln2 || '--'; + } + if (data.ln2_label && document.getElementById('live-ln2-label')) { + document.getElementById('live-ln2-label').textContent = data.ln2_label; } } diff --git a/templates/sound_level_meters.html b/templates/sound_level_meters.html index a843612..b1f0407 100644 --- a/templates/sound_level_meters.html +++ b/templates/sound_level_meters.html @@ -81,14 +81,14 @@
-

Lmin (Min)

-

--

+

L1

+

--

dB

-

Lpeak (Peak)

-

--

+

L10

+

--

dB

@@ -322,8 +322,10 @@ function updateDashboardMetrics(data) { document.getElementById('chart-lp').textContent = data.lp || '--'; document.getElementById('chart-leq').textContent = data.leq || '--'; document.getElementById('chart-lmax').textContent = data.lmax || '--'; - document.getElementById('chart-lmin').textContent = data.lmin || '--'; - document.getElementById('chart-lpeak').textContent = data.lpeak || '--'; + document.getElementById('chart-ln1').textContent = data.ln1 || '--'; + document.getElementById('chart-ln2').textContent = data.ln2 || '--'; + if (data.ln1_label) document.getElementById('chart-ln1-label').textContent = data.ln1_label; + if (data.ln2_label) document.getElementById('chart-ln2-label').textContent = data.ln2_label; } function updateDashboardChart(data) {