Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tado throwing HTTP Error 422 when changing operation mode or temperature #30020

Closed
arttwentyfourseven opened this issue Dec 17, 2019 · 19 comments
Assignees

Comments

@arttwentyfourseven
Copy link

Good Evening,

The only thing I seem to be able to do with Tado climate is switching my A/C off, changing operation to Heat/Cool or changing the target temperature result in Error 422 as below.

Running Hassio 0.103.0 on a Pi4 with DHCP, Duck DNS and SSH add-ons installed.
Note that this has never worked for me from approx. September this year.

2019-12-17 21:37:03 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.2912513744] HTTP Error 422:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 133, in handle_call_service
connection.context(msg),
File "/usr/src/homeassistant/homeassistant/core.py", line 1235, in async_call
await asyncio.shield(self._execute_service(handler, service_call))
File "/usr/src/homeassistant/homeassistant/core.py", line 1260, in _execute_service
await handler.func(service_call)
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 205, in handle_service
self._platforms.values(), func, call, service_name, required_features
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 336, in entity_service_call
future.result() # pop exception if have
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 360, in _handle_service_platform_call
await func(entity, data)
File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 519, in async_service_temperature_set
await entity.async_set_temperature(**kwargs)
File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 380, in async_set_temperature
ft.partial(self.set_temperature, **kwargs)
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/src/homeassistant/homeassistant/components/tado/climate.py", line 335, in set_temperature
self._control_heating()
File "/usr/src/homeassistant/homeassistant/components/tado/climate.py", line 533, in _control_heating
"COOL",
File "/usr/src/homeassistant/homeassistant/components/tado/init.py", line 138, in set_zone_overlay
zone_id, overlay_mode, temperature, duration, device_type, "ON", mode
File "/usr/local/lib/python3.7/site-packages/PyTado/interface.py", line 287, in setZoneOverlay
data = self._apiCall(cmd, "PUT", post_data)
File "/usr/local/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:
2019-12-17 21:37:25 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.2912513744] HTTP Error 422:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 133, in handle_call_service
connection.context(msg),
File "/usr/src/homeassistant/homeassistant/core.py", line 1235, in async_call
await asyncio.shield(self._execute_service(handler, service_call))
File "/usr/src/homeassistant/homeassistant/core.py", line 1260, in _execute_service
await handler.func(service_call)
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 205, in handle_service
self._platforms.values(), func, call, service_name, required_features
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 336, in entity_service_call
future.result() # pop exception if have
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 358, in _handle_service_platform_call
await getattr(entity, func)(**data)
File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 405, in async_set_hvac_mode
await self.hass.async_add_executor_job(self.set_hvac_mode, hvac_mode)
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/src/homeassistant/homeassistant/components/tado/climate.py", line 356, in set_hvac_mode
self._control_heating()
File "/usr/src/homeassistant/homeassistant/components/tado/climate.py", line 533, in _control_heating
"COOL",
File "/usr/src/homeassistant/homeassistant/components/tado/init.py", line 138, in set_zone_overlay
zone_id, overlay_mode, temperature, duration, device_type, "ON", mode
File "/usr/local/lib/python3.7/site-packages/PyTado/interface.py", line 287, in setZoneOverlay
data = self._apiCall(cmd, "PUT", post_data)
File "/usr/local/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:
2019-12-17 21:37:34 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.2912513744] HTTP Error 422:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 133, in handle_call_service
connection.context(msg),
File "/usr/src/homeassistant/homeassistant/core.py", line 1235, in async_call
await asyncio.shield(self._execute_service(handler, service_call))
File "/usr/src/homeassistant/homeassistant/core.py", line 1260, in _execute_service
await handler.func(service_call)
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 205, in handle_service
self._platforms.values(), func, call, service_name, required_features
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 336, in entity_service_call
future.result() # pop exception if have
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 360, in _handle_service_platform_call
await func(entity, data)
File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 519, in async_service_temperature_set
await entity.async_set_temperature(**kwargs)
File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 380, in async_set_temperature
ft.partial(self.set_temperature, **kwargs)
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/src/homeassistant/homeassistant/components/tado/climate.py", line 335, in set_temperature
self._control_heating()
File "/usr/src/homeassistant/homeassistant/components/tado/climate.py", line 533, in _control_heating
"COOL",
File "/usr/src/homeassistant/homeassistant/components/tado/init.py", line 138, in set_zone_overlay
zone_id, overlay_mode, temperature, duration, device_type, "ON", mode
File "/usr/local/lib/python3.7/site-packages/PyTado/interface.py", line 287, in setZoneOverlay
data = self._apiCall(cmd, "PUT", post_data)
File "/usr/local/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:

@probot-home-assistant
Copy link

Hey there @michaelarnauts, mind taking a look at this issue as its been labeled with a integration (tado) you are listed as a codeowner for? Thanks!

@michaelarnauts
Copy link
Contributor

@arttwentyfourseven I have an open PR here #29246 that fixes quite some open tado issues. Could you try this code?

You can simply download the files from https://github.com/michaelarnauts/home-assistant/tree/tado-rework/homeassistant/components/tado and put them in a custom_components/tado folder.

@arttwentyfourseven
Copy link
Author

arttwentyfourseven commented Dec 19, 2019

Sorry mate, still the same issue and very similar error message.

