[Custom Integration] Tado X Proxy Thermostat für Home Assistant 🔥

Hallo zusammen,

ich möchte euch heute eine Custom Integration für Home Assistant vorstellen, an der ich die letzten Monate intensiv gearbeitet habe: den Tado X Proxy Thermostat.


Das grundlegende Problem

Tado X TRVs messen die Temperatur direkt am Gerät, also an der Heizkörperoberfläche. Das führt in der Praxis regelmäßig dazu, dass die Heizung zu früh abschaltet: Der Heizkörper ist warm, der Raum selbst liegt aber noch 1 bis 3 °C unter der Wunschtemperatur. Das ist ein konstruktionsbedingtes Dauerproblem, das sich mit der offiziellen App alleine nicht lösen lässt.


Wie die Integration das löst

Die Integration erstellt einen virtuellen Proxy-Thermostaten, der sich vor den echten Tado X TRV schaltet. Der Proxy nutzt einen beliebigen externen Raumsensor (zum Beispiel einen Zigbee-Temperatursensor) als Referenz und berechnet aus der Differenz zwischen Tado-intern und Raumtemperatur einen Korrekturoffset. Dieser Offset wird direkt auf den Sollwert aufgerechnet, ohne Verzögerung. Das nennt sich Feedforward-Regelung.

Dazu kommt eine PI-Regelung (Proportional-Integral), die verbleibende Restfehler über die Zeit ausgleicht. Die Regelparameter Kp und Ki sind direkt in der HA-Oberfläche konfigurierbar, ohne dass man in Konfigurationsdateien eingreifen muss. Neu hinzugekommen ist ein adaptives Gain Scheduling: Die Regelparameter passen sich automatisch an den aktuellen Betriebszustand an, was die Regelgüte besonders in Übergangsphasen nochmal verbessert. Die Standardwerte funktionieren in den meisten Räumen gut, im TUNING.md im Repo gibt es eine ausführliche Anleitung zur Feinjustierung.

Das Ergebnis in meiner eigenen Installation: eine Genauigkeit von ±0,3 bis 0,5 °C, nachgewiesen über mehrstündigen Nachtbetrieb.

Ein wichtiger Punkt: Die Integration setzt auf die Matter-Einbindung der Tado X TRVs in Home Assistant. Die Geräte kommunizieren dabei lokal über Thread direkt mit HA, ohne Umweg über die Tado-Cloud-API. Wer seine Tado X Thermostate bereits über Matter in HA eingebunden hat, kann den Proxy direkt darüber nutzen.


Einige der Features im Überblick

Der Proxy-Thermostat kennt sechs Betriebsmodi: Komfort, Eco, Boost, Abwesend, Frostschutz und Manuell. Alle Preset-Temperaturen sind als eigene number.*-Entitäten in HA verfügbar und lassen sich direkt in Automationen nutzen.

Der Boost-Modus heizt kurzzeitig auf eine konfigurierbare Boost-Temperatur. Die Dauer des Boosts lässt sich in den Optionen der Integration einstellen, danach schaltet der Proxy automatisch auf Komfort zurück.

Die Fenstererkennung überwacht einen optionalen Binärsensor. Beide Verzögerungen sind in den Optionen frei konfigurierbar: wie lange nach dem Öffnen gewartet wird, bevor auf Frostschutz gewechselt wird, und wie lange nach dem Schließen gewartet wird, bevor das vorherige Preset wiederhergestellt wird. Die Schließverzögerung verhindert dabei einen aggressiven Heiz-Burst nach dem Stoßlüften.

Der Präsenzsensor funktioniert ähnlich: Wenn niemand mehr zu Hause ist, wechselt der Proxy nach einem frei konfigurierbaren Timeout auf das Abwesend-Preset und kehrt automatisch zurück, sobald jemand heimkommt.

Der Schalter “Physischem Thermostat folgen” erkennt, wenn jemand am echten Tado TRV direkt eine Temperatur einstellt (Differenz >1,5 °C zur letzten Vorgabe), und übernimmt diese Änderung automatisch in den Manuell-Modus.

