Bei längerer Abwesenheit die Raumthermostate (bei mir HmIP) in den Urlaubsmodus schicken

Hier möchte ich meinen Weg vorstellen, wie ich ab sofort bei längerer Abwesenheit meine Räume nur noch auf das notwendige Maß heize (z.B. 15 ° C) und rechtzeitig vor der Rückkehr die Räume wieder auf die Normaltemperatur (z.B. 20° C) bringe. Das schöne an meiner Lösung ist, dass ich hierfür nicht aktiv zu Beginn und am Ende der Abwesenheit irgendetwas tun muss. Ich kann stattdessen schon Monate im Voraus planen, wie sich meine Thermostate verhalten sollen. Sollte ich aber z.B. während des Urlaubs beschließen, vorzeitig zurück zu kehren, kann auch dies leicht einstellen, solange ich aus der Ferne Zugriff auf Home Assistant habe.

Ausgangspunkt für meine Lösung ist die Nutzung der Integration “lokaler Kalender”. In dieser Integration erstelle ich einen Kalender mit der Bezeichnung “Abwesend”. In diesen Kalender trage ich nun alle Abwesenheiten ein, die so lang sind, dass die relevant für die Steuerung meiner Fußbodenheizung sind. Der Name der jeweiligen Abwesenheiten ist egal. Es ist aber wichtig, bei den Terminen auch die Uhrzeit zu berücksichtigen, damit das Haus zum Zeitpunkt der Rückkehr auch schon wieder aufgeheizt ist. Dazu mehr unten. Alles weitere wird dann von der Automatisierung unten übernommen. Dies funktioniert selbst dann, wenn ich z.B. noch während des Urlaubs den Kalendereintrag verlängere oder verkürze. Diese Kalendereinträge können übrigens auch für weitere Automatisierungen genutzt werden, wie z.B. die Hauslüftung oder die Alarmanlage.

Die folgende Automatisierung geht davon aus, dass die verwendeten Thermostate von Homematic IP sind und über die Integration “Homematic(IP) Local” genutzt werden. Das bedeutet, dass sie mit einer CCU3 oder vergleichbaren Lösung (bei mir RaspberryMatic) verbunden sind. In den Grundzügen funktioniert meine Lösung aber auch mit jedem anderen Hersteller. Die Automatisierung unten müsste dann nur entsprechend angepasst werden.

Nun also die Automatisierung:

alias: Heizung während Abwesenheit nur 15° C
description: ""
trigger:
  - platform: time_pattern
    hours: /1
action:
  - choose:
      - conditions:
          - condition: or
            conditions:
              - condition: template
                value_template: >-
                  {{ states.calendar.abwesend.attributes.end_time is not none
                  and states.calendar.abwesend.attributes.end_time != '' and
                  states.calendar.abwesend.attributes.end_time is string and
                  as_timestamp(states.calendar.abwesend.attributes.end_time) -
                  as_timestamp(now()) < 18 * 3600 }}
              - condition: state
                entity_id: calendar.abwesend
                state: "off"
        sequence:
          - service: homematicip_local.disable_away_mode
            data:
              entity_id:
                - climate.wohnzimmer_thermostat
                - climate.kinderzimmer_thermostat
      - conditions:
          - condition: template
            value_template: >-
              {{ states.calendar.abwesend.attributes.start_time is not none and
              states.calendar.abwesend.attributes.start_time != '' and
              states.calendar.abwesend.attributes.start_time is string and
              as_timestamp(states.calendar.abwesend.attributes.start_time) -
              as_timestamp(now()) < 1 * 3600 }}
        sequence:
          - service: homematicip_local.enable_away_mode_by_duration
            data:
              hours: 1
              away_temperature: 15
            target:
              entity_id:
                - climate.wohnzimmer_thermostat
                - climate.kinderzimmer_thermostat