2019-12-19 20:30:33 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for tado which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2019-12-19 20:30:48 WARNING (MainThread) [homeassistant.components.climate] Setup of platform tado is taking over 10 seconds.
2019-12-19 20:32:34 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.2880654608] HTTP Error 422: 
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 133, in handle_call_service
    connection.context(msg),
  File "/usr/src/homeassistant/homeassistant/core.py", line 1235, in async_call
    await asyncio.shield(self._execute_service(handler, service_call))
  File "/usr/src/homeassistant/homeassistant/core.py", line 1260, in _execute_service
    await handler.func(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 205, in handle_service
    self._platforms.values(), func, call, service_name, required_features
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 336, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 360, in _handle_service_platform_call
    await func(entity, data)
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 519, in async_service_temperature_set
    await entity.async_set_temperature(**kwargs)
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 380, in async_set_temperature
    ft.partial(self.set_temperature, **kwargs)
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/tado/climate.py", line 299, in set_temperature
    self._control_heating()
  File "/config/custom_components/tado/climate.py", line 463, in _control_heating
    "COOL" if self._ac_device else None,
  File "/config/custom_components/tado/__init__.py", line 134, in set_zone_overlay
    zone_id, overlay_mode, temperature, duration, device_type, "ON", mode
  File "/usr/local/lib/python3.7/site-packages/PyTado/interface.py", line 287, in setZoneOverlay
    data = self._apiCall(cmd, "PUT", post_data)
  File "/usr/local/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: 
2019-12-19 20:33:37 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.2880654608] HTTP Error 422: 
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 133, in handle_call_service
    connection.context(msg),
  File "/usr/src/homeassistant/homeassistant/core.py", line 1235, in async_call
    await asyncio.shield(self._execute_service(handler, service_call))
  File "/usr/src/homeassistant/homeassistant/core.py", line 1260, in _execute_service
    await handler.func(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 205, in handle_service
    self._platforms.values(), func, call, service_name, required_features
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 336, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 358, in _handle_service_platform_call
    await getattr(entity, func)(**data)
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 405, in async_set_hvac_mode
    await self.hass.async_add_executor_job(self.set_hvac_mode, hvac_mode)
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/tado/climate.py", line 328, in set_hvac_mode
    self._control_heating()
  File "/config/custom_components/tado/climate.py", line 463, in _control_heating
    "COOL" if self._ac_device else None,
  File "/config/custom_components/tado/__init__.py", line 134, in set_zone_overlay
    zone_id, overlay_mode, temperature, duration, device_type, "ON", mode
  File "/usr/local/lib/python3.7/site-packages/PyTado/interface.py", line 287, in setZoneOverlay
    data = self._apiCall(cmd, "PUT", post_data)
  File "/usr/local/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: 

@michaelarnauts
Copy link
Contributor

I would love to get this fixed! Could you increase the debug level for tado? I might find more information there.

Do you also have a temperature set when you turn it on? I don't have an AC-device, so I can't test...

Just add this to your configuration:

logger:
  default: info
  logs:
    homeassistant.components.tado: debug
    custom_components.tado: debug

@arttwentyfourseven
Copy link
Author

Today the temperature had already been set with the Tado phone app. I then restarted hassio and attempted to control the temp setting from the Overview panel. Logs below.
I've previously tried after the A/C was turned off, with the same result.

Note that I have 2 zones, one called "Zander" and the other called "Vienna". In the logs below the zone number has been added in brackets. I'm assuming this has been done in the Python code and could be (part of) the problem if it doesn't match what the Tado API has. Just a wild guess though.
Also, this wouldn't explain why turning the devices OFF does work, so my guess is probably incorrect.

2019-12-19 21:05:01 DEBUG (SyncWorker_19) [custom_components.tado] Updating zone 1
2019-12-19 21:05:03 DEBUG (SyncWorker_19) [custom_components.tado] Updating zone 2
2019-12-19 21:05:05 DEBUG (SyncWorker_19) [custom_components.tado] Updating device 20132
2019-12-19 21:05:33 DEBUG (SyncWorker_16) [custom_components.tado] Updating zone 1
2019-12-19 21:05:34 DEBUG (SyncWorker_16) [custom_components.tado] Updating zone 2
2019-12-19 21:05:37 DEBUG (SyncWorker_16) [custom_components.tado] Updating device 20132
2019-12-19 21:06:05 DEBUG (SyncWorker_17) [custom_components.tado] Updating zone 1
2019-12-19 21:06:06 DEBUG (SyncWorker_17) [custom_components.tado] Updating zone 2
2019-12-19 21:06:08 DEBUG (SyncWorker_17) [custom_components.tado] Updating device 20132
2019-12-19 21:06:21 DEBUG (SyncWorker_5) [custom_components.tado] Updating zone 1
2019-12-19 21:06:22 DEBUG (SyncWorker_5) [custom_components.tado] Updating zone 2
2019-12-19 21:06:24 DEBUG (SyncWorker_5) [custom_components.tado] Updating device 20132
2019-12-19 21:06:37 DEBUG (SyncWorker_5) [custom_components.tado] Updating zone 1
2019-12-19 21:06:39 DEBUG (SyncWorker_5) [custom_components.tado] Updating zone 2
2019-12-19 21:06:41 DEBUG (SyncWorker_5) [custom_components.tado] Updating device 20132
2019-12-19 21:07:09 DEBUG (SyncWorker_15) [custom_components.tado] Updating zone 1
2019-12-19 21:07:10 DEBUG (SyncWorker_15) [custom_components.tado] Updating zone 2
2019-12-19 21:07:12 DEBUG (SyncWorker_15) [custom_components.tado] Updating device 20132
2019-12-19 21:07:25 DEBUG (SyncWorker_18) [custom_components.tado] Updating zone 1
2019-12-19 21:07:26 DEBUG (SyncWorker_18) [custom_components.tado] Updating zone 2
2019-12-19 21:07:28 DEBUG (SyncWorker_18) [custom_components.tado] Updating device 20132
2019-12-19 21:07:41 DEBUG (SyncWorker_11) [custom_components.tado] Updating zone 1
2019-12-19 21:07:42 DEBUG (SyncWorker_11) [custom_components.tado] Updating zone 2
2019-12-19 21:07:44 DEBUG (SyncWorker_11) [custom_components.tado] Updating device 20132
2019-12-19 21:07:52 INFO (SyncWorker_1) [custom_components.tado.climate] Switching to TADO_MODE for zone Vienna (2) with temperature 22.0 °C
2019-12-19 21:07:54 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.2906874832] HTTP Error 422:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 133, in handle_call_service
connection.context(msg),
File "/usr/src/homeassistant/homeassistant/core.py", line 1235, in async_call
await asyncio.shield(self._execute_service(handler, service_call))
File "/usr/src/homeassistant/homeassistant/core.py", line 1260, in _execute_service
await handler.func(service_call)
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 205, in handle_service
self._platforms.values(), func, call, service_name, required_features
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 336, in entity_service_call
future.result() # pop exception if have
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 360, in _handle_service_platform_call
await func(entity, data)
File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 519, in async_service_temperature_set
await entity.async_set_temperature(**kwargs)
File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 380, in async_set_temperature
ft.partial(self.set_temperature, **kwargs)
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/tado/climate.py", line 299, in set_temperature
self._control_heating()
File "/config/custom_components/tado/climate.py", line 463, in _control_heating
"COOL" if self._ac_device else None,
File "/config/custom_components/tado/init.py", line 134, in set_zone_overlay
zone_id, overlay_mode, temperature, duration, device_type, "ON", mode
File "/usr/local/lib/python3.7/site-packages/PyTado/interface.py", line 287, in setZoneOverlay
data = self._apiCall(cmd, "PUT", post_data)
File "/usr/local/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:
2019-12-19 21:07:57 DEBUG (SyncWorker_18) [custom_components.tado] Updating zone 1
2019-12-19 21:07:58 DEBUG (SyncWorker_18) [custom_components.tado] Updating zone 2
2019-12-19 21:08:00 DEBUG (SyncWorker_18) [custom_components.tado] Updating device 20132
2019-12-19 21:08:13 DEBUG (SyncWorker_0) [custom_components.tado] Updating zone 1
2019-12-19 21:08:14 DEBUG (SyncWorker_0) [custom_components.tado] Updating zone 2
2019-12-19 21:08:16 DEBUG (SyncWorker_0) [custom_components.tado] Updating device 20132
2019-12-19 21:08:29 DEBUG (SyncWorker_16) [custom_components.tado] Updating zone 1
2019-12-19 21:08:30 DEBUG (SyncWorker_16) [custom_components.tado] Updating zone 2
2019-12-19 21:08:32 DEBUG (SyncWorker_16) [custom_components.tado] Updating device 20132
2019-12-19 21:09:01 DEBUG (SyncWorker_12) [custom_components.tado] Updating zone 1
2019-12-19 21:09:02 DEBUG (SyncWorker_12) [custom_components.tado] Updating zone 2
2019-12-19 21:09:07 DEBUG (SyncWorker_12) [custom_components.tado] Updating device 20132
2019-12-19 21:09:33 DEBUG (SyncWorker_16) [custom_components.tado] Updating zone 1
2019-12-19 21:09:34 DEBUG (SyncWorker_16) [custom_components.tado] Updating zone 2
2019-12-19 21:09:36 DEBUG (SyncWorker_16) [custom_components.tado] Updating device 20132
2019-12-19 21:09:49 DEBUG (SyncWorker_1) [custom_components.tado] Updating zone 1
2019-12-19 21:09:50 DEBUG (SyncWorker_1) [custom_components.tado] Updating zone 2
2019-12-19 21:09:53 DEBUG (SyncWorker_1) [custom_components.tado] Updating device 20132
2019-12-19 21:10:21 DEBUG (SyncWorker_2) [custom_components.tado] Updating zone 1
2019-12-19 21:10:22 DEBUG (SyncWorker_2) [custom_components.tado] Updating zone 2
2019-12-19 21:10:24 DEBUG (SyncWorker_2) [custom_components.tado] Updating device 20132
2019-12-19 21:10:39 INFO (SyncWorker_14) [custom_components.tado.climate] Switching to TADO_MODE for zone Zander (1) with temperature 22.0 °C
2019-12-19 21:10:41 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.2906874832] HTTP Error 422:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 133, in handle_call_service
connection.context(msg),
File "/usr/src/homeassistant/homeassistant/core.py", line 1235, in async_call
await asyncio.shield(self._execute_service(handler, service_call))
File "/usr/src/homeassistant/homeassistant/core.py", line 1260, in _execute_service
await handler.func(service_call)
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 205, in handle_service
self._platforms.values(), func, call, service_name, required_features
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 336, in entity_service_call
future.result() # pop exception if have
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 360, in _handle_service_platform_call
await func(entity, data)
File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 519, in async_service_temperature_set
await entity.async_set_temperature(**kwargs)
File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 380, in async_set_temperature
ft.partial(self.set_temperature, **kwargs)
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/tado/climate.py", line 299, in set_temperature
self._control_heating()
File "/config/custom_components/tado/climate.py", line 463, in _control_heating
"COOL" if self._ac_device else None,
File "/config/custom_components/tado/init.py", line 134, in set_zone_overlay
zone_id, overlay_mode, temperature, duration, device_type, "ON", mode
File "/usr/local/lib/python3.7/site-packages/PyTado/interface.py", line 287, in setZoneOverlay
data = self._apiCall(cmd, "PUT", post_data)
File "/usr/local/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:

@michaelarnauts
Copy link
Contributor

I've added a few debug statements to my branch. Could you try this again? Thanks!

@arttwentyfourseven
Copy link
Author

arttwentyfourseven commented Dec 20, 2019

Thanks Michael,

Please see the logs below. I have only played with zone 2 this time:

  • A/C was set to 17 degrees C at the time of Hassio restart
  • attempted to increase to 18 degrees, which failed
  • switched off, which succeeded
  • attempted to switch Operation to Heat/Cool and Target temp to 17, which failed
  • (switched to the target setting via the Tado phone app as it was 43 degrees today and the room is rather hot...)

Let me know if I can provide any further info.
Cheers, Art

