🔥 PumpSteer 2.0 released (major rewrite)

:fire: PumpSteer 2.0 released

Hi again!

I’ve just released PumpSteer 2.0 — a major rewrite of the entire control system.

This is not an incremental update. It’s a completely new approach to controlling heating systems based on electricity price, indoor temperature, and forecasts.

:warning: Important:
Treat this as a new integration, not an upgrade from 1.x.


:rocket: What’s new in 2.0

:brain: PI-based control (replaces previous heuristics)
:zap: Smart price classification: cheap / normal / expensive
:repeat: State machine for predictable and explainable behavior
:ice_cube: Dynamic braking with ramp, hold logic and peak filtering
:sun_behind_rain_cloud: Forecast-aware planning (optional weather integration)
:house: Integration-managed entities (numbers, switches, datetime)
:lock: Fully local — no cloud dependencies
:wastebasket: Removed ML from runtime for stability and simplicity


:boom: Breaking changes

• Price categories changed (simplified model)
• Requires price sensors with raw_today and raw_tomorrow
• Old helpers are no longer primary
• Automations and dashboards need to be rebuilt
• Behavior is NOT the same as 1.6.x


:gear: After upgrading you should:

• Rebuild Lovelace dashboard
• Update automations
• Verify price sensors
• Reconnect entities
• Retune aggressiveness and inertia


GitHub:


:pray: Feedback AND help welcome!

I would really appreciate not only feedback, but also help from experienced developers:

• Improving the control logic (PI + price strategy)
• Reviewing architecture and structure
• Handling edge cases and long-term stability
• Making the integration more aligned with Home Assistant best practices

This project started as a learning journey, and I’m still learning — so all input, ideas, and contributions are very welcome.

If anyone wants to collaborate or contribute, I’d be happy to work together!


:bulb: One thing I’d especially like input on:

How would you best structure a system that combines:
• PI control
• price-based state transitions
• forecast-based pre-planning

…without making it too complex or fragile?


Thanks to everyone who has followed along so far!

/Johan

How do I set up the dashbord? I’ve tried a couple of times now but can’t seem to get it to work.

  1. Go to your Home Assistant dashboard
  2. Click Edit dashboard
  3. Click the pencil icon
  4. Click the three dots (⋮)
  5. Select Edit dashboard
  6. Paste the YAML (not all just from type: sections → entity: sensor.elpris_spot_avgifter)
  7. Save

Sorry Johan,
No luck whith dashbord :frowning: yet…

Maybe a video?

Next question :slight_smile:


What should I put here? I have Ohmniwifi Plus


It is posible to get the Yaml code, or where i find it, if possible send a messege

Yaml for cards is in the other folder in github
HERE

:rocket: PumpSteer 2.1.1 pre-release now has experimental support for generic service output — for example Modbus.

This means PumpSteer can theoretically send the calculated “fake outdoor temperature” directly to heat pumps via Home Assistant Modbus, without requiring Ohmigo hardware.

:warning: Important:
I have NOT tested this myself at all yet. The code is implemented and integrated, but whether it actually works against a real heat pump is still unknown. This is truly experimental in every sense of the word.

The idea came from a user with a Thermia Calibra / Genesis setup who had already solved this manually using a Home Assistant automation. So the capability definitely exists in HA — the question is whether my implementation is correct.

Configuration example:

Go to:
PumpSteer → Configure

Generic service:
yaml modbus.write_register

Service payload template:
yaml hub: thermia address: 118 value: "{{ (fake_temp * 100) | int }}"

If the fields are left empty, nothing happens — Ohmigo and all other existing functionality continue to work exactly as before.

If anyone is brave enough to test it, I would really appreciate feedback regarding:

• Does anything happen at all?
• Correct register/scaling for your model?
• Any errors in Home Assistant logs?

GitHub:

Hi - just discovered this integration. Wondered whether it works with both Heat and Cooling modes? I have a Mr Cool mini split heat pump and a Cielo Breez Max remote thermostat that I’m trying to program more efficiently to avoid short cycling the unit in a garage workshop. Thanks.

PumpSteer currently focuses on heating control. In summer mode it passes through the real outdoor temperature, allowing the heat pump’s own cooling or summer logic to operate normally. Active cooling optimization or pre-cooling based on electricity prices is not yet implemented.