Solar Surplus Heater Control — maximise self-consumption with priority chaining

Solar Surplus Heater Control

Turns high-power appliances (water heater, pool pump, floor heating, etc.) on and
off in real time to consume excess solar energy instead of exporting it.

One automation per device. Devices are chained by priority — each one turns on
only after the higher-priority device has been running for 40 s, and turns off when
the lower-priority device hasn't reacted fast enough. No grid draw — devices only
run when your panels already cover them.

Key features

  • Signed or absolute grid power sensor (with optional flow direction entity)
  • Zero feed-in mode (inverter never exports)
  • Pre-flight headroom check before turning on
  • Anti-flapping hysteresis band
  • Configurable solar window (elevation + azimuth) to handle panel shade
  • Priority cascade: unlimited chain of devices, automatic top-down turn-on / bottom-up turn-off
  • 5-minute periodic safety check

Import

Open your Home Assistant instance → Settings → Automations → Blueprints → Import Blueprint and paste this URL:

https://raw.githubusercontent.com/oticat/ha-blueprints/refs/heads/main/solar_surplus_heater.yaml

Threshold guidance

Mode Suggested threshold
Zero feed-in 50 W
Feed-in enabled −(device_max_watts / 2), e.g. −500 W for a 1 kW heater

Priority chain example (3 devices)

Device Higher-priority switch Lower-priority switch
Boiler (P1) (empty) switch.pool_pump
Pool pump (P2) switch.boiler switch.floor_heating
Floor heating (P3) switch.pool_pump (empty)

Hello Agustí,
Thanks for contributing to the community with a new Blueprint.
I have a suggestion for you. Many people who are not familiar with directory structures will have problems installing this without the Home Assistant MY tools.
Adding a MY link for this Blueprint to your top post would help them a lot.
Here is the link to make that.
Create a link – My Home Assistant

I tried in my first attempt but I reached the max 2 links per post... Let me try again with just an additional one

1 Like