2019-12-20 20:27:07 DEBUG (SyncWorker_13) [custom_components.tado] Updating zone 2
2019-12-20 20:27:08 DEBUG (SyncWorker_13) [custom_components.tado] Dispatching update to zone 2: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': {'start': '2019-12-20T15:30:00.000Z'}, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:09:25.657Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 27.85, 'fahrenheit': 82.13, 'timestamp': '2019-12-20T09:21:50.740Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 36.3, 'timestamp': '2019-12-20T09:21:50.740Z'}}}
2019-12-20 20:27:08 DEBUG (SyncWorker_13) [custom_components.tado] Updating zone 1
2019-12-20 20:27:10 DEBUG (SyncWorker_13) [custom_components.tado] Dispatching update to zone 1: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': None, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:05:08.025Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 25.72, 'fahrenheit': 78.3, 'timestamp': '2019-12-20T09:24:23.607Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 40.0, 'timestamp': '2019-12-20T09:24:23.607Z'}}}
2019-12-20 20:27:10 DEBUG (SyncWorker_13) [custom_components.tado] Updating device 20132
2019-12-20 20:27:12 DEBUG (SyncWorker_13) [custom_components.tado] Dispatching update to device 20132: {'deviceType': 'WR01', 'serialNo': 'WR1506FT01001493893376', 'shortSerialNo': 'WR1493893376', 'currentFwVersion': '60.2', 'connectionState': {'value': True, 'timestamp': '2019-12-20T09:21:50.740Z'}, 'characteristics': {'capabilities': ['INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']}, 'accessPointWiFi': {'ssid': 'tado3376'}, 'commandTableUploadState': 'FINISHED'}
2019-12-20 20:27:23 DEBUG (SyncWorker_10) [custom_components.tado] Updating zone 2
2019-12-20 20:27:24 DEBUG (SyncWorker_10) [custom_components.tado] Dispatching update to zone 2: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': {'start': '2019-12-20T15:30:00.000Z'}, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:09:25.657Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 27.85, 'fahrenheit': 82.13, 'timestamp': '2019-12-20T09:21:50.740Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 36.3, 'timestamp': '2019-12-20T09:21:50.740Z'}}}
2019-12-20 20:27:24 DEBUG (SyncWorker_10) [custom_components.tado] Updating zone 1
2019-12-20 20:27:28 DEBUG (SyncWorker_10) [custom_components.tado] Dispatching update to zone 1: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': None, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:05:08.025Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 25.72, 'fahrenheit': 78.3, 'timestamp': '2019-12-20T09:24:23.607Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 40.0, 'timestamp': '2019-12-20T09:24:23.607Z'}}}
2019-12-20 20:27:28 DEBUG (SyncWorker_10) [custom_components.tado] Updating device 20132
2019-12-20 20:27:30 DEBUG (SyncWorker_10) [custom_components.tado] Dispatching update to device 20132: {'deviceType': 'WR01', 'serialNo': 'WR1506FT01001493893376', 'shortSerialNo': 'WR1493893376', 'currentFwVersion': '60.2', 'connectionState': {'value': True, 'timestamp': '2019-12-20T09:21:50.740Z'}, 'characteristics': {'capabilities': ['INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']}, 'accessPointWiFi': {'ssid': 'tado3376'}, 'commandTableUploadState': 'FINISHED'}
2019-12-20 20:27:55 DEBUG (SyncWorker_2) [custom_components.tado] Updating zone 2
2019-12-20 20:27:58 DEBUG (SyncWorker_2) [custom_components.tado] Dispatching update to zone 2: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': {'start': '2019-12-20T15:30:00.000Z'}, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:09:25.657Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 27.85, 'fahrenheit': 82.13, 'timestamp': '2019-12-20T09:21:50.740Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 36.3, 'timestamp': '2019-12-20T09:21:50.740Z'}}}
2019-12-20 20:27:58 DEBUG (SyncWorker_2) [custom_components.tado] Updating zone 1
2019-12-20 20:28:00 DEBUG (SyncWorker_2) [custom_components.tado] Dispatching update to zone 1: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': None, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:05:08.025Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 25.72, 'fahrenheit': 78.3, 'timestamp': '2019-12-20T09:24:23.607Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 40.0, 'timestamp': '2019-12-20T09:24:23.607Z'}}}
2019-12-20 20:28:00 DEBUG (SyncWorker_2) [custom_components.tado] Updating device 20132
2019-12-20 20:28:02 DEBUG (SyncWorker_2) [custom_components.tado] Dispatching update to device 20132: {'deviceType': 'WR01', 'serialNo': 'WR1506FT01001493893376', 'shortSerialNo': 'WR1493893376', 'currentFwVersion': '60.2', 'connectionState': {'value': True, 'timestamp': '2019-12-20T09:21:50.740Z'}, 'characteristics': {'capabilities': ['INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']}, 'accessPointWiFi': {'ssid': 'tado3376'}, 'commandTableUploadState': 'FINISHED'}
2019-12-20 20:28:27 DEBUG (SyncWorker_18) [custom_components.tado] Updating zone 2
2019-12-20 20:28:28 DEBUG (SyncWorker_18) [custom_components.tado] Dispatching update to zone 2: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': {'start': '2019-12-20T15:30:00.000Z'}, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:09:25.657Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 27.85, 'fahrenheit': 82.13, 'timestamp': '2019-12-20T09:21:50.740Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 36.3, 'timestamp': '2019-12-20T09:21:50.740Z'}}}
2019-12-20 20:28:28 DEBUG (SyncWorker_18) [custom_components.tado] Updating zone 1
2019-12-20 20:28:30 DEBUG (SyncWorker_18) [custom_components.tado] Dispatching update to zone 1: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': None, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:05:08.025Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 25.72, 'fahrenheit': 78.3, 'timestamp': '2019-12-20T09:24:23.607Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 40.0, 'timestamp': '2019-12-20T09:24:23.607Z'}}}
2019-12-20 20:28:30 DEBUG (SyncWorker_18) [custom_components.tado] Updating device 20132
2019-12-20 20:28:32 DEBUG (SyncWorker_18) [custom_components.tado] Dispatching update to device 20132: {'deviceType': 'WR01', 'serialNo': 'WR1506FT01001493893376', 'shortSerialNo': 'WR1493893376', 'currentFwVersion': '60.2', 'connectionState': {'value': True, 'timestamp': '2019-12-20T09:21:50.740Z'}, 'characteristics': {'capabilities': ['INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']}, 'accessPointWiFi': {'ssid': 'tado3376'}, 'commandTableUploadState': 'FINISHED'}
2019-12-20 20:28:43 DEBUG (SyncWorker_2) [custom_components.tado] Updating zone 2
2019-12-20 20:28:44 DEBUG (SyncWorker_2) [custom_components.tado] Dispatching update to zone 2: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': {'start': '2019-12-20T15:30:00.000Z'}, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:09:25.657Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 27.85, 'fahrenheit': 82.13, 'timestamp': '2019-12-20T09:21:50.740Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 36.3, 'timestamp': '2019-12-20T09:21:50.740Z'}}}
2019-12-20 20:28:44 DEBUG (SyncWorker_2) [custom_components.tado] Updating zone 1
2019-12-20 20:28:46 DEBUG (SyncWorker_2) [custom_components.tado] Dispatching update to zone 1: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': None, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:05:08.025Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 25.72, 'fahrenheit': 78.3, 'timestamp': '2019-12-20T09:24:23.607Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 40.0, 'timestamp': '2019-12-20T09:24:23.607Z'}}}
2019-12-20 20:28:46 DEBUG (SyncWorker_2) [custom_components.tado] Updating device 20132
2019-12-20 20:28:48 DEBUG (SyncWorker_2) [custom_components.tado] Dispatching update to device 20132: {'deviceType': 'WR01', 'serialNo': 'WR1506FT01001493893376', 'shortSerialNo': 'WR1493893376', 'currentFwVersion': '60.2', 'connectionState': {'value': True, 'timestamp': '2019-12-20T09:21:50.740Z'}, 'characteristics': {'capabilities': ['INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']}, 'accessPointWiFi': {'ssid': 'tado3376'}, 'commandTableUploadState': 'FINISHED'}
2019-12-20 20:28:59 DEBUG (SyncWorker_15) [custom_components.tado] Updating zone 2
2019-12-20 20:29:00 DEBUG (SyncWorker_15) [custom_components.tado] Dispatching update to zone 2: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': {'start': '2019-12-20T15:30:00.000Z'}, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:09:25.657Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 27.85, 'fahrenheit': 82.13, 'timestamp': '2019-12-20T09:21:50.740Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 36.3, 'timestamp': '2019-12-20T09:21:50.740Z'}}}
2019-12-20 20:29:00 DEBUG (SyncWorker_15) [custom_components.tado] Updating zone 1
2019-12-20 20:29:02 DEBUG (SyncWorker_15) [custom_components.tado] Dispatching update to zone 1: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': None, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:05:08.025Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 25.72, 'fahrenheit': 78.3, 'timestamp': '2019-12-20T09:24:23.607Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 40.0, 'timestamp': '2019-12-20T09:24:23.607Z'}}}
2019-12-20 20:29:02 DEBUG (SyncWorker_15) [custom_components.tado] Updating device 20132
2019-12-20 20:29:04 DEBUG (SyncWorker_15) [custom_components.tado] Dispatching update to device 20132: {'deviceType': 'WR01', 'serialNo': 'WR1506FT01001493893376', 'shortSerialNo': 'WR1493893376', 'currentFwVersion': '60.2', 'connectionState': {'value': True, 'timestamp': '2019-12-20T09:21:50.740Z'}, 'characteristics': {'capabilities': ['INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']}, 'accessPointWiFi': {'ssid': 'tado3376'}, 'commandTableUploadState': 'FINISHED'}
2019-12-20 20:29:15 DEBUG (SyncWorker_12) [custom_components.tado] Updating zone 2
2019-12-20 20:29:17 DEBUG (SyncWorker_12) [custom_components.tado] Dispatching update to zone 2: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': {'start': '2019-12-20T15:30:00.000Z'}, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:09:25.657Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 27.85, 'fahrenheit': 82.13, 'timestamp': '2019-12-20T09:21:50.740Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 36.3, 'timestamp': '2019-12-20T09:21:50.740Z'}}}
2019-12-20 20:29:17 DEBUG (SyncWorker_12) [custom_components.tado] Updating zone 1
2019-12-20 20:29:19 DEBUG (SyncWorker_12) [custom_components.tado] Dispatching update to zone 1: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': None, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:05:08.025Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 25.72, 'fahrenheit': 78.3, 'timestamp': '2019-12-20T09:24:23.607Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 40.0, 'timestamp': '2019-12-20T09:24:23.607Z'}}}
2019-12-20 20:29:19 DEBUG (SyncWorker_12) [custom_components.tado] Updating device 20132
2019-12-20 20:29:21 DEBUG (SyncWorker_12) [custom_components.tado] Dispatching update to device 20132: {'deviceType': 'WR01', 'serialNo': 'WR1506FT01001493893376', 'shortSerialNo': 'WR1493893376', 'currentFwVersion': '60.2', 'connectionState': {'value': True, 'timestamp': '2019-12-20T09:21:50.740Z'}, 'characteristics': {'capabilities': ['INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']}, 'accessPointWiFi': {'ssid': 'tado3376'}, 'commandTableUploadState': 'FINISHED'}
2019-12-20 20:29:47 DEBUG (SyncWorker_10) [custom_components.tado] Updating zone 2
2019-12-20 20:29:48 DEBUG (SyncWorker_10) [custom_components.tado] Dispatching update to zone 2: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': {'start': '2019-12-20T15:30:00.000Z'}, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:09:25.657Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 27.85, 'fahrenheit': 82.13, 'timestamp': '2019-12-20T09:21:50.740Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 36.3, 'timestamp': '2019-12-20T09:21:50.740Z'}}}
2019-12-20 20:29:48 DEBUG (SyncWorker_10) [custom_components.tado] Updating zone 1
2019-12-20 20:29:52 DEBUG (SyncWorker_10) [custom_components.tado] Dispatching update to zone 1: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': None, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:05:08.025Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 25.72, 'fahrenheit': 78.3, 'timestamp': '2019-12-20T09:24:23.607Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 40.0, 'timestamp': '2019-12-20T09:24:23.607Z'}}}
2019-12-20 20:29:52 DEBUG (SyncWorker_10) [custom_components.tado] Updating device 20132
2019-12-20 20:29:54 DEBUG (SyncWorker_10) [custom_components.tado] Dispatching update to device 20132: {'deviceType': 'WR01', 'serialNo': 'WR1506FT01001493893376', 'shortSerialNo': 'WR1493893376', 'currentFwVersion': '60.2', 'connectionState': {'value': True, 'timestamp': '2019-12-20T09:21:50.740Z'}, 'characteristics': {'capabilities': ['INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']}, 'accessPointWiFi': {'ssid': 'tado3376'}, 'commandTableUploadState': 'FINISHED'}
2019-12-20 20:30:19 DEBUG (SyncWorker_5) [custom_components.tado] Updating zone 2
2019-12-20 20:30:20 DEBUG (SyncWorker_5) [custom_components.tado] Dispatching update to zone 2: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': {'start': '2019-12-20T15:30:00.000Z'}, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:09:25.657Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 27.85, 'fahrenheit': 82.13, 'timestamp': '2019-12-20T09:21:50.740Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 36.3, 'timestamp': '2019-12-20T09:21:50.740Z'}}}
2019-12-20 20:30:20 DEBUG (SyncWorker_5) [custom_components.tado] Updating zone 1
2019-12-20 20:30:22 DEBUG (SyncWorker_5) [custom_components.tado] Dispatching update to zone 1: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': None, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:05:08.025Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 25.72, 'fahrenheit': 78.3, 'timestamp': '2019-12-20T09:24:23.607Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 40.0, 'timestamp': '2019-12-20T09:24:23.607Z'}}}
2019-12-20 20:30:22 DEBUG (SyncWorker_5) [custom_components.tado] Updating device 20132
2019-12-20 20:30:25 DEBUG (SyncWorker_5) [custom_components.tado] Dispatching update to device 20132: {'deviceType': 'WR01', 'serialNo': 'WR1506FT01001493893376', 'shortSerialNo': 'WR1493893376', 'currentFwVersion': '60.2', 'connectionState': {'value': True, 'timestamp': '2019-12-20T09:21:50.740Z'}, 'characteristics': {'capabilities': ['INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']}, 'accessPointWiFi': {'ssid': 'tado3376'}, 'commandTableUploadState': 'FINISHED'}
2019-12-20 20:30:51 DEBUG (SyncWorker_2) [custom_components.tado] Updating zone 2
2019-12-20 20:30:52 DEBUG (SyncWorker_2) [custom_components.tado] Dispatching update to zone 2: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': {'start': '2019-12-20T15:30:00.000Z'}, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:09:25.657Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 27.68, 'fahrenheit': 81.82, 'timestamp': '2019-12-20T09:30:52.080Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 36.1, 'timestamp': '2019-12-20T09:30:52.080Z'}}}
2019-12-20 20:30:52 DEBUG (SyncWorker_2) [custom_components.tado] Updating zone 1
2019-12-20 20:30:54 DEBUG (SyncWorker_2) [custom_components.tado] Dispatching update to zone 1: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': None, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:05:08.025Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 25.72, 'fahrenheit': 78.3, 'timestamp': '2019-12-20T09:24:23.607Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 40.0, 'timestamp': '2019-12-20T09:24:23.607Z'}}}
2019-12-20 20:30:54 DEBUG (SyncWorker_2) [custom_components.tado] Updating device 20132
2019-12-20 20:30:57 DEBUG (SyncWorker_2) [custom_components.tado] Dispatching update to device 20132: {'deviceType': 'WR01', 'serialNo': 'WR1506FT01001493893376', 'shortSerialNo': 'WR1493893376', 'currentFwVersion': '60.2', 'connectionState': {'value': True, 'timestamp': '2019-12-20T09:30:52.080Z'}, 'characteristics': {'capabilities': ['INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']}, 'accessPointWiFi': {'ssid': 'tado3376'}, 'commandTableUploadState': 'FINISHED'}
2019-12-20 20:31:23 DEBUG (SyncWorker_13) [custom_components.tado] Updating zone 2
2019-12-20 20:31:24 DEBUG (SyncWorker_13) [custom_components.tado] Dispatching update to zone 2: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': {'start': '2019-12-20T15:30:00.000Z'}, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:09:25.657Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 27.68, 'fahrenheit': 81.82, 'timestamp': '2019-12-20T09:30:52.080Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 36.1, 'timestamp': '2019-12-20T09:30:52.080Z'}}}
2019-12-20 20:31:24 DEBUG (SyncWorker_13) [custom_components.tado] Updating zone 1
2019-12-20 20:31:26 DEBUG (SyncWorker_13) [custom_components.tado] Dispatching update to zone 1: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': None, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:05:08.025Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 25.52, 'fahrenheit': 77.94, 'timestamp': '2019-12-20T09:30:54.147Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 39.8, 'timestamp': '2019-12-20T09:30:54.147Z'}}}
2019-12-20 20:31:26 DEBUG (SyncWorker_13) [custom_components.tado] Updating device 20132
2019-12-20 20:31:28 DEBUG (SyncWorker_13) [custom_components.tado] Dispatching update to device 20132: {'deviceType': 'WR01', 'serialNo': 'WR1506FT01001493893376', 'shortSerialNo': 'WR1493893376', 'currentFwVersion': '60.2', 'connectionState': {'value': True, 'timestamp': '2019-12-20T09:30:52.080Z'}, 'characteristics': {'capabilities': ['INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']}, 'accessPointWiFi': {'ssid': 'tado3376'}, 'commandTableUploadState': 'FINISHED'}
2019-12-20 20:31:31 INFO (SyncWorker_11) [custom_components.tado.climate] Switching to TADO_MODE for zone Vienna (2) with temperature 18.0 °C
2019-12-20 20:31:31 DEBUG (SyncWorker_11) [custom_components.tado] Set overlay for zone 2: mode=TADO_MODE, temp=18.0, duration=None, type=AIR_CONDITIONING, mode=COOL
2019-12-20 20:31:33 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.2895202000] HTTP Error 422: 
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 133, in handle_call_service
    connection.context(msg),
  File "/usr/src/homeassistant/homeassistant/core.py", line 1235, in async_call
    await asyncio.shield(self._execute_service(handler, service_call))
  File "/usr/src/homeassistant/homeassistant/core.py", line 1260, in _execute_service
    await handler.func(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 205, in handle_service
    self._platforms.values(), func, call, service_name, required_features
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 336, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 360, in _handle_service_platform_call
    await func(entity, data)
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 519, in async_service_temperature_set
    await entity.async_set_temperature(**kwargs)
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 380, in async_set_temperature
    ft.partial(self.set_temperature, **kwargs)
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/tado/climate.py", line 309, in set_temperature
    self._control_heating()
  File "/config/custom_components/tado/climate.py", line 478, in _control_heating
    "COOL" if self._ac_device else None,
  File "/config/custom_components/tado/__init__.py", line 160, in set_zone_overlay
    zone_id, overlay_mode, temperature, duration, device_type, "ON", mode
  File "/usr/local/lib/python3.7/site-packages/PyTado/interface.py", line 287, in setZoneOverlay
    data = self._apiCall(cmd, "PUT", post_data)
  File "/usr/local/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: 
2019-12-20 20:31:52 INFO (SyncWorker_12) [custom_components.tado.climate] Switching to OFF for zone Vienna (2)
2019-12-20 20:31:54 DEBUG (SyncWorker_17) [custom_components.tado] Updating zone 2
2019-12-20 20:31:54 DEBUG (SyncWorker_12) [custom_components.tado] Updating zone 2
2019-12-20 20:31:55 DEBUG (SyncWorker_17) [custom_components.tado] Dispatching update to zone 2: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'OFF'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'OFF'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': {'start': '2019-12-20T15:30:00.000Z'}, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:09:25.657Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 27.68, 'fahrenheit': 81.82, 'timestamp': '2019-12-20T09:30:52.080Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 36.1, 'timestamp': '2019-12-20T09:30:52.080Z'}}}
2019-12-20 20:31:55 DEBUG (SyncWorker_17) [custom_components.tado] Updating zone 1
2019-12-20 20:31:56 DEBUG (SyncWorker_12) [custom_components.tado] Dispatching update to zone 2: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'OFF'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'OFF'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': {'start': '2019-12-20T15:30:00.000Z'}, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:09:25.657Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 27.68, 'fahrenheit': 81.82, 'timestamp': '2019-12-20T09:30:52.080Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 36.1, 'timestamp': '2019-12-20T09:30:52.080Z'}}}
2019-12-20 20:31:57 DEBUG (SyncWorker_17) [custom_components.tado] Dispatching update to zone 1: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': None, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:05:08.025Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 25.52, 'fahrenheit': 77.94, 'timestamp': '2019-12-20T09:30:54.147Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 39.8, 'timestamp': '2019-12-20T09:30:54.147Z'}}}
2019-12-20 20:31:57 DEBUG (SyncWorker_17) [custom_components.tado] Updating device 20132
2019-12-20 20:31:59 DEBUG (SyncWorker_17) [custom_components.tado] Dispatching update to device 20132: {'deviceType': 'WR01', 'serialNo': 'WR1506FT01001493893376', 'shortSerialNo': 'WR1493893376', 'currentFwVersion': '60.2', 'connectionState': {'value': True, 'timestamp': '2019-12-20T09:30:52.080Z'}, 'characteristics': {'capabilities': ['INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']}, 'accessPointWiFi': {'ssid': 'tado3376'}, 'commandTableUploadState': 'FINISHED'}
2019-12-20 20:31:59 INFO (SyncWorker_4) [custom_components.tado.climate] Switching to TADO_MODE for zone Vienna (2) with temperature 18.0 °C
2019-12-20 20:31:59 DEBUG (SyncWorker_4) [custom_components.tado] Set overlay for zone 2: mode=TADO_MODE, temp=18.0, duration=None, type=AIR_CONDITIONING, mode=COOL
2019-12-20 20:32:02 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.2895202000] HTTP Error 422: 
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 133, in handle_call_service
    connection.context(msg),
  File "/usr/src/homeassistant/homeassistant/core.py", line 1235, in async_call
    await asyncio.shield(self._execute_service(handler, service_call))
  File "/usr/src/homeassistant/homeassistant/core.py", line 1260, in _execute_service
    await handler.func(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 205, in handle_service
    self._platforms.values(), func, call, service_name, required_features
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 336, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 358, in _handle_service_platform_call
    await getattr(entity, func)(**data)
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 405, in async_set_hvac_mode
    await self.hass.async_add_executor_job(self.set_hvac_mode, hvac_mode)
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/tado/climate.py", line 338, in set_hvac_mode
    self._control_heating()
  File "/config/custom_components/tado/climate.py", line 478, in _control_heating
    "COOL" if self._ac_device else None,
  File "/config/custom_components/tado/__init__.py", line 160, in set_zone_overlay
    zone_id, overlay_mode, temperature, duration, device_type, "ON", mode
  File "/usr/local/lib/python3.7/site-packages/PyTado/interface.py", line 287, in setZoneOverlay
    data = self._apiCall(cmd, "PUT", post_data)
  File "/usr/local/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: 
2019-12-20 20:32:03 INFO (SyncWorker_9) [custom_components.tado.climate] Switching to TADO_MODE for zone Vienna (2) with temperature 17.0 °C
2019-12-20 20:32:03 DEBUG (SyncWorker_9) [custom_components.tado] Set overlay for zone 2: mode=TADO_MODE, temp=17.0, duration=None, type=AIR_CONDITIONING, mode=COOL
2019-12-20 20:32:04 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.2895202000] HTTP Error 422: 
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 133, in handle_call_service
    connection.context(msg),
  File "/usr/src/homeassistant/homeassistant/core.py", line 1235, in async_call
    await asyncio.shield(self._execute_service(handler, service_call))
  File "/usr/src/homeassistant/homeassistant/core.py", line 1260, in _execute_service
    await handler.func(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 205, in handle_service
    self._platforms.values(), func, call, service_name, required_features
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 336, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 360, in _handle_service_platform_call
    await func(entity, data)
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 519, in async_service_temperature_set
    await entity.async_set_temperature(**kwargs)
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 380, in async_set_temperature
    ft.partial(self.set_temperature, **kwargs)
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/tado/climate.py", line 309, in set_temperature
    self._control_heating()
  File "/config/custom_components/tado/climate.py", line 478, in _control_heating
    "COOL" if self._ac_device else None,
  File "/config/custom_components/tado/__init__.py", line 160, in set_zone_overlay
    zone_id, overlay_mode, temperature, duration, device_type, "ON", mode
  File "/usr/local/lib/python3.7/site-packages/PyTado/interface.py", line 287, in setZoneOverlay
    data = self._apiCall(cmd, "PUT", post_data)
  File "/usr/local/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: 
2019-12-20 20:32:10 DEBUG (SyncWorker_5) [custom_components.tado] Updating zone 2
2019-12-20 20:32:11 DEBUG (SyncWorker_5) [custom_components.tado] Dispatching update to zone 2: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'OFF'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'OFF'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': {'start': '2019-12-20T15:30:00.000Z'}, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:31:56.206Z', 'type': 'POWER', 'value': 'OFF'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 27.68, 'fahrenheit': 81.82, 'timestamp': '2019-12-20T09:30:52.080Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 36.1, 'timestamp': '2019-12-20T09:30:52.080Z'}}}
2019-12-20 20:32:11 DEBUG (SyncWorker_5) [custom_components.tado] Updating zone 1
2019-12-20 20:32:13 DEBUG (SyncWorker_5) [custom_components.tado] Dispatching update to zone 1: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': None, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:05:08.025Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 25.52, 'fahrenheit': 77.94, 'timestamp': '2019-12-20T09:30:54.147Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 39.8, 'timestamp': '2019-12-20T09:30:54.147Z'}}}
2019-12-20 20:32:13 DEBUG (SyncWorker_5) [custom_components.tado] Updating device 20132
2019-12-20 20:32:15 DEBUG (SyncWorker_5) [custom_components.tado] Dispatching update to device 20132: {'deviceType': 'WR01', 'serialNo': 'WR1506FT01001493893376', 'shortSerialNo': 'WR1493893376', 'currentFwVersion': '60.2', 'connectionState': {'value': True, 'timestamp': '2019-12-20T09:30:52.080Z'}, 'characteristics': {'capabilities': ['INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']}, 'accessPointWiFi': {'ssid': 'tado3376'}, 'commandTableUploadState': 'FINISHED'}
2019-12-20 20:32:26 DEBUG (SyncWorker_10) [custom_components.tado] Updating zone 2
2019-12-20 20:32:30 DEBUG (SyncWorker_10) [custom_components.tado] Dispatching update to zone 2: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': {'start': '2019-12-20T15:30:00.000Z'}, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:32:21.217Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 27.68, 'fahrenheit': 81.82, 'timestamp': '2019-12-20T09:30:52.080Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 36.1, 'timestamp': '2019-12-20T09:30:52.080Z'}}}
2019-12-20 20:32:30 DEBUG (SyncWorker_10) [custom_components.tado] Updating zone 1
2019-12-20 20:32:32 DEBUG (SyncWorker_10) [custom_components.tado] Dispatching update to zone 1: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': None, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:05:08.025Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 25.52, 'fahrenheit': 77.94, 'timestamp': '2019-12-20T09:30:54.147Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 39.8, 'timestamp': '2019-12-20T09:30:54.147Z'}}}
2019-12-20 20:32:32 DEBUG (SyncWorker_10) [custom_components.tado] Updating device 20132
2019-12-20 20:32:34 DEBUG (SyncWorker_10) [custom_components.tado] Dispatching update to device 20132: {'deviceType': 'WR01', 'serialNo': 'WR1506FT01001493893376', 'shortSerialNo': 'WR1493893376', 'currentFwVersion': '60.2', 'connectionState': {'value': True, 'timestamp': '2019-12-20T09:30:52.080Z'}, 'characteristics': {'capabilities': ['INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']}, 'accessPointWiFi': {'ssid': 'tado3376'}, 'commandTableUploadState': 'FINISHED'}

