Voraussichtliche Lesedauer: 9 Minuten

In Zeiten wie diesen, wo die Heizkosten explodieren, lohnt es sich umso mehr seinen Energieverbrauch zu regulieren. Nicht jeder wohnt in einem perfekten gedämmten Haus und braucht dementsprechend seltener und weniger die Heizung aufzudrehen. Tado ermöglicht es mit seinen smarten Heizkörper- Thermostaten die Temperatur gradgenau zu regulieren. Nutzt man dazu noch den Tado Auto-Assist, kann man enorm viel Energie sparen. Es sei vorab gesagt, dass dieser Beitrag keine bezahlte Werbung ist.

Ich nutze seit etwas mehr als einem Jahr drei Tado Heizkörper-Thermostate und bin sehr zufrieden. Gerade im Winter freut man sich darauf nach Hause zu kommen und beim Duschen nicht in einer Gefrierkammer zu stehen. Das Ganze hatte allerdings immer einen Haken. Automatsiert und „smart“ lief das Ganze nur mit einem Tado Auto-Assist Abonnement für 24,99 € im Jahr oder 2,99 € im Jahr. Wer noch eine alte Tado Bridge mit V2 hat, der hat das Abo kostenlos dabei. Alle, die wie ich danach ein Starter Paket mit einer V3 Bridge gekauft haben, schauen in die Röhre.

Das ist bei einem Preis von 170 € für Bridge und drei Thermostate nicht gerade erfreulich, da die Anschaffung schon nicht so günstig ist und man durch das Abonnement und den Auto-Assist mindestens 26 € pro Jahr an Heizkosten einsparen muss, um überhaupt irgendeinen Vorteil daraus ziehen zu können. Es gibt durchaus günstigere Alternativen, aber mich sprach Tado optisch am meisten an und die Funktionalität des Geofencing macht einen großen Unterschied. Selbiges gilt für die Fenster-Offen-Erkennung, welche ohne zusätzliche Sensoren an den Fenstern funktioniert. Dementsprechend wäre es doch schön das Ganze auch kostenlos nutzen zu können oder?

Was bedeutet Geofencing?

Tado selbst beschreibt es folgendermaßen:

Wenn Geofencing für einen Zeitblock in deinem Intelligenten Zeitplan aktiviert ist, werden die Einstellungen dieses Blocks nur aktiv, wenn dein Zuhause im Home-Modus ist.

Wenn Geofencing deaktiviert ist, wird der Zeitblock unabhängig vom Standort der Heimmitglieder und unabhängig davon, ob sich tado° im Home- oder Away-Modus befindet, aktiv.

Tado Supportseite – Was bewirkt der Geofencing-Schalter für einen Zeitblock im intelligenten Zeitplan?

Abhängig vom Standort aller Tado Nutzer eines Haushalts wird die Heizung bspw. an- oder ausgeschaltet. Die Kriterien dafür und wie warm es beispielsweise sein soll, kann man individuell konfigurieren.

Das Problem

Nun sind wir wieder am Ausgangsproblem. Das funktioniert aber nur mit dem Auto-Assist Abonnement. Oder vielleicht doch nicht? Durch die API von Tado ist es möglich den Status des eigenen zu Hause auszulesen. Wenn man nämlich kein Abonnement hat sendet die Tado App Benachrichtigungen mit denen man über den Zustand aufmerksam gemacht wird.

Zum Beispiel ist niemand mehr zu Hause und es wird dementsprechend eine Benachrichtigung von der Tado App gesendet mit der Frage und Möglichkeit vom HOME Modus auf den AWAY Modus zu wechseln und damit möglicherweise alle Heizungen auszuschalten. Da dies aber nicht automatisch passiert und man nicht durchgehend auf sein Handy schaut, kann es durchaus sein, dass einem diese Ersparnis ausbleibt. Das ist für Umwelt und Geldbeutel ärgerlich.

Für die Fenster-Offen-Erkennung gilt dasselbe Schema wie für das Geofencing beschrieben. Benachrichtigungen werden gesendet, aber das ist weit entfernt von der Vollautomatisierung.

Voraussetzungen in der Tado App

Damit man den Tado Auto-Assist überhaupt erst nutzen kann, muss man einige Einstellungen aktivieren. Diese sind auf den Bildern zu erkennen. Man muss zum einen die Fenster-Offen-Erkennung für alle gewünschten Räume aktivieren und zum anderen die ortsabhängige Steuerung auf den Geräten jedes Tado Nutzers. Hat diese Funktion beispielsweise nur ein Nutzer aktiviert, so wird nur sein Standort berücksichtigt.

