diff --git a/templates/partials/slm_live_view.html b/templates/partials/slm_live_view.html index dc5e363..0779dac 100644 --- a/templates/partials/slm_live_view.html +++ b/templates/partials/slm_live_view.html @@ -570,14 +570,17 @@ function updateLiveMetrics(data) { if (document.getElementById('live-lmax')) { document.getElementById('live-lmax').textContent = data.lmax || '--'; } - if (document.getElementById('live-ln1')) { - document.getElementById('live-ln1').textContent = data.ln1 || '--'; + // Only update Ln values when the frame actually carries them. DRD stream + // frames omit percentiles (DOD-only), so without this guard a live stream + // would blank L1/L10 over the values rendered from the cached DOD snapshot. + if (data.ln1 != null && document.getElementById('live-ln1')) { + document.getElementById('live-ln1').textContent = data.ln1; } 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 != null && 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 b1f0407..697f6e7 100644 --- a/templates/sound_level_meters.html +++ b/templates/sound_level_meters.html @@ -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-ln1').textContent = data.ln1 || '--'; - document.getElementById('chart-ln2').textContent = data.ln2 || '--'; + // Guard: DRD stream frames omit percentiles, so only overwrite when present + // (else the live stream blanks L1/L10 over the cached DOD snapshot values). + if (data.ln1 != null) document.getElementById('chart-ln1').textContent = data.ln1; + if (data.ln2 != null) 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; }