feat(ev): geofence arrival trigger (default-off)

ev_vehicle_obs.trigger += 'geofence_arrival' (V109); presence cesta zapíše příjezd
i bez píchnutí (za flagem EV_GEOFENCE_ARRIVAL_OBS_ENABLED, default OFF); fn_ev_build_trips
páruje. Constraint name ověřen živě. Worktree agent.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dusan Vojacek
2026-06-14 22:55:17 +02:00
parent a32839bf67
commit fc6d9833a7
3 changed files with 115 additions and 1 deletions

View File

@@ -44,7 +44,7 @@ begin
select a.* into v_arr
from ems.ev_vehicle_obs a
where a.vehicle_id = r.vehicle_id
and a.trigger = 'arrival'
and a.trigger in ('arrival', 'geofence_arrival')
and a.observed_at > r.observed_at
and a.odometer_km is not null
order by a.observed_at
@@ -79,6 +79,9 @@ begin
end;
$fn$;
comment on function ems.fn_ev_build_trips is
'Spáruje každý nespárovaný odjezd (trigger=departure) s nejbližším následujícím příjezdem téhož vozidla. Příjezd = trigger ''arrival'' (wallbox plug-in, autoritativní) NEBO ''geofence_arrival'' (Tesla poloha, auto přijelo domů nepíchnuté). km z odometru, kWh z ΔSoC.';
-- Přepočet týdenního rytmu z jízd za lookback okno (plný přepočet, ne EMA —
-- rebuild-friendly; jízdy s nabíjením cestou se počítají do km, ne do kWh).
create or replace function ems.fn_update_ev_usage_stats(