Tado authentication

Does anyone know if the Tado binding has been updated to handle Tado’s recent authentication flow changes, and if so, in which version?

Yes the binding has been updated. It is already in OH v5.x snapshot, and will be back ported to OH v4.3x snapshot very soon.

3 Likes

Thanks!

Can it be that the old username/password authentication already is deactivated by Tado?
My things are offline for a few days now :sweat_smile:

Tado has modified the authentication method to make it more secure, which breaks the existing binding. As Andrew mentioned, the binding has been updated in v5, and will shortly be updated in v4.3

Mine just went offline today - I think… In any case, I only now noticed:

22:42:31.294 [ERROR] [rnal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.handleCommand()' on 'org.openhab.binding.tado.internal.handler.TadoZoneHandler@1126252d': Zone pendingHvacChange not initialized
java.lang.IllegalStateException: Zone pendingHvacChange not initialized
        at org.openhab.binding.tado.internal.handler.TadoZoneHandler.handleCommand(TadoZoneHandler.java:177) ~[?:?]
        at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
        at org.openhab.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:147) ~[?:?]
        at org.openhab.core.internal.common.InvocationHandlerSync.invoke(InvocationHandlerSync.java:59) ~[?:?]
        at jdk.proxy865.$Proxy994.handleCommand(Unknown Source) ~[?:?]
        at org.openhab.core.thing.internal.profiles.ProfileCallbackImpl.handleCommand(ProfileCallbackImpl.java:95) ~[?:?]
        at org.openhab.core.thing.internal.profiles.SystemDefaultProfile.onCommandFromItem(SystemDefaultProfile.java:49) ~[?:?]
        at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
        at org.openhab.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:147) ~[?:?]
        at org.openhab.core.internal.common.Invocation.call(Invocation.java:52)
~[?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
        at java.lang.Thread.run(Thread.java:1583) [?:?]

I suppose that is ‘expected behavior’?

I see the PR has been merged. So I assume it’s now possible to make the jar myself? Because the change won’t be pushed to the marketplace until a patch to 4.3.4?

Is that a correct interpretation of how it works?

No. The fix has two parts – one in OH Core and one in the tado binding. So you need to have the full patch.

1 Like

That’s too bad. I imagine you have no idea on the schedule of the release of the patch?

In any case, thanks for the rapid fix!

(You speak of v4.3x snapshot. Is that a thing? I only see mentions of OH5 snapshot here in the community…)

Perhaps @Kai can advise?

Yeah, guess we’ll have to wait for the release of 4.3.3
Hopefully it will be released soon

No. It looks like there are no daily v4.3x snapshots. So you will have to wait for the official patch release.

Is it possible to set up a 2nd openHAB in Docker, running an OH5 snapshot, with only a few tado things and items, and have those items update the items in my ‘real’ openHAB setup (and send commands the other way)?

I would have to figure out how that would need to be set up… So if that’s not possible, I won’t waste time on the search :slight_smile:

For now, since I don’t actually use my Tado to control anything any more (it’s just used as a temperature sensor really), I’m doing queries in my (Javascript) rules to get the updated data.

I believe it is possible to connect one OH to a second OH server and import data. But I am not the one who can tell you how.

An alternative would be to use the HTTP binding on one system to call the Rest API on the other.

I have the same problem with tado and OH 4.3.3.
When is the release available? :folded_hands:
I need it urgently, because I control many tado devices.

Unfortunately I am not an OH Maintainer so I cannot tell you the answer. However traditionally v4.3.x PATCH releases are made every 4…6 weeks; and the last one was February 20th; so…

Your alternative is to upgrade to OH 5.x SNAPSHOT. This is indeed quite a complex process since you need to be on a 64 bit OS, and you need to upgrade to Java 21 (note: if you are on openHabian you must use Java 21 Temurin since Java 21 OpenJDK is still missing), and you should definitely do a FULL IMAGE backup of your v4.3x installation before you try it, and there are many tweaks that you need to make (e.g. time zone adjustment if you are not in Berlin) etc., so you need to allow about half a day’s work to do it. However, having said that, I can confirm that I myself did succeed in upgrading my own operative system to OH 5.x SNAPSHOT and it is working fine for me.

Thank you for the information, Andrew.
I’m on openhabian 32bit with influxdb, grafana, mqtt broker, etc. on a raspi 4 4gb.
So, I think, I have to install a fresh 64bit instance on e separate SD-card. Or I order a new raspi 5 as a new device and transfer my config.
The challenge is, that I actually have a lot of temp sensors and relais directly attached at the raspi. I control my pool water pump and some valves.

Or do you know a working way to upgrade from 32 to 64 bit openhabian?

Kind regards

@Bonsaif personally I would suggest you to wait for the next 4.3x patch.

Thanks, I will wait.
:ok_hand: