This page explains what Gridio actually does between the moment a vehicle plugs in and the moment it's ready. It is the why behind the configuration described in Setting up smart charging and Per-location charging windows.
Gridio is a deadline-driven optimiser. You tell it when the car must be ready (charge_by); it figures out which hours to actually draw power. Cheap hours are preferred; expensive hours are skipped — as long as there is enough room in the window to skip them and still hit the deadline.
Three things define the room Gridio has to play with:
charge_by time at the current location.If the energy needed roughly equals the time available, every hour gets used and price doesn't matter — the car just barely makes it. If the energy needed is less than the time available, the cheapest hours win and the rest are skipped.
For a (device, location) pair, the per-location config (see Per-location charging windows) defines a ready-by time for each weekday. The engine looks up today's rule and uses that as the target. If today's deadline has already passed by the time the car plugs in, it rolls forward to the next day's rule.
The engine re-evaluates frequently while the car is plugged in, so as days roll over the target deadline naturally shifts to the new day's rule. A multi-day plug-in (e.g. Friday night through Monday morning) is not planned end-to-end as one big window — each cycle plans only to the next single charge_by. The picture redraws as days advance, and each day's deadline becomes the active target in turn.
If a weekday is not listed in the per-location config, that day has no deadline at all. Gridio still smart-charges on those days, but only against price across the available spot-price window — with no specific finish time to aim at.
Two optional limits control how aggressive Gridio gets:
guaranteed_max_price — a EUR/MWh ceiling. Hours priced above this are skipped, even if it means the car ends up not fully charged by the deadline.guaranteed_soc — a floor in % SOC. Until the car reaches this SOC, Gridio charges regardless of the price ceiling. The ceiling only takes effect once the floor is satisfied.Used together they express a useful contract: "always keep me at least 60 % — above that, never pay more than €120/MWh". The car will hit 60 % no matter the price, then top up only on cheap hours.
Target SOC (the upper bound) is intentionally not part of this contract — we recommend setting it in the vehicle or OEM app instead, to avoid two systems disagreeing about how full "full" is.
There are two distinct opt-out concepts. They answer different questions and you can use both at once.