[OBSOLETE] Tado (Connect)

FYI, In the past 3 years, I have built the ScheduleTstatZones & ecobeeSetZoneWithSchedule smartapps which allow you to create zones inside your home for more targeted heating/cooling.

I’ve recently modified ScheduleTstatZones & ecobeeSetZoneWithSchedule to be able to control more effectively any room eTRVs with the standard thermostat capabilities.

In the ScheduleTstatZones smartapp, you can configure your rooms/zones/schedules. You then associate your zone/room thermostats to your zones and schedule your zones during the day.

Here is the new virtual zone UI:

In your home, you don’t always want to heat/cool all your rooms. In the evenings or at night for instance, you may want to direct more heat to your bedrooms.

The smartapp lets you choose a master thermostat which controls other slave (zone/room) thermostats in terms of mode and setpoints. The thermostats need to follow the ST standard capabilities.

You can also define enter some delta temp adjustments to make some specific zoned rooms cooler or hotter. You can also use your room’s motion sensor to take into account if the room is occupied or not. The occupied threshold can be defined on a room by room basis for more flexibility.

There are many other features, refer to the ST community wiki for more details:


And the following ST community thread:

You can download the code at my store.



True, already using the sensors in Webcore. However first try, I had some error activating the auto mode. Could be due to connection loss. Using ifttt now to set the heatpoint.

Something I would like to implement in my system is set the heatpoint to +1 degree above dewpoint for away mode. I can set dewpoint, but can’t find how to add a safe offset. For now, I’m stuck with a fixed average dewpoint temperature. Anyone an idea how to implement basic math in webcore or force an offset? Not that it will make a huge difference, but it’s what a smart system should do.

Ignore post above. Think I just finally figured it out myself. Should check every 15 minutes to keep the lowest possible temp without risking dew. For some misterious reason, plus in the expression box didn’t work. Not understanding what I did wrong, using a double negative did the trick.

Will give the direct actions another shot in this one and lay off IFTTT. So far so good, much faster responsetimes.

If you have small kids that like to play with the Tado smart valves. Or a wife who is always cold. This piston might come in handy :grin:

1 Like

Sorry if this question seems stupid. I am fairly new to this. Is there anyway to set-up heating automation? My tado is in the hall but I really like the heating to be controlled by the temperature in the living room. Can I leave a motion sensor in the living room, if the temperature drops below a certain degree, Tado switch on the heating and vice versa.

you could, you would need to set up either rules in something like WebCore, or alternatively use @yvesracine 's solution

Thank you very much Stuart, I’ll have a play.

Hi, just to let you know, there is no way to implement the concept of rooms/zones & schedules in webcore the way I did it in ScheduleTstatZones (even if the rule engine is quite powerful) as my smartapp has close to 5000 lines of code…

This logic is impossible to reproduce in a smart rule engine, and the performance would not match ScheduleTstatZones in any case.


1 Like

Would it be possible to add the other “Manual” option that tado uses? when in the app I can set it if manual mode is activated it will return to automatic after 30 minutes? We use actiontiles and I don’t want to kids setting the heating high and then it just being left at a high temperature.

@SamB the reason i didnt put this in was because ST has easy way to select different timeframes (as the default values for settings dont work) for the method, and if say for example i chose an arbitary value such as an hour without having an override then this would not be right for a lot of people. and if i provide a way to override the default timeframe in the smartapp there would be no way for me to set a default value as this option doesn’t work in ST’s groovy code (admittedly i havent checked this recently but AFAIK this is still a bug). and if people dont have timer selected as the mode they want to reset then i think it introduces a usability issue forcing them to select a timeframe for a setting they dont use before they can install the application.

so thats why i introduced Tado_Mode as the option so if you use the tado schedule predominantly this allows you revert back to the tado schedule when the mode changes in that schedule.

however if you want to enforce an override to have a blanket change to override the mode change back then this can be done using other tools for example webcore can run the endManualControl function on the Tado Thermostat when the TadoMode attribute has been “MANUAL” for more than x minutes.

this would have the desired effect for your use case

Excellent information, I will have a look at this in WebCore thanks.

Just a quick message to say thanks for this. Trying it with the TRVs only, will let you know how I get on.

1 Like

Is there a bug in the current smartapp code? I publish the smartapp and when I start it up in the SmartThings app, I get the window asking me for Tado login information and after submitting that I just have a blank white screen, and a error message:

“Error - bad state”

Not AFAIK. Please open the IDE logging window whilst installing and dm me the logs so I can investigate

I just got this up and running. Cant wait to fire it up. Thanks so much!

1 Like

I got this when I didn’t follow the instructions and enable OpenAuth on the SmartApp.

On a side note, is there a way of increasing the refresh rate within the device handler/Smartapp without having to use Pollster?


you could change line 360 of the Tado Smartapp to read


instead of the line below that is there at the moment.


if however after changing this you may find issues with overlapping requests. i also haven’t set it by default to be less as the tado API is currently undocumented and not public, and i don’t want to encourage them identifying traffic from ST as a problem and blocking.,

oh and you will just need to go through the smartapp settings again quickly without changing anything for the change to take effect.

Is there a recommended app to control the Tado’s? I want something that turns my bathroom tado off when the window is open (and the multisensor registers it) and returns it to “Auto” state when the window is closed.

I can’t seem to find anything that fits that so far

@MikkelWinther, this is the only app for controlling the Tado Devices from smartthings. that is what it does, it controls the Tado Devices and allows them to be seen in ST as standard ST Thermostats.

If however you want to perform those types of actions when conditions happen from other non tado devices you need to author your own logic in a smartapp, or use a rules engine to achieve this like webCore ([deleted]) or alternatively Smart Rules (http://smartrulesapp.com/) these provide a gui to generate very complex rules.

or you can look at @yvesracine 's ScheduleTstatZones

but i believe that does not do open window detection as it is supposed to work with smart vents. but he also has a smartapp for doing exactly what you wish in its simplest form

Thanks for this. I was using this as a “If all TRVs are above temperature turn off heating” through webCORE, but decided to invest in the Smart Thermostat and Extension, so no real need for real-time updates - 5 minutes should be perfect now. It means I’ve consolidated 2 gateways into 1, and it’s certainly a lot more smart that what I had before.

As such, I’ve donated a little thank you for your time and effort - keep it up.


1 Like