Heat Pumps, Electric Heaters
The topic of heating devices is still in the testing phase.
For the devices listed here, a sponsorship will be required in the future.
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 will learn how to also heat pumps or electric water heaters can be regulated.
Heat pumpsβ
Many heat pumps support the SG-ready model, allowing their operation to be adapted to the local energy situation. In addition to normal operation, an enhanced operation (boost) and a blocking operation (dimming) can be signaled from the outside.
If excess power is available or the grid power is particularly cheap or clean, evcc can instruct the heat pump to increase the heating power and switch to enhanced operation (boost).
The dimming function is currently not supported. We plan to integrate this via load management. This would also satisfy the requirements for Β§14e EnWG.
direct communicationβ
Many modern heat pumps offer API interfaces, through which not only the operating mode can be set, but also the state of the device (e.g. temperature) can be queried. See heating devices for a list of supported devices.
If your heat pump has an interface that we do not yet support, please create a GitHub Issue with all necessary information.
via relay contactsβ
Many older heat pumps have SG-ready relay contacts through which the operating state (normal, boost, dimming) can be signaled. In our example, we focus on the switch between normal and boost operation. Here, a controllable relay is used, e.g. a Shelly 1.
This relay is connected to the SG-ready contacts of the heat pump. The exact wiring depends on the device and should be discussed with the installer. If there is excess PV power or cheap energy, evcc switches the relay and gives the heat pump the signal for enhanced operation (boost).
The following diagram shows the setup:
If you want to monitor the power and energy consumption of the heat pump, you can optionally install a meter at the power supply of the device. In the diagram, a Shelly 3EM is shown, but any meter can be used.
This example shows how to configure a heat pump using a Shelly 1 and a Shelly 3EM.
The special type sgready
is used for this.
loadpoints:
- title: Meine WΓ€rmepumpe
charger: heatpump_control
meter: heatpump_power
integrateddevice: true # Disable vehicle selection
meters:
- name: heatpump_power
type: template
template: shelly-3em # Power consumption of the heat pump
host: 192.168.0.102
chargers:
- name: heatpump_control
type: sgready
setmode:
source: switch
switch:
- case: 1 # normal
set:
source: const
value: false
set:
source: charger
config:
type: template
template: shelly # Boost contact of the heat pump
host: 192.168.0.101
- case: 2 # boost
set:
source: const
value: true
set:
source: charger
config:
type: template
template: shelly # Boost contact of the heat pump
host: 192.168.0.101
- case: 3 # dimm (not supported, yet)
set:
source: error
error: ErrNotAvailable
getmode:
source: calc
add:
- source: const
value: 1
- source: charger
config:
type: template
template: shelly # Boost contact of the heat pump
host: 192.168.0.101
# temp:
# source: http
# uri: "http://192.168.0.103/temperature"
# [...]
This code example contains some redundancies. We will later provide templates for easier configuration of common hardware constellations.
In addition to setmode
and getmode
, you can optionally add the current temperature (temp
) via Plugin.
This is only used for display.
evcc does not use this value for regulation.
Electric water heatersβ
evcc forwards the currently available power to the device. This available power is continuously adapted to the current situation, analogously to the charging process of a vehicle.
evcc offers adjustable limits, with which you can set your desired temperature. This should not be understood as a safety feature.
Your electric water heater must have its own temperature limit, which prevents overheating in case of a failure of evcc.
Heating devicesβ
my-PVβ
AC ELWA 2β
chargers:
- name: my_heating
type: template
template: ac-elwa-2
# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port
Weitere Informationen zum π evcc Sponsorship gibt es hier.
AC THOR, AC THOR 9sβ
chargers:
- name: my_heating
type: template
template: ac-thor
# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port
tempsource: 1 # optional
Weitere Informationen zum π evcc Sponsorship gibt es hier.
Stiebel Eltronβ
LWA/LWZ (SG Ready)β
chargers:
- name: my_heating
type: template
template: stiebel-lwa
# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port
tempsource: # optional
WPM (SG Ready)β
chargers:
- name: my_heating
type: template
template: stiebel-wpm
# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port
tempsource: # optional
Tecalor THZ (SG Ready)β
chargers:
- name: my_heating
type: template
template: stiebel-lwa
# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port
tempsource: # optional
Vaillant SensoNET (SG Ready)β
The boost function heats hot water or a boost zone. The boost zone is identified by the ID. The boost temperature is specified in degrees Celsius. If boost temperature is specified, the boost zone is activated, otherwise hot water.
chargers:
- name: my_heating
type: template
template: vaillant
user: # User account (e.g. email address, user id, etc.) (optional)
password: # Password of the user account (use single quotes in case of leading zeros) (optional)
zone: # Boost zone id (optional)
setpoint: # Boost temperature setpoint (optional)