flow - pridana perspektiva loadu
All checks were successful
deploy / deploy (push) Successful in 1m16s
test / smoke-test (push) Successful in 3s

This commit is contained in:
Dusan Vojacek
2026-04-10 22:54:20 +02:00
parent a65d134682
commit 44ab3783ce
2 changed files with 23 additions and 3 deletions

View File

@@ -29,7 +29,7 @@ Základní 6 Wh veličin (import/export, PV, baterie, load) zůstává ve Fázi
## UI
- Sankey (`@nivo/sankey`) součet toků za **celý měsíc** nebo za **jeden vybraný den** (rozbalovací pole „Graf a karty“; klik na název dne v tabulce také přepne den). Síť je ve vizualizaci rozdělena na **Import ze sítě** a **Export do sítě** (jinak by vznikl cyklus síť↔baterie a knihovna hlásí „circular link“).
- Tři perspektivní karty (FVE / síť / baterie).
- Čtyři perspektivní karty (FVE / síť / baterie / spotřeba — odkud šla energie do odběru).
- Tabulka dnů s rozbalením na 15min intervaly.
## Backfill

View File

@@ -239,7 +239,7 @@ export default function EnergyFlows() {
)}
{totals && (
<div className="grid gap-3 sm:grid-cols-3">
<div className="grid gap-3 sm:grid-cols-2 xl:grid-cols-4">
<div className="rounded-xl border border-slate-800 bg-slate-900 p-4">
<p className="text-xs font-medium uppercase tracking-wide text-amber-400">Perspektiva FVE</p>
<p className="mt-2 text-2xl font-semibold text-white">{totals.pv_production_kwh.toFixed(1)} kWh</p>
@@ -276,6 +276,26 @@ export default function EnergyFlows() {
)}
</ul>
</div>
<div className="rounded-xl border border-slate-800 bg-slate-900 p-4">
<p className="text-xs font-medium uppercase tracking-wide text-violet-400">Perspektiva spotřeby</p>
<p className="mt-2 text-2xl font-semibold text-white">{totals.load_kwh.toFixed(1)} kWh</p>
<p className="mt-1 text-xs text-slate-500">Celkový odběr (model z telemetrie)</p>
<ul className="mt-2 space-y-1 text-xs text-slate-400">
<li>
Z FVE: <span className="text-amber-200/90">{totals.pv_to_load_kwh.toFixed(2)}</span> kWh
</li>
<li>
Z baterie: <span className="text-emerald-200/90">{totals.batt_to_load_kwh.toFixed(2)}</span> kWh
</li>
<li>
Ze sítě (import): <span className="text-sky-200/90">{totals.grid_to_load_kwh.toFixed(2)}</span> kWh
</li>
</ul>
<p className="mt-2 border-t border-slate-800 pt-2 text-[11px] leading-snug text-slate-500">
Součet tří toků odpovídá modelu prioritní alokace; může se mírně lišit od sloupce Spotřeba kvůli
zaokrouhlení po 15min intervalech.
</p>
</div>
</div>
)}
@@ -325,7 +345,7 @@ export default function EnergyFlows() {
className={`rounded px-1 text-left underline-offset-2 hover:underline ${
scopeDay === row.day ? 'text-amber-300' : ''
}`}
title="Zobrazit tento den v Sankey a v kartách"
title="Zobrazit tento den v Sankey a ve všech kartách"
onClick={(e) => {
e.stopPropagation()
setScopeDay(row.day)