Tado App Einstellungen Fenster-Offen-Erkennung
Tado App Einstellungen Ortsabhängige Steuerung

Umsetzung im YouTube-Video

Lösung für einen kostenlosen Tado Auto-Assist

Die Tado-Community enthält natürlich auch Entwickler, welche sich die Möglichkeit nicht haben nehmen lassen die API für ihre Zwecke zu nutzen und einem Abozwang vorzubeugen.

Wie ist das Ganze umgesetzt?

Mit Hilfe eines Python-Modul namens pyTado programmiert von Chris Jewell ist der Grundstein gelegt worden. Und das bereits 2016 bzw. bis zum letzten Update 2019. Er beschreibt das Modul folgendermaßen:

PyTado ist ein Python-Modul, das eine Schnittstelle zur Tado-Web-API implementiert. Es ermöglicht dem Benutzer, mit seinem Tado-Heizsystem zu interagieren, um sein Heizsystem zu überwachen oder zu steuern, was über das hinausgeht, was Tado selbst derzeit anbietet.

Hiermit lassen sich nun alle Daten von der Tado API auslesen. Das heißt wir haben vollständige Informationen über alles was mit unserem System zusammenhängt. Nun musste das Ganze aber noch so umgesetzt werden, dass die Funktionalitäten die der Auto-Assist nutzt integriert werden.

Für diese Umsetzung ist der GitHub-Nutzer adrianslabu (Adrian Slabu) verantwortlich. In seinem GitHub-Repository hat er das pyTado Modul genutzt, um die Funktionen des Auto-Assist nachzubauen. Und das funktioniert wirklich einwandfrei. Ich möchte nicht genauer auf die technische Implementierung eingehen, da dies den Rahmen sprengen würde. Dafür kann man sich den Quellcode in seinem Repository anschauen.

Auf welchen Plattformen kann ich die Lösung ausführen?

Grundsätzlich ist es mit dem Python Skript möglich es überall auszuführen, wo auch Python installiert werden kann. Für jemanden wie mich, der aber gerne alles in Docker als Container vorliegen hat, war das keine Lösung und zu viel Aufwand es auf meinem Server mit Python laufen zu lassen.

Dementsprechend habe ich geschaut, ob und wie man das Ganze auch als Docker Image zur Verfügung stellen kann. Auf Basis des python:alpine Image wird das Skript hinzugefügt. Außerdem benötigen wir natürlich das angesprochene pyTado Modul. Damit wir variabel Benutzername und Passwort für unseren Tado Account setzen können, werden noch zwei Umgebungsvariablen gesetzt, die im leicht angepassten Skript wieder aufgefasst werden. Letztendlich wird das Skript nur noch per CMD Befehl im Dockerfile gestartet.

Durch diese Docker Image Lösung ist es möglich das Skript auf nahezu jedem Gerät auszuführen. Gerade Single-Board-Computer (SBC) wie ein RaspberryPi oder ODROID oder irgendeiner anderes Gerät mit niedriger Leistungsaufnahme eignen sich wunderbar dafür das Skript durchgehend am laufen zu halten.

Aktuell ist das Docker Image für linux/amd64, linux/arm/v7 und linux/arm64 verfügbar. Falls Bedarf für eine weitere Plattform besteht, gerne in die Kommentare schreiben. Zu finden ist das Docker Image in der Docker Hub Registry. Ich kümmere mich darum das Image immer aktuell zu halten und bei Anpassungen schnell zu reagieren.

Docker Implementierung

Link zum Docker Hub Repository: saschabrockel/tado_aa

Um den Container nun zu starten kann man entweder den Befehl docker run oder eine Compose-Datei verwenden. Der Container loggt die Daten genauso wie das originale Skript und man kann nachschauen was genau passiert oder passiert ist. Benachrichtigungen auf dem Smartphone erhält man übrigens nicht mehr, da das Skript ja bereits automatisch auf Änderungen reagiert und eine Erinnerung somit gar nicht mehr nötig ist.

Docker Run Skript:

docker run --name tado_aa --restart always -e USERNAME=YOURUSERNAME -e PASSWORD=YOURPASSWORD saschabrockel/tado_aa:latest

Docker-Compose:

version: "3"
services:
  tado_aa:
    restart: always
    container_name: tado_aa
    image: saschabrockel/tado_aa:latest
    environment:
      - USERNAME=YOURUSERNAME
      - PASSWORD=YOURPASSWORD

Die Compose Datei kann man natürlich auch in Portainer als eigenen Stack nutzen. Wenn alles funktioniert sollte man Logs sehen, die folgendermaßen aussehen:

19-08-2022 00:29:41 # Galaxy-S21 is at home, activating HOME mode.
19-08-2022 00:29:41 # Done!
19-08-2022 00:29:41 # Waiting for a change in devices location or for an open window..
19-08-2022 05:00:54 # Your home is in HOME Mode, the device Galaxy-S21 is at home.
19-08-2022 05:00:54 # Waiting for a change in devices location or for an open window..
20-08-2022 07:29:41 # Your home is in HOME Mode, the device Galaxy-S21 is at home.
20-08-2022 07:29:41 # Waiting for a change in devices location or for an open window..
21-08-2022 15:13:21 # Are no devices at home, activating AWAY mode.
21-08-2022 15:13:21 # Done!
21-08-2022 15:13:21 # Waiting for a change in devices location or for an open window..
21-08-2022 21:22:28 # Galaxy-S21 is at home, activating HOME mode.
21-08-2022 21:22:28 # Done!
21-08-2022 21:22:28 # Waiting for a change in devices location or for an open window..
22-08-2022 01:26:35 # Badezimmer: open window detected, activating the OpenWindow mode.
22-08-2022 01:26:35 # Done!
22-08-2022 01:26:35 # Waiting for a change in devices location or for an open window..

Fazit

Für den Endnutzer ist es nun kinderleicht kostenlos den Tado Auto-Assist zu nutzen. Das gilt sowohl für das Geofencing als auch die Fenster-Offen-Erkennung. Voraussetzungen sind lediglich ein Gerät das rund um die Uhr läuft und Docker unterstützt. Selbst ein Synology-NAS kann dafür genutzt werden.

Ich hoffe diese kostenlose Alternative zum teuren Abonnement hilft Ihnen in den kommenden Wintern Ihre Heizkosten zu senken. Bei Fragen oder Anmerkungen gerne einen Kommentar verfassen.

Sascha Brockel

Interesse, aber Zeit oder Kenntnisse fehlen?

Kein Problem. Kontaktieren Sie mich und wir besprechen Ihre Anforderungen. Egal, ob geschäftlich oder privat.


19 Kommentare

Joachim - 7. Oktober 2022 bei 08:28

Moin Sascha,
super. Mit Deinem Docker-Image läuft das nun auf meiner Synology DS 920plus.
Ich habe jedoch eine Frage. Weißt Du wo ich die Uhrzeit für Docker einstellen kann. In meinem Protokoll steht 08:13:56 bei Uhrzeit und in der Protokoll-Spalte 07.10.2022 06:13:56 # DONE!

Also vielen Dank für diesen tollen Beitrag.

Viele Grüße und einen schönen Tag

Joachim

    Sascha Brockel - 7. Oktober 2022 bei 15:29

    Du musst zum „environment:“ noch Folgendes hinzufügen: TZ=Europe/Berlin
    Also dann so:
    [email protected]
    PASSWORD=deinpasswort
    TZ=Europe/Berlin

    TZ steht hierbei für Timezone und ich gehe mal davon aus, dass du aus Deutschland kommst 🙂

Benjamin - 21. Oktober 2022 bei 11:56

Wie kann ich das Ganze mit einer Synology NAS nutzen? Und wie funktioniert die Automatisierung?

    Benjamin - 21. Oktober 2022 bei 12:34

    Ok die Frage hätte ich mir wirklich sparen können. Das ist ja wirklich idiotensicher. Habe einfach auf der NAS im Synology Paketzentrum Docker installiert und dort unter Image nach tado_aa gesucht. Sobald dein Docker Image hinzugefügt ist einfach nur USERNAME und PASSWORD ausfüllen (habe auch wie in der Antwort oben TZ hinzugefügt). Sobald der Prozess gestartet ist, läuft die Automatisierung ganz alleine und die Geofancing und die Fenster-Offen Einstellung wird ausgeführt. Besten Dank das dank dir diese Unsitte von Tado für den Service extra Geld zu verlangen ein Ende hat!

      Sascha - 21. November 2022 bei 16:21

      Seit gestern scheint die zum Login benötigte Seite auth.tado.com nicht mehr erreichbar zu sein. Gibt es eine andere Möglichkeit eine Verbindung herzustellen?

        Sascha Brockel - 21. November 2022 bei 16:42

        Hey,

        ich habe jetzt gerade das Docker Image geupdated. Vielleicht hilft das ja. Bei mir läuft alles einwandfrei. Einmal mal docker compose -f docker-compose-tado.yml pull. Also nur als Beispiel. Container stoppen, neues Image pullen und den Container wieder starten. Gib gerne Feedback.

