Skip to content
EN | DE

Heat pumps, electric heaters

evcc supports different types of heating devices. Simple devices like heaters or fans can be switched on/off via smart switches. On this page you'll learn how to control heat pumps and electric water heaters directly.

Setup

Set up your heat pump or electric heater via the web interface under Configuration → Charging & Heating. All devices listed here are selectable via the interface.

Heat pumps

Many heat pumps support the SG-Ready model, allowing their operation to be adapted to the local energy situation. Up to four predefined scenarios can be triggered. Besides normal operation, an enhanced operation (boost) and a reduced operation (dim) can be signalled.

If solar surplus is available or the grid power is particularly cheap or clean, evcc can switch the heat pump to boost. For dim, the power consumption is reduced — useful during grid constraints or within § 14a EnWG.

Direct communication

Many modern heat pumps offer API interfaces that can set the operating mode and read out device state (power consumption, temperatures …). If your heat pump has an interface we don't yet support, please open a GitHub issue.

Via relay contacts

Older heat pumps often have SG-Ready relay contacts through which the desired operating state can be signalled. Controllable relays are used for this, e.g. Shelly 1.

The relays are connected to the SG-Ready contacts of the heat pump. The exact wiring, the required logic, and the configuration depend on the device and should be discussed with the installer. If there is solar surplus or cheap energy, evcc switches the relays and signals the heat pump to enter the desired operating mode. Ultimately the device itself decides, based on its current state and configuration, whether and how far it follows that request.

The following diagram shows the setup with a single relay for boost mode:

Diagram for controlling a heat pump via an SG-Ready relay

If you want to accurately measure the power and energy consumption of the heat pump, you can optionally install a meter at the device's power supply. This is recommended in almost every case, since the internally reported figures are estimates on many models, or don't cover all components. The diagram shows a Shelly 3EM, but any meter can be used.

Supported devices

SG-Ready relay configuration

Configuration with boost relay

This example shows how to configure a heat pump using a Shelly 1 for boost mode and a Shelly 3EM for power measurement. The type sgready-relay is used for this.

loadpoints:
- title: Meine Wärmepumpe
charger: heatpump_control
meter: heatpump_power
# Hier können auch die bekannten Parameter für loadpoints angegeben werden,
# insbesondere auch um zu kurze Laufzeiten zu verhindern, z. B.
enable:
threshold: -1300 # aktivieren bei 1.300 W Überschuss für 5 Minuten
delay: 5m
disable:
threshold: 150 # deaktivieren bei 150 W Netzbezug für 20 Minuten
delay: 20m # manche Geräte benötigen eine Mindestlaufzeit pro Start (prüfe Spezifikation / Handbuch deiner Wärmepumpe)
meters:
- name: heatpump_power
type: template
template: shelly-3em # Stromverbrauch der Wärmepumpe
host: 192.168.0.102
chargers:
- name: heatpump_control
type: sgready-relay
boost: # Relais für den Boost-Kontakt
type: template
template: shelly
host: 192.168.0.101
# temp: # aktuelle Temperatur (optional)
# source: http
# uri: "http://192.168.0.103/temperature"
# limittemp: # Geräte-internes Temperaturlimit (optional)
# source: http
# uri: "http://192.168.0.103/limittemp"
# [...]

Configuration with boost and dim relays

If your heat pump supports both boost and dim modes, you can configure a second relay for the dim contact. In dim mode, the power consumption of the heat pump is reduced. This is useful for limiting power consumption during grid constraints or within § 14a EnWG.

You can use either two separate relays or a relay with multiple channels (e.g. Shelly with different channel values). Besides Shelly, other controllable relays are also possible.

chargers:
- name: heatpump_control
type: sgready-relay
boost: # Relais für den Boost-Kontakt
type: template
template: shelly
host: 192.168.0.101
dim: # Relais für den Dim-Kontakt (optional)
type: template
template: shelly
host: 192.168.0.102
# power: # Leistungsmessung (optional)
# source: http
# uri: "http://192.168.0.103/power"
# energy: # Energiemessung (optional)
# source: http
# uri: "http://192.168.0.103/energy"
# temp: # aktuelle Temperatur (optional)
# source: http
# uri: "http://192.168.0.103/temperature"
# limittemp: # Geräte-internes Temperaturlimit (optional)
# source: http
# uri: "http://192.168.0.103/limittemp"

You can optionally add the current temperature (temp), device-internal temperature limit (limittemp), power (power), and energy (energy) via plugin. These are only used for display and don't control the heat pump.

Status display

Since heat pumps run their own heating logic independently of evcc, the UI shows two states:

  • Normal operation – no intervention, the heat pump follows its own control.
  • Boost active – a request to increase power. While the heat pump has not yet responded (e.g. due to minimum runtimes or blocking periods), the status shows "Boost requested…".

Preconfigured heat pump types and matching templates already set the required feature flags. For custom configurations via type: custom, set the matching combination of integrateddevice, heating, continuous, and optionally switchdevice.

Electric water heaters

Plain electric heaters can only be switched on or off by evcc. They are typically connected via a switchable socket. With sufficient surplus, evcc activates the socket (enable) and disables it again when conditions require (disable).

For special electric heaters with their own continuous control, evcc forwards the currently available power to the device. This available power is continuously adapted to the current situation, analogously to charging a vehicle.

evcc offers adjustable limits, with which you can set your desired temperature. This should not be understood as a safety feature. Temperature regulation should normally happen via the thermostat function of the heater itself.