Was ist Auto-Assist überhaupt?
Tado bietet für seine Geräte einen kostenpflichtigen Abo-Service namens Auto-Assist an. Dieser Service soll die Heizungsteuerung vollständig automatisieren, sodass keine Anwenderinteraktionen mehr nötig sind. Im Detail handelt es sich dabei um zwei zusätzliche bzw. komfortablere Funktionen. Zum einen regelt Tado automatisch die Heizung herunter, sobald ein offenes Fenster erkannt wird. Zum anderen passt Tado die Heizung automatisch an, wenn die letzte Person das Haus oder die Wohnung verlässt bzw. die erste Person nach Hause kommt.
Auch wenn diese Funktionen vermutlich für viele Nutzer von Tado gute Addons sind, für die sie mehr oder weniger gern bezahlen, gibt es für technisch Versierte kostenlose Alternativen, beispielweise bei Nutzung von Home Assistant. In dieser Beitragsreihe zeige ich euch, wie ihr kostenlos die Funktionen des Tado Auto-Assist mit Home Assistant selber bauen könnt.
Tado Auto-Assist bietet noch mehr Services, die aber für die täglichen Funktionen erstmal keine weitere Rolle spielen. Genau nachlesen könnt ihr das auf der entsprechenden Support-Seite von Tado.
Tado Auto-Assist selber bauen – Fenster-Offen-Erkennung
In der kostenlosen Version von Tado gibt es die Fenster-Offen-Erkennung zwar auch, allerdings bekommt man nur eine Push-Benachrichtigung auf das Smartphone. Herunter regeln muss man die Heizung dann selbst per Knopfdruck. Aber genau diesen Umstand machen wir uns an dieser Stelle zu nutze. Wenn ihr schon erfolgreich Tado in Home Assistant integriert habt, bekommt diesen Zustand natürlich auch Home Assistant mit. Wir nutzen also die Änderung des „Fenster-Offen“-Sensor als Trigger für eine Automatisierungsregel.
Falls ihr mehr über die Integration von Tado in Home Assistant wissen möchtet oder euch dieser Schritt noch fehlt, schaut doch mal in folgenden Beitrag:
Tado in Home Assistant integrieren
Prinzipiell besteht eine Automatisierungsregel in Home Assistant aus vier Teilen. Wir werden nachfolgend jeden Einzelnen davon anhand unseres Fenster-Offen-Szenarios betrachten.
Grundkonfiguration
Im ersten Teil vergibt man der Regel einen sprechenden Namen. Optional könnt ihr noch eine Beschreibung hinzufügen. Der Modus gibt an, was passieren soll, wenn diese Regel gerade noch ausgeführt, aber nochmals getriggert wird. In unserem Fall reicht der Standardmodus „Einzeln“. Dieser startet keinen neuen Durchlauf und wirft ggf. eine Warnung aus.
Auslöser
Als Nächstes konfigurieren wir den Auslöser. Dieser besagt, was passieren muss, damit diese Automatisierungsregel ausgelöst wird. Bei der Fenster-Offen-Erkennung handelt es sich im eine Zustandsänderung, dementsprechend wählen wir als Auslösertyp „Zustand“ aus.
Hierzu gehört natürlich auch, wessen Zustand sich ändert. Das geben wir mit der Entität an. Hier wählen wir den Sensor, der für die Fenster-Offen-Erkennung gedacht ist. Diese Entität wird bei der Integration von Tado in Home Assistant automatisch angelegt.
Last but not least benötigt der Auslöser noch eine Info, wie genau sich der Status ändern muss. In unserem Beispiel muss sich die Fenster-Offen-Erkennung von „off“ zu „on“ ändern. „Off“ beutet an dieser Stelle Fenster geschlossen, „on“ bedeutet Fenster geöffnet.
Bedingungen
Wie der Name schon sagt geben die Bedingungen an, unter welchen Umständen die Regel überhaupt ausgeführt werden soll. In unserem Fall ist dieser Punkt eher optional und dient nur als doppelte Absicherung. Wir haben zwar schon beim Auslöser definiert, dass sich der Zustand von „off“ nach „on“ ändern muss, aber ich gebe hier nochmal zusätzlich an, dass der initiale Status „off“ sein muss.
Genau, wie beim Auslöser setzen wir den Bedingungstyp wieder auf Zustand. Als Entität wählen wir unseren entsprechenden Sensor aus und den Zustand definieren wir als „off“.
Aktionen
Schlussendlich kommen wir zum wichtigsten Teil, dem wirklichen Doing der Regel. Hier wird genau definiert, was passieren soll, wenn die Regel in Kraft tritt und alle Bedingungen erfüllt wurden. An dieser Stelle sind der Phantasie an sich keinerlei Grenzen gesetzt. In meinem Beispiel setze ich den HVAC-Mode des Gerätes „Bad“ auf off, sprich die Heizung wird ausgeschaltet.
Die nächste Aktion „Warten auf den Ablauf“ ist nichts anderes, als ein Timer, der herunterläuft. In meinem Fall 15 Minuten.
Nach Ablauf desselbigen wird der HVAC-Mode von „Bad“ wieder auf Auto gesetzt, also die Heizung wieder eingeschaltet. Hier hängt es von den jeweiligen Gegebenheiten bzw. Vorlieben ab, wie man diese Aktionen gestaltet. Natürlich sollte man in meinem Beispiel nach den 15 Minuten auch wieder das Fenster schließen, aber auch hier gibt es Mittel und Wege. Bei mir wird durch eine weitere Regel ein Amazon Echo Dot getriggert mir mitzuteilen, dass die Fenster wieder geschlossen werden können.
Mit einem Klick auf „Speichern“ unten rechts sind wir auch schon am Ende der Erstellung dieser Automatisierungsregel angekommen. Ab jetzt wird Home Assistant immer euren Heizkörper in dem entsprechenden Raum herunterregeln, sobald ein offenes Fenster erkannt wird.
Natürlich könnt ihr diese Regel auch auf alle anderen Räume eures Zuhauses adaptieren. Im einfachsten Fall nehmt ihr die YAML-Konfiguration dieser Regel, kopiert diese und ändert die entsprechenden Entitäten:
alias: Fenster offen Bad - Zeitplan an
description: ''
trigger:
- platform: state
entity_id: binary_sensor.bad_open_window
from: 'off'
to: 'on'
condition:
- condition: state
entity_id: binary_sensor.bad_open_window
state: 'off'
action:
- device_id: 60ec825d879df9578d515d045b843cda
domain: climate
entity_id: climate.bad
type: set_hvac_mode
hvac_mode: 'off'
- delay:
hours: 0
minutes: 15
seconds: 0
milliseconds: 0
- device_id: 60ec825d879df9578d515d045b843cda
domain: climate
entity_id: climate.bad
type: set_hvac_mode
hvac_mode: auto
mode: single
Damit sind wir am Ende des ersten Teils in der Reihe „Tado Auto-Assist selber bauen“ angekommen. Im nächsten Teil geht es um die automatisierte Steuerung eurer Heizung via Geolokalisierung.
Tipps & Tricks
Ihr möchtet mehr zum Thema Tado und Home Assistant erfahren? Dann klickt euch doch mal durch meine entsprechenden Kategorien:
Ich bin beruflich Consultant für Datacenter-Netzwerke. Da ich aber durch und durch IT’ler bin, beschäftige ich mich auch im Privaten viel mit Technik, Smart Home und Automatisierung.
Mit meinen Beiträgen möchte ich euch helfen, in dieser schnelllebigen Welt der Technik etwas Licht ins Dunkle zu bringen.
Vielen Dank für den Tipp!
Eine Frage, bzw. Beobachtung: bei mir hat die Automatisierung nicht funktioniert weil die Condition
condition:
– condition: state
entity_id: binary_sensor.bad_open_window
state: ‚off‘
zu dem Zeitpunkt schon nicht mehr erfüllt war, weil der state ja schon auf ‚on‘ ist.
Habe ich da was falsch gemacht, oder wie ist Deine Erfahrung? (Ich würde die Condition erstmal weglassen, sie ist ja ohnehin nur eine Absicherung)
Viele Grüße,
Bernd
Hallo Bernd,
die Condition betrachtet den Zustand VOR dem triggern des Auslösers. Ja, in dem Fall ist es nur eine Absicherung, aber im Normalfall sollte der State vor dem Auslösen „off“ lauten. Wenn er „on“ lauten würde, ist das Fenster offen und der Auslöser würde in der Kombi von „off“ zu „on“ gar nicht triggern.
Viele Grüße,
Tobias
Sorry, ich hab es eben nochmal getestet, und bei mir (HA 2022.9.4) verhält es sich anders:
Hier wird die Condition NACH dem Trigger ausgewertet, das sehe ich auch in der „Traces“-Ansicht der Automation, da steht bei den Step Details
Executed: 19 September 2022 at 17:49:36
Result:
result: false
entity_id/0
Executed: 19 September 2022 at 17:49:36
Result:
result: false
state: ‚on‘
wanted_state: ‚off‘
Und auch die Dokumentation unter https://www.home-assistant.io/docs/automation/condition/ verstehe ich so, dass die Condition eine Automation abbrechen kann, aber dafür muss sie ja erstmal getriggert worden sein.
Aber wie gesagt: danke für die Anleitung. Der Trigger funktioniert bei mir wie erwartet, der state change is von ‚off‘ zu ‚on‘, und ich denke ich lasse die Condition weg.
Hallo , ich würde in Abwesenheit gerne die Temperatur des Tado vopn Auto auf , z.B. 18 Grad stellen.
Wie kann ich das im HA konfigurieren.
Zur Auswahl habe ich nach Deinem Beispsiel ja nur: Off, Auto und heating. Bei heating kann ich aber leider keine bestimmte Temperatur angeben.
Hallo Ralph,
leider bezieht sich deine Frage auf den falschen Beitrag. Du redest von der Geolokalisierung, referenzierst aber die Fenster-Offen-Erkennung. Bei der Geolokalisierung hast du als Aktion die Auswahl den „preset mode“ für ein (oder mehrere) Thermostat(e) zu setzen. Hier wählst du für dein Beispiel „away“ aus. Wenn du nun in der Tado-App oder Web-GUI einmalig definiert hast, wie hoch bzw. niedrig die Absenktemperatur sein soll (in deinem Fall 18°C), wird wenn Tado registriert, dass dein Zuhause in den „AWAY“ Mode versetzt wurde, die Temperatur auch entsprechend abgesenkt.
Lies hierzu doch nochmal in dem richtigen Artikel nach:
https://tgraeber.de/tado-auto-assist-selber-bauen-home-assistant-geolokalisierung/
Bei Fragen melde dich doch einfach nochmal.
Hallo Tobias,
Ich bin zufällig hierauf gestoßen als ich dabei war mein neues Aqara Thermostat E1 zu installieren und per Automatisierung anzusteuern.
Ich bekomme es zwar hin, das das Thermostat im gewollten Augenblich angeht, doch ich bekomme es dann nicht einfach wieder aus, ohne die Temperatur zu ändern.
Vielleicht hat wer von euch hier eine Lösung.
Hier mein Code:
alias: Problemfall
description: „“
trigger:
– platform: state
entity_id:
– binary_sensor.kueche_fenster
– binary_sensor.wohnzimmer_fenster
from: „off“
to: „on“
– platform: state
entity_id:
– binary_sensor.kueche_fenster
– binary_sensor.wohnzimmer_fenster
from: „on“
to: „off“
– platform: time
at: „06:00:00“
– platform: time
at: „00:00:00“
condition: []
action:
– if:
– condition: and
conditions:
– type: is_not_open
condition: device
device_id: 969c34ef96a9695fec6f699afa856e9e
entity_id: binary_sensor.kueche_fenster
domain: binary_sensor
for:
hours: 0
minutes: 0
seconds: 0
– type: is_not_open
condition: device
device_id: 87ce05aac5002956e4991bc86857ccfb
entity_id: binary_sensor.wohnzimmer_fenster
domain: binary_sensor
for:
hours: 0
minutes: 0
seconds: 0
– type: is_temperature
condition: device
device_id: eb84d6e45a770b0adb5188177900c967
entity_id: sensor.balkon_thermometer_temperatur
domain: sensor
below: 100
– condition: time
after: „06:00:00“
before: „00:00:00“
weekday:
– mon
– tue
– wed
– thu
– fri
– sat
– sun
then:
– service: climate.set_temperature
data:
hvac_mode: heat
temperature: 25
target:
entity_id: climate.wohnstube_heizung
else:
– service: climate.turn_off
data: {}
target:
entity_id: climate.wohnstube_heizung
mode: restart
PS: die Temperatur vom Balkon-Thermometer spielt beim Test keine Rolle und wird später meinen Wünschen angepasst.
Hallo Christian,
mal abgesehen davon, dass es als Außenstehender schwer nachzuvollziehen ist, würde ich dir raten das Ganze mal in kleine Teile aufzuteilen, sprich einzelne Automatisierungen. Als Beispiel: Küchenfenster wird geöffnet, zu der und der Zeit an den und den Tagen, dann mach das Thermostat zu. Nächstes Beispiel: Küchenfenster wird wieder geschlossen, zu der und der Zeit an den und den Tagen, dann setze Thermostat auf X Grad. So würde ich mich jetzt kleinteilig durchhangeln und schauen, ob alles funktioniert, wie gewünscht. Wenn du soweit alles am Rennen hast, kannst du ja dann anfangen, wenn es unbedingt alles in einer Automatisierungsregel sein soll, alles nach und nach wieder zusammenzusetzen. (nicht vergessen die Teilautomatisierungen vorher wieder zu deaktivieren)
Ich hoffe ich konnte dir damit erstmal einen Denkanstoß geben. Wenn du weiter Hilfe benötigst, melde dich einfach.
Hallo Tobias,
ich habe HA erstmalig eingerichtet und wollte genau das von dir beschriebene Szenario ausführen. Bei mir wird aber lediglich off oder heat als mögliche hvac_mode Attribute ausgegeben und nicht auto. Hab ich was übersehen oder muss bzw. kann das direkt in der YAML Datei angepasst werden?
Hallo Suthu,
hast du evtl. das falsche Gerät ausgewählt? Ich wähle unter den Bedingungen „Gerät“ aus, bspw. in meinem Fall „Büro“. Anschießend wähle ich in dem Dropdown Menü „Büro ist auf einen bestimmten HLK-Modus festgelegt“ (mittlerweile hat sich die Bezeichnung dieser Bedingung in den neueren Versionen geändert) aus. Darunter erscheinen 3 Radio Button mit „off“, „auto“ und „heat“. Bitte überprüfe nochmal, ob du tatsächlich das richtige Gerät ausgewählt hast.
Ich habe es in iobroker bereits erfolgreich umgesetzt. Nach dem Umstieg auf HA, vermisse ich den Wert „letzter Zustand“. Wenn das Fenster geschlossen wird, soll der zuletzt eingestellte Zustand wieder hergestellt werden. Gibt es dafür eine Lösung?
Hallo Heiko,
Du kannst vor dem Ausführen von Aktionen eine Szene von dem jeweiligen Thermostat erstellen und später dann wieder aufrufen. Die Szene setzt dann den „letzten Zustand“ wieder.