Setup failed for tado

can you share please how you did it?

I corrected my post with up to date sources. jeroenjoosse pointed out a mistake using an outdated source prevented sending commands to Tado’s server, however the interface and indications were working.

I confirm this works on Raspberry Pi with Hassio. I used the Hassio built-in Configurator component to navigate in the file system and create PyTado folder at the following path:

/config/deps/lib/python3.7/site-packages/PyTado/

Actually I had to create all the subfolders as my ‘deps’ folder was empty.

I created three new files with the Configuration editor inside ‘PyTado’ folder:

__init__.py
__main__.py
interface.py

I used wmalgadey’s GitHub repository to copy-paste the contents of these files.

As wmalgadey already patched the code in interface.py, all you have to do is to restart Hassio. Thanks for diplix for the original workaround.

5 Likes

the most important thing is to restart docker command otherwise the modified file doesn’t hold

This also worked for me running Hassio through Docker on a NUC, thanks!

Solved. Copied folder (with modified interface.py) from:
/docker/home assistant/deps/lib/python3.6/site-packages/PyTado

to:
/docker/home assistant/deps/lib/python3.7/site-packages/

magically worked back again.

This initially seemed to work fine (no errors), but the climate service operation stopped working. Any command sent to Tado seemed to be ignored. Display of current status in frontend was fine though.

Solved it by using wmalgadey’s repository (all three files) instead of chrism0dwk’s version.

2 Likes

Interesting - I only use presence detection and sensors, not control via hass.io

I just copied the original hass.io files into the deps directory and modified, rather than getting them from the repository.

Thanks! I was just about to highlight the same problem. My post about the workaround is updated.

1 Like

I thought I had solved it using A320Peter’s method, but after reading your post I tried to alter the temperature from HA and it failed.

Using the wmalgadey files (changing my.tado.com to auth.tado.com on lines 115 and 140 in interface.py as previously mentioned) everything is now working. :+1:t2:

Thanks, post has already been updated.

1 Like

Let’s hope this issue gets merged soon with 0.90 and free us noobs from these workarounds :wink:

1 Like

I confirm the workaround for Hassio does the job. Moreover, the interface.py file on wmalgadey has been already patched, making even easier to fix the problem. Thanks to everybody.

2 Likes

followed this and worked for me this morning,

Thanks guys as this issue was starting to cause me a headache

you can create your own custom component and just point python-tado to the latest release that was put on pypi 11 hours ago.

It worked to get temperature data and change the heating operation. However, when you select “Off”, you get the following errors:
2019-03-17 10:35:48 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1872260016] HTTP Error 422:
Traceback (most recent call last):
File “/usr/local/lib/python3.7/site-packages/homeassistant/components/websocket_api/commands.py”, line 148, in handle_call_service
connection.context(msg))
File “/usr/local/lib/python3.7/site-packages/homeassistant/core.py”, line 1133, in async_call
self._execute_service(handler, service_call))
File “/usr/local/lib/python3.7/site-packages/homeassistant/core.py”, line 1155, in _execute_service
await handler.func(service_call)
File “/usr/local/lib/python3.7/site-packages/homeassistant/helpers/entity_component.py”, line 188, in handle_service
self._platforms.values(), func, call, service_name
File “/usr/local/lib/python3.7/site-packages/homeassistant/helpers/service.py”, line 278, in entity_service_call
future.result() # pop exception if have
File “/usr/local/lib/python3.7/site-packages/homeassistant/helpers/service.py”, line 292, in _handle_service_platform_call
await getattr(entity, func)(**data)
File “/usr/local/lib/python3.7/concurrent/futures/thread.py”, line 57, in run
result = self.fn(*self.args, **self.kwargs)
File “/usr/local/lib/python3.7/site-packages/homeassistant/components/tado/climate.py”, line 225, in set_operation_mode
self._control_heating()
File “/usr/local/lib/python3.7/site-packages/homeassistant/components/tado/climate.py”, line 343, in _control_heating
self._store.set_zone_overlay(self.zone_id, CONST_OVERLAY_MANUAL)
File “/usr/local/lib/python3.7/site-packages/homeassistant/components/tado/init.py”, line 122, in set_zone_overlay
self.tado.setZoneOverlay(zone_id, mode, temperature, duration)
File “/config/deps/lib/python3.7/site-packages/PyTado/interface.py”, line 287, in setZoneOverlay
data = self._apiCall(cmd, “PUT”, post_data)
File “/config/deps/lib/python3.7/site-packages/PyTado/interface.py”, line 81, in _apiCall
response = self.opener.open(req)
File “/usr/local/lib/python3.7/urllib/request.py”, line 531, in open
response = meth(req, response)
File “/usr/local/lib/python3.7/urllib/request.py”, line 641, in http_response
‘http’, request, response, code, msg, hdrs)
File “/usr/local/lib/python3.7/urllib/request.py”, line 569, in error
return self._call_chain(*args)
File “/usr/local/lib/python3.7/urllib/request.py”, line 503, in _call_chain
result = func(*args)
File “/usr/local/lib/python3.7/urllib/request.py”, line 649, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 422:

Confirmed working. Until I restart hassio. Than it’s back to my,tado.com again. Any tips?

Same here, I can switch the thermostat on with “manual”, but not off!
I follow the discussion.

Did you try my solution, doesn’t involve editing the container and uses the local dependencies so won’t get overwritten.

More detail here

How did you get it to work on the RPI? I can’t edid any files or something.
Did you just copy a file en put it in the directory?