[DISCONTINUED] Tado Binding

EDIT:

Please note that the development for this binding is discontinued, due to another tado binding which is now available via eclipse markeplace.

The mentioned binding can be found https://marketplace.eclipse.org/content/tado°-binding and
here https://github.com/dfrommi/openhab-tado.

Thanks to all the testers in this thread. But investing time into creating another tado binding makes no sense, especially since it covers more tado devices and is in an advanced stage of development.


Hello community,

I started with openHAB a couple of weeks ago and of course, I wanted all my devices at home integrated.

Out of this I started working over the Tado Binding from @BenWoodford (thanks for the effort!). His binding stopped working due to the new “public preview” API from Tado.

Note: @BenWoodford initial Tado Binding was for Thermostats, since I own radiator Thermostats, these were my devices to test with! BUT I noticed that the API calls are pretty similiar. My guess is, that the updated Tado Binding should also work fine for them. (Thermostat users: Please confirm :slight_smile: )

Enough chatter, now some facts:

History:

v2.1.0: Initial Version

v2.2.0: Added new Feature -> New Channel terminationTimer for stopping MANUAL Mode/Control. Value is interpreted in minutes. Default is 0, which resolves to infinite. The value -1 stops the MANUAL Mode as soon as the next Tado mode change occurs.

Features:

  • Retrieving temperature
  • Global usage of access token, since multiple radiator thermostats need multiple things defined
  • Turning on/off a device (MANUAL Mode only)
  • Setting target temperature (can be also set when not currently heating ,e.g. for the next manual activation)
  • (Hopefully) Support for Fahrenheit aswell (I use Celsius)
  • Termination Timer for stopping MANUAL Mode/Control

Side note:

The Tado API gives back a value of zero for the target temperature, if heating is powered off.
Therefore, at the initial start of the binding, the target temperature is set to the default of 20 Celsius degrees (or 68 Fahrenheit degrees).
This value gets overwritten, as soon as the first time the heating is turned on via mobilephone/web or by setting the targetTemperature with openHAB.

Since I got asked about the humidity value: Tado presents the value as a fraction of 1, eg 0.56 instead of 56%. For sitemap users, check this thread out for transforming the value for display reasons: Display Decimal as Percent

Planned features:

  • Turning MANUAL mode off
  • Retrieving the weather information which Tado uses
  • Automatic discovery of Tado devices (no need anymore to find out homeID and zoneIDs)
  • Eventually the retrieval of heating data from the Tado servers for a given time (Might be interesting for people who dont persist)
  • ?

Installation:

Place one the following jar in your addons folder:

Follow the instructions (modified version from @BenWoodford):

…and give me feedback :slight_smile:

3 Likes

Hello Benjamin,

Im interested in the Tado thermostat because the heating system must work on his own. But the question is…
Is there already an binding that works with Tado?
When i read the features then is it still under construction. When you tell me it is gonna work. I will buy tommorow a Tado and maybe i can help with the binding?

Kind regards,
Thetmar Wiegers.

Hallo Thetmar,

sure, the main reason for tado is that it should work automatically! :slight_smile: I only use the manual mode right now, because I dont heat all day long yet.

There is no other working tado binding for thermostats at the moment, afaik. Thats why I created this binding here.

By the way, what features are you expecting? :wink:

For manual actions & retrieving Information about temperature etc, this binding already provides that.

And yes: Please give feedback if you use my tado binding! :wink: I still plan to add features.

Cheers

Hello Benjamin,

I buyed one…
1 thermostat
1 radiatorknop
1 extensionkit

Later i will add 4 more radiator knops. Maybe i have in a few days time to connect it and try something.

Hi Benjamin…im sorry for the delay. But i have a tado thermostat on the wall and it is working. The extensionkit is also working. The heater is to old to use opentherm. Next year i will buy a new one.
So tonight i will place the radiatorknop. What do you want to test or what can i test.

Kind regards Thetmar.

Hey Thetmar,

no problem at all. Just test if you got some free time. :wink:

It would be interesting if the thermostat works with this binding. The radiator thermostats will work for sure since I use them myself.

Just try out the features you want with the binding and tell me if they work smoothless & as you expected. :slight_smile:

Cheers

@Thetmar @PeterP
New Version available with a new Channel:

Termination Timer. With this Number Item you can control the duration of a started manual mode.

Hello Benjamin,

Thanks for your update!! I already use the plugin and the tado floor heating set. And it is working fine with openhab.
Can i replace the file or must i deleted all items and things? Or is it possible to delete the addon file you made and replace it with the new one?

Glad to hear that its working smoothly!

You just have to replace the jar file, no need to delete anything in your files. :slight_smile: Not even a restart of openhab is needed.
And if you want to use the timer, you need to add an item with the new channel.

E.g

Number  Tado_Wohnzimmer_TerminationTimer { channel="tado:thermostat:wohnzimmer:terminationTimer" }

Hi Benjamin

Thanks for this binding, all is looking good so far. I use a setup with 4 radiator thermostats in 4 zones. Using v2.2 snapshort, guide etc was easy to follow and setup.

Will report back if I spot anything. The decision to buy these came when I saw you worked on the binding :slight_smile:

Thanks Anders

The Number is not initializing or updating when I change the Mode to manual and setting a timer.
Is it only meant to be used by a rule for setting a timer?

@AndersBN thanks for the kind words! I’m happy to hear that my binding is useful to others. :slight_smile:

@PeterP the termination timer is supposed to be a fix value, which you can set beforehand to turn on manual mode with a given duration.
E.g. I use a dropdown list on habpanel to update my timer.

To understand, I wanted to test it with Basic UI. These are my files:
items:

Number test_timer "Timer Test" { channel="tado:thermostat:livingroom:terminationTimer"}

Sitemap:

Switch item=test_timer mappings=[1="Test"]

If i click the button, nothing happens.
I expected that the timer will be set to one minute, so I can just activate Manual mode with one minute.

Ah alright, since I don’t use sitemaps I can’t say anything yet.

I’ll look into it tomorrow. Do you encounter the same problem with the target temperature?

Target Temperature is ok.
As you can see there are some Contents missing. I just took the items from here:
[https://github.com/mebe1012/openhab2-addons/blob/tado/addons/binding/org.openhab.binding.tado/README.md]

This is how it looks:

Hi, I,m also start to testing my tado installation(6 thermostats, 1 smart thermostat and an extension box) with OH2. First thermostat is configured and it seems to work fine.
@PeterP - how did you convert your humitity from 0.722 to 72.2? I’m still searching for the right parameter, but can’t find it.

For sitemaps you can do transformation on the item itself, please follow the instructions from the following topic: Display Decimal as Percent

@PeterP correct, there are some channels which are not in use yet. So nothing unusual that there is content missing.
Btw, changing the target temperature works?

1 Like

@bennYx0x: Yes this is working fine.
@Torte: I used the link already mentionned by bennYx0x and the rule updates regularely the variable when humidity was changed.

perfect - humidity conversion by rule is working! :+1:

Could you double check your item name?

I just used the quoted Switch from you with my termination timer item and it worked. :wink:

P.S.: the initial state from the termination timer is null, but the binding treats this as the value 0. In a feature release I will initialize it with the value 0 to avoid irritation.