Es ist jetzt schon ein bisschen Zeit vergangen und ich konnte Erfahrungen mit der Automatisierung sammeln, die sich um die Warmwasserbereitung auf Basis der Tibber-Strompreise kümmert. Zum Ende des letzten Artikels habe ich schon eine Schwäche angesprochen, und genau diese wurde auch zum Problem, als es kälter wurde. Die Funktion “1x Warmwasser” läuft immer nur eine Stunde. Diese Stunde hat im Winter jedoch nicht mehr ausgereicht, um das Wasser auf die Zieltemperatur zu erwärmen. Deshalb heizt die Wärmepumpe jetzt so lange, bis die Zieltemperatur erreicht ist, und Home Assistant sucht dafür das günstigste Zeitfenster.
Um die Zieltemperatur wirklich jeden Tag zu erreichen, muss man der Wärmepumpe eben die entsprechende Zeit geben und nicht auf eine Stunde limitieren. Dabei habe ich mir angeschaut, wie lange die Wärmepumpe so im Durchschnitt braucht, um diese Dauer später in der überarbeiteten Version zu nutzen. In meinem Fall reichen 90 Minuten.
Beim Setup hat sich nichts zum ersten Artikel verändert. Die Wolf Wärmepumpe ist weiterhin über ism7mqtt in Home Assistant angebunden.
Falls du Tibber auch mal ausprobieren willst, melde dich gerne über meinen Einladung-Link an und wir bekommen beide einen Bonus.
Kurzer Hinweis
Auch hier soll kurz erwähnt werden, dass man über ism7mqtt alle Parameter der Wärmepumpe in Home Assistant aufgelistet bekommt und diese auch verändert kann. Räumt euch die parameter.json auf und werft alles raus, was euch nichts sagt oder ihr nicht braucht. Damit minimiert ihr das Risiko, etwas aus Versehen zu verstellen.
Den besten Zeitraum finden
Jeden Morgen um 8:00 Uhr läuft eine Automatisierung, die den günstigsten Zeitraum für die 90 Minuten raussucht und im Helper aus dem ersten Artikel speichert. Da Tibber die Preise inzwischen in Viertelstunden liefert, werden dafür sechs aufeinanderfolgende Preise zusammengerechnet.
alias: Finde beste Stunde für Warmwasser
description: >-
Ruft Tibber-Viertelstundenpreise ab und findet das günstigste
90-Minuten-Fenster des Tages. Setzt input_datetime.warmwasser_start auf die optimale Startzeit.
triggers:
- trigger: time
at: '08:00:00'
conditions: []
actions:
- action: tibber.get_prices
data: {}
response_variable: price_response
- variables:
heating_duration_minutes: 90
interval_count: '{{ (heating_duration_minutes / 15) | round(0, ''ceil'') | int }}'
price_list: '{{ price_response.prices.values() | first }}'
best_start_time: |-
{% set result = namespace(
lowest_sum = 999999.0,
best_index = 0
) %}
{% for index in range(price_list | length - interval_count + 1) %}
{% set window_sum = namespace(value = 0.0) %}
{% for offset in range(interval_count) %}
{% set window_sum.value = window_sum.value + price_list[index + offset].price %}
{% endfor %}
{% if window_sum.value < result.lowest_sum %}
{% set result.lowest_sum = window_sum.value %}
{% set result.best_index = index %}
{% endif %}
{% endfor %}
{{ (price_list[result.best_index].start_time
| as_datetime
| as_local
).strftime('%H:%M:%S') }}
- action: input_datetime.set_datetime
target:
entity_id: input_datetime.warmwasser_start
data:
time: '{{ best_start_time }}'
mode: single
Warmwasserbereitung starten
Eine weitere Automatisierung kümmert sich dann um das Einschalten. Statt “1x Warmwasser” zu aktivieren, setzt sie jetzt die “Programmwahl” von “Standby” auf “Permanent”. Im Gegensatz zu “1x Warmwasser” ist hier nach einer Stunde nicht Schluss, die Wärmepumpe heizt, bis die Solltemperatur erreicht ist. Zusätzlich prüft sie, dass im Kalender “Abwesenheit” kein Termin eingetragen ist. Damit lässt sich die Warmwasserbereitung komplett überspringen, wenn man mal nicht zu Hause ist.
alias: Warmwasser Ein
description: ""
triggers:
- trigger: time
at: input_datetime.warmwasser_start
conditions:
- condition: state
entity_id: calendar.abwesendheit
state: "off"
actions:
- action: select.select_option
metadata: {}
target:
entity_id: select.wolf_wwsystem_bm2_0x30_350012_programmwahl
data:
option: Permanent
mode: single
Warmwasserbereitung wieder auf Standby setzen
Ist die Zieltemperatur erreicht, schaltet die Wolf Wärmepumpe selbstständig ab. Wir müssen jetzt nur noch sicherstellen, dass die Wärmepumpe nicht “Permanent” die Zieltemperatur hält. Dafür ist eine andere Automatisierung zuständig. Liegt der Ist-Wert für 5 Minuten über dem Sollwert, wird die “Programmwahl” wieder von “Permanent” auf “Standby” gestellt.
alias: Warmwasser Aus
description: ""
triggers:
- for:
minutes: 5
above: number.wolf_wwsystem_bm2_0x30_350009_warmwassersolltemperatur_eingestellt
trigger: numeric_state
entity_id:
- sensor.wolf_cha_0x3_270007_warmwassertemperatur
conditions: []
actions:
- data:
option: Standby
action: select.select_option
target:
entity_id: select.wolf_wwsystem_bm2_0x30_350012_programmwahl
metadata: {}
mode: single
Damit alles etwas träger ist, habe ich für den Parameter WP020 Hysterese Warmwasserbetrieb einen Wert von 5,0 °C hinterlegt. Das bedeutet: Erst wenn die Ist-Temperatur 5 Grad unter der Soll-Temperatur liegt, würde die Wärmepumpe im Modus “Permanent” wieder anfangen, das Wasser zu erwärmen.
Überprüfung
Da die Verbindung zum Link Home weiterhin nicht immer stabil läuft, gibt es noch zwei weitere Automatisierungen, die alles kontrollieren und mich benachrichtigen, wenn die Warmwasserbereitung nicht gestartet ist oder nicht ausgeschaltet wurde.
alias: Überprüfung Warmwasser Ein
description: ""
triggers:
- trigger: time
at:
entity_id: input_datetime.warmwasser_start
offset: "00:05:00"
conditions:
- condition: state
entity_id: calendar.abwesendheit
state:
- "off"
- condition: not
conditions:
- condition: state
entity_id: select.wolf_wwsystem_bm2_0x30_350012_programmwahl
state:
- Permanent
actions:
- action: notify.mobile_app_iphone_von_lukas
metadata: {}
data:
message: Nicht gestartet
title: ⚠️ Warmwasser
mode: single
alias: Überprüfung Warmwasser Aus
description: ''
triggers:
- trigger: time
at:
entity_id: input_datetime.warmwasser_start
offset: '02:00:00'
conditions:
- condition: state
entity_id: select.wolf_wwsystem_bm2_0x30_350012_programmwahl
state:
- Permanent
actions:
- action: notify.mobile_app_iphone_von_lukas
metadata: {}
data:
message: Nicht ausgeschaltet
title: ⚠️ Warmwasser
mode: single
Fazit
Dieses Setup läuft jetzt schon einige Monate und hat uns gut durch den letzten Winter gebracht. Ob man damit jetzt wirklich Kosten spart, habe ich noch nicht richtig rausgefunden. Da ich aber noch den dynamischen Stromtarif habe, bietet es sich trotzdem an, die Warmwasserbereitung zu optimieren.
Wenn ich es weiter hinterfragen will, müsste ich mal genauer prüfen, ob der dynamische Stromtarif mit der Wärmepumpe grundsätzlich sinnvoll ist. Im Winter kann ich eigentlich nur die Warmwasserbereitung in die günstigen Phasen schieben. Das Heizen selber läuft aber trotzdem dauerhaft durch.