Zones and Devices in the Tado° X API
Hi everyone !
I have created lately a Python script to retrieve the temperature of the Tado° X Devices in my home.
This script seems correctly setup since I manage to get /me information and based on my home_id, I manage to get the home_details.
When pushing forward and requesting the deviceList ({BASE_URL}/homes/{home_id}/deviceList) or the zones ({BASE_URL}/homes/{home_id}/zones) information, I only get an empty list
Is someone as succeeded in gathering the devices or zones information lately using Tado°X devices ?
Thanks for your support
Comments
-
Hi !
I have the same problem with my Tado X. Zones and DevicesList give me no results.0 -
for tado X you must retrieve "rooms" and not "zones"
i created this
https://github.com/gedhi/tadox-postman-collection
enjoy 😉0 -
Hi Gedhi,
thanks for the advice. I am using a Python implementation of the interface and I am not familiar with json.
So tried to implement what I read in your code in Python :
From "https://my.tado.com/api/v2/homes/" + homeID + "/rooms" I get accessDenied.
As you are using something like : "https://hops.tado.com/homes/" + homeID + "/rooms" I tried it as well. But that link returns a 401 message !
So there is something which I do not get about retrieving the rooms from the Tado servers.
Best regards
Jan
0 -
simply change you host from:
https://my.tado.com/api/v2/homes/" + homeID + "/rooms"
to
https://hops.tado.com/homes/" + homeID + "/rooms?ngsw-bypass=true"
you can reuse the bearer token that you create with the login api.1 -
Great, it works for me as well. I have hacked the PyTadoX interface proposed by aweddell. I did not even need the "ngsw-bypass=true".
I am hesitating proposing a merge to this interface.
0 -
Just for the record. The Python interface provided by Svobop here : https://github.com/svobop/PyTado/tree/master works out of the box.
So for those who want to access their data with Python I strongly recommend this interface.
1 -
@JanWombats i'm not sure about the exact purpose of the query parameter
ngsw-bypass=true
. Unfortunately, without access to Tado's source code, it's difficult to determine what triggers it. 🤔Both the mobile and web APIs use this parameter, so I thought it was appropriate to include it. If you discover the meaning of this parameter, please let me know—I'm curious! 😉
0 -
by the way, it there a way to get the information from the graph directly through the API ?
I would like to get the measured temperature and the setpoint for a given day… (here, for example on the 17/12/2024).Should I create a script that will get the information every minute or so and store them in a CSV or is there a way to download directly from Tado° server the complete information ?
0 -
Hi, I am currently working on this using the PyTado interface created by Petr Svoboda. I plan to have a system which can download each night the new data and add it to netCDF files (as you can download the data directly for an entire day !). Then I have all the software needed to make statistics and plot the information.
Should be ready in a week or so.
Jan
0 -
@Adrien_G
Great question! I've updated my repo with new documentation about the graph. 😉The call is simple:
https://my.tado.com/api/v2/homes/{{homeId}}/zones/{{roomId}}/dayReport?date=2024-12-17&ngsw-bypass=true
For this call, it seems that the
/zones
endpoint works also for Tado X, but we MUST send aroomId
… 🙄From this call, you receive information about:
- Temperature (every 15 mins)
- Heat settings
- Weather data
You can find more info on my repo:
https://github.com/gedhi/tadox-postman-collection
Hope this helps!
1 -
Here's an API specification for the tado API hosted on https://my.tado.com
Some of these endpoints seem to work for tado X as well. But some tado X functionality seems to be supported via another tado API hosted on https://hops.tado.com. Those endpoints are not covered by the API specification.
1 -
@ZelfDoen030
that's true. i've created this repo with a postman collection:
https://github.com/gedhi/tadox-postman-collection
feel free to suggest changes ;-)0 -
This content has been removed.