[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:

Un­se­re IFTTT In­te­gra­ti­on und die Part­ner und Ent­wick­ler API tra­gen zu ei­nem bes­ser nutz­ba­rem und of­fe­ne­rem In­ter­net der Din­ge bei und hel­fen so­mit eine kom­for­ta­ble­re, ef­fi­zi­en­te­re und ver­ant­wor­tungs­be­wuss­te­re Welt zu schaf­fen.

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.