Smart Home lokal · Teil 2 von 8

Der Fall Schlafzimmer: Drei Ursachen für ein kaltes Büro

Ab 08:00 sollten es 23 °C sein, um 10:50 waren es 21,5. Die Verläufe zeigten drei Ursachen: ein offenes Fenster, ein zu knapp gerechnetes Vorheizen und ein Ventil, das sich am eigenen Heizkörper ausbremste.

25.09.2026, 10:50. Der Raumfühler im Schlafzimmer zeigt 21,5 °C. Der Raum ist tagsüber unser Büro, sein Plan sagt Komfort von 08:00 bis 16:00, und Komfort heißt hier seit dem Vortag 23 °C. Die Steuerung hatte scheinbar alles richtig gemacht: Zielwert 23, am Ventil sogar 26 eingestellt. Trotzdem fehlten fast drei Stunden nach Beginn des Fensters noch anderthalb Grad.

Statt an einer Stellschraube zu drehen, haben wir mit Claude die Verläufe des Morgens durchgesehen und drei Ursachen gefunden, jede belegt. Für die dritte braucht es etwas Vorgeschichte.

Was vorher geschah

Im Schlafzimmer sitzt ein AVM FRITZ!Smart Thermo 301. Es regelt immer nach dem Fühler in seinem Kopf, und der sitzt am Heizkörper. Einen externen Fühler kann es, anders als unsere Sonoff-Ventile, nicht übernehmen. Seit dem 20.09. hängt deshalb ein eigener Raumfühler im Zimmer, und Home Assistant verschiebt den Sollwert:

ausgleich = Kopf - Raum,        gedeckelt auf +/- 3 K
soll      = Ziel + ausgleich,   auf 0,5 gerundet

Alle 15 Minuten wird nachgeregelt, aber nur, solange am Ventil noch der Wert steht, den die Steuerung zuletzt selbst geschrieben hat. Diesen Wert hält eine input_number fest, der Merker. Weicht das Ventil davon ab, hat jemand von Hand gedreht, und die Steuerung hält still bis zum nächsten Schaltpunkt. Ausgleich und Merker im Detail: Teil 3.

Am 23.09. ging das sichtbar schief. Das Ziel lag damals noch bei 20,0:

Zeit Soll Kopf Raum Bemerkung
09:45 23,0 23,5 19,6 am Deckel
10:30 23,0 23,0 20,0 Ziel erreicht
11:15 25,5 23,5 20,6 von außen gesetzt
14:15 25,5 25,5 22,4 2,4 über Ziel
16:00 19,0 25,5 22,4 Absenkung: 19 statt 16

Zwei Fehler steckten darin. Eine Wache „Raum über Ziel, nicht anfassen“ sollte Batterie sparen, verhinderte aber auch, dass der beim Aufheizen auf Ziel + 3 geschobene Sollwert wieder herunterkam. Die 25,5 um 11:15 kamen nicht von der Steuerung und wurden wie vorgesehen als Handgriff respektiert. Und der Schaltpunkt um 16:00 rechnete mit dem noch heißen Kopf: Absenkung 16 plus Deckel 3 ergab 19,0. Die Überlegung vom 20.09., der Ausgleich könne sich nicht hochschaukeln, stimmte für den Endpunkt der Regelung, nicht für den Weg dorthin.

Seit dem 24.09. gilt, beim Nachregeln wie am Schaltpunkt, eine Regel mit drei Fällen:

Raum unter Ziel - 0,5    ->  Ziel + (Kopf - Raum), gedeckelt auf 3   kräftig heizen
Raum am oder über Ziel   ->  reiner Zielwert                          Ventil schließt
dazwischen               ->  bleibt, wie es ist                       Totzone gegen Takten

Am selben Tag stieg der Komfortwert des Schlafzimmers von 20 auf 23 °C, die Spartemperatur von 16 auf 18 °C.

