[werbung] tado api auslesen, daten in home assistant schaufeln und mit grafana auswerten

felix schwenzel in artikel

mit vie­len da­ten kann man viel ma­chen. des­halb habe ich über­all in der wo­hung sen­so­ren an­ge­bracht. so kann ich die da­ten nicht nur sam­meln und aus­wer­ten, son­dern eben auch tei­le der woh­nung au­to­ma­ti­sie­ren. mit den tado-ther­mo­sta­ten die ich neu­er­dings in der woh­nung habe, ka­men vie­le neue sen­so­ren in die woh­nung. über die tado-ser­ver und apps habe ich auch (ein­ge­schränk­ten) zu­griff auf die­se da­ten, aber na­tür­lich will ich die da­ten kom­plett ha­ben und in mein heim­au­to­ma­ti­sie­rungs­sys­tem (home-as­sistant) ein­spei­sen, um sie dort zen­tral zu ver­wal­ten und aus­wer­ten zu kön­nen.

tado hat vor über ei­nem jahr sei­ne API an­ge­kün­digt, die­se aber bis­her nur mit ifttt (so­wie zum ei­gen­ge­brauch mit den tado web- und smart­phone-apps) nutz­bar ge­macht. eine of­fe­ne, do­ku­men­tier­te API, die man nut­zen kann um ei­ner­seits die da­ten die tado sam­melt aus­zu­wer­ten oder an­de­rer­seits die tado ther­mo­sta­te zu steu­ern, steht noch aus.

na­tür­lich gibt es in­of­fi­zi­el­le an­sät­ze und do­ku­men­ta­tio­nen. oder man kann be­ob­ach­ten, wie die tado-api funk­tio­niert, wenn man im brow­ser die web­app mit den ent­wick­ler­werk­zeu­gen an­schaut.

dort sieht man dann, dass die web-app sich beim tado-ser­ver au­then­ti­fi­ziert und dann sta­tus­in­for­ma­tio­nen ab­ruft. der sta­te der ver­schie­de­nen sen­so­ren und ther­mo­sta­te wird un­ge­fähr alle 10 se­kun­den ab­ge­ru­fen und dann im brow­ser dar­ge­stellt. ste­phen c phil­lips hat auf­ge­schrie­ben, was man da im ein­zel­nen sieht, al­ler­dings noch mit der API v1. mitt­ler­wei­le nutzt die web-app die ver­si­on 2 der API.

den sta­tus ei­ner zone kann man ent­we­der mit ein­fa­cher be­nut­zer­na­me- und pass­wort­über­ga­be ab­fra­gen, bei­spiels­wei­se so:

die HOME_ID fin­det man über die­se ab­fra­ge:

theo­re­tisch kann man die sen­so­ren und ther­mo­sta­te so be­reits re­gel­mäs­sig ab­fra­gen. ich habe das hier mal im home-as­sistant-fo­rum auf­ge­schrie­ben. prak­tisch scheint das tado ein biss­chen aus dem tritt zu brin­gen, wenn home-as­sistant alle 30 se­kun­den die API mit mei­nen zu­gangs­da­ten ab­fragt. zum ei­nen muss ich mich dann in der web-app im­mer wie­der neu an­mel­den, zum an­de­ren scheint die­se art der API-ab­fra­ge bei den tado-sys­te­men et­was durch­ein­an­der zu brin­gen. nach ein bis zwei stun­den dau­er­ab­fra­gen, mel­de­ten sich mei­ne drei tado ge­rä­te als nicht er­reich­bar ab. ein neu­start je­des ein­zel­nen ge­räts (bridge, ba­sis, heiz­kör­per­ther­mo­stat) brach­te die ge­rä­te zwar wie­der dazu sich als er­reich­bar aus­zu­wei­sen, aber der zu­stand hielt nicht lan­ge und ein, zwei stun­den spä­ter ver­ab­schie­de­ten sie sich wie­der alle und ver­ban­den sich auch über Nacht nicht neu.

als nächs­tes habe ich dann ver­sucht, die tado-API über die­se py­thon-li­bra­ry ab­zu­fra­gen. das scheint ein biss­chen bes­ser zu klap­pen, weil die au­then­ti­fi­zie­rung nicht über die rei­ne pass­wort-über­ga­be in der url, son­dern per o-auth funk­tio­niert. so au­then­ti­fi­ziert sich auch die web-app und die Py­Ta­do-bi­blio­thek gibt sich eben als die tado-web-app aus. aus tech­ni­schen grün­den und we­gen mei­ner man­geln­den kom­pe­tenz war es ein ziem­li­ches ge­fum­mel die tado-sen­sor­da­ten über Py­Ta­do in home-as­sistant zu be­kom­men, aber am ende ge­lang es mir über ein paar scrip­te, die da­ten re­gel­mäs­sig, alle zwei mi­nu­ten ein­zu­le­sen und an home-as­sistant zu über­ge­ben.

