Dusan Vojacek
4095f0f912
CI and deploy / migration-check (push) Successful in 19s
CI and deploy / deploy (push) Successful in 56s
EV spotřební forecast: týdenní rytmus vozidla → target SoC a deadline session
Myšlenka uživatele: pondělní služebka ~150 km (~35 kWh) chce skoro plnou,
konec týdne stačí míň, víkend = levné sloty na přípravu pondělka.
- V089: ev_vehicle_obs (odometer+SoC při příjezdu/ODJEZDU — auto v obou
okamžicích vzhůru, žádné buzení navíc), ev_trip (km z odometru, kWh z ΔSoC;
nabíjení cestou → charged_away flag), ev_usage_stats per (vozidlo, DOW);
asset_vehicle: target_soc_forecast_enabled (default false), min_target_soc_pct
- R__096: fn_ev_build_trips (párování), fn_update_ev_usage_stats (job 00:50),
fn_ev_next_departure (příští typický odjezd, >=4 vzorky, >=3 km),
fn_ev_required_soc (P80 spotřeby dne + 10 p.b., clamp [min_target, 100])
- R__016: session při příjezdu bere forecast target+deadline (za per-vozidlo
flagem, fallback defaulty, ruční patch vždy vyhrává) → víkendová session
s pondělním deadline = v2 solver přirozeně nabije v levných slotech
- tesla_client: + vehicle_state endpoint (odometer v MÍLÍCH → km), collector:
departure hook, lifespan: job 00:50
Aktivace po nasbírání dat: update asset_vehicle set target_soc_forecast_enabled=true.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 09:06:10 +02:00
..
2026-06-11 22:51:38 +02:00
2026-06-12 00:27:00 +02:00
2026-04-19 20:15:46 +02:00
2026-04-19 20:15:46 +02:00
2026-04-19 20:15:46 +02:00
2026-04-19 20:15:46 +02:00
2026-04-19 20:15:46 +02:00
2026-04-19 20:15:46 +02:00
2026-04-19 20:15:46 +02:00
2026-05-01 14:58:29 +02:00
2026-05-01 14:58:29 +02:00
2026-04-19 20:15:46 +02:00
2026-04-19 20:15:46 +02:00
2026-06-11 23:29:24 +02:00
2026-06-12 09:06:10 +02:00
2026-04-19 20:15:46 +02:00
2026-04-19 20:15:46 +02:00
2026-05-21 10:37:32 +02:00
2026-05-01 14:58:29 +02:00
2026-04-19 20:15:46 +02:00
2026-04-19 20:15:46 +02:00
2026-05-21 10:37:32 +02:00
2026-04-27 18:27:27 +02:00
2026-04-19 20:15:46 +02:00
2026-04-19 20:15:46 +02:00
2026-04-19 20:15:46 +02:00
2026-04-19 20:15:46 +02:00
2026-04-19 20:15:46 +02:00
2026-04-19 20:15:46 +02:00
2026-04-19 20:15:46 +02:00
2026-04-29 13:48:13 +02:00
2026-04-19 20:15:46 +02:00
2026-05-21 10:37:32 +02:00
2026-05-24 22:44:21 +02:00
2026-04-19 20:15:46 +02:00
2026-04-19 20:15:46 +02:00
2026-05-24 22:44:21 +02:00
2026-04-19 20:15:46 +02:00
2026-05-26 08:07:00 +02:00
2026-04-19 23:10:25 +02:00
2026-04-19 20:15:46 +02:00
2026-04-19 20:15:46 +02:00
2026-05-05 12:18:27 +02:00
2026-04-20 11:11:47 +02:00
2026-04-19 20:15:46 +02:00
2026-04-22 22:42:12 +02:00
2026-06-11 22:10:46 +02:00
2026-04-19 20:15:46 +02:00
2026-04-22 23:02:14 +02:00
2026-05-01 14:58:29 +02:00
2026-06-06 22:32:48 +02:00
2026-04-27 18:42:06 +02:00
2026-04-19 20:15:46 +02:00
2026-04-27 19:13:16 +02:00
2026-04-27 18:48:04 +02:00
2026-05-01 14:58:29 +02:00
2026-04-27 19:47:18 +02:00
2026-04-27 19:47:18 +02:00
2026-04-19 20:42:53 +02:00
2026-04-19 21:09:48 +02:00
2026-04-27 20:09:40 +02:00
2026-05-29 00:14:52 +02:00
2026-04-20 11:11:47 +02:00
2026-05-02 14:05:09 +02:00
2026-04-27 20:09:40 +02:00
2026-04-29 14:17:24 +02:00
2026-04-29 14:17:24 +02:00
2026-05-25 11:25:29 +02:00
2026-05-02 09:31:45 +02:00
2026-05-02 13:56:35 +02:00
2026-05-02 14:09:52 +02:00
2026-05-04 19:04:48 +02:00
2026-05-21 10:37:32 +02:00
2026-05-05 12:13:07 +02:00
2026-05-21 10:37:32 +02:00
2026-06-06 22:23:59 +02:00
2026-05-29 00:04:48 +02:00
2026-06-11 22:37:42 +02:00
2026-06-11 22:37:42 +02:00
2026-06-11 23:29:24 +02:00
2026-06-12 09:06:10 +02:00