Benjamin - 21. Oktober 2022 bei 12:35

Das ist ja wirklich idiotensicher. Habe einfach auf der NAS im Synology Paketzentrum Docker installiert und dort unter Image nach tado_aa gesucht. Sobald dein Docker Image hinzugefügt ist einfach nur USERNAME und PASSWORD ausfüllen (habe auch wie in der Antwort oben TZ hinzugefügt). Sobald der Prozess gestartet ist, läuft die Automatisierung ganz alleine und die Geofancing und die Fenster-Offen Einstellung wird ausgeführt. Besten Dank das dank dir diese Unsitte von Tado für den Service extra Geld zu verlangen ein Ende hat!

Marc Hagemann - 29. Oktober 2022 bei 14:26

Gibt es dafür irgendwo eine Anleitung ( idiotensicher), um das auf einem Raspberry Pi 2b zum Laufen zu bekommen. Hab noch einen ungenutzt liegen. Bin aber kein Experte Linux

    Sascha Brockel - 29. Oktober 2022 bei 17:29

    Ist natürlich schon ein Knochen der RPI2b. Sofern der aber Docker kann oder ggf. ein Python Skript ausführen kann, geht das. Das ist jetzt irgendwo schon ein Spezialfall. Perfekt idiotensicher geht es leider immer nur auf ein sehr konkretes Beispiel bezogen. Sprich du musst eventuell ein Image flashen auf dem du auch Docker installieren kannst und wenn das getan ist, dann reicht diese Anleitung. Ich denke immer so etwas wie eine Dockerinstallation von mir wäre überflüssig, da es zig andere Quellen gibt, die es erklären, aber es wäre wohl manchmal besser noch einen Artikel dazu zu schreiben und hier zu verlinken. Ich schau mal bei Gelegenheit.

      Marc Hagemann - 3. November 2022 bei 07:46

      Hat nun alles funktioniert mit einem Raspberry Pi 2b. Docker inkl. Portainer installiert und nach deiner Anleitung den Stack erstellt. Entgegen der Anleitung in Deinem Youtube Video, musste ich Username und Passwort nicht in den advanced Settings konfigurieren, sondern wie in deinem Beispiel weiter oben, direkt im Main Stack. Ansonsten kam immer die Meldung, dass die Zugangsdaten falsch seien.

Danny - 9. November 2022 bei 17:23

Hallo Sascha,

ich bekomm beim Raspberry folgen Fehler angezeigt nachdem ich den ersten Befehl ausführe
docker run –name tado_aa –restart always -e USERNAME=YOURUSERNAME -e PASSWORD=YOURPASSWORD saschabrockel/tado_aa:latest

Fehler:
Traceback (most recent call last):
File „/app/tado_aa.py“, line 10, in
import logging
File „/usr/local/lib/python3.10/logging/__init__.py“, line 57, in
_startTime = time.time()
PermissionError: [Errno 1] Operation not permitted

Kannst du da helfen?
Danke

Thomas Krajcsy - 17. November 2022 bei 12:53

Hallo Sascha, vorab vielen Dank für die geniale Docker-Lösung.
Ich habe eine tado-APP Frage: wie schaltet man den Auto-Assist in de App ein, ohne dass man sich für einen Plan (kostenpflichtig) anmeldet … will tado wirklich von jedem Familienmitglied 2,99€ im Monat kassieren? Einmal hab ich Auto-Assist eingeschaltet indem ich 1 Woche gratis Plan genommen habe … und dann rechtzeitig gekündigt habe.
Danke,
Thomas

    Sascha Brockel - 18. November 2022 bei 07:12

    Hallo Thomas, das ist eventuell ein wenig missverständlich formuliert. Und zwar ist es so, dass der Auto-Assist in der App nach wie vor auf „Inaktiv“ gestellt bleibt. Das tut aber nichts zur Sache, da der Docker Container quasi der Auto-Assist ist. Eben nur selbst gehostet. Also du kannst da alles getrost auf Inaktiv lassen. Viele Grüße.

      Sascha Brockel - 19. November 2022 bei 17:12

      Ich muss mich korrigieren. Tado scheint etwas geändert zu haben. Bei mir funktioniert es nämlich auch nicht mehr so wie es soll. Ist mir aber nicht aufgefallen, da ich nicht da war. Jedenfalls bekomme ich Benachrichtigungen. In den Logs des Docker-Containers sieht alles noch gut aus. Es gab aber auch ein Update des Skripts. Ich werde es schnellstmöglich auch auf Docker bringen. Dann musst du den Container einmal stoppen bzw. komplett herunterfahren und dann noch einmal starten bzw. pull machen, damit du die neueste Version bekommst.