Randnotiz: Beim ersten Schaltpunkt danach schrieb die Steuerung 26,0 statt 22,5, gerechnet mit einem Raumwert von 16,2. Das war Claudes Testwert, eine Viertelstunde vorher über die State-API gesetzt. Der Fühler hatte seitdem zweimal 19,9 gemeldet, doch die MQTT-Entität vergleicht mit ihrer eigenen letzten Meldung, nicht mit dem angezeigten Zustand. Kommt derselbe Wert wie vor dem Überschreiben, bleibt der Testwert stehen. Seitdem wird nach solchen Tests der letzte echte Gerätewert zurückgesetzt.

Erste Spur: Der Taupunkt verrät das Fenster

Tag Raum 06:40 tiefster Wert Taupunkt
23.09. 20,6 16,8 (08:00) 15,3 → 6,7
24.09. 21,3 19,5 (07:00) 15,9 → 10,7 (draußen mild)
25.09. 21,1 16,9 (07:40) 15,6 → 8,1

Dass der Raum morgens um bis zu vier Grad fällt, beweist allein noch nichts. Der Taupunkt schon: Fällt er so steil, kommt trockene Außenluft herein, also steht ein Fenster offen. Morgens wird rund eine Stunde gelüftet.

Die Fenster-offen-Erkennung des AVM-Ventils hat an keinem der drei Tage ausgelöst, binary_sensor.heizung_schlafzimmer_offenes_fenster_erkannt blieb aus. Der Kopf fiel dafür zu langsam. Das Ventil stand in der Zeit offen und heizte nach draußen.

Eine eigene Fenster-Erkennung über den Taupunkt lag auf dem Tisch. Wir haben sie zurückgestellt: Nach einer Stunde Lüften hat der Raum 17 °C, und für sechs Grad braucht er selbst mit offenem Ventil rund vier Stunden. Eine Erkennung hätte das Ventil beim Lüften geschlossen, die 23 °C um 08:00 aber nicht gerettet. Das schafft nur Stoßlüften, 5 bis 10 Minuten bei weit offenem Fenster. Dann bleiben die Wände warm, und der Raum verliert etwa ein Grad.

Zweite Spur: Das Vorheizen begann zu spät

Vor jedem Komfortfenster wird vorgeheizt: Rückstand mal Kennzahl. Die Kennzahl galt bis dahin für alle Räume gemeinsam, 30 Minuten je Grad, höchstens zwei Stunden. Am 25.09. begann das Vorheizen damit erst um 06:58. Gemessen hat der Raum ab 08:00 bei offenem Ventil:

Zeitraum Raum Anstieg Minuten je Grad
08:00–09:00 18,1 → 19,7 1,6 K/h 37
09:00–10:00 19,7 → 20,9 1,2 K/h 50
10:00–10:50 20,9 → 21,5 0,7 K/h 83

Selbst die schnellste Stunde brauchte mehr als die angesetzten 30 Minuten je Grad, und je näher am Ziel, desto langsamer wurde es. Die letzte Zeile geht allerdings schon auf das Konto der dritten Spur.

Das Schlafzimmer hat seitdem eine eigene Kennzahl, input_number.schlafzimmer_vorheizen_minuten_je_grad = 50, und einen eigenen Deckel, input_number.schlafzimmer_vorheizen_maximal = 180 Minuten. Bei 21 °C in der Nacht beginnt das Vorheizen damit gegen 06:20, aus 18 °C um 05:00. Die übrigen Räume bleiben bei 30 Minuten je Grad und zwei Stunden. Warum eine feste Zahl grundsätzlich zu kurz greift, erzählt Teil 4.

Dritte Spur: Das Ventil bremst sich selbst

Zeit Soll Kopf Abstand Raum
08:00 23,0 19,5 3,5 18,1
08:45 26,0 23,0 3,0 19,3
09:00 26,0 24,0 2,0 19,7
09:30 26,0 25,0 1,0 20,3
10:45 26,0 25,0 1,0 21,3