so sehe ich im home-as­sistant jetzt nicht nur die tem­pe­ra­tur und luft­feuch­tig­keit, die mei­ne ver­netz­ten sen­so­ren in der raum­ecke sam­meln, son­dern auch die da­ten der tado-sen­so­ren. weil sich die tado-sen­so­ren im wohn­zim­mer di­rekt am heiz­kör­per (und dem fens­ter) be­fin­den, wei­chen die wer­te ein biss­chen ab. ich sehe auch die bei tado ein­ge­stell­te ziel­tem­pe­ra­tur und den von der zone an­ge­for­der­ten heiz­wert (hea­ting power). mit die­sem wert, den die ver­schie­de­nen zo­nen-sen­so­ren der tado-ba­sis über­mit­teln, steu­ert die tado-haupt­ein­heit den heiz­kes­sel. dazu wei­ter un­ten mehr.

messen und regeln

die da­ten mit dem home-as­si­satnt aus der tado-API aus­zu­le­sen ist na­tür­lich kein selbst­zweck. weil home-as­sistant alle da­ten­punk­te spei­chert, kann ich die da­ten vi­su­al­asie­ren, also tado bei der ar­beit zu­se­hen. ich hat­te ja schon in mei­nem in­itia­len tado-ar­ti­kel an­ge­merkt, dass mir die art und wei­se, wie die tado-zen­tral­ein­heit den heiz­kes­sel steu­ert sehr viel we­ni­ger ra­bi­at vor­kommt als vor­her, mit dem jun­kers TR200. ein blick in de da­ten scheint das zu be­stä­ti­gen.

auf dem bild sieht man in lila die ein­ge­stell­te ziel­tem­pe­ra­tur des wohn­zim­mers. ges­tern abend 23°, ab 23 uhr ab­sen­kung auf 18° (die kur­ze spit­ze um kurz nach elf war ich) und mor­gens die er­neu­te er­hö­hung auf 24°. in blau sieht man die vom tado-ther­mo­stat ge­mes­se­ne tem­pe­ra­tur, in grün die vom ver­net­zen ther­mo­me­ter in der raum­ecke ge­mes­se­ne tem­pe­ra­tur. die tem­pe­ra­tur in der raum­ecke ist of­fen­sicht­lich sehr sta­bil. man er­kennt, dass sie im lau­fe des ta­ges ste­tig steigt und ab 11 uhr abends wie­der leicht ab­fällt. die vom ther­mo­stat ge­mes­se­ne tem­pe­ra­tur schwingt hin­ge­gen pe­ri­odisch und deut­lich sicht­bar um den ziel­wert her­um. im er­geb­nis führt das aber zu ge­nau dem ge­wünsch­ten er­geb­nis: eine tem­pe­ra­tur im wohn­zim­mer die dau­er­haft um die 23,5° liegt. wie tado das steu­ert sieht man, wenn man die an­ge­for­der­te „hea­ting power“ des wohn­zim­mer-ther­mo­stats mit­be­trach­tet.

wenn die nenn-tem­pe­ra­tur lang­sam un­ter den wert der ziel­tem­pe­ra­tur zu fal­len droht, for­dert das ther­mo­stat erst 10 bis 20 pro­zent heiz­leis­tung an. je wei­ter die tem­pe­ra­tur fällt, des­to hö­her der wert. da das wohn­zim­mer­ther­mo­stat der­zeit der ein­zi­ge sen­sor ist, der heiz­leis­tung an­for­dert, igno­riert die steue­rungs­ein­heit die an­for­de­rung meist eine gan­ze wei­le lang. im kin­der­zim­mer, in dem sich auch ein sen­sor be­fin­det, herr­schen dau­er­haft 23°, die seit ta­gen über dem ziel­wert von 22° lie­gen. das kin­der­zim­mer mel­det der steue­rungs­zen­tra­le also stän­dig: ich brauch kei­ne heiz­leis­tung.

hat das wohn­zim­mer lan­ge ge­nug ge­war­tet oder den „hea­ting power“-wert hoch ge­nug ge­schraubt, feu­ert tado die ther­me an. da­bei kann ich be­ob­ach­ten, dass die ther­me ei­ner­seits nur 10-15 grad hoch­ge­heizt wird (von 25° auf ma­xi­mal 45°) und an­de­rer­seits das feu­er vor er­rei­chen der ziel­tem­per­tur wie­der ab­stellt. das funk­tio­niert im er­geb­nis ziem­lich gut. der ein­zi­ge nach­teil die­ser sehr spar­sa­men heiz­wei­se ist, dass une­rer bad jetzt meist ei­nen ti­cken zu kühl ist. das (alte) ther­mo­stat dort ist voll auf­ge­dreht, aber um das bad wirk­lich zu hei­zen, reicht die heiz­leis­tung, die tado ab und zu dem wohn­zim­mer gönnt, nicht aus.

