tado auto-assist per API, statt ABO

felix schwenzel, , in artikel    

vor etwas über einem jahr hat mich tado zu einer veranstaltung im vorfeld der ifa eingeladen, in dem tado seine v3-heizungsventile vorstellte und (unter anderem) einen „auto assist skill“ einführte. auto assist sollte das, was eine der herausragendsten und angenehmsten qualitäten der tado heizungssteuerung ist, zu einem kostenpflichtigen abo machen.

statt dass man wie bisher seine heizungssteuerung nach der installation von tado vergessen konnte und sich auf die wirklich gute präsenzerkennung und anwesenheitsgesteuerte heizungssteuerung verlassen konnte, dachte sich tado: das kann man doch komplizierter machen.

wenn alle bewohner mit dem neuen system die wohnung verlassen haben, schaltet sich die heizung nicht einfach ab, sondern die tado app schickt einem eine nachricht und fragt, ob man nicht die heizung abschalten wolle. kommt ein bewohner umgekehrt nach hause, sagt tado per mitteilung: „Willkommen zu Hause“ und fragt ob man vielleicht die heizung einschalten möchte. das kann man dann machen, indem man die app öfffnet und — i shit you not — einen button klickt.

für 25 euro pro jahr oder 3 euro mpro monat kann man sich von dieser last befreien und auto assist aktivieren.

tado auto-assist-kauf-dialog

tado hat diese praxis nach einiger empörung für bestandskunden (halb) zurückgezogen und nachdem ich zweimal nachhakte, ob ich als v2-bestandskunde den auto-assist-skill künftig wieder ohne abo nutzen könnte, hatte mir die pressestelle am 15. mai 2019 versprochen das zu tun, das sei kein problem.

ich hatte vor der ifa 2018 von tado ein v3-thermostat zum testen geschenkt bekommen, was mich für die v3-app-version qualifizierte und mir die automatikfunktionen in der app abdrehte. weil das noch vor dem vor dem rückzieher war und ich das natürlich auch testen wollte, hatte ich mir ein jahresabo gekauft. letzten monat, pünktlich zur diesjährigen ifa, lief mein auto-assist-abo aus und meine tado-installation funktionierte seitdem wie für einen neukunden: nicht mehr vollautomatisch. die versprochene freischaltung seitens tado blieb offenbar aus, wofür ich verständnis habe, da hat irgendwer was vergessen oder irgendein technischer grund wird verhindert haben, das bereits im mai zu konfigurieren.

mir war das aber trotzdem zu blöd hier nochmal nachzuhaken, weil ich das gefühl habe eh viel zu oft bei tado nachzuhaken. ausserdem habe ich mir gedacht, das müsste sich doch auch kostenlos automatisieren lassen.

tatsächlich ist die inoffizielle tado-API recht gut dokumentiert und für alle grossen heimautomatisierungplattformen gibt es implementierungen um tado-thermostate per API, also mit eigenen automatisierungslösungen, zu steuern (zum beispiel mit home-assistant). allerdings ist die auto-assist steuerung per API bisher nirgendwo dokumentiert, das musste ich also selbst rausfinden, was dank tado web-anwendung auch nicht allzu schwer ist. ich habe einfach beobachtet, was die web-app im hintergrund macht, wenn ich den „ich bin zuhause“-button in der (web-) app klicke.

tado presence-api-aufruf

es ist also eigentlich nichts weiter als ein „PUT“ aufruf der API unter dem API-endpunkt

https://my.tado.com/api/v2/homes/123456/presence

mit einem payload

{"homePresence":"HOME"}

oder

{"homePresence":"AWAY"}

weil pytado diesen endpunkt und diese methode noch nicht kennt, habe ich meine kopie von pytado entsprechend erweitert und kann der tado-API für meine home-id (die nicht 123456 lautet) den home-presence-status per kommandozeile mitteilen.

das problem ist allerdings, dass die API den AWAY-status nicht akzetiert, wenn das system sich gerade im HOME-status befindet. dann liefert die API einen HTTP Error 422 zurück, sagt also: das geht so nicht. tatsächlich kann man den präsenz-status erst auf „AWAY“ stellen, wenn alle tado-nutzer (oder deren handys) die wohnung verlassen haben.

dann, wenn alle „AWAY“ sind, liefert ein GET-request an

https://my.tado.com/api/v2/homes/123456/state

statt

{"presence":"HOME"}

folgendes:

{"presence":"AWAY","showHomePresenceSwitchButton":true}

um den auto-assist-skill zu simulieren mache ich also folgndes:

  • ich frage alle 10 minuten https://my.tado.com/api/v2/homes/123456/state ab und
  • lasse den status HOME oder AWAY in einen home-assistant-sensor fliessen und
  • immer dann, wenn sich der wert von HOME zu AWAY ändert (oder umgekehrt), kann ich eine automation triggern, die per https://my.tado.com/api/v2/homes/123456/presence den homePresence-status umschaltet
meine neue tado-präsenz-steuerung

interessant ist, dass ich den homePresence-status offenbar immer auf HOME stellen kann, AWAY lässt sich nur aktivieren, wenn alle nutzer auch wirklich weg sind, bzw. showHomePresenceSwitchButton true ist.

damit man das ohne fummelei umsetzen kann, müssen die gängigen tado-API-bibliotheken noch um die beiden endpunkte /presence und /status angepasst werden, ich werde in den nächsten wochen mal probieren, ob ich für pytado einen entsprechenden pull-request gebacken bekomme.

* * *

ich verstehe, dass der auto-assist-skill eine (wahrscheinlich) wichtige einnahmequelle für tado ist, die ihr geschäft wohl nicht alleine durch hardware-verkäufe oder service-angebote finanzieren können oder wollen. aber ich glaube auch, dass leute, die sich die mühe machen eine anbindung an die tado-API zusammenzufrickeln oder es schaffen eine heimautomatisierungslösung wie home-assistant bei sich zuhause zum laufen zu bringen, nicht diejenigen sind, auf die der auto-assist-skill zielt.

jeder der seine lebens-prioritäten einigermassen im griff hat und nicht, wie ich, jeden tag 3-8 stunden lebenszeit an seiner automatischen wohnung frickelnd verschwendet, wird für 25 euro/jahr den skill kaufen und glücklich mit einem vollautomatischen tado sein.