Die entscheidende Spalte ist der Abstand. Das Ventil kennt nur Sollwert und Kopf, den Raum sieht es nicht. Der Ausgleich war auf +3 gedeckelt, mehr als 26 konnte die Steuerung also nicht schreiben. Als der Kopf am heißen Heizkörper 25 erreichte, hielt sich das Ventil für fast fertig und schloss weitgehend. Ab 09:30 stieg der Raum nur noch mit 0,7 statt 1,6 K/h.

Ausgerechnet der Deckel, der den Schaden eines falsch platzierten Fühlers begrenzen soll, war beim Aufheizen zur Bremse geworden.

Die Lösung vom 25.09.: 28 heißt ganz auf

Die Drei-Fälle-Regel bekam für Büro und Schlafzimmer, beide mit AVM-Ventil und Raumfühler, einen neuen ersten Fall. Der Kern aus der Nachregel-Automation:

{% set r = raumwert | float %}
{% set z = zielwert | float %}
{% set a = [[(kopf | float) - r, 3.0] | min, -3.0] | max %}
{% set mit  = ((([[z + a, 28.0] | min, 8.0] | max) * 2) | round(0) / 2) %}
{% set rein = ((([[z, 28.0] | min, 8.0] | max) * 2) | round(0) / 2) %}
{% set voll = 28.0 %}
{{ rein if r >= z
   else (voll if r < z - 0.5
   else (mit if (gemerkt | float) >= voll - 0.01 else gemerkt)) }}

Unter Ziel − 0,5 bekommt das Ventil 28, seinen höchsten Sollwert, also ganz auf. Im letzten halben Grad landet es: Steht der Merker noch auf 28, geht es auf Ziel + Ausgleich, sonst bleibt der Wert, wie er ist. Am oder über dem Ziel gilt der reine Zielwert. Am Schaltpunkt gibt es nur 28 oder den reinen Zielwert, das Landen übernimmt das Nachregeln binnen 15 Minuten.

Warum nicht der Boost-Modus des AVM-Ventils? Boost öffnet dauerhaft, meldet dabei aber keinen Sollwert, temperature wird leer. Der Merker liest den Sollwert zurück, um Handgriffe zu erkennen, und die Ventile hängen über Matter an Alexa. Beides käme mit einem leeren Sollwert nicht zurecht. 28 ist dagegen eine gewöhnliche Zahl.

Der Preis: Hängt ein Raumfühler auf einem zu tiefen Wert fest, bleibt das Ventil auf 28, bis Zigbee2MQTT ihn nach 25 Stunden ohne Nachricht als nicht verfügbar meldet. Vorher begrenzte der Deckel diesen Fall.

Bevor etwas scharf ging, hat Claude jede Formel über die Vorlagen-Schnittstelle (/api/template) durchgerechnet, genau so, wie sie in der Konfiguration steht. Eine Auswahl:

Fall Werte Ergebnis
Aufheizen, Kopf heiß (Lage vom 25.09.) Raum 20,3, Kopf 25, Merker 28 28,0 (vorher 26)
letzter halber Grad, von 28 kommend Raum 22,6, Kopf 25 25,5
gelandet Raum 22,8, Merker 25,5 bleibt 25,5
Schaltpunkt beim Vorheizen Raum 21,2, Ziel 23 28,0
Vorheizen aus 18 °C, 200 / 175 min vor 08:00 250 min, gedeckelt auf 180 18 / 23

Und die Einsicht aus der ersten Spur gehört dazu: Gegen ein Fenster, das eine Stunde offen steht, hilft keine Regelung. Stoßlüften schon.

Der erste echte Morgen

Sonntag, 27.09.2026:

Zeit Ziel Soll Kopf Raum Taupunkt
06:00 18 18 21,0 21,3 15,4
06:30 23 28 21,0 21,3 15,4
07:00 23 28 22,5 21,5 15,6
07:30 23 28 22,0 19,3 11,1
08:00 23 28 22,0 20,3 12,0
09:00 23 28 24,5 21,1 12,7
10:00 23 28 25,5 21,5 k. A.

Zwischen 06:00 und 06:30 sprang der Zielwert auf 23, und das Ventil bekam 28, wie vorgesehen. Zwischen 07:00 und 07:30 wurde wieder gelüftet: Der Taupunkt fiel von 15,6 auf 11,1, der Raum von 21,5 auf 19,3.

Seit dem 25.09. offen war die Frage, ob 28 das Ventil wirklich offen hält oder ob der Kopf auf 27 bis 28 steigt und es wieder drosselt. Dann bliebe nur Boost. Die Antwort: Um 09:00 lag der Kopf 3,5 K unter dem Sollwert, um 10:00 noch 2,5 K. Zwei Tage zuvor war der Abstand um 09:30 auf 1,0 geschrumpft. Das Ventil drosselte nicht mehr.

Am Ziel war der Raum trotzdem nicht. Um 10:00 hatte er 21,5 °C. Von 08:00 bis 10:00 stieg er um 1,2 Grad, am 25.09. im selben Zeitraum um 2,8, allerdings von tieferem Niveau aus. Und mit ganz offenem Ventil kam der Kopf auf 25,5, kaum höher als zwei Tage zuvor mit gedrosseltem. Warum, sagen diese Zahlen allein nicht.

Was kein Ventil beheben kann

Deutlicher wurde es gegen Mittag. Draußen stieg die Temperatur auf über 20 °C, und der Kopf kühlte ab, obwohl der Sollwert die ganze Zeit auf 28 stand:

Zeit außen Kopf Soll
10:00 17,4 25,5 28
12:00 20,7 23,0 28
13:00 21,8 22,5 28

Ein ganz offenes Ventil an einem abkühlenden Heizkörper spricht dafür, dass kein warmes Wasser mehr kam. Sehr wahrscheinlich hatte die Gastherme nach ihrer Heizgrenze auf Sommerbetrieb geschaltet. Direkt lesen können wir die Therme nicht. Der beste Zeuge war ausgerechnet der AVM-Kopf, der in der dritten Spur noch der Täter war: Er misst am Heizkörper. Im Gästezimmer zeigte sich am Nachmittag dasselbe, das Ventil heizte, der Raum blieb bei 20,8 bis 21,3 °C (mehr dazu in Teil 3).

Die drei Ursachen vom 25.09. sind damit erklärt. Die zweite und dritte hat die Steuerung behoben, die erste liegt am Fenster. Und die vierte liegt außerhalb dessen, was Home Assistant schalten kann. Ein smartes Ventil kann nur öffnen. Wärme erzeugen kann es nicht.

Was wir mitnehmen

  • Der Taupunkt ist ein guter Fenstermelder: Fällt er steil, kommt trockene Außenluft herein. Die Fenster-offen-Erkennung des AVM-Ventils hat das an drei Morgen nicht bemerkt.
  • Vorheizkennzahlen je Raum messen. Das Schlafzimmer brauchte 37 bis 83 statt 30 Minuten je Grad.
  • Kommt ein Raum mit AVM-Ventil langsam hoch, im Verlauf den Abstand Sollwert minus Kopf ansehen. Schrumpft er auf ein Grad, drosselt das Ventil. Zum Aufheizen 28, erst im letzten halben Grad der Ausgleich.
  • Boost leert temperature. Wer den Sollwert zurückliest, kann ihn nicht brauchen.
  • Formeln vor dem Scharfschalten über /api/template mit Testfällen durchrechnen. Überschriebene Zustände danach auf den echten Gerätewert zurücksetzen.
  • Kühlt der Kopf bei ganz offenem Ventil ab, liegt die Ursache an der Wärmequelle, nicht im Raum.