@michaelarnauts
Copy link
Contributor

Can you also post the capabilities debug statement (a bit higher in the log, this is printed during startup)?

You can also use three backticks before and after your log to prevent line wrapping, like this:

```
log
```

becomes:

log

@arttwentyfourseven
Copy link
Author

Hope this is what you're after.

2019-12-20 20:26:27 DEBUG (SyncWorker_17) [custom_components.tado] Registering zone Vienna (2)
2019-12-20 20:26:27 DEBUG (SyncWorker_17) [custom_components.tado] Registering zone Zander (1)
2019-12-20 20:26:27 DEBUG (SyncWorker_17) [custom_components.tado] Registering device 12 Melball St (20132)
2019-12-20 20:26:27 DEBUG (SyncWorker_17) [custom_components.tado] Updating zone 2
2019-12-20 20:26:29 WARNING (MainThread) [homeassistant.setup] Setup of tado is taking over 10 seconds.
2019-12-20 20:26:29 DEBUG (SyncWorker_17) [custom_components.tado] Dispatching update to zone 2: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': {'start': '2019-12-20T15:30:00.000Z'}, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:09:25.657Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 27.85, 'fahrenheit': 82.13, 'timestamp': '2019-12-20T09:21:50.740Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 36.3, 'timestamp': '2019-12-20T09:21:50.740Z'}}}
2019-12-20 20:26:29 DEBUG (SyncWorker_17) [custom_components.tado] Updating zone 1
2019-12-20 20:26:31 DEBUG (SyncWorker_17) [custom_components.tado] Dispatching update to zone 1: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': None, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:05:08.025Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 25.72, 'fahrenheit': 78.3, 'timestamp': '2019-12-20T09:24:23.607Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 40.0, 'timestamp': '2019-12-20T09:24:23.607Z'}}}
2019-12-20 20:26:31 DEBUG (SyncWorker_17) [custom_components.tado] Updating device 20132
2019-12-20 20:26:35 DEBUG (SyncWorker_17) [custom_components.tado] Dispatching update to device 20132: {'deviceType': 'WR01', 'serialNo': 'WR1506FT01001493893376', 'shortSerialNo': 'WR1493893376', 'currentFwVersion': '60.2', 'connectionState': {'value': True, 'timestamp': '2019-12-20T09:21:50.740Z'}, 'characteristics': {'capabilities': ['INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']}, 'accessPointWiFi': {'ssid': 'tado3376'}, 'commandTableUploadState': 'FINISHED'}
2019-12-20 20:26:35 INFO (MainThread) [homeassistant.setup] Setup of domain tado took 15.9 seconds.
2019-12-20 20:26:35 INFO (MainThread) [homeassistant.components.sensor] Setting up sensor.tado
2019-12-20 20:26:35 INFO (SyncWorker_9) [homeassistant.loader] Loaded climate from homeassistant.components.climate
2019-12-20 20:26:35 INFO (MainThread) [homeassistant.setup] Setting up climate
2019-12-20 20:26:35 INFO (MainThread) [homeassistant.setup] Setup of domain climate took 0.0 seconds.
2019-12-20 20:26:35 INFO (MainThread) [homeassistant.components.climate] Setting up climate.tado
2019-12-20 20:26:37 DEBUG (SyncWorker_18) [custom_components.tado.climate] Capabilities for zone 2: {'type': 'AIR_CONDITIONING', 'COOL': {'temperatures': {'celsius': {'min': 17, 'max': 30, 'step': 1.0}, 'fahrenheit': {'min': 63, 'max': 86, 'step': 1.0}}, 'fanSpeeds': ['AUTO', 'HIGH', 'MIDDLE', 'LOW']}, 'HEAT': {'temperatures': {'celsius': {'min': 17, 'max': 30, 'step': 1.0}, 'fahrenheit': {'min': 63, 'max': 86, 'step': 1.0}}, 'fanSpeeds': ['AUTO', 'HIGH', 'MIDDLE', 'LOW']}}
2019-12-20 20:26:37 DEBUG (SyncWorker_18) [custom_components.tado.climate] Default overlay is configured in TADO MODE
2019-12-20 20:26:38 DEBUG (SyncWorker_18) [custom_components.tado.climate] Capabilities for zone 1: {'type': 'AIR_CONDITIONING', 'COOL': {'temperatures': {'celsius': {'min': 17, 'max': 30, 'step': 1.0}, 'fahrenheit': {'min': 63, 'max': 86, 'step': 1.0}}, 'fanSpeeds': ['AUTO', 'HIGH', 'MIDDLE', 'LOW']}, 'HEAT': {'temperatures': {'celsius': {'min': 17, 'max': 30, 'step': 1.0}, 'fahrenheit': {'min': 63, 'max': 86, 'step': 1.0}}, 'fanSpeeds': ['AUTO', 'HIGH', 'MIDDLE', 'LOW']}}
2019-12-20 20:26:38 DEBUG (SyncWorker_18) [custom_components.tado.climate] Default overlay is configured in TADO MODE
2019-12-20 20:26:38 INFO (MainThread) [homeassistant.bootstrap] Home Assistant initialized in 22.20s