das wird si­cher­lich bes­ser, wenn im bad auch ein ver­netz­tes tado-ther­mo­stat an der hei­zung hängt und ent­spre­chend in der lage ist, bei be­darf heiz­leis­tung für das bad ab­zu­ru­fen. lei­der ist das zwei­te ge­lie­fer­te heiz­kör­per­ther­mo­stat von tado ja de­fekt bei uns an­ge­kom­men und das zu­stel­len ei­nes er­satz­ge­räts ist, laut sup­port-ti­cket-sys­tem von tado, noch im­mer in be­ar­bei­tung. mei­ne be­stel­lung von zwei wei­te­ren ther­mo­sta­ten habe ich eben­falls noch nicht be­stä­tigt be­kom­men.

ich fin­de auch in­ter­es­sant zu se­hen wie die tado-steue­rungs­zen­tra­le heu­te früh die ziel­tem­pe­ra­tur hoch­ge­re­gelt hat. ein­ge­stellt ist eine ziel­tem­pe­ra­tur von 24° ab 8 uhr (we­gen der zeit­um­stel­lung im gra­phen wohl als 7 uhr an­ge­zeigt nach­trag: tado scheint die zeit­um­stel­lung ver­passt zu ha­ben). ab 5:45 uhr for­dert das ther­mo­stat heiz­leis­tung an, die die steu­rungs­zen­tra­le aber erst nach ca. 10 bis 20 mi­nu­ten frei­gibt. pünkt­lich um kurz vor sie­ben ist dann die ziel­tem­pe­ra­tur er­reicht (so­gar ein biss­chen mehr) und erst als die tem­pe­ra­tur ge­gen 8 uhr wie­der un­ter 24° zu sin­ken droht, for­dert das wohn­zim­mer wie­der ve­he­men­ter heiz­leis­tung an.

da­für, dass ich mit der hei­zung ei­gent­lich nichts zu tun ha­ben will und er­war­te, dass sie ein­fach ih­ren dienst ver­rich­tet, be­schäf­ti­ge ich mich (of­fen­sicht­lich) ei­nen ti­cken zu in­ten­siv mit ihr. tat­säch­lich macht mir die ver­füg­bar­keit von mess­da­ten es aber über­haupt erst mög­lich, die funk­ti­on der hei­zung nach­zu­voll­zie­hen und zu ver­ste­hen. das alte sys­tem war mir zu in­trans­pa­rent und schwer nach­voll­zieh­bar. vor al­lem fällt mir jetzt auch auf, dass es ziem­lich in­ef­fi­zi­ent war, bzw. das tado sehr auf ef­fi­zi­enz ach­tet (und das nicht nur im mar­ke­ting be­haup­tet).

warten auf die API

in ei­ner pres­se­mit­tei­lung vom märz letz­ten jah­res, liess sich der tado-ge­schäfts­füh­rer chris­ti­an deil­mann wie folgt zi­tie­ren:

Unsere IFTTT Integration und die Partner und Entwickler API tragen zu einem besser nutzbarem und offenerem Internet der Dinge bei und helfen somit eine komfortablere, effizientere und verantwortungsbewusstere Welt zu schaffen.

das ist jetzt 593 tage her und ich muss mei­ne sen­sor­da­ten für mei­ne ei­ge­ne nut­zung und aus­wer­tung im­mer noch über in­of­fi­zi­el­le wege be­sor­gen. noch ver­schliesst tado sei­ne in­ter­net­din­ge sorg­fäl­tig und auch die zwei­te op­ti­on ne­ben ifttt, die ho­me­kit-in­te­gra­ti­on ist nach mei­nem ein­druck noch aus­bau­fä­hig. ich glau­be auch, dass eine hof­fent­lich bald er­schei­nen­de, of­fe­ne und gut do­ku­men­tier­te API auch für tado gut ist. so­bald sich tado in be­lieb­te heim­au­to­ma­ti­sie­rungs­sys­te­me in­te­grie­ren lässt und et­was kom­mu­ni­ka­ti­ver wird, dürf­te das auch der be­liebt­heit und ver­brei­tung des sys­tems gut tun. vor al­lem aber möch­te ich ein­fa­chen zu­griff auf mei­ne da­ten ha­ben.

ab­ge­se­hen da­von: die kon­ku­renz (a, b, c, d, e, f, g) schläft nicht und hat (kon­trol­liert) zu­gäng­li­che da­ten auch als ver­kaufs­ar­gu­ment ent­deckt.


weil ich das tado-raum­ther­mo­stat und zwei heiz­kör­per­ther­mo­sta­te von tado kos­ten­los zum tes­ten be­kom­men habe und die ge­rä­te be­hal­ten kann, steht auch über die­sem ar­ti­kel wer­bung. tado nimmt kei­nen ein­fluss auf mei­ne tex­te und hat auch bis jetzt mei­ne an­fra­gen zur API oder ob ich der ein­zi­ge bin, bei dem ge­rä­te dead on ar­ri­val an­kom­men, nicht be­ant­wor­tet.