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 ## 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). - Tři perspektivní karty (FVE / síť / baterie).
- Tabulka dnů s rozbalením na 15min intervaly. - Tabulka dnů s rozbalením na 15min intervaly.

View File

@@ -10,11 +10,17 @@ export type FlowTotals = {
grid_to_batt_kwh: number 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 = [ const NODES = [
{ id: 'FVE' }, { id: 'FVE' },
{ id: 'Síť' }, { id: 'Import ze sítě' },
{ id: 'Baterie' }, { id: 'Baterie' },
{ id: 'Spotřeba' }, { id: 'Spotřeba' },
{ id: 'Export do sítě' },
] as const ] as const
function buildLinks(t: FlowTotals): { source: string; target: string; value: number }[] { 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', 'Spotřeba', t.pv_to_load_kwh)
add('FVE', 'Baterie', t.pv_to_batt_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', 'Spotřeba', t.batt_to_load_kwh)
add('Baterie', 'Síť', t.batt_to_grid_kwh) add('Baterie', 'Export do sítě', t.batt_to_grid_kwh)
add('Síť', 'Spotřeba', t.grid_to_load_kwh) add('Import ze sítě', 'Spotřeba', t.grid_to_load_kwh)
add('Síť', 'Baterie', t.grid_to_batt_kwh) add('Import ze sítě', 'Baterie', t.grid_to_batt_kwh)
return out return out
} }