@michaelarnauts
Copy link
Contributor

Okay, everything there seems to be okay as expected.

I've pushed another commit that handles the 422 errors and prints out the real error. This will hopefully make troubleshooting easier.

Could you retry with my latest code?

@arttwentyfourseven
Copy link
Author

Please see below in 2 hunks. Do I read correctly that it want to receive a setting for fanSpeed?

2019-12-20 21:59:59 DEBUG (SyncWorker_16) [custom_components.tado] Updating zone 2
2019-12-20 22:00:01 DEBUG (SyncWorker_16) [custom_components.tado] Dispatching update to zone 2: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': {'start': '2019-12-20T15:30:00.000Z'}, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:32:21.217Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 26.67, 'fahrenheit': 80.01, 'timestamp': '2019-12-20T10:50:24.058Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 35.5, 'timestamp': '2019-12-20T10:50:24.058Z'}}}
2019-12-20 22:00:01 DEBUG (SyncWorker_16) [custom_components.tado] Updating zone 1
2019-12-20 22:00:03 WARNING (MainThread) [homeassistant.setup] Setup of tado is taking over 10 seconds.
2019-12-20 22:00:03 DEBUG (SyncWorker_16) [custom_components.tado] Dispatching update to zone 1: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': None, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:05:08.025Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 24.57, 'fahrenheit': 76.23, 'timestamp': '2019-12-20T10:52:17.415Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 39.2, 'timestamp': '2019-12-20T10:52:17.415Z'}}}
2019-12-20 22:00:03 DEBUG (SyncWorker_16) [custom_components.tado] Updating device 20132
2019-12-20 22:00:05 DEBUG (SyncWorker_16) [custom_components.tado] Dispatching update to device 20132: {'deviceType': 'WR01', 'serialNo': 'WR1506FT01001493893376', 'shortSerialNo': 'WR1493893376', 'currentFwVersion': '60.2', 'connectionState': {'value': True, 'timestamp': '2019-12-20T10:50:24.058Z'}, 'characteristics': {'capabilities': ['INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']}, 'accessPointWiFi': {'ssid': 'tado3376'}, 'commandTableUploadState': 'FINISHED'}
2019-12-20 22:00:05 INFO (MainThread) [homeassistant.setup] Setup of domain tado took 12.1 seconds.
2019-12-20 22:00:05 INFO (SyncWorker_4) [homeassistant.loader] Loaded climate from homeassistant.components.climate
2019-12-20 22:00:05 INFO (MainThread) [homeassistant.components.sensor] Setting up sensor.tado
2019-12-20 22:00:05 INFO (MainThread) [homeassistant.setup] Setting up climate
2019-12-20 22:00:05 INFO (MainThread) [homeassistant.setup] Setup of domain climate took 0.0 seconds.
2019-12-20 22:00:05 INFO (MainThread) [homeassistant.components.climate] Setting up climate.tado
2019-12-20 22:00:06 DEBUG (SyncWorker_10) [custom_components.tado.climate] Capabilities for zone 2: {'type': 'AIR_CONDITIONING', 'COOL': {'temperatures': {'celsius': {'min': 17, 'max': 30, 'step': 1.0}, 'fahrenheit': {'min': 63, 'max': 86, 'step': 1.0}}, 'fanSpeeds': ['AUTO', 'HIGH', 'MIDDLE', 'LOW']}, 'HEAT': {'temperatures': {'celsius': {'min': 17, 'max': 30, 'step': 1.0}, 'fahrenheit': {'min': 63, 'max': 86, 'step': 1.0}}, 'fanSpeeds': ['AUTO', 'HIGH', 'MIDDLE', 'LOW']}}
2019-12-20 22:00:06 DEBUG (SyncWorker_10) [custom_components.tado.climate] Default overlay is set to TADO MODE
2019-12-20 22:00:08 DEBUG (SyncWorker_10) [custom_components.tado.climate] Capabilities for zone 1: {'type': 'AIR_CONDITIONING', 'COOL': {'temperatures': {'celsius': {'min': 17, 'max': 30, 'step': 1.0}, 'fahrenheit': {'min': 63, 'max': 86, 'step': 1.0}}, 'fanSpeeds': ['AUTO', 'HIGH', 'MIDDLE', 'LOW']}, 'HEAT': {'temperatures': {'celsius': {'min': 17, 'max': 30, 'step': 1.0}, 'fahrenheit': {'min': 63, 'max': 86, 'step': 1.0}}, 'fanSpeeds': ['AUTO', 'HIGH', 'MIDDLE', 'LOW']}}
2019-12-20 22:00:08 DEBUG (SyncWorker_10) [custom_components.tado.climate] Default overlay is set to TADO MODE
2019-12-20 22:00:08 DEBUG (MainThread) [custom_components.tado.climate] Registering for dispatcher updates for zone 2
2019-12-20 22:00:08 DEBUG (MainThread) [custom_components.tado.climate] Registering for dispatcher updates for zone 1
2019-12-20 22:00:08 DEBUG (SyncWorker_5) [custom_components.tado.climate] Updating climate platform for zone 2
2019-12-20 22:00:08 DEBUG (SyncWorker_14) [custom_components.tado.climate] Updating climate platform for zone 1
2019-12-20 22:00:26 DEBUG (SyncWorker_14) [custom_components.tado] Dispatching update to device 20132: {'deviceType': 'WR01', 'serialNo': 'WR1506FT01001493893376', 'shortSerialNo': 'WR1493893376', 'currentFwVersion': '60.2', 'connectionState': {'value': True, 'timestamp': '2019-12-20T10:50:24.058Z'}, 'characteristics': {'capabilities': ['INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']}, 'accessPointWiFi': {'ssid': 'tado3376'}, 'commandTableUploadState': 'FINISHED'}
2019-12-20 22:00:37 DEBUG (SyncWorker_5) [custom_components.tado] Updating zone 2
2019-12-20 22:00:39 DEBUG (SyncWorker_5) [custom_components.tado] Dispatching update to zone 2: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': {'start': '2019-12-20T15:30:00.000Z'}, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:32:21.217Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 26.67, 'fahrenheit': 80.01, 'timestamp': '2019-12-20T10:50:24.058Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 35.5, 'timestamp': '2019-12-20T10:50:24.058Z'}}}
2019-12-20 22:00:39 DEBUG (SyncWorker_5) [custom_components.tado] Updating zone 1
2019-12-20 22:00:39 DEBUG (SyncWorker_16) [custom_components.tado.climate] Updating climate platform for zone 2
2019-12-20 22:00:41 DEBUG (SyncWorker_5) [custom_components.tado] Dispatching update to zone 1: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': None, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:05:08.025Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 24.57, 'fahrenheit': 76.23, 'timestamp': '2019-12-20T10:52:17.415Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 39.2, 'timestamp': '2019-12-20T10:52:17.415Z'}}}
2019-12-20 22:00:41 DEBUG (SyncWorker_18) [custom_components.tado.climate] Updating climate platform for zone 1
2019-12-20 22:00:41 DEBUG (SyncWorker_5) [custom_components.tado] Updating device 20132
2019-12-20 22:00:43 DEBUG (SyncWorker_5) [custom_components.tado] Dispatching update to device 20132: {'deviceType': 'WR01', 'serialNo': 'WR1506FT01001493893376', 'shortSerialNo': 'WR1493893376', 'currentFwVersion': '60.2', 'connectionState': {'value': True, 'timestamp': '2019-12-20T10:50:24.058Z'}, 'characteristics': {'capabilities': ['INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']}, 'accessPointWiFi': {'ssid': 'tado3376'}, 'commandTableUploadState': 'FINISHED'}
2019-12-20 22:01:09 DEBUG (SyncWorker_9) [custom_components.tado] Updating zone 2
2019-12-20 22:01:10 DEBUG (SyncWorker_9) [custom_components.tado] Dispatching update to zone 2: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': {'start': '2019-12-20T15:30:00.000Z'}, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:32:21.217Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 26.67, 'fahrenheit': 80.01, 'timestamp': '2019-12-20T10:50:24.058Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 35.5, 'timestamp': '2019-12-20T10:50:24.058Z'}}}
2019-12-20 22:01:10 DEBUG (SyncWorker_9) [custom_components.tado] Updating zone 1
2019-12-20 22:01:10 DEBUG (SyncWorker_3) [custom_components.tado.climate] Updating climate platform for zone 2
2019-12-20 22:01:13 DEBUG (SyncWorker_9) [custom_components.tado] Dispatching update to zone 1: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': None, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:05:08.025Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 24.57, 'fahrenheit': 76.23, 'timestamp': '2019-12-20T10:52:17.415Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 39.2, 'timestamp': '2019-12-20T10:52:17.415Z'}}}
2019-12-20 22:01:13 DEBUG (SyncWorker_9) [custom_components.tado] Updating device 20132
2019-12-20 22:01:13 DEBUG (SyncWorker_16) [custom_components.tado.climate] Updating climate platform for zone 1
2019-12-20 22:01:16 DEBUG (SyncWorker_9) [custom_components.tado] Dispatching update to device 20132: {'deviceType': 'WR01', 'serialNo': 'WR1506FT01001493893376', 'shortSerialNo': 'WR1493893376', 'currentFwVersion': '60.2', 'connectionState': {'value': True, 'timestamp': '2019-12-20T10:50:24.058Z'}, 'characteristics': {'capabilities': ['INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']}, 'accessPointWiFi': {'ssid': 'tado3376'}, 'commandTableUploadState': 'FINISHED'}
2019-12-20 22:01:41 DEBUG (SyncWorker_12) [custom_components.tado] Updating zone 2
2019-12-20 22:01:42 DEBUG (SyncWorker_12) [custom_components.tado] Dispatching update to zone 2: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': {'start': '2019-12-20T15:30:00.000Z'}, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:32:21.217Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 26.67, 'fahrenheit': 80.01, 'timestamp': '2019-12-20T10:50:24.058Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 35.5, 'timestamp': '2019-12-20T10:50:24.058Z'}}}
2019-12-20 22:01:42 DEBUG (SyncWorker_12) [custom_components.tado] Updating zone 1
2019-12-20 22:01:42 DEBUG (SyncWorker_11) [custom_components.tado.climate] Updating climate platform for zone 2
2019-12-20 22:01:44 DEBUG (SyncWorker_12) [custom_components.tado] Dispatching update to zone 1: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': None, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:05:08.025Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 24.57, 'fahrenheit': 76.23, 'timestamp': '2019-12-20T10:52:17.415Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 39.2, 'timestamp': '2019-12-20T10:52:17.415Z'}}}
2019-12-20 22:01:44 DEBUG (SyncWorker_12) [custom_components.tado] Updating device 20132
2019-12-20 22:01:44 DEBUG (SyncWorker_13) [custom_components.tado.climate] Updating climate platform for zone 1
2019-12-20 22:01:46 DEBUG (SyncWorker_12) [custom_components.tado] Dispatching update to device 20132: {'deviceType': 'WR01', 'serialNo': 'WR1506FT01001493893376', 'shortSerialNo': 'WR1493893376', 'currentFwVersion': '60.2', 'connectionState': {'value': True, 'timestamp': '2019-12-20T10:50:24.058Z'}, 'characteristics': {'capabilities': ['INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']}, 'accessPointWiFi': {'ssid': 'tado3376'}, 'commandTableUploadState': 'FINISHED'}
2019-12-20 22:01:57 DEBUG (SyncWorker_3) [custom_components.tado] Updating zone 2
2019-12-20 22:01:59 DEBUG (SyncWorker_3) [custom_components.tado] Dispatching update to zone 2: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': {'start': '2019-12-20T15:30:00.000Z'}, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:32:21.217Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 26.67, 'fahrenheit': 80.01, 'timestamp': '2019-12-20T10:50:24.058Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 35.5, 'timestamp': '2019-12-20T10:50:24.058Z'}}}
2019-12-20 22:01:59 DEBUG (SyncWorker_3) [custom_components.tado] Updating zone 1
2019-12-20 22:01:59 DEBUG (SyncWorker_14) [custom_components.tado.climate] Updating climate platform for zone 2
2019-12-20 22:02:01 DEBUG (SyncWorker_3) [custom_components.tado] Dispatching update to zone 1: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': None, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:05:08.025Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 24.57, 'fahrenheit': 76.23, 'timestamp': '2019-12-20T10:52:17.415Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 39.2, 'timestamp': '2019-12-20T10:52:17.415Z'}}}
2019-12-20 22:02:01 DEBUG (SyncWorker_3) [custom_components.tado] Updating device 20132
2019-12-20 22:02:01 DEBUG (SyncWorker_18) [custom_components.tado.climate] Updating climate platform for zone 1
2019-12-20 22:02:03 DEBUG (SyncWorker_3) [custom_components.tado] Dispatching update to device 20132: {'deviceType': 'WR01', 'serialNo': 'WR1506FT01001493893376', 'shortSerialNo': 'WR1493893376', 'currentFwVersion': '60.2', 'connectionState': {'value': True, 'timestamp': '2019-12-20T10:50:24.058Z'}, 'characteristics': {'capabilities': ['INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']}, 'accessPointWiFi': {'ssid': 'tado3376'}, 'commandTableUploadState': 'FINISHED'}
2019-12-20 22:02:15 DEBUG (SyncWorker_9) [custom_components.tado.climate] Switching to TADO_MODE for zone Vienna (2) with temperature 18.0 °C
2019-12-20 22:02:15 DEBUG (SyncWorker_9) [custom_components.tado] Set overlay for zone 2: mode=TADO_MODE, temp=18.0, duration=None, type=AIR_CONDITIONING, mode=COOL
2019-12-20 22:02:18 ERROR (SyncWorker_9) [custom_components.tado] Could not set zone overlay: b'{"errors":[{"code":"setting.notSupported","title":"fan speed not in supported fan speeds [AUTO, HIGH, LOW, MIDDLE]"}]}'
2019-12-20 22:02:18 DEBUG (SyncWorker_9) [custom_components.tado] Updating zone 2
2019-12-20 22:02:20 DEBUG (SyncWorker_9) [custom_components.tado] Dispatching update to zone 2: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': {'start': '2019-12-20T15:30:00.000Z'}, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:32:21.217Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 26.67, 'fahrenheit': 80.01, 'timestamp': '2019-12-20T10:50:24.058Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 35.5, 'timestamp': '2019-12-20T10:50:24.058Z'}}}
2019-12-20 22:02:20 DEBUG (SyncWorker_6) [custom_components.tado.climate] Updating climate platform for zone 2
2019-12-20 22:02:29 DEBUG (SyncWorker_15) [custom_components.tado] Updating zone 2
2019-12-20 22:02:30 DEBUG (SyncWorker_15) [custom_components.tado] Dispatching update to zone 2: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 17.0, 'fahrenheit': 62.6}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': {'start': '2019-12-20T15:30:00.000Z'}, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:32:21.217Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 26.67, 'fahrenheit': 80.01, 'timestamp': '2019-12-20T10:50:24.058Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 35.5, 'timestamp': '2019-12-20T10:50:24.058Z'}}}
2019-12-20 22:02:30 DEBUG (SyncWorker_15) [custom_components.tado] Updating zone 1
2019-12-20 22:02:30 DEBUG (SyncWorker_7) [custom_components.tado.climate] Updating climate platform for zone 2
2019-12-20 22:02:32 DEBUG (SyncWorker_15) [custom_components.tado] Dispatching update to zone 1: {'tadoMode': 'HOME', 'geolocationOverride': False, 'geolocationOverrideDisableTime': None, 'preparation': None, 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'overlayType': 'MANUAL', 'overlay': {'type': 'MANUAL', 'setting': {'type': 'AIR_CONDITIONING', 'power': 'ON', 'mode': 'COOL', 'temperature': {'celsius': 18.0, 'fahrenheit': 64.4}, 'fanSpeed': 'LOW'}, 'termination': {'type': 'MANUAL', 'typeSkillBasedApp': 'MANUAL', 'projectedExpiry': None}}, 'openWindow': None, 'nextScheduleChange': None, 'nextTimeBlock': None, 'link': {'state': 'ONLINE'}, 'activityDataPoints': {'acPower': {'timestamp': '2019-12-20T09:05:08.025Z', 'type': 'POWER', 'value': 'ON'}}, 'sensorDataPoints': {'insideTemperature': {'celsius': 24.57, 'fahrenheit': 76.23, 'timestamp': '2019-12-20T10:52:17.415Z', 'type': 'TEMPERATURE', 'precision': {'celsius': 0.1, 'fahrenheit': 0.1}}, 'humidity': {'type': 'PERCENTAGE', 'percentage': 39.2, 'timestamp': '2019-12-20T10:52:17.415Z'}}}
2019-12-20 22:02:32 DEBUG (SyncWorker_11) [custom_components.tado.climate] Updating climate platform for zone 1
2019-12-20 22:02:32 DEBUG (SyncWorker_15) [custom_components.tado] Updating device 20132
2019-12-20 22:02:34 DEBUG (SyncWorker_15) [custom_components.tado] Dispatching update to device 20132: {'deviceType': 'WR01', 'serialNo': 'WR1506FT01001493893376', 'shortSerialNo': 'WR1493893376', 'currentFwVersion': '60.2', 'connectionState': {'value': True, 'timestamp': '2019-12-20T10:50:24.058Z'}, 'characteristics': {'capabilities': ['INSIDE_TEMPERATURE_MEASUREMENT', 'IDENTIFY']}, 'accessPointWiFi': {'ssid': 'tado3376'}, 'commandTableUploadState': 'FINISHED'}

