- fn_fill_audit_interval: EV a TČ agregace sum(power_w)/15 místo avg přes
přítomné řádky — avg by při řídké telemetrii nadhodnotil aktivitu části
slotu; chybějící minuta = 0 W (idle). TČ drží NULL bez power_w (MIM-B19N).
- fn_update_tuv_usage_stats: delta TUV normalizovaná na °C/min délkou mezery
mezi řádky (gap_min), mezery > 30 min vyloučeny; pro hustá 1min data
numericky identické s původním LAG.
- vw_pool_pump_day_energy: komentář — on_minutes drží invariant „zapnuté
čerpadlo se ukládá každou minutu".
Pro hustá 1min data beze změny výsledků; připravuje idle-skip zápisů
v telemetry_collector (navazující commit).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- R__097: vw_latest_pool_pump + vw_pool_pump_day_energy (denní kWh z delty
čítače, minuty běhu) + ems_anon granty
- PoolCard na Dashboardu: stav/W/dnešní kWh+hodiny/7denní mini sloupce
- _notify_ev_arrival_plan: po příjezdu EV Discord souhrn (SoC auta → cíl,
deadline, nabíjecí okna shlukovaná ze slotů aktivního plánu, ø cena)
- docs/discord-ev-interaction.md: fáze B (bot s tlačítky přes gateway —
žádný veřejný endpoint; čeká na DISCORD_BOT_TOKEN od uživatele)
- docs: pool-shelly + ev-charging aktualizovány (pravidlo docs 1:1)
První commit na dev větvi (nová kadence: deploy až s milníkovým merge).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
DISTINCT ON třídilo ~195k/277k řádků hypertable při každém čtení
(fn_site_full_status 1.7 s). LATERAL limit 1 per zařízení jde po PK indexu.
Ověřeno na živé DB: identické výsledky, inverter 508→56 ms, EV 460→75 ms.
EV konektory: discovery za 30 dní (tabulka konektorů neexistuje; mrtvý
konektor po 30 dnech z latest pohledu zmizí — vědomá změna sémantiky).
Sloupce i pořadí beze změny (create or replace view kompatibilní).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>