flow - pridana perspektiva loadu
This commit is contained in:
@@ -29,7 +29,7 @@ Základní 6 Wh veličin (import/export, PV, baterie, load) zůstává ve Fázi
|
|||||||
## UI
|
## 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“).
|
- 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.
|
- Tabulka dnů s rozbalením na 15min intervaly.
|
||||||
|
|
||||||
## Backfill
|
## Backfill
|
||||||
|
|||||||
@@ -239,7 +239,7 @@ export default function EnergyFlows() {
|
|||||||
)}
|
)}
|
||||||
|
|
||||||
{totals && (
|
{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">
|
<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="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>
|
<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>
|
</ul>
|
||||||
</div>
|
</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>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
@@ -325,7 +345,7 @@ export default function EnergyFlows() {
|
|||||||
className={`rounded px-1 text-left underline-offset-2 hover:underline ${
|
className={`rounded px-1 text-left underline-offset-2 hover:underline ${
|
||||||
scopeDay === row.day ? 'text-amber-300' : ''
|
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) => {
|
onClick={(e) => {
|
||||||
e.stopPropagation()
|
e.stopPropagation()
|
||||||
setScopeDay(row.day)
|
setScopeDay(row.day)
|
||||||
|
|||||||
Reference in New Issue
Block a user