tado API

edited January 2019 in Technical Questions

Does tado have an API ? Where can I find the documentation ?


  • Although we do have an API, at this time we do not provide any documentation or support for it.

    At this time, the best documentation for the API can be found here:
    And here:

    Please feel free to discuss any question you might have about the API in this topic together with other community members.

  • It looks like the room (zone) temperature is read-only?

    (My intention is to use the API to add small wireless temperature sensors to some rooms, where the human space is often very different than the TRV’s location.)

  • Hello gerwitz,

    As commented before, we don't support the API.

    However, what you intend can probably be achieved easily through some of the free official integrations, eg. IFTTT



  • gerwitz, did you get anywhere with this??
  • You can use the offset setting in the app to compensate for this. Just measure temp difference in the “human space” and check difference to TRV. Adjust the offset in the app in rooms setting.

  • dennisoliver, I’ve only found this useful up to a point. Sometimes the valves get warm before the room and shut off, then cool and come back on, rather than staying on until the room is up to temp. Would be neat to be able to add a small sensor.

    Obviously you can add more Tado wall thermostats, but they’re not cheap!

  • Adjusting the offset only works to some degree and takes a long time to get right. Setting the system up this way also appears to affect the reporting side of the app, ie if you want a temp of 19 deg and to achieve this you have to offset 3 deg, then the human space temp will be 19 deg, the valve will show 19 deg but the temp at the valve will actually be 22 deg. However, the Air Comfort report appears to use the 'shown' temp with the offset, ie 19 deg. So, the report is actually incorrect. Might as well just set the valve to 22 deg.
  • I just wrote a python script to correct the read temperature using an external sensor and it works great; now if I set a temperature, that temperature is effectively reached
  • samdsamd ✭✭✭

    @jacoscar Can we hear more about this please?

  • jacoscarjacoscar ✭✭✭
    edited December 2019
    My script connects to the Tado server to retrieve the current offset and the current temperature; then using home assistant API it retrieves the real temperature from another sensor (this could be any sensor as long as it can be used in Home Assistant)
    It then calculates the new offset and applies it!
    It repeats the cycle after a defined number of minutes (using 5 at the moment)
    This effectively means that the Tado valve can pick up the heat of the radiator, but it will be dynamically corrected every 5 minutes

    I would attach a picture but I am not in front of my computer now; I have opened a discussion in the italian Tado forum: if you find it, you’ll see a plot with the real temperature and the one reported by Tado with dynamic offset correction; you’ll see they are pretty much the same, meaning Tado is using the real temperature to request the right amount of heat
  • Really interesting jacoscar. Waiting for the script to use without an additional sensor of temp. Great job!
  • edited December 2019

    I've had a play, and written some code that directly sends offset information from an ESP8266 to Tado, using a DHT22 as the temperature sensor.

    It's not great code, but it does work. It's probably a bad idea to use more than one, in case they try and connect at the same time.

    I intend to replace it with several feeding into Home Assistant, to reduce the number of API calls


    ps, I hesitated to publish this, if you don't understand it, it's probably not for you ;-)

  • @jacoscar, would you mind showing me your script home assistant script? I am looking for a similar solution, where my Hue motion sensors, which are already in all the rooms, deliver the correct room temperature. I'm just not sure how to write a script that pulls the pulls the real temperature, calculates the required offset and then pushes it to the right room in Tado.

    Btw, is @Jacopo also your user?

Sign In or Register to comment.