Closed zoic21 closed 2 months 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!
(message by CodeOwnersMention)
tado documentation tado source (message by IssueLinks)
Could you add UP, MID-UP, MID, MID-DOWN,DOWN support for Vertical Swing AND LEFT, MID-LEFT,MID,MID-RIGHT,RIGHT, ON, OFF support for Horizonal SWING? And And support to activate Smart Schedule
is there any up date on this ?
I am no owner of an AC, yet I might be able to help around. What I do need, if you're able to, is the JSON that is currently being send via the Tado API. You can find this if you use the developer console in your browser and look for the call containing set overlay zone
. Based on this I'd might be able to mimic the correct request.
Would you be able to send this JSON request?
@erwindouna I cannot set specific position for swings on my AC, but maybe I can help with the request payload?
It's a PUT to /api/v2/homes/<xxx>/zones/<y>/overlay
{
"termination":{
"typeSkillBasedApp":"MANUAL"
},
"setting":{
"type":"AIR_CONDITIONING",
"power":"ON",
"mode":"COOL",
"temperature":{
"celsius":25,
"fahrenheit":77
},
"fanLevel":"LEVEL2",
"verticalSwing":"ON",
"horizontalSwing":"OFF",
"light":"ON"
}
}
@erwindouna I cannot set specific position for swings on my AC, but maybe I can help with the request payload?
It's a PUT to
/api/v2/homes/<xxx>/zones/<y>/overlay
Thanks for checking, that's very useful to me. Whlist digging into the PyTado library, I see there isn't any support, even in the latest function for the verticalSwing and horizontalSwing. Creating a new fork of PyTado might be a solution, to actively develop these parts and keep them integrated in Home Assistant. Right now the library is not that much actively developed.
@erwindouna As I posted in #97261 there is a pyTado fork already, https://pypi.org/project/python-tado/ ( https://github.com/wmalgadey/PyTado )
I wish this helps to get this issue fixed soon.
@erwindouna As I posted in #97261 there is a pyTado fork already, https://pypi.org/project/python-tado/ ( https://github.com/wmalgadey/PyTado )
I wish this helps to get this issue fixed soon.
That's the one already integrated within HA. We need to bump the version to a higher level. I think we can do that now, whereas PyTado made a new release fixing a breaking change impacting my last attempt two months ago.
It would be great if fan control and swing could be added to HomeAssistant's Tado airconditioning control.
I have started using it in automations, but the fan noise caused by the default settings cause us still to use the Tado app to slow down the fan.
Same here, I would love to see this feature in HA!
Will investigate in a bit and try to provide a solution! :)
@erwindouna Let me know if I can help you testing or anything. I could even give you access to one AC device if you need.
@erwindouna Let me know if I can help you testing or anything. I could even give you access to one AC device if you need.
Great offer, thanks! When I finish other work on Tado, I'll pick this up. 👍
Really interested too to see those features in HA !
Did you manage to find a solution or a workaround ?
Thanks Xavier
I'm not sure if this is related, but I've found that I can set the fan speed (auto/low/med/high) and vertical swing (on/off) whilst using the Cooling mode, but not during Fan mode. When I attempt to set either option in Fan mode, nothing happens.
I don't really know enough to delve into the code to see if I can understand why this might be, just wanted to throw it out there just in case it helps with troubleshooting.
I also have great interest in this feature!
same trouble for me, i don't have the controle with fan speed and swing...
contente of https://my.tado.com/api/v2/homes/xxxx/zones/xxxx/capabilities?ngsw-bypass=true
{
"type": "AIR_CONDITIONING",
"AUTO": {
"fanLevel": [
"LEVEL5",
"LEVEL3",
"LEVEL1",
"LEVEL4",
"AUTO",
"LEVEL2"
],
"verticalSwing": [
"OFF",
"MID_UP",
"MID_DOWN",
"ON",
"DOWN",
"UP",
"MID"
],
"horizontalSwing": [
"OFF",
"ON"
],
"light": [
"ON",
"OFF"
]
},
"HEAT": {
"temperatures": {
"celsius": {
"min": 16,
"max": 31,
"step": 1.0
},
"fahrenheit": {
"min": 61,
"max": 88,
"step": 1.0
}
},
"fanLevel": [
"LEVEL5",
"LEVEL3",
"LEVEL1",
"LEVEL4",
"AUTO",
"LEVEL2"
],
"verticalSwing": [
"OFF",
"MID_UP",
"MID_DOWN",
"ON",
"DOWN",
"UP",
"MID"
],
"horizontalSwing": [
"OFF",
"ON"
],
"light": [
"ON",
"OFF"
]
},
"FAN": {
"temperatures": {
"celsius": {
"min": 16,
"max": 31,
"step": 1.0
},
"fahrenheit": {
"min": 61,
"max": 88,
"step": 1.0
}
},
"fanLevel": [
"LEVEL5",
"LEVEL3",
"LEVEL1",
"LEVEL4",
"AUTO",
"LEVEL2"
],
"verticalSwing": [
"OFF",
"MID_UP",
"MID_DOWN",
"ON",
"DOWN",
"UP",
"MID"
],
"horizontalSwing": [
"OFF",
"ON"
],
"light": [
"ON",
"OFF"
]
},
"COOL": {
"temperatures": {
"celsius": {
"min": 16,
"max": 31,
"step": 1.0
},
"fahrenheit": {
"min": 61,
"max": 88,
"step": 1.0
}
},
"fanLevel": [
"LEVEL5",
"LEVEL3",
"LEVEL1",
"LEVEL4",
"AUTO",
"LEVEL2"
],
"verticalSwing": [
"OFF",
"MID_UP",
"MID_DOWN",
"ON",
"DOWN",
"UP",
"MID"
],
"horizontalSwing": [
"OFF",
"ON"
],
"light": [
"ON",
"OFF"
]
},
"DRY": {
"temperatures": {
"celsius": {
"min": 16,
"max": 31,
"step": 1.0
},
"fahrenheit": {
"min": 61,
"max": 88,
"step": 1.0
}
},
"verticalSwing": [
"OFF",
"MID_UP",
"MID_DOWN",
"ON",
"DOWN",
"UP",
"MID"
],
"horizontalSwing": [
"OFF",
"ON"
],
"light": [
"ON",
"OFF"
]
},
"initialStates": {
"mode": "COOL",
"modes": {
"COOL": {
"temperature": {
"celsius": 24,
"fahrenheit": 75
},
"fanLevel": "LEVEL3",
"verticalSwing": "OFF",
"horizontalSwing": "OFF",
"light": "ON"
},
"HEAT": {
"temperature": {
"celsius": 24,
"fahrenheit": 75
},
"fanLevel": "LEVEL3",
"verticalSwing": "OFF",
"horizontalSwing": "OFF",
"light": "ON"
},
"DRY": {
"temperature": {
"celsius": 24,
"fahrenheit": 75
},
"verticalSwing": "OFF",
"horizontalSwing": "OFF",
"light": "ON"
},
"FAN": {
"temperature": {
"celsius": 24,
"fahrenheit": 75
},
"fanLevel": "LEVEL3",
"verticalSwing": "OFF",
"horizontalSwing": "OFF",
"light": "ON"
},
"AUTO": {
"fanLevel": "LEVEL3",
"verticalSwing": "OFF",
"horizontalSwing": "OFF",
"light": "ON"
}
}
}
}
Any update on the fan level request?
fixed in #117378
Super to see that this has been added to the latest HASS 2024.7.0
It works for Mode: Heat and Mode: Cool. I can now control fan speed and Swing mode. GREAT!
But what does not work (I'm not sure if all are due to recent changes):
Mode: Switch from any mode to off I see the error: "Fan mode is not valid. Valid fan modes are: low, high, auto, medium."
Mode auto: If the temperature in the room is 20 degrees and you set it to 21 degrees, it changes the interface to cooling in stead of heating (and selects mode cool).
Mode heat cool: This does nothing and reverts back to mode off. I know this one worked, cause you set a low temp (for heating) and a high temp (for cooling).
Mode Dry: This does nothing and reverts back to mode off. I'm not sure if this one worked.
Mode Fan only: This mode does seem to work (it really selects fan only, not heat or cool). But Fan mode and Swing mode don't work. Fan mode stays high and Swing mode stays off, whatever you select.
I hope this helps: I have a TADO connected to a Daikin Aircoditioner with heatpump, model FTX50KMV1B
I too see the same issues as StreborStrebor except that I'm not getting the error "Fan mode..." Having said that, I'm pretty happy that I can control the fan speed via automations now.
Hi! Also very happy to see there is some progress and fan mode and swing mode are finally supported!
Unfortunately, I have the following issues:
1) Fan mode and swing mode are only applied in HA when set in Tado, not when set in HA (the drop-downs are reset to the previous values) (please see attached video)
https://github.com/home-assistant/core/assets/115331/fe8ded3d-b445-4d86-9475-696ab7f879a7
I also tried to call the service directly, e.g. to set the swing mode:
service: climate.set_swing_mode
target:
entity_id: climate.arbeitszimmer_klimaanlage
data:
swing_mode: both
Result: no error is logged but the swing mode is not passed to Tado!
2) If HVAC mode is set to off, I also see the error message: "Fan mode is not valid. Valid fan modes are: low, high, auto, medium." (please see attached video)
https://github.com/home-assistant/core/assets/115331/e469c1b9-5406-4bd7-b7bb-760eea0b74f0
Thanks a lot for looking into this @EtienneSOU!
Fan mode and swing mode are only applied in HA when set in Tado, not when set in HA (the drop-downs are reset to the previous values) (please see attached video)
I assume that EtienneSOU will need more info to fix that because on my side fan mode is applied when set in HA.
Hello @felixmueller
It seems the behavior between fan modes and swing modes are different. In your video:
For Fan mode: Can you try to set each mode and see the result: Is it ?
For swing mode: Can you please try only vertical swing mode and only horizontal swing mode and tell me if it works ?
My AC is beeping when it receives a new input, maybe yours too. Do you hear anything when you're changing fan modes and swing modes ?
Also, if you are familiar with python and pip. Maybe you can help me debug by sending me the capabilities of your AC. It will tell me how Tado API works with your AC.
To do so you'll have to run a small python script after installing python-tado.
You can install the package by doing
pip install python-tado
and then run this python script
from PyTado.interface import Tado
t = Tado('youremail@email.com', 'passwordOfYourTadoAccount')
print(t.get_zones())
print(t.get_capabilities(ID)) # Insert the ID of your AC that you can get from the previous print
For the error message when turning OFF I'm making a PR.
Remarks:
Hi @EtienneSOU,
thanks for getting back to me and providing the additional requirements for debugging.
I will further analyze the issues in my setup using the python tool and will report back once I find some spare time tomorrow.
Hi @EtienneSOU,
I managed to fire up python-tado on my iPad today using Pythonista and I extracted the requested AC capabilities for you:
{
"type":"AIR_CONDITIONING",
"COOL":{
"temperatures":{
"celsius":{
"min":16,
"max":32,
"step":1.0
},
"fahrenheit":{
"min":61,
"max":90,
"step":1.0
}
},
"fanLevel":[
"LEVEL1",
"AUTO",
"LEVEL3",
"LEVEL2"
],
"verticalSwing":[
"OFF",
"ON"
],
"horizontalSwing":[
"OFF",
"ON"
],
"light":[
"OFF",
"ON"
]
},
"HEAT":{
"temperatures":{
"celsius":{
"min":16,
"max":32,
"step":1.0
},
"fahrenheit":{
"min":61,
"max":90,
"step":1.0
}
},
"fanLevel":[
"LEVEL1",
"AUTO",
"LEVEL3",
"LEVEL2"
],
"verticalSwing":[
"OFF",
"ON"
],
"horizontalSwing":[
"OFF",
"ON"
],
"light":[
"OFF",
"ON"
]
},
"FAN":{
"fanLevel":[
"LEVEL1",
"LEVEL3",
"LEVEL2"
],
"verticalSwing":[
"OFF",
"ON"
],
"horizontalSwing":[
"OFF",
"ON"
],
"light":[
"OFF",
"ON"
]
},
"AUTO":{
"fanLevel":[
"LEVEL1",
"LEVEL3",
"LEVEL2"
],
"verticalSwing":[
"OFF",
"ON"
],
"horizontalSwing":[
"OFF",
"ON"
],
"light":[
"OFF",
"ON"
]
},
"DRY":{
"temperatures":{
"celsius":{
"min":16,
"max":32,
"step":1.0
},
"fahrenheit":{
"min":61,
"max":90,
"step":1.0
}
},
"fanLevel":[
"LEVEL1",
"AUTO",
"LEVEL3",
"LEVEL2"
],
"verticalSwing":[
"OFF",
"ON"
],
"horizontalSwing":[
"OFF",
"ON"
],
"light":[
"OFF",
"ON"
]
},
"initialStates":{
"mode":"COOL",
"modes":{
"COOL":{
"temperature":{
"celsius":24,
"fahrenheit":76
},
"fanLevel":"LEVEL2",
"verticalSwing":"OFF",
"horizontalSwing":"OFF",
"light":"ON"
},
"HEAT":{
"temperature":{
"celsius":24,
"fahrenheit":76
},
"fanLevel":"LEVEL2",
"verticalSwing":"OFF",
"horizontalSwing":"OFF",
"light":"ON"
},
"DRY":{
"temperature":{
"celsius":24,
"fahrenheit":76
},
"fanLevel":"LEVEL2",
"verticalSwing":"OFF",
"horizontalSwing":"OFF",
"light":"ON"
},
"FAN":{
"fanLevel":"LEVEL2",
"verticalSwing":"OFF",
"horizontalSwing":"OFF",
"light":"ON"
},
"AUTO":{
"fanLevel":"LEVEL2",
"verticalSwing":"OFF",
"horizontalSwing":"OFF",
"light":"ON"
}
}
}
}
I hope this helps solving the mentioned issues. Without further testing, I am quite sure that any changes of fan or swing mode triggered in HA are never processed on Tados side.
Hello @felixmueller
If I correctly understood the problem.
The fan modes (Low, Medium and High) and swing directions should work if you use HEAT or COOL mode instead of FAN mode.
If you could confirm that, I could investigate to fix that issue that comes from python-tado
and not from Home Assistant.
Hi @EtienneSOU,
today I finally had time to further analyze my Tado AC problems:
First of all: Sorry for not testing it in the first place, but what you speculated is exactly right: the fan modes and swing modes can only be applied from HA to Tado in HEAT, COOL, or DRY mode, but not in FAN or AUTO mode! But it should be possible because Tado and my AC fully support it.
Secondly, there is one remaining problem in the modes where the settings work: I can't switch the swing mode from "both" to "horizontal" or "vertical". I have to switch it to "off" and then to "horizontal" or "vertical" to successfully apply the setting to Tado.
Thank you very much for taking care and for a deeper analysis to find a solution!
Ok so the problem is coming from the python-tado library for fan levels not handled in FAN or AUTO. @erwindouna is working on a specific library to manage TADO API so maybe this would be easier to fix that issue.
Secondly, there is one remaining problem in the modes where the settings work: I can't switch the swing mode from "both" to "horizontal" or "vertical". I have to switch it to "off" and then to "horizontal" or "vertical" to successfully apply the setting to Tado.
I'll look into it.
Hi @EtienneSOU,
thanks again!
So, should we create an issue for python-tado or what would you recommend?
The problem
Hello,
I have a tado AC V3+ and it's not possible to set swings and fan speed.
What version of Home Assistant Core has the issue?
core-2023.6.3
What was the last working version of Home Assistant Core?
No response
What type of installation are you running?
Home Assistant Container
Integration causing the issue
Tado
Link to integration documentation on our website
https://www.home-assistant.io/integrations/tado
Diagnostics information
Here capabilities return by tado :
{"type": "AIR_CONDITIONING", "HEAT": {"temperatures": {"celsius": {"min": 16, "max": 30, "step": 1.0}, "fahrenheit": {"min": 61, "max": 86, "step": 1.0}}, "fanLevel": ["LEVEL2", "LEVEL4", "LEVEL3", "AUTO", "LEVEL1"], "verticalSwing": ["ON", "OFF"]}, "AUTO": {"temperatures": {"celsius": {"min": 18, "max": 30, "step": 1.0}, "fahrenheit": {"min": 64, "max": 86, "step": 1.0}}, "fanLevel": ["LEVEL2", "LEVEL4", "LEVEL3", "AUTO", "LEVEL1"], "verticalSwing": ["ON", "OFF"]}, "FAN": {"fanLevel": ["LEVEL2", "LEVEL4", "LEVEL3", "AUTO", "LEVEL1"], "verticalSwing": ["ON", "OFF"]}, "COOL": {"temperatures": {"celsius": {"min": 18, "max": 30, "step": 1.0}, "fahrenheit": {"min": 64, "max": 86, "step": 1.0}}, "fanLevel": ["LEVEL2", "LEVEL4", "LEVEL3", "AUTO", "LEVEL1"], "verticalSwing": ["ON", "OFF"]}, "DRY": {"temperatures": {"celsius": {"min": 18, "max": 30, "step": 1.0}, "fahrenheit": {"min": 64, "max": 86, "step": 1.0}}, "verticalSwing": ["ON", "OFF"]}, "initialStates": {"mode": "COOL", "modes": {"COOL": {"temperature": {"celsius": 24, "fahrenheit": 75}, "fanLevel": "LEVEL2", "verticalSwing": "OFF"}, "HEAT": {"temperature": {"celsius": 23, "fahrenheit": 74}, "fanLevel": "LEVEL2", "verticalSwing": "OFF"}, "DRY": {"temperature": {"celsius": 24, "fahrenheit": 75}, "verticalSwing": "OFF"}, "FAN": {"fanLevel": "LEVEL2", "verticalSwing": "OFF"}, "AUTO": {"temperature": {"celsius": 24, "fahrenheit": 75}, "fanLevel": "LEVEL2", "verticalSwing": "OFF"}}}}
As you can see I don't have
fanSpeeds
orswings
key but I havefanLevel
andverticalSwing
key. So when integration check the capatibility it don't see fan speed (https://github.com/home-assistant/core/blob/dev/homeassistant/components/tado/climate.py#L154) and swings (https://github.com/home-assistant/core/blob/dev/homeassistant/components/tado/climate.py#L151C40-L151C46) possibilities.I don't known why I have got, maybe a change on tado side, but can you handle this in plugin ?
Thanks in advance
Example YAML snippet
No response
Anything in the logs that might be useful for us?
No response
Additional information
No response