w.Intercom = i;Zones and Devices in the Tado° X API — tado° Community

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.

  • for tado X you must retrieve "rooms" and not "zones"

    i created this

    https://github.com/gedhi/tadox-postman-collection

    enjoy 😉

  • 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

  • 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.

  • Thanks so much @Gedhi it's working fine !!

    (for my information, how did you find to ask for "rooms" instead of "zones" ? is this new API documented somwhere ?)

  • 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.

  • 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.

  • @Adrien_G unfortunately, Tado does not release any official documentation for their APIs. 😕
    To solve this problem, I sniffed the API calls for a few days and then analyzed them.
    If you have any questions or need further clarification, feel free to reach out to me! 😉

  • @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! 😉

  • 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 ?

  • 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

  • @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 a roomId… 🙄

    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!

  • Once again @Gedhi , it's working very well ! Thanks for your precious support.

  • Here's an API specification for the tado API hosted on https://my.tado.com https://kritsel.github.io/tado-openapispec-v2/swagger.html

    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.

  • @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 ;-)

  • Unknown
    edited December 20
    This content has been removed.