Thomas - 17. November 2022 bei 15:52

Hallo Sascha, vorerst mal DANKE für die geniale Docker-Lösung und die wirklich verständliche Anleitung zur Installation. Ich habe zu Hause eine tado Installation laufen, allerdings mit einer V2 laufen. Mein Schwager hat sich jetzt auch tado zugelegt, allerdings mit V3 … daher deine Lösung 😉
Leider habe ich jetzt folgendes Problem: Wie kann man am iPhone in der tado APP den Auto-Assist enablen, ohne dass man sich für einen kostenpflichtigen Plan zu entscheiden? Mein Schwager hat dies zwar gemacht, mit dieser 7 Tage Probeversion, die er rechtzeitig wieder gekündigt hat, darum konnten wir das „Self-Hosting“ erst nach 7 Tagen ausprobieren – das funktioniert soweit, stehen aber jetzt vor dem Problem, dass seine Frau Auto-Assist im selben Haushalt nicht aktivieren kann. Heisst das, dass tado von jedem Haushaltsbewohner diese 2,99€ verlangt, sprich für einen 4 Personenhaushalt 12€/Monat?! Oder ist da was schief gelaufen? Gibt es eine Möglichkeit Auto-Assist zu aktivieren ohne Plan? Muss jeder Haushaltsbewohner einen Plan kaufen und dann gleich wieder kündigen, damit die APP den Auto-Assist freischaltet? Wir haben die Situation jetzt so getestet, dass das Handy ohne Auto-Assist die Szene regelt. Es kommen weiterhin SMSs?! -> Wenn man das Handy ohne AA ausschaltet oder abmeldet, funktioniert alles wie du beschrieben hast.
Hast du eine Idee?
DANKE im voraus!
Thomas

    Sascha Brockel - 21. November 2022 bei 16:50

    Mir ist ebenfalls aufgefallen, dass Tado da etwas angepasst hat. Den Teil kann man jetzt wohl getrost überspringen. Die Logs bei mir sagen, dass es immer noch funktioniert. Ich hatte es aber tatsächlich auch, dass die Benachrichtigungen dennoch auf das Handy kamen. Ich habe aber gerade das Docker Image updated. Vielleicht ändert das etwas. Also der Auto-Assist darf getrost auf Inaktiv stehen bleiben. Also keine Sorge. Nichts mit zahlen. Ich denke mal du meintest mit SMS die Benachrichtigungen. Das mit der Probeversion war auf jeden Fall leider nicht richtig. Aber das ist auch alles neu jetzt. Update doch gerne mal das Docker Image auf die neuste Version. Das kannst du bspw. mit docker compose -f docker-compose-tado.yml pull machen. Hierbei steht docker-compose-tado.yml für den Namen deiner Compose-Datei. Schau mal wie es sich nach dem Update verhält. Kannst gerne noch einmal kommentieren.

    Viele Grüße

Torben - 3. Dezember 2022 bei 19:01

Hallo Sascha,

erstmal vielen Dank für die ausführliche Anleitung. Leider bekomme ich es nicht zum laufen. Ich muss aber auch zugeben kompletter Neuling auf dem Gebiet zu sein. Habe einen Raspberry Pi Zero 2W auf dem ich Docker & Portainer installiert habe, aber kann dort keinen Stack anlegen. Bekomme immer die nichtssagende Fehlermeldung „portainer failed to deploy stack“ ohne weitere Details.

Wenn ich das Run Skript ausführe wird zwar der Container in portainer angezeigt, jedoch wird bei Tado nichts gesteuert und ich bekomme auch keine Infos im Container log.
Beim ausführen des Befehls bekomme ich auch folgende Warnung:
WARNING: The requested image’s platform (linux/arm/v7) does not match the detected host platform (linux/arm/v6) and no specific platform was requested

Kann es daran liegen, dass auf dem pi nur arm/v6 läuft?

Vielen Dank für deine Hilfe,

Torben

    Sascha Brockel - 4. Dezember 2022 bei 00:25

    Hallo Torben, das hast du richtig erkannt. Ich habe mich aber direkt darum gekümmert. Ich dachte es gibt kaum noch Geräte im Einsatz, die arm/v6 nutzen. Probier es jetzt noch einmal aus. Das Image mit dem latest Tag enthält jetzt auch das Image für die Plattform arm/v6, also für dich. In Portainer einfach Container und Image noch einmal löschen und dann nochmal die Compose starten. Viele Grüße

Schreibe einen Kommentar

Avatar-Platzhalter
You have to agree to the comment policy.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

de_DE