That has much more sense now… if we need to override a package we only make a copy of the patched package and place it in /config/deps/lib…
Working here too with hass.io!
That has much more sense now… if we need to override a package we only make a copy of the patched package and place it in /config/deps/lib…
Working here too with hass.io!
I seem to be the only one in this thread getting a “read-only file system” for the copy destination /share/?
No… I get the same error 'open /media/interface.py : read-only file system
Yeah works on RPi too! Awesome
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.
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.
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.
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.
Thanks, post has already been updated.
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.
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: