fix sankey
All checks were successful
deploy / deploy (push) Successful in 1m17s
test / smoke-test (push) Successful in 3s

This commit is contained in:
Dusan Vojacek
2026-04-10 22:42:10 +02:00
parent f714cab0ab
commit 74ffa5c3e7
2 changed files with 12 additions and 6 deletions

View File

@@ -28,7 +28,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 zvolený měsíc.
- Sankey (`@nivo/sankey`) součet toků za zvolený měsíc. 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).
- Tabulka dnů s rozbalením na 15min intervaly.

View File

@@ -10,11 +10,17 @@ export type FlowTotals = {
grid_to_batt_kwh: number
}
/**
* d3-sankey vyžaduje acyklický graf. Jeden uzel „Síť“ vede na cyklus
* Síť→Baterie (nabíjení) a Baterie→Síť (export) → „circular link“.
* Rozdělení na Import (zdroj) a Export (stok) cyklus odstraní.
*/
const NODES = [
{ id: 'FVE' },
{ id: 'Síť' },
{ id: 'Import ze sítě' },
{ id: 'Baterie' },
{ id: 'Spotřeba' },
{ id: 'Export do sítě' },
] as const
function buildLinks(t: FlowTotals): { source: string; target: string; value: number }[] {
@@ -24,11 +30,11 @@ function buildLinks(t: FlowTotals): { source: string; target: string; value: num
}
add('FVE', 'Spotřeba', t.pv_to_load_kwh)
add('FVE', 'Baterie', t.pv_to_batt_kwh)
add('FVE', 'Síť', t.pv_to_grid_kwh)
add('FVE', 'Export do sítě', t.pv_to_grid_kwh)
add('Baterie', 'Spotřeba', t.batt_to_load_kwh)
add('Baterie', 'Síť', t.batt_to_grid_kwh)
add('Síť', 'Spotřeba', t.grid_to_load_kwh)
add('Síť', 'Baterie', t.grid_to_batt_kwh)
add('Baterie', 'Export do sítě', t.batt_to_grid_kwh)
add('Import ze sítě', 'Spotřeba', t.grid_to_load_kwh)
add('Import ze sítě', 'Baterie', t.grid_to_batt_kwh)
return out
}