πΊ Roadmap
Contents
Current release line: 2.2.x
PumpSteer 2.2.x builds on the PI-first 2.0 architecture with stronger comfort protection, forecast-aware preheating, clearer brake-state observability and more resilient Ohmigo output handling.
See the Changelog for release-by-release details.
Delivered in 2.2.x
- β Pre-brake respects the same comfort floor as active price braking
- β
Short price dips are bridged only within
brake_hold_minutes - β
Explicit
brake_holdoperating mode and bridge transition logging - β ThermalOutlook gates preheat when available, with cold-forecast fallback
- β
preheat_strengthscales the preheat boost - β Saving-level-based thermal headroom with tapered preheat near the ceiling
- β
ThermalModel fits
kafter a completed brake phase when at least 20 valid samples exist - β Fitted ThermalModel state is restored across Home Assistant restarts
- β DST-safe electricity price slot indexing
- β Optional Ohmigo Relay Guard with bounded retries and state verification
- β Braking notifications include the exact current-slot price used by the control decision
- β
current_priceandcurrent_price_unitexposed for diagnostics - β Entity validation in setup/options flows for configured Home Assistant entities
π΄ Active / Near-term
1. Keep comfort regulation active when price data is unavailable
Today, missing price data enters safe mode and passes through the real outdoor temperature. Review whether PumpSteer can instead keep the normal PI comfort loop running while disabling only price-dependent overlays.
The desired fail-safe principle is:
- missing indoor/outdoor temperature β safe passthrough
- missing price data β no price optimization, but comfort regulation can continue
- missing weather forecast β no forecast-based preheat; price-only pre-brake remains available
This change must remain explicit and easy to diagnose.
2. Review preheat β pre-brake transition
Verify how stored thermal reserve is handled when PumpSteer has preheated the house and then enters the pre-brake window before the expensive period.
Goals:
- avoid unnecessary heat immediately before braking
- avoid throwing away useful thermal reserve
- keep the PI loop as the baseline comfort controller
- preserve the strict separation between forecast-driven preheat and price-only pre-brake
3. Make preheat ramp timing use measured elapsed time
The brake ramp already advances from measured elapsed time with a capped dt.
The preheat ramp still advances by a fixed amount per update cycle.
Move preheat ramping to elapsed-time-based progression so behavior remains stable across delayed polls, reloads and different update intervals.
4. Validate ThermalModel in production
ThermalModel fitting is already active, but it does not yet control brake depth.
Next validation step:
- observe fitted
thermal_kover real brake sessions - expose predicted temperature drop for planned brakes
- expose a diagnostic
brake_saferesult - compare predictions with actual indoor temperature response
Only after production validation should ThermalModel be considered for bounded assistance to brake depth.
5. Production validation of 2.2.x transitions
Continue observing complete real-world cycles:
preheating β pre_braking β braking β brake_hold/ramp-out β normal
Also verify Ohmigo Relay Guard behavior around reconnects and Home Assistant restarts.
π‘ Planned
Smarter price strategy
- Optional hybrid weighting between trailing history and today/tomorrow horizon
(constants exist in
settings.pybut are not currently applied) - Consider price spread and block structure, not only the absolute P80 boundary
- Make peak-filter minimum duration configurable if production data shows a need
ThermalModel-assisted braking
After diagnostic validation:
- use predicted indoor drop to describe brake safety
- consider bounded brake-depth adjustment before the comfort floor is reached
- never allow the model to override the hard comfort floor
- keep the decision fully explainable from current inputs and fitted
k
Configuration and UX improvements
- Continue simplifying user-facing option labels and descriptions
- Keep advanced constants out of the normal UI unless they have a clear user benefit
- Improve diagnostics before adding new tuning controls
π’ Future / Nice to Have
Adaptive PI tuning (limited scope)
Semi-automatic Kp/Ki suggestions based on observed temperature response. Suggestions must remain explainable, optional, and require user confirmation before any parameter is changed. No automatic self-modification.
Advanced forecast strategy
Multi-hour price + temperature optimization with smarter use of thermal reserve across consecutive expensive periods, while retaining the existing PI-first state machine.
Precool improvements
Improve summer precooling lookahead and margins. Evaluate whether forecast duration, cloud cover and wind materially improve decisions before adding complexity.
β Out of Scope (permanent)
- Machine-learning control loops
- Black-box decision systems
- Any behavior that cannot be explained from its inputs alone
- Cloud dependencies
Design constraints (non-negotiable)
- PI is always the primary loop β price and forecast are overlays only
- No double influence β each signal affects the system exactly once
- Brake is bounded β comfort floor always takes precedence
- Thresholds are stable within a day β no mid-slot reclassification
- PI integral is frozen during braking β preserves thermal context for ramp-out
- Pre-brake is price-only β never gated on forecast
- Preheat-boost is forecast-gated β only when forecast context supports it
- Optional hardware recovery stays outside the control loop β Relay Guard must not alter PI, price or thermal decisions