Hier einige Erklärungen und Hinweise zu Anpassungsoptionen:

  1. Eingestellt ist, dass bei Abwesenheit nur so viel geheizt werden soll, dass eine Temperatur von 15° C nicht unterschritten wird. Dieser Wert kann in dieser Zeile angepasst werden: away_temperature: 15
  2. Jeder Thermostat muss an zwei Stellen in der Automatisierung einzeln aufgeführt werden. In der Automatisierung sind dies beispielhaft die beiden Geräte climate.wohnzimmer_thermostat und climate.wohnzimmer_thermostat. Hier müssen die tatsächlich verwendeten Thermostate eingetragen werden.
  3. Ich wohne in einem Neubau (Einzug Ende 2017) mit guter Isolierung und Fußbodenheizung. Das bedeutet auch, dass meine Heizung sehr träge auf Änderungen reagiert. Deswegen soll in meinem Fall schon 18 Stunden vor der Rückkehr damit begonnen werden, dass Haus wieder aufzuheizen. Dieser Wert ist je Haus verschieden. Er kann in dieser Zeile verändert werden: as_timestamp(now()) < 18 * 3600 }}
  4. Bereits eine Stunde vor Abreise schalten meine Thermostate in den Abwesenheitsmodus. Da meine Heizung sehr träge ist, führt dies in der letzten Stunde nicht zu einer relevanten Temperaturabsenkung. Theoretisch könnte man diesen Vorlauf sogar verlängern. Auf jeden Fall, habe ich so die Möglichkeit mich vor Abreise zu versichern, dass die Thermostate tatsächlich herunterreguliert wurden.
  5. Die Automatisierung prüft einmal stündlich, ob sich der Kalendereintrag geändert hat und reagiert dann entsprechend. Der sehr kleine Pferdefuß dieser Lösung ist, dass die Thermostate auch immer nur für eine Stunde in die Zukunft in den Abwesenheitsmodus geschickt werden. Sobald dieser ausläuft, schalten die Thermostate wieder in ihren regulären Modus. Das ist so lange kein Problem, wie Home Assistant läuft. Sollte die eigene Home-Assistant-Instanz im Urlaub aber abschmieren, würde das Haus nach einer Weile wieder normal beheizt werden.
  6. Es ist wichtig, die Reihenfolge unterhalb von “choose” nicht umzukehren. Innerhalb der 18 Stunden vor der Rückkehr werden nämlich sowohl die Bedingung erfüllt, dass in <=18h die Rückkehr erfolgt, wie dass in der nächsten Stunde der Kalender abwesend einen aktiven Eintrag hat. In einem solchen Fall führt Home Assistant immer nur die erste Choose-Möglichkeit aus. Es ist daher wichtig, dass die Rückkehr zum Normalbetrieb an erster Stelle steht.

Abschließend noch eine Erklärung, warum ich nicht direkt meine Heizung reguliere. Dies wäre noch energieschonender als der Weg oben und meine Fiessmann-Heizung hat auch tatsächlich ein Ferienprogramm. Hiergegen sprechen in meinem Fall mehrere Gründe:

  • Meine Heizung hat serienmäßig noch keine Smart-Home-Integration. Ich müsste diese also nachträglich einbauen.
  • Wenn ich in der Heizsaison vorzeitig aus einem Urlaub zurückkommen wurde, wäre das Haus über Stunden sehr kühl, da ich ja aus der Ferne mein manuell gestartetes Ferienprogramm nicht kürzen könnte.
  • Das manuelle Ferienprogramm meiner Heizung kennt keine Möglichkeit, die Abreiseuhrzeit und Rückkehruhrzeit zu definieren. Wenn man z.B. am 2. Januar 2024 um 12.00 Uhr aus dem Urlaub zurück käme, müsste man entweder bereits 36 Stunden vorher das Haus aufheizen lassen (nämlich zum 1. Januar 2024 ab Mitternacht) oder nur 12 Stunden vorher (zum Beginn des 2 Januar) - dann wäre das Haus bei der Rückkehr noch kalt.

Außerhalb der Heizperiode ist es aber zumindest in meinem Fall vorteilhafter, direkt das Ferienprogramm der Heizung zu nehmen. Ich habe nämlich eine Gastherme (unterstützt durch Solarthermie). Diese erwärmt ja nicht nur das Wasser für die Heizung, sondern auch das übrige Warmwasser. Nur wenn meine Heizung im Ferienprogramm ist, weiß sie, dass sie kein Warmwasser für mich vorhalten muss.

Ganz am Schluss noch eine Warnung: Diese Automatisierung habe ich zwar mehrfach getestet, aber sie ist noch recht neu und wurde noch nicht in echt genutzt. Sollte ich noch Fehler entdecken, schreibe ich dies hier.

Update 25.11.23: Mein Heizungstechniker hat mir vor kurzem bei der Heizungswartung gesagt, dass sich solch eine Runterreglung erst ab ca. 3 Wochen im Winter mit einer Fußbodenheizung lohnen würde.

2 „Gefällt mir“

Also klar ist das bei einer Fußbodenheizung nicht so interessant wie bei Heizkörpern, aber das mit den 3 Wochen halte ich für kompletten Blödsinn.
Du kannst dir ja mal einen Temperaturfühler in den Raum legen und dann kannst du anhand der Kurve je sehen wie “schnell” oder langsam dein Raum reagiert. Und ich wette das es keine 3 Wochen dauert.