core: Tado Different Modes not Working

The problem

I have successfully integrated Tado with home assistant but I cannot use other modes except cool and heat, For example dry mode, fan only mode do not work inside home assistant but they work just fine inside the Tado app. I have tried the following with the same result

service: climate.set_hvac_mode
target:
  entity_id: climate.kitchen
data:
  hvac_mode: fan_only

Is this an integration issue or something else? Copying the attributes supported:

hvac_modes: off, auto, heat, cool, heat_cool, dry, fan_only min_temp: 10 max_temp: 30 target_temp_step: 1 fan_modes: auto, high, medium, low preset_modes: away, home swing_modes: ON, OFF current_temperature: 27.1 temperature: 27.1 current_humidity: 37 fan_mode: off hvac_action: off preset_mode: home swing_mode: OFF offset_celsius: 0 offset_fahrenheit: 0 friendly_name: Kitchen supported_features: 57

What is version of Home Assistant Core has the issue?

2021.5.5

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant Core

Integration causing the issue

Tado

Link to integration documentation on our website

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

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

About this issue

  • Original URL
  • State: open
  • Created 3 years ago
  • Comments: 44 (5 by maintainers)

Most upvoted comments

I’m currently experiencing the same issue where I can only use [Off, Cool, Auto] modes. I’ve investigated a bit the issue and I wanted to share the outcome with you all, to understand the difference between a working and not working setup.

Setup: I’ve cloned the core repository, moving to the latest release (at the time of writing 2021.8.6 tag). Tado integration has been installed and configured. My setup includes multiple heaters and AC. I’m using directly the repo so I can easily tweak the code to triage the problem I’m experiencing.

In my test, I’ve added an AC entity to the Lovelace UI and used this one to move from an Off state to a Dry state. I changed python-tado code to propagate errors to Home Assistant logs and this is what I get:

2021-08-13 14:30:23 WARNING (SyncWorker_3) [PyTado.interface] {'errors': [{'code': 'setting.notSupported', 'title': 'fan speed not in supported fan speeds [AUTO, HIGH, LOW, MIDDLE]'}]}

I took a look at the code and I figured out that the method used to change the state, sends the fan speed (and swing) only if the temperature is set (code). In this case, Dry and Fan modes don’t require the temperature and so HA doesn’t pass these values (and it should continue to not pass these values).

At this point I tried a simple snippet to reproduce the problem, by using python-tado library directly (HA is entirely bypassed). With the following snippet, I receive the same error:

from PyTado.interface import Tado
tado = Tado(username, password)
# Zone 8 is the AC used in the HA test above
tado.setZoneOverlay(8, "MANUAL", deviceType="AIR_CONDITIONING", fanSpeed="AUTO", mode="DRY", swing="OFF")

# Returns:
# {'errors': [{'code': 'setting.notSupported', 'title': 'fan speed not in supported fan speeds [AUTO, HIGH, LOW, MIDDLE]'}]}

If I change the code to send swing and fanSpeed regardless of the setTemp value (TL;DR I move them outside of the if clause), it works as expected in the snippet and in Home Assistant.

Here are some of my thoughts:

  • I don’t think HA and Tado integration have an issue here, considering I was capable to make it work by changing the library code.
  • That said, in this thread, some of you reported that it works well, so I guess (it’s an hypothesis that I can’t confirm right now) we registered devices with 2 different types. The type that works, has an API that doesn’t require to set fan speed and swing to enable all the modes. The type that doesn’t work instead, requires such values to be set.
  • This explains also why Cool or Auto mode works, because temperature is set for both by HA.
  • There is also a possibility that I’m experiencing a problem totally different from you, but with the same side effect.

I’d like to get some of your thoughts to see if this investigation is misleading, or if you have more details that I’m missing. I’m opening an issue on the library repo because to be honest, I don’t know the implication of the change (I’m not sure there are enough tests to verify if it breaks something). Thank you very much for any help or suggestion you may have!

If you are using IR control Sensibo (cloud) or lookin (local) will likely be a better experience

@michaelarnauts Hi, any chance to have the issue fixed or is Sensibo the only chance to have a fully working AC control in HA? 😅 I’d love to stay with Tado but the broken HA integration is a deal-breaker.

I have very little free time, and this integration isn’t high on my priority list I’m afraid. If the (for your usecase) broken integration in Home Assistant really is a deal-breaker for you, I think you should switch services or learn to code yourself 😃

I don’t want to be a jerk or something, just trying to give correct expectations.

Hi all,

I’m having the same issue with my Tado AC units and I think that @palazzem is totally right.

I made some tests to confirm it. Remember that Tado allows two different configurations for your AC units: “Standard” and “Thermostat”.

The standard one tries to bring as many features as possible to your Tado controls. Depending on you AC model and how well integrated it’s with Tado, it will give you heat, cool, ventilator, dehumidification… and so. It will also let you control the fan speed, horizontal and vertical blades position… and so. Of course also temperature. When setting my AC in this mode in the Tado app, all those options appear also in HA. However, only Off and Program options work. Any other choice just does nothing. Probably due to the issue found by @palazzem where Tado expects to receive the fan speed.

If I configure that very same AC unit in Tado as “Thermostat”, the Tado really simplifies the configuration. The only available options in Tado app and HA will then be “Heat”, “Cool” and temperature. No possibility to control anything else. In this case the integration works. But of course only in this very limited way.

Could someone please have a look and make sure that when all options are available HA sends all the information required by Tado?

Regards,

Daniel