Dusan Vojacek
c03f9dd9d6
feat(ev): proaktivní notifikace 'píchni auto' (default-off)
...
job ev_presence_notify + fn_ev_presence_nudge_due (SQL-first rozhodnutí+dedup);
asset_vehicle.presence_nudge_enabled default false=inertní (V110). Worktree agent.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-14 22:55:17 +02:00
Dusan Vojacek
f70111f44b
feat(pool): řízení bazénu Phase 1 — nejlevnější okno + dump-load (bez solveru)
...
fn_pool_schedule_slot: nejlevnější souvislé okno denního runtime budgetu
(fn_pool_daily_runtime_min) z vw_site_effective_price + dump-load při sell<=0.
fn_pool_control_tick: každých 15 min spočte stav a zařadí POOL_PUMP_ON (jen když
existuje signal_route → bezpečné před aktivací). lifespan job pool_control.
Shelly přes signal_service, žádné Modbus. Bazál odečet (R__003) se tím stává
správným (řízená+plánovaná zátěž). Aktivace provozně: daily_runtime_min=480,
schedulable, signal_route.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-14 22:00:49 +02:00
Dusan Vojacek
11767dfdbd
HOTFIX výkon: delta-profile cache 44 s/site se přepočítávala každých 15 min
...
CI and deploy / deploy (push) Has been cancelled
CI and deploy / migration-check (push) Has been cancelled
fn_fill_forecast_accuracy (tick :02/:17/:32/:47, 4 lokality) na konci volá
fn_refresh_site_pv_delta_profile_cache → fn_pv_forecast_delta_profile =
agregace 120 dní nad 4.1M řádky forecast_accuracy = ~44 s/site na prod
→ ~3 minuty plné DB zátěže KAŽDOU čtvrthodinu → timeouty /sites a
/health/detailed (30 s), celodenní 'pomalý server'.
Fix: (1) cache refresh throttle 6 h přes delta_profile_cached_at (+p_force;
profil má 14d poločas — 4×/den bohatě stačí); (2) 15min tick lookback
48→3 h (insert část); (3) denní 48h catch-up job 05:50.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 14:25:27 +02:00
Dusan Vojacek
0e7f7b69ae
Discord bot fáze B: tlačítka na EV zprávě → patch session + okamžitý replan
...
CI and deploy / migration-check (push) Successful in 21s
CI and deploy / deploy (push) Has been skipped
services/discord_bot.py: gateway klient jako lifespan task (spojení ven,
žádný veřejný endpoint; bez DISCORD_BOT_TOKEN tiše spí). Tlačítka
[za 2h][za 4h][ráno][do plna][nenabíjet] s custom_id ev:<site>:<charger>:<akce>
(přežijí restart); whitelist DISCORD_ALLOWED_USER_IDS; akce = fn_ev_session_
apply_patch → run_rolling_replan → export_setpoints → edit zprávy novým plánem.
services/ev_notify.py: sdílený builder souhrnu (vyčleněno z collectoru),
send bot-first s webhook fallbackem. requirements: discord.py>=2.4.
7 testů helperů (parse, deadline akce vč. morning přes Prague TZ).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 11:41:05 +02:00
Dusan Vojacek
4095f0f912
EV spotřební forecast: týdenní rytmus vozidla → target SoC a deadline session
...
CI and deploy / migration-check (push) Successful in 19s
CI and deploy / deploy (push) Successful in 56s
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
Dusan Vojacek
50a0ca95f4
implementace LED loxone u zaporncyh cen
CI and deploy / migration-check (push) Failing after 10s
CI and deploy / deploy (push) Has been skipped
2026-04-26 22:49:47 +02:00
Dusan Vojacek
1d04790f28
extend webhook per site
CI and deploy / migration-check (push) Failing after 14s
CI and deploy / deploy (push) Has been skipped
2026-04-26 22:04:48 +02:00
Dusan Vojacek
ffe80679cc
move OTE import na 13:25 a 13:12
CI and deploy / migration-check (push) Failing after 12s
CI and deploy / deploy (push) Has been skipped
2026-04-20 13:20:05 +02:00
Dusan Vojacek
a07f5d57cb
fix 500
CI and deploy / migration-check (push) Failing after 10s
CI and deploy / deploy (push) Has been skipped
2026-04-20 11:11:47 +02:00
Dusan Vojacek
e3776226a4
implmentace plan guardu
CI and deploy / migration-check (push) Failing after 17s
CI and deploy / deploy (push) Has been skipped
2026-04-19 23:10:25 +02:00
Dusan Vojacek
f48a7aad61
zkraceni intervalu planneru na max 35h
CI and deploy / migration-check (push) Failing after 13s
CI and deploy / deploy (push) Has been skipped
2026-04-19 21:09:48 +02:00
Dusan Vojacek
014c6f193b
refactor main.py
CI and deploy / migration-check (push) Failing after 17s
CI and deploy / deploy (push) Has been skipped
2026-04-19 20:42:53 +02:00