Tado Binding

Hello guys,

I have just got a Tado smart TRV and I have realised it is not that amazing as Tado promises you. In fact the temperature control, is not even mediocre level (for an engineer).

However, I had an idea for a nice workaround. Let me describe the issue first:

The TRV is next to the heater, and this is really bad for the temperature sensor in the TRV as the readings are skewed by a lot. Tado does offer the option to set an offset in their Phone App, but there are some issues there. The biggest one is the fact that as soon as the heater is cold, the temperatures are skewed the other way now. There is no smart compensation to this offset.

How to solve it: I am using a Xiaomi Temperature sensor in the same room, that gives me the real temperature in the room. Via the Tado binding I can get the temperature reading of the TRV. If the binding would offer access to the Offset, then you could send the offset cyclically (calculated in OpenHab as difference between the TRV read temperature and the real temperature).

The benefit is that Tado App will always show you the real temerature, regardless whether the heater is hot or cold and also the temperature control in the room will work correctly.

Somebody has already managed to get access to this Offset parameter via Tado servers, however the code is for an ESP8266. I am very new with OpenHab and have no knowledge of how the Tado binding works.

I was thinking somebody can help out with modifying this binding, or even add a new feature to the main branch.

The code to access the Tado Offset parameter is here: https://github.com/jon-riches/ESP8266-TADO


Hi all,
I also would like the developer of the Tado binding to add the command for reading and writing the Offset temperature of a room.

@dfrommi: are you the maintainer of this package?


well, I‘ve at least written the first version of the skill.

Your idea with changing the offset is interesting, but there‘s a big problem with this approach: your battery will drain in no time if you do it frequently.

Did you know that tado offers a device specifically for solving your issue. In Germany it‘s called „Funk-Temperatursensor“. It measures temperature and humidity whereever you put it. Maybe that‘s an option for you?

Hi Dennis,
First of all, thanks for your work. Very well done!

I am aware of the device, but it’s 80€. And I have 10 valves…
The idea was to adjust the offset every 10 minutes, only when the valve is ON.
So I don’t know if this could drain the battery quickly, but it’s worth a try… :slight_smile:

Do you think you could add to the binding the read and write OFFSET API?
You could also add the BATTERY_LEVEL API, so we could monitor the actual battery drain speed.


not sure if you’re aware of it, but you only need one of those devices per room, not one per valve. But it’s of course perfectly understandable that you don’t want to buy additional hardware.

Regarding battery level, there’s already a low-battery alarm available.
To get in on a device level, we would first need to introduce a device thing. Quite some effort (auto-discovery etc) for very limited use, I guess. Usually “low battery” is the only thing you’re interested in.

Then about the offset changes:
I still don’t think it’s a good idea. It’s just not the intended use of this feature and can have all kinds of side-effect that I can’t predict. End of the day, you’re permanently changing the configuration of the room.

The effort to implement this feature is also quite high. Offsets are set on device-level, not on room-level. So you first have to figure out what device is measuring the temperature in your room, then set the offset. And the measuring device can also change, so you need something to refresh this info once in a while.

As you can imagine, I don’t want to put all that effort into the implementation of a feature that I don’t think is a good idea.
But if someone else wants to do it, I can help with the APIs.

Sorry, but I hope you understand that.


I understand the complexity.
Will try to do it using GET and PUT curl calls from a python script.
And see how the unit behaves. If it creates problems will disable it.

thanks for your support.

1 Like

Hi Dennis,
I honestly created the account to answer this 3d.
I understand the complexity but most of users have issues with temperature measurement with Tado… personally i fixed using Py script that run every 5 minutes but write only if the heating system is on and the delta between my temperature reference in the room and the data from Tado is grater than (in abs) 0.25 degree. With this algorithm the batteries drain in around 12 months, that I consider acceptable.

Honestly I was testing openhab because of the possibility to connect to cloud and to connect rest and mqtt device I have at home, togheter with the possibility to connect Tado, but if controlling the offsett will not be possible I’ll probably witch to some other…