Das neu eingeführte, optionale Adaptive Gain Scheduling passt die Regelparameter Kp und Ki automatisch an den aktuellen Betriebszustand an. In der Aufheizphase, also wenn der Raum noch weit von der Zieltemperatur entfernt ist, arbeitet der Regler aggressiver, um schnell auf Temperatur zu kommen. Nähert sich der Raum dem Sollwert, wechselt der Regler automatisch in einen sanfteren Modus, um Überschwingen zu vermeiden.

Für die Diagnose stellt die Proxy-Entität Attribute wie room_temp, tado_internal_temp, correction_applied und den aktuellen integral-Wert bereit, die direkt in den Entwicklerwerkzeugen sichtbar sind.

hvac_modes:
  - heat
  - "off"
min_temp: 5
max_temp: 30
preset_modes:
  - comfort
  - eco
  - boost
  - away
  - frost_protection
current_temperature: 17.1
temperature: 17
hvac_action: idle
preset_mode: eco
regulation_reason: already_at_target
tado_internal_temp_c: 18
correction_kp: 0.8
correction_ki: 0.003
effective_setpoint_c: 17
window_open_active: false
window_close_delay_active: false
presence_away_active: false
sensor_degraded: false
overlay_refresh_s: 0
room_temp_last_valid_c: 17.1
room_temp_last_valid_age_s: 606
feedforward_offset_c: 0.9
p_correction_c: -0.08
i_correction_c: -0.2
error_c: -0.1
target_for_tado_c: 17.6
is_saturated: false
icon: mdi:leaf
friendly_name: GZ Proxy Thermostat
supported_features: 401

Einrichtung

Die Integration ist über HACS als Custom Repository verfügbar. Bei der Erstkonfiguration werden nur drei Dinge abgefragt: der echte Tado X TRV als climate.*-Entity, ein externer Temperatursensor (sensor.* mit device_class: temperature) und ein Name für den Proxy. Alle weiteren Parameter lassen sich danach bequem über die Optionen der Integration anpassen.

Ein Blick auf mein Heizungs-Dashboard

Zum Abschluss noch ein kurzer Einblick, wie ich die Integration in meinem eigenen Dashboard nutze. Die Hauptansicht zeigt eine Thermostatkarte pro Raum mit der aktuellen Raumtemperatur, dem Sollwert und dem aktiven Preset. Dazu kommen ein paar Statuskarten, die auf einen Blick zeigen ob ein Fenster geöffnet ist, ob der Präsenzsensor jemanden zu Hause erkennt und ob gerade eine Lüftungsempfehlung aktiv ist.

Für die Zeitsteuerung setze ich die Scheduler Component zusammen mit der Scheduler Card ein. Darüber lassen sich Zeitpläne für die verschiedenen Presets komfortabel direkt im Dashboard verwalten, also zum Beispiel wann der Raum auf Komfort hochgeheizt werden soll, wann auf Eco gewechselt wird und so weiter. Die Kombination aus Proxy-Thermostat und Scheduler gibt einem eine vollständige Heizungssteuerung, die komplett lokal läuft und sich trotzdem sehr flexibel bedienen lässt.


Ich freue mich über Feedback, Erfahrungsberichte und natürlich auch Issues oder Feature-Wünsche direkt auf GitHub. Wer Tado X im Einsatz hat und mit der Temperaturgenauigkeit kämpft, sollte der Integration eine Chance geben.

GitHub: GitHub - kinimodb/ha-tadox-proxy: Home Assistant custom integration: proxy climate entity for Tado X · GitHub

Anbei einige Screenshots zum obigen Post:

Übersicht der Proxy Optionen mit allen Expandables und Einstellungen zum Fenstersensor:


Anbei einige Screenshots zum obigen Post:

Optionen zur Präsenzerkennung, der Adaptiven Verstärkung und TRV Kommunikation:


Anbei einige Screenshots zum obigen Post:

Ersteinrichtung:

Zeitplan über Scheduler-Component:

2 „Gefällt mir“