Compensate temperature reading when heating
When is heating up, the Tado valve head reads a much higher temperature owing to its proximity to the hot radiator.
There's already a thread requesting a temperature sensor to be placed elsewhere in the room. This would be a good solution for those who don't want to pay for a wall thermostat and/or don't need a wall heating control in every room.
I'll go further and say I don't want a separate sensor in every room - although I agree Tado should offer that as an option. It's going to need either batteries or wiring, and we have enough of these already.
Honestly, we can get it to "good enough" with some sensible software:
When the radiator is warming up, apply a bigger temperature offset.
Exactly how this is done I don't know; I suggest Tado engineers install Honeywell Evohome, monitor its behaviour and try to mimic it. There's plenty to not like about the Honeywell system (or I would have already thrown Tado in the bin and gone back to it), but when it comes to controlling the temperature it works well - and isn't that what a heating control system is supposed to do?
I will describe here a possible way of doing it, but I'm sure the engineers at Tado can discuss and come up with something better.
The simple idea is to have a second offset, so there are two offsets altogether:
additionally there can be a "heating time" and "cooling time", i.e. how long it takes the radiator to heat up and cool down from its hottest point.
Normal offset: 0 (if this trick works, that'll be the most common case)
Heating offset 2 (would be more for bigger radiators/radiators with less air flow)
Warm up time: 5 mins
Cool down time: 20 mins
At 14:00 the valve calls for heat and opens up. By 14:05 the radiator is hot. So at 14:02:30 it's using an offset of 1 and at 14:05 an offset of 2.
By 14:20 the room has reached the desired temperature and the Tado stops calling for heat. As it's assumed that the radiator takes 20 minutes to cool down, by 14:30 the offset is 1 and by 14:40 it's back to 0.
If the valves allow being half open/half closed, then do all the same calculations but when half open the offset is only 50%.
Additionally, there's nothing to stop the system from calibrating itself further. Taking the above as a sensible default, measure how warm the room is 20 minutes after turning the heat off (i.e. when the radiator has just finished cooling) and next time heat is needed to reach the desired temperature, either calculate the offset accordingly or just predict how many minutes of heat is needed, and at what intensity; in other words, accept that the reading is going to be inaccurate for a while but know how much heat to input to lift the temperature, and read again when the radiator is cooler. Or a bit of both.
Sounds complicated? Yes and no. Yes it would be complicated to add all this to the UI, but no it's not complicated for the user if Tado handles all of this in the background. If they get it right, all we need is a simple setting "auto adjust - on/off". After all, nobody was buying Tado for its temperature offset feature; that's just a means to an end to try and settle down a rather jerky system.