From 144d298efa3716e993660d3ccbf06e20c4afc1b9 Mon Sep 17 00:00:00 2001 From: Mikhail Chusavitin Date: Tue, 24 Feb 2026 18:22:38 +0300 Subject: [PATCH] Show total current PSU power and rely on server voltage status --- web/static/js/app.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/web/static/js/app.js b/web/static/js/app.js index 05327c8..4af7f91 100644 --- a/web/static/js/app.js +++ b/web/static/js/app.js @@ -805,12 +805,23 @@ function renderConfig(data) { const psuOK = powerSupplies.filter(p => p.status === 'OK').length; const psuModel = powerSupplies[0].model || '-'; const psuWattage = powerSupplies[0].wattage_w || 0; + const psuCurrentPowerW = powerSupplies.reduce((sum, psu) => { + if (Number.isFinite(psu.output_power_w) && psu.output_power_w > 0) { + return sum + psu.output_power_w; + } + if (Number.isFinite(psu.input_power_w) && psu.input_power_w > 0) { + return sum + psu.input_power_w; + } + return sum; + }, 0); + const psuCurrentPowerLabel = psuCurrentPowerW > 0 ? `${psuCurrentPowerW}W` : '-'; html += `

Блоки питания

${psuTotal}Всего
${psuPresent}Подключено
${psuOK}Работает
${psuWattage}WМощность
+
${psuCurrentPowerLabel}Текущая суммарная
${escapeHtml(psuModel)}Модель
`; @@ -1111,9 +1122,9 @@ function renderSensors(sensors) { valueStr = s.status; } - // Highlight PSU mains voltage deviations from nominal 230V (±10%). + // Server computes PSU voltage range status; UI only reflects it. let extraClass = ''; - if (isPSUVoltage && Number.isFinite(s.value) && (s.value < 207 || s.value > 253)) { + if (isPSUVoltage && s.status === 'warn') { extraClass = ' voltage-out-of-range'; }
СлотПроизводительМодельМощностьВходВыходНапряжениеТемператураСтатус