Wenn sich das Obergeschoss den ganzen Tag in der Sonne aufgeheizt hat, hilft irgendwann auch kein Ventilator mehr wirklich weiter. Ich habe mir in letzter Zeit angeschaut, ob ich meine Lüftungsanlage, die ich sowieso schon per Modbus in Home Assistant eingebunden habe, nicht für eine Art kostenlose Nachtauskühlung nutzen kann. Das Ergebnis ist eine Automation, die abends automatisch kühle Außenluft ins Haus holt, sobald die Bedingungen passen, und die Anlage wieder in den Normalbetrieb zurücksetzt, wenn das Ziel erreicht ist. Kein extra Gerät, keine Klimaanlage.
Das Setup und die Voraussetzungen
Meine KWL ist eine Maico WS 300 Flat, die per Home Assistant Modbus Integration angebunden ist. Falls du das noch nicht eingerichtet hast, schau dir das Grundlagen-Video zur KWL per Modbus in Home Assistant an, das erklärt die Anbindung im Detail. Hier gehe ich davon aus, dass die KWL bereits läuft.
Für diese Automation brauchst du drei Sensoren, die schon existieren müssen:
sensor.kwl_t_abist die Abluft-Temperatur der Anlage und entspricht in der Praxis ziemlich gut der Raumtemperatursensor.kwl_t_aulist die Außenluft-Temperaturbinary_sensor.jemand_zuhauseist die Anwesenheitserkennung
Das Ziel der ganzen Sache ist simpel: Die KWL schaltet abends auf Manuell, dreht auf Intensiv (Stufe 4) hoch und lässt den Sommer-Bypass offen. So kommt kühle Außenluft direkt ins Haus, ohne dass die Wärmerückgewinnung die Abwärme wieder reinbläst. Das läuft solange, bis der Raum auf 22 °C abgekühlt ist oder es 22:25 Uhr wird.
| Bedingung | Wert |
|---|---|
| Zeitfenster | 19:00 bis 22:25 |
| Raumtemperatur (Abluft) | über 23 °C |
| Außenluft vs. Innenluft | mind. 2 °C kühler |
| Anwesenheit | Jemand zuhause |
| Zieltemperatur | 22 °C |
Schritt 1: Helper anlegen
Bevor es an die Automation geht, brauche ich ein kleines Flag, damit sich die Nachtauskühlung nicht mit anderen KWL-Automationen ins Gehege kommt. Bei mir laufen noch eine "Leise lüften"-Automation für die Nacht und eine Stoßlüftung nach dem Duschen. Ohne ein gemeinsames Flag würden die sich gegenseitig die Modbus-Register überschreiben, was natürlich zu allerlei merkwürdigen Zuständen führt.
Ein einfacher input_boolean reicht dafür völlig aus. Den legst du unter Einstellungen > Geräte & Dienste > Helfer > Schalter erstellen an:
name: KWL Nachtauskühlung
icon: mdi:snowflake-thermometer
initial: falseHome Assistant generiert daraus automatisch die Entity-ID input_boolean.kwl_nachtauskuhlung. Das ü wird dabei zu u, nicht zu ue, das ist wichtig für den YAML-Code später.
Schritt 2: Die Automation anlegen
Die komplette Automation kannst du direkt kopieren. Geh auf Einstellungen > Automatisierungen > Neue Automation, klick oben rechts auf die drei Punkte und wähle In YAML bearbeiten, dann den folgenden Code reinkopieren:
1alias: "Lüftung: Nachtauskühlung (Free Cooling)"
2description: >-
3 Kühlt das Haus an Sommerabenden mit kühler Außenluft: KWL auf Manuell +
4 Stufe 4 (Intensiv), der Sommer-Bypass bleibt dabei offen. Nur wenn drinnen
5 >23 °C und außen mind. 2 °C kühler. Ende bei 22 °C Raumtemperatur,
6 spätestens 22:25 (Übergabe an 'Leise lüften'), oder wenn der Vorteil weg
7 ist. Koordiniert über input_boolean.kwl_nachtauskuhlung, damit sich nichts
8 mit den anderen Lüftungs-Automationen beißt.
9mode: single
10triggers:
11 - minutes: "/10"
12 id: pruefen
13 platform: time_pattern
14 - at: "22:25:00"
15 id: fensterende
16 platform: time
17 - entity_id: sensor.kwl_t_ab
18 below: 22
19 id: ziel
20 platform: numeric_state
21actions:
22 - choose:
23 - alias: "Kühlen: Raum warm & außen kühler -> Manuell + Stufe 4"
24 conditions:
25 - condition: trigger
26 id: pruefen
27 - condition: time
28 after: "19:00:00"
29 before: "22:25:00"
30 alias: "Abendfenster 19:00–22:25"
31 - condition: numeric_state
32 entity_id: sensor.kwl_t_ab
33 above: 23
34 alias: "Raum wärmer als 23 °C"
35 - condition: template
36 value_template: >-
37 {{ states('sensor.kwl_t_aul')|float(99) <
38 states('sensor.kwl_t_ab')|float(0) - 2 }}
39 alias: "Außen mind. 2 °C kühler als innen"
40 - condition: state
41 entity_id: binary_sensor.jemand_zuhause
42 state: "on"
43 alias: "Jemand ist zuhause"
44 sequence:
45 - alias: "Flag setzen: Kühlung aktiv"
46 action: input_boolean.turn_on
47 target:
48 entity_id: input_boolean.kwl_nachtauskuhlung
49 - alias: "KWL auf Manuell (Register 550 = 1)"
50 action: modbus.write_register
51 data:
52 hub: ws300
53 unit: 1
54 address: 550
55 value:
56 - 1
57 - alias: "KWL auf Stufe 4 / Intensiv (Register 554 = 4)"
58 action: modbus.write_register
59 data:
60 hub: ws300
61 unit: 1
62 address: 554
63 value:
64 - 4
65 - alias: "Beenden: Ziel/Fensterende/kein Vorteil -> zurück auf Auto"
66 conditions:
67 - condition: state
68 entity_id: input_boolean.kwl_nachtauskuhlung
69 state: "on"
70 sequence:
71 - alias: "Flag aus"
72 action: input_boolean.turn_off
73 target:
74 entity_id: input_boolean.kwl_nachtauskuhlung
75 - alias: "KWL zurück auf Auto-Sensor (Register 550 = 3)"
76 action: modbus.write_register
77 data:
78 hub: ws300
79 unit: 1
80 address: 550
81 value:
82 - 3Wie die Automation funktioniert
Drei Trigger, zwei Pfade. Klingt erstmal nach mehr als es ist.
Die Trigger im Überblick:
| Trigger | Typ | Zweck |
|---|---|---|
pruefen | Alle 10 Min. | Regelmäßig prüfen ob Kühlen sinnvoll ist |
fensterende | 22:25 Uhr | Harter Stopp vor "Leise lüften" (22:30) |
ziel | Raum unter 22 °C | Zieltemperatur erreicht, fertig |
Pfad "Kühlen" wird nur aktiv, wenn der 10-Minuten-Trigger feuert und alle Bedingungen gleichzeitig stimmen. Es muss zwischen 19:00 und 22:25 sein, die Raumtemperatur muss über 23 °C liegen, außen muss es mindestens 2 °C kühler sein als innen, und jemand muss zuhause sein. Wenn das alles passt, wird das Flag auf "an" gesetzt, die KWL schreibt über Modbus Register 550 den Wert 1 für Manuell und dann Register 554 den Wert 4 für Stufe Intensiv.
Pfad "Beenden" springt an, wenn das Flag auf "on" steht und einer der Stopp-Trigger feuert: entweder 22:25 Uhr oder die Raumtemperatur fällt unter 22 °C. Dieser Pfad hat bewusst nur eine einzige Bedingung, nämlich das Flag. So kann jeder Trigger den Abbruch auslösen, egal welcher. Das Flag geht aus, und Register 550 bekommt den Wert 3 für Auto-Sensor.
Der 10-Minuten-Trigger aktiviert also immer die Prüfung. Wenn die Bedingungen für Kühlen nicht mehr stimmen (z.B. weil der Temperaturvorteil draußen weg ist), landet die Automation im Pfad "Beenden", prüft das Flag, und schaltet die Kühlung sauber ab.
Anpassen an dein Setup
Andere KWL als die Maico WS 300: Die Modbus-Adressen und den Hub-Namen im YAML anpassen. Die Logik bleibt identisch. Bei mir ist Register 550 der Betriebsmodus (1 = Manuell, 3 = Auto-Sensor) und Register 554 die Lüftungsstufe (4 = Intensiv). In deiner Anlagendokumentation findest du die entsprechenden Adressen.
Temperaturschwellen: above: 23 legt fest, ab welcher Raumtemperatur das Kühlen startet. Im Hochsommer kann man das auf 24 oder 25 hochsetzen, wenn man nicht schon bei 23 °C die Anlage anwerfen will. below: 22 im Trigger definiert, wann es kühl genug ist. 22 °C finde ich zum Schlafen angenehm. Die 2 °C Mindestdifferenz im Template verhindert, dass die Anlage anspringt, wenn draußen nur minimal kühler ist als innen, was energetisch wenig Sinn ergibt.
Zeitfenster: 19:00 bis 22:25 passt für den deutschen Sommer ganz gut. Im Frühjahr oder Herbst kannst du after auf 18:00 vorziehen, wenn es früher abends abkühlt.
Keine Anwesenheitserkennung vorhanden: Einfach die binary_sensor.jemand_zuhause-Bedingung aus dem YAML löschen. Fertig.
Zusammenspiel mit anderen Automationen
Das input_boolean.kwl_nachtauskuhlung-Flag ist der eigentliche Dreh- und Angelpunkt, wenn man mehrere KWL-Automationen betreibt. Meine anderen Automationen checken dieses Flag bevor sie irgendwas tun:
Die Leise lüften-Automation startet um 22:30 Uhr und prüft zuerst, ob die Nachtauskühlung noch läuft. Die Übergabe um 22:25 Uhr im Beenden-Pfad sorgt für fünf Minuten Puffer. Die Stoßlüftung nach dem Duschen startet nicht, solange die Nachtauskühlung aktiv ist, weil die sonst einfach den manuellen Modus wieder überschreiben würde.
Ohne dieses Flag würden sich die Automationen gegenseitig auf den Füßen stehen und Modbus-Register hin und her schreiben. Mit dem Flag weiß jede Automation, was gerade passiert, und hält sich raus.
Ob das bei dir genauso viele Grad bringt wie erhofft, hängt natürlich stark davon ab, wie gut dein Haus nachts abkühlen kann und wie die Außentemperaturen bei dir so sind. Bei mir sind es ein paar Grad, die tatsächlich einen Unterschied machen, gerade im Schlafzimmer. Hast du auch eine KWL, die du per Modbus in Home Assistant steuern kannst? Mich würde interessieren, was für Automationen du dir dafür ausgedacht hast oder was du dir vorstellen könntest.
