Normalerweise läuft die Warmwassererzeugung mit einer Wärmepumpe über einen festen Zeitplan, zum Beispiel einmal täglich zu einer bestimmten Uhrzeit.
Da wir einen dynamischen Stromtarif von Tibber (Einladung zu Tibber, wir bekommen beide einen Bonus) nutzen, bietet dies natürlich Potential für Optimierungen. In diesem Artikel zeige ich dir meine aktuelle Lösung, mit der morgens die optimale Stunde berechnet wird, um später am Tag mit einer Wolf Wärmepumpe Warmwasser zu erzeugen.
Voraussetzung
Für die Steuerung der Wolf Wärmepumpe und die Berechnung auf Basis der Tibber-Preise benötigst du Folgendes:
- Dynamischen Stromtarif von Tibber
- Home Assistant
- Tibber Integration
- Integration der Wolf Wärmepumpe über ism7mqtt in Home Assistant
Disclaimer
Über ism7mqtt bekommst du quasi alle Parameter der Wärmepumpe in Home Assistant hinzugefügt. Auch die Parameter, die sich normalerweise hinter der Fachmann-Ebene verstecken und an denen wir nie rumspielen sollten. Da kann man auch Dinge kaputt machen.
Leider ist die Integration notwendig, denn nur darüber lässt sich die Funktion „1x Warmwasser“ aktivieren.
Da ich an der Wärmepumpe nichts verstellen will und ich einen großen Teil der Parameter nicht verstehe, habe ich diese Parameter deaktiviert und somit die Gefahr reduziert etwas zu verstellen.
Deine Wärmepumpe, deine Verantwortung. 🙂 Jetzt aber zu meiner Optimierung.
Berechnung der optimalen Stunde
Es werden zwei Automatisierungen benötigt. Die erste Automatisierung berechnet die Startzeit, ab der für eine Stunde das warme Wasser erzeugt werden soll. Die zweite Automatisierung löst dann einfach bei der Startzeit die Funktion „1x Warmwasser“ der Wolf Wärmepumpe aus.
Als erstes legst du einen Helper an. Ich habe ihn „Warmwasser Start“ benannt und dieser ist vom Typ input_datetime
. Darin wird nur die Uhrzeit gespeichert.

Ziel der Automatisierung ist es, die beste Stunde in einem bestimmten Zeitraum zu finden. Da die Wärmepumpe bei warmen Temperaturen effizienter arbeitet, passt das recht gut zu den Strompreisen, die zur Mittagszeit meistens ein Tief haben.
Gehen wir es Schritt für Schritt durch:
- Morgens um 8 Uhr werden alle Preise für den heutigen Tag geholt
- Die Preise werden gefiltert, damit nur die Stunden zwischen 12 und 18 Uhr berücksichtigt werden
- Die gefilterten Preise werden sortiert, um den günstigsten Preis zu finden
- Die Stunde mit dem günstigsten Preis wird in den Helper geschrieben
- Falls keine Stunde gefunden wird, wird der Fallback von 14 Uhr in den Helper geschrieben
alias: Finde beste Stunde für Warmwasser
description: ""
triggers:
- trigger: time
at: "08:00:00"
conditions: []
actions:
- response_variable: tibber_prices
action: tibber.get_prices
data: {}
- variables:
prices: "{{ tibber_prices.prices.values() | first }}"
filtered_prices: |-
{% set ns = namespace(filtered_prices=[]) %}
{% for price_data in prices %}
{% set hour = price_data.start_time | as_datetime %}
{% if hour.hour >= 12 and hour.hour <= 18 %}
{% set ns.filtered_prices = ns.filtered_prices + [price_data] %}
{% endif %}
{% endfor %}
{{ ns.filtered_prices }}
best_time: |-
{% if filtered_prices | length > 0 %}
{% set cheapest = filtered_prices | sort(attribute='price') | first %}
{{ (cheapest.start_time | as_datetime).strftime('%H:%M:%S') }}
{% else %}
14:00:00
{% endif %}
- data:
time: "{{ best_time }}"
action: input_datetime.set_datetime
target:
entity_id: input_datetime.warmwasser_start
enabled: true
mode: single
Die zweite Automatisierung nutzt den Helper mit der Uhrzeit als Auslöser genutzt, um den Schalter für „1x Warmwasser“ einzuschalten.
alias: 1x Warmwasser
description: ""
triggers:
- trigger: time
at: input_datetime.warmwasser_start
conditions:
- condition: state
entity_id: calendar.abwesendheit
state: "off"
actions:
- action: switch.turn_on
metadata: {}
data: {}
target:
entity_id: switch.wolf_bm2_0x30_220042_1x_warmwasser
mode: single
Sollten die Entitäten bei dir anders benannt sein, müssen diese an dein Setup angepasst werden.
Urlaubsmodus
Im Urlaub benötigt man meistens kein warmes Wasser. Ich habe mir dafür einen Kalender abwesendheit
in Home Assistant angelegt, in dem ich eintrage, wenn wir nicht zu Hause sind. In diesem Zeitraum wird die Automatisierung einfach übersprungen.
Optimierungen für den Winter vermutlich notwendig
Die Wärmepumpe ging im Sommer in Betrieb und bisher benötigen wir sie nur für die Warmwassererzeugung. Bei der aktuellen Lösung wird immer nur für exakt eine Stunde Warmwasser gemacht. Ich gehe aber davon aus, dass diese eine Stunde im Winter nicht ausreichen wird, um die Zieltemperatur zu erreichen.
Noch ein Hinweis zum Wolf Link Home
Das Wolf Link Home solltest du im Idealfall über Ethernet anbinden. Das Ding läuft nicht so richtig stabil. Kommt schon mal vor, dass es abstürzt und dann keine Daten mehr im Home Assistant landen und man die „1x Warmwasser“ Funktion nicht auslösen kann. Ein Trick ist wohl, dass man sich eine Automatisierung schreibt, die das Link Home neustartet, wenn ein Sensor sich über einen längeren Zeitraum nicht mehr verändert hat. Mehr dazu auf Github.
Fazit
Durch diese Optimierung lässt sich die Warmwassererzeugung in den perfekten Zeitraum legen, um das Wasser beim günstigen Strompreis zu erzeugen und damit langfristig Geld zu sparen. Bis jetzt läuft die Automatisierung zuverlässig und wir merken im Alltag nichts davon.
Vielleicht gibt es noch mal ein Update im nächsten Frühling, wie die Automatisierung im Winter funktioniert hat.