Last updated by Sascha Brockel on 13 December 2022
Expected Reading Time: 9 minutes
In times like these, when heating costs are skyrocketing, it is even more worthwhile to regulate your energy consumption. Not everyone lives in a perfectly insulated house and therefore needs to turn up the heating less often and less. Tado makes it possible with its smart radiator thermostats to regulate the temperature to the degree. If you also use the Tado Auto-Assist, you can save a lot of energy. It should be said in advance that this post is not paid advertising.
I've been using three Tado radiator thermostats for just over a year now and I'm very satisfied. Especially in winter, you look forward to coming home and not standing in a freezing chamber while showering. However, there was always a catch. The whole thing was only automated and "smart" with a Tado Auto-Assist subscription for €24.99 a year or €2.99 a year. If you still have an old Tado Bridge with V2, the subscription is free. Anyone who, like me, then bought a starter package with a V3 Bridge is left holding the bag.
With a price of €170 for the bridge and three thermostats, that's not exactly pleasing, since the purchase is already not that cheap and you have to save at least €26 per year in heating costs through the subscription and the Auto-Assist to get any benefit at all. There are definitely cheaper alternatives, but Tado appealed to me the most visually and the geofencing functionality makes a big difference. The same goes for the window-open detection, which works without additional sensors on the windows. Accordingly, it would be nice to be able to use the whole thing for free, right?
What does geofencing mean?
Tado itself describes it as follows:
When Geofencing for a block of time in your Smart Schedule activates the settings of this block will only be active if your home is in the Home mode is.
When Geofencing disabled is the time block regardless of the location of the home members and regardless of whether tado° is in the Home or Away mode is active.Tado support page - What does the geofencing switch do for a time block in the smart schedule?
Depending on the location of all Tado users in a household, the heating is switched on or off, for example. The criteria for this and how warm it should be, for example, can be configured individually.
Now we are back to the initial problem. But this only works with the Auto-Assist subscription. Or maybe not? Through the API of Tado it is possible to read the status of your home. If you do not have a subscription, the Tado app sends notifications to alert you about the status.
For example, no one is at home and a notification is sent from the Tado app with the question and possibility to switch from HOME mode to AWAY mode and thus possibly turn off all heaters. However, since this does not happen automatically and you are not constantly looking at your phone, it is quite possible that you miss out on these savings. This is annoying for the environment and the wallet.
The same scheme as described for geofencing applies to window open detection. Notifications are sent, but this is far from full automation.
Requirements in the Tado App
In order to be able to use the Tado Auto-Assist at all, you have to activate some settings. These can be seen in the pictures. On the one hand, you have to activate the window open detection for all desired rooms and on the other hand, the location-based control on the devices of each Tado user. For example, if only one user has activated this function, only his location will be taken into account.
YouTube video implementation
Solution for a free Tado Auto-Assist
The Tado community naturally also includes developers who have not let themselves be deprived of the opportunity to use the API for their own purposes and to prevent a subscription obligation.
How is the whole thing implemented?
With the help of a Python module called pyTado programmed from Chris Jewell the foundation stone has been laid. And that already in 2016 or until the last update in 2019. He describes the module as follows:
PyTado is a Python module that implements an interface to the Tado web API. It allows the user to interact with their Tado heating system to monitor or control their heating system, which goes beyond what Tado itself currently offers.
With this, all data can now be read from the Tado API. This means that we have complete information about everything related to our system. But now the whole thing had to be implemented in such a way that the functionalities used by the Auto-Assist are integrated.
For this implementation, the GitHub user adrianslabu (Adrian Slabu) is responsible. In his GitHub repository he used the pyTado module to replicate the functions of the Auto-Assist. And it really works flawlessly. I don't want to go into more detail about the technical implementation, as that would go beyond the scope. For that you can have a look at the source code in his repository.
On which platforms can I run the solution?
Basically, with the Python script, it is possible to run it anywhere Python can be installed. For someone like me, who likes to have everything in Docker as a container, this was not a solution and too much effort to run it on my server with Python.
Accordingly, I looked to see if and how the whole thing can be made available as a Docker image. Based on the python:alpine image, the script is added. In addition, we need of course the mentioned pyTado module. So that we can variably set username and password for our Tado account, two more environment variables are set, which are picked up again in the slightly customized script. Finally, the script is only started via CMD command in the Dockerfile.
This Docker Image solution makes it possible to run the script on almost any device. Especially single board computers (SBC) like a RaspberryPi or ODROID or any other low power device are perfect to keep the script running continuously.
Currently the Docker image for linux/amd64, linux/arm/v7 and linux/arm64 available. If there is a need for another platform, please post in the comments. You can find the Docker image in the Docker Hub registry. I take care to keep the image up to date and to react quickly in case of changes.
Link to Docker Hub repository: saschabrockel/tado_aa
To start the container now you can either use the command
docker run or use a compose file. The container logs the data just like the original script and you can check what exactly happened or happened. By the way, you don't get notifications on your smartphone anymore, because the script already reacts automatically to changes and a reminder is not necessary anymore.
Docker Run Script:
docker run --name tado_aa --restart always -e USERNAME=YOURUSERNAME -e PASSWORD=YOURPASSWORD saschabrockel/tado_aa:latest
version: "3" services: tado_aa: restart: always container_name: tado_aa image: saschabrockel/tado_aa:latest environment: - USERNAME=YOURUSERNAME - PASSWORD=YOURPASSWORD
Of course, you can also use the Compose file in Portainer as its own stack. If everything works, you should see logs that look like this:
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 # Bathroom: 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...
It is now very easy for the end user to use Tado Auto-Assist free of charge. This applies to both geofencing and window open detection. The only requirements are a device that runs around the clock and supports Docker. Even a Synology NAS can be used for this purpose.
I hope this free alternative to the expensive subscription will help you reduce your heating costs in the coming winters. If you have any questions or comments, feel free to post a comment.