home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
72.05k stars 30.18k forks source link

Tado.set_zone_overlay() got an unexpected keyword argument 'fanSpeed' after 2023.8.2 #98285

Closed antonio1475 closed 1 year ago

antonio1475 commented 1 year ago

The problem

After updating to 2023.8.2, changing the Tado thermostat mode or temperature returns an error, and goes back to Off.

What version of Home Assistant Core has the issue?

core-2023.8.2

What was the last working version of Home Assistant Core?

2023.8.1

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Tado

Link to integration documentation on our website

https://www.home-assistant.io/integrations/tado

Diagnostics information

home-assistant_tado_2023-08-12T01-09-26.821Z.log

Example YAML snippet

No response

Anything in the logs that might be useful for us?

Logger: homeassistant.components.websocket_api.http.connection
Source: components/tado/__init__.py:322
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 03:05:20 (5 occurrences)
Last logged: 03:09:17

[140078383772992] Tado.set_zone_overlay() got an unexpected keyword argument 'fanSpeed'
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 226, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1974, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2011, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 235, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 870, in entity_service_call
    response_data = await _handle_entity_call(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 942, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 617, in async_service_temperature_set
    await entity.async_set_temperature(**kwargs)
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 467, in async_set_temperature
    await self.hass.async_add_executor_job(
  File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/tado/climate.py", line 434, in set_temperature
    self._control_hvac(target_temp=temperature, hvac_mode=new_hvac_mode)
  File "/usr/src/homeassistant/homeassistant/components/tado/climate.py", line 655, in _control_hvac
    self._tado.set_zone_overlay(
  File "/usr/src/homeassistant/homeassistant/components/tado/__init__.py", line 322, in set_zone_overlay
    self.tado.set_zone_overlay(
TypeError: Tado.set_zone_overlay() got an unexpected keyword argument 'fanSpeed'

Additional information

Might be related to https://github.com/home-assistant/core/pull/97791 ?

home-assistant[bot] commented 1 year ago

Hey there @michaelarnauts, @chiefdragon, mind taking a look at this issue as it has been labeled with an integration (tado) you are listed as a code owner for? Thanks!

Code owner commands Code owners of `tado` can trigger bot actions by commenting: - `@home-assistant close` Closes the issue. - `@home-assistant rename Awesome new title` Renames the issue. - `@home-assistant reopen` Reopen the issue. - `@home-assistant unassign tado` Removes the current integration label and assignees on the issue, add the integration domain after the command.

(message by CodeOwnersMention)


tado documentation tado source (message by IssueLinks)

joostlek commented 1 year ago

cc @erwindouna

erwindouna commented 1 year ago

Thanks for reporting. I am already looking into this - I will let you know once I've done some further investigation! :)

erwindouna commented 1 year ago

A fix has been provided. In the mean time, if you are able to and want to, you can patch this locally in a custom component. In your custom components directory create a Tado directory and copy the contents from the current version. Then overwrite:

custom_components/tado/__init__.py

With the following Gist: https://gist.github.com/erwindouna/7be47e97c8819186f27466281c87ce56

joostlek commented 1 year ago

Closing as this has been fixed on dev

GeeGee-be commented 1 year ago

Where can I find the files of the current version to copy the content from? It's not in the custom components folder, so where is it?https://github.com/home-assistant/core/issues/98285#issuecomment-1675785499

GeeGee-be commented 1 year ago

Where can I find the files of the current version to copy the content from? It's not in the custom components folder, so where is it?#98285 (comment)

I do have it (I have not implemented these manual changes, it's the original file) image

Thx. I have Tado installed (and running before), but I can't see a tado folder in my custom components folder. I'm using File editor. Is it hidden maybe or...?

erwindouna commented 1 year ago

Thx. I have Tado installed (and running before), but I can't see a tado folder in my custom components folder. I'm using File editor. Is it hidden maybe or...?

If you haven't created a custom_component addition to Tado before, you'll have to create a folder in custom_components to allow to override it.

antonio1475 commented 1 year ago

Apologies @GeeGee-be it seems I had done this for a previous issue and forgot about it, so thanks @erwindouna for making me realize - I might have been or stay on an outdated version.