Skip to content

Car charge target more than 24 hours away #3890

@Pezmc

Description

@Pezmc

Is your feature request related to a problem? Please describe.

The car charging "ready by" time (select.predbat_car_charging_plan_time) is a time of day only, so the deadline is always within the next 24 hours.

When my car isn't going to be used for a couple of days (weekend off, away on holiday, etc.), I want Predbat to plan charging across the whole window so it can pick the cheapest slots wherever they fall, not cram everything into the next 24 hours.

The workaround I currently use is setting the plan time to a time that's already passed today. At 13:00 I'll set it to 12:30 so the wrap-around gives me ~23.5 hours instead of just a few. It's hacky, undiscoverable, and still capped at 24 hours so it doesn't actually solve the multi-day case.

Describe the solution you'd like

A dropdown that lets me pick a future date alongside the existing time. Defaults to "Default" so existing users see no change. When I set it to e.g. "Fri 09 May 2026", Predbat plans charging from now until that date plus the existing time-of-day, picking the cheapest slots across the whole window. Once the date passes, the entity reverts to "Default" automatically and normal 24-hour planning resumes.

The dropdown should only show dates within the current forecast_plan_hours horizon, which is capped at 96 hours, so it can't offer something the planner can't see.

Describe alternatives you've considered

  • Setting car_charging_plan_time to a past time (the current workaround). Caps at 24h and is confusing to read back.
  • A relative offset like "+2 days". Ruled out because it goes stale daily, set it once for a holiday, forget it, and tomorrow the offset means something different.
  • A "no deadline" toggle that just uses the full forecast horizon. Throws away the deadline, so the car might still be charging when I want to leave.
  • Just bumping forecast_plan_hours higher. Doesn't help on its own since there's still no way to express "ready by Friday 5pm".

Additional context

Architecturally this looks small. The plan engine already supports up to 96 hours via forecast_plan_hours, and rate_replicate() already projects today's rates forward when tomorrow's haven't published yet.

Caveats to call out want called out in the docs:

  • Beyond the published-rate window, the plan uses replicated rates, so for variable tariffs (Agile etc.) it's a best-guess. Existing metric_future_rate_offset_* already covers folks who want to add pessimism.
  • Octopus Intelligent Go is unaffected — that flow stays time-of-day only since it's managed by Octopus.

Metadata

Metadata

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions