ta­do au­to-as­sist per API, statt ABO

felix schwenzel in artikel

vor et­was über ei­nem jahr hat mich tado zu ei­ner ver­an­stal­tung im vor­feld der ifa ein­ge­la­den, in dem tado sei­ne v3-hei­zungs­ven­ti­le vor­stell­te und (un­ter an­de­rem) ei­nen „auto as­sist skill“ ein­führ­te. auto as­sist soll­te das, was eine der her­aus­ra­gends­ten und an­ge­nehms­ten qua­li­tä­ten der tado hei­zungs­steue­rung ist, zu ei­nem kos­ten­pflich­ti­gen abo ma­chen.

statt dass man wie bis­her sei­ne hei­zungs­steue­rung nach der in­stal­la­ti­on von tado ver­ges­sen konn­te und sich auf die wirk­lich gute prä­senz­er­ken­nung und an­we­sen­heits­ge­steu­er­te hei­zungs­steue­rung ver­las­sen konn­te, dach­te sich tado: das kann man doch kom­pli­zier­ter ma­chen.

wenn alle be­woh­ner mit dem neu­en sys­tem die woh­nung ver­las­sen ha­ben, schal­tet sich die hei­zung nicht ein­fach ab, son­dern die tado app schickt ei­nem eine nach­richt und fragt, ob man nicht die hei­zung ab­schal­ten wol­le. kommt ein be­woh­ner um­ge­kehrt nach hau­se, sagt tado per mit­tei­lung: „Will­kom­men zu Hau­se“ und fragt ob man viel­leicht die hei­zung ein­schal­ten möch­te. das kann man dann ma­chen, in­dem man die app öfff­net und — i shit you not — ei­nen but­ton klickt.

für 25 euro pro jahr oder 3 euro mpro mo­nat kann man sich von die­ser last be­frei­en und auto as­sist ak­ti­vie­ren.

tado hat die­se pra­xis nach ei­ni­ger em­pö­rung für be­stands­kun­den (halb) zu­rück­ge­zo­gen und nach­dem ich zwei­mal nach­hak­te, ob ich als v2-be­stands­kun­de den auto-as­sist-skill künf­tig wie­der ohne abo nut­zen könn­te, hat­te mir die pres­se­stel­le am 15. mai 2019 ver­spro­chen das zu tun, das sei kein pro­blem.

ich hat­te vor der ifa 2018 von tado ein v3-ther­mo­stat zum tes­ten ge­schenkt be­kom­men, was mich für die v3-app-ver­si­on qua­li­fi­zier­te und mir die au­to­ma­tik­funk­tio­nen in der app ab­dreh­te. weil das noch vor dem vor dem rück­zie­her war und ich das na­tür­lich auch tes­ten woll­te, hat­te ich mir ein jah­res­abo ge­kauft. letz­ten mo­nat, pünkt­lich zur dies­jäh­ri­gen ifa, lief mein auto-as­sist-abo aus und mei­ne tado-in­stal­la­ti­on funk­tio­nier­te seit­dem wie für ei­nen neu­kun­den: nicht mehr voll­au­to­ma­tisch. die ver­spro­che­ne frei­schal­tung sei­tens tado blieb of­fen­bar aus, wo­für ich ver­ständ­nis habe, da hat ir­gend­wer was ver­ges­sen oder ir­gend­ein tech­ni­scher grund wird ver­hin­dert ha­ben, das be­reits im mai zu kon­fi­gu­rie­ren.

mir war das aber trotz­dem zu blöd hier noch­mal nach­zu­ha­ken, weil ich das ge­fühl habe eh viel zu oft bei tado nach­zu­ha­ken. aus­ser­dem habe ich mir ge­dacht, das müss­te sich doch auch kos­ten­los au­to­ma­ti­sie­ren las­sen.

tat­säch­lich ist die in­of­fi­zi­el­le tado-API recht gut do­ku­men­tiert und für alle gros­sen heim­au­to­ma­ti­sie­rung­platt­for­men gibt es im­ple­men­tie­run­gen um tado-ther­mo­sta­te per API, also mit ei­ge­nen au­to­ma­ti­sie­rungs­lö­sun­gen, zu steu­ern (zum bei­spiel mit home-as­sistant). al­ler­dings ist die auto-as­sist steue­rung per API bis­her nir­gend­wo do­ku­men­tiert, das muss­te ich also selbst raus­fin­den, was dank tado web-an­wen­dung auch nicht all­zu schwer ist. ich habe ein­fach be­ob­ach­tet, was die web-app im hin­ter­grund macht, wenn ich den „ich bin zu­hau­se“-but­ton in der (web-) app kli­cke.

es ist also ei­gent­lich nichts wei­ter als ein „PUT“ auf­ruf der API un­ter dem API-end­punkt

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

mit ei­nem pay­load

{"homePresence":"HOME"}

oder

{"homePresence":"AWAY"}

weil py­ta­do die­sen end­punkt und die­se me­tho­de noch nicht kennt, habe ich mei­ne ko­pie von py­ta­do ent­spre­chend er­wei­tert und kann der tado-API für mei­ne home-id (die nicht 123456 lau­tet) den home-pre­sence-sta­tus per kom­man­do­zei­le mit­tei­len.

das pro­blem ist al­ler­dings, dass die API den AWAY-sta­tus nicht ak­ze­tiert, wenn das sys­tem sich ge­ra­de im HOME-sta­tus be­fin­det. dann lie­fert die API ei­nen HTTP Er­ror 422 zu­rück, sagt also: das geht so nicht. tat­säch­lich kann man den prä­senz-sta­tus erst auf „AWAY“ stel­len, wenn alle tado-nut­zer (oder de­ren han­dys) die woh­nung ver­las­sen ha­ben.

dann, wenn alle „AWAY“ sind, lie­fert ein GET-re­quest an

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

statt

{"presence":"HOME"}

fol­gen­des:

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

um den auto-as­sist-skill zu si­mu­lie­ren ma­che ich also folgn­des:

  • ich fra­ge alle 10 mi­nu­ten ab und
  • las­se den sta­tus oder in ei­nen home-as­sistant-sen­sor flies­sen und
  • im­mer dann, wenn sich der wert von zu än­dert (oder um­ge­kehrt), kann ich eine au­to­ma­ti­on trig­gern, die per den -sta­tus um­schal­tet

in­ter­es­sant ist, dass ich den -sta­tus of­fen­bar im­mer auf HOME stel­len kann, AWAY lässt sich nur ak­ti­vie­ren, wenn alle nut­zer auch wirk­lich weg sind, bzw. ist.

da­mit man das ohne fum­me­lei um­set­zen kann, müs­sen die gän­gi­gen tado-API-bi­blio­the­ken noch um die bei­den end­punk­te und an­ge­passt wer­den, ich wer­de in den nächs­ten wo­chen mal pro­bie­ren, ob ich für py­ta­do ei­nen ent­spre­chen­den pull-re­quest ge­ba­cken be­kom­me.


ich ver­ste­he, dass der auto-as­sist-skill eine (wahr­schein­lich) wich­ti­ge ein­nah­me­quel­le für tado ist, die ihr ge­schäft wohl nicht al­lei­ne durch hard­ware-ver­käu­fe oder ser­vice-an­ge­bo­te fi­nan­zie­ren kön­nen oder wol­len. aber ich glau­be auch, dass leu­te, die sich die mühe ma­chen eine an­bin­dung an die tado-API zu­sam­men­zuf­ri­ckeln oder es schaf­fen eine heim­au­to­ma­ti­sie­rungs­lö­sung wie home-as­sistant bei sich zu­hau­se zum lau­fen zu brin­gen, nicht die­je­ni­gen sind, auf die der auto-as­sist-skill zielt.

je­der der sei­ne le­bens-prio­ri­tä­ten ei­ni­ger­mas­sen im griff hat und nicht, wie ich, je­den tag 3-8 stun­den le­bens­zeit an sei­ner au­to­ma­ti­schen woh­nung fri­ckelnd ver­schwen­det, wird für 25 euro/jahr den skill kau­fen und glück­lich mit ei­nem voll­au­to­ma­ti­schen tado sein.