@michaelarnauts
Copy link
Contributor

You are correct:
b'{"errors":[{"code":"setting.notSupported","title":"fan speed not in supported fan speeds [AUTO, HIGH, LOW, MIDDLE]"}]}'

The code currently isn't setting the fan speed, but the library behind it also doesn't seem to support that. You said it used to work before september, maybe this changed with a firmware update?

Do you also need to set your fan speed when you change your temperature with my.tado.com? If you open the development console (F12), and go to the network tab, you will find the call that it makes when you change your temperature.

@arttwentyfourseven
Copy link
Author

arttwentyfourseven commented Dec 20, 2019

Hey Michael,

I don't have to actively select the fan speed, but it is an option on the control panel (see screenshot). It simply defaults to the current setting and, looking at the dev console, then pushes it back when changing one of the settings.

I have also included a screenshot of the console data below, as the hierarchy gets lost in the copy/paste.

I can assist more tomorrow if needs be. Hope this will help for now.
thanks, Art

{tadoMode: "HOME", geolocationOverride: false, geolocationOverrideDisableTime: null, preparation: null,…}
tadoMode: "HOME"
geolocationOverride: false
geolocationOverrideDisableTime: null
preparation: null
setting: {type: "AIR_CONDITIONING", power: "ON", mode: "COOL", temperature: {celsius: 19, fahrenheit: 66.2},…}
type: "AIR_CONDITIONING"
power: "ON"
mode: "COOL"
temperature: {celsius: 19, fahrenheit: 66.2}
celsius: 19
fahrenheit: 66.2
fanSpeed: "LOW"
overlayType: "MANUAL"
overlay: {type: "MANUAL",…}
type: "MANUAL"
setting: {type: "AIR_CONDITIONING", power: "ON", mode: "COOL", temperature: {celsius: 19, fahrenheit: 66.2},…}
type: "AIR_CONDITIONING"
power: "ON"
mode: "COOL"
temperature: {celsius: 19, fahrenheit: 66.2}
celsius: 19
fahrenheit: 66.2
fanSpeed: "LOW"
termination: {type: "MANUAL", typeSkillBasedApp: "MANUAL", projectedExpiry: null}
openWindow: null
nextScheduleChange: null
nextTimeBlock: {start: "2019-12-20T15:30:00.000Z"}
start: "2019-12-20T15:30:00.000Z"
link: {state: "ONLINE"}
state: "ONLINE"
activityDataPoints: {acPower: {timestamp: "2019-12-20T11:45:01.958Z", type: "POWER", value: "ON"}}
acPower: {timestamp: "2019-12-20T11:45:01.958Z", type: "POWER", value: "ON"}
timestamp: "2019-12-20T11:45:01.958Z"
type: "POWER"
value: "ON"
sensorDataPoints: {,…}
insideTemperature: {celsius: 26.07, fahrenheit: 78.93, timestamp: "2019-12-20T11:40:26.350Z", type: "TEMPERATURE",…}
celsius: 26.07
fahrenheit: 78.93
timestamp: "2019-12-20T11:40:26.350Z"
type: "TEMPERATURE"
precision: {celsius: 0.1, fahrenheit: 0.1}
celsius: 0.1
fahrenheit: 0.1
humidity: {type: "PERCENTAGE", percentage: 35, timestamp: "2019-12-20T11:40:26.350Z"}
type: "PERCENTAGE"
percentage: 35
timestamp: "2019-12-20T11:40:26.350Z"

Capture
TadoPanel

@arttwentyfourseven
Copy link
Author

Apologies, the jpg's have ended up somewhere in the middle of the console log...

@michaelarnauts
Copy link
Contributor

No problem. I'm afraid this is something that should be adressed in the PyTado library here: https://github.com/wmalgadey/PyTado

Maybe @wmalgadey could help?

@arttwentyfourseven
Copy link
Author

Thanks. That code appears to have "HEATING" hard coded in the mode variable, though, which is also on a different line in the code. I'm using Hassio; do you know of a way to get the exact underlying PyTado module (the files) that's embedded in Hassio?

@wmalgadey
Copy link
Contributor

@michaelarnauts I would like to help, yes. What do we need to add to the pyTado lib?

@michaelarnauts
Copy link
Contributor

It seems that air-conditioning unit needs to have the fan speed in the request. I can't test this myself, but the reporter gave the error and an example json that the website sends to the API. It's a few comments up.

@bdraco
Copy link
Member

bdraco commented Mar 10, 2020

Fixed in #32564

@bdraco bdraco closed this as completed Mar 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants