"Cool - cleaning" and "Dry - cleaning" should show as off
Sebazzz opened this issue · 6 comments
My suggestion is to rework both "cleaning" modes of "dry" and "cool".
Background
For those who don't know, "cleaning" is a state the aircon unit is in to vapourize any leftover moisture after either drying or cooling to prevent mold growth. Then you turn the unit off after having it in either cool or dry it switches off, then on again in the state of "[cool|dry] - cleaning".
The issue
However, as far as Home Assistant and any automation or integration is concerned the aircon is still on. That can automations to misfire because rarely you're interested whether it is cleaning mode: you just care whether it is cooling or is off. Also, in for instance an limited integration like HomeKit or certain HA widgets, you can't even see that it is in cleaning mode because it doesn't show it. The user will then turn the aircon off again, thinking it didn't respond (as the wifi units themselves are already quite unstable sometimes), and the cleaning mode is terminated leading to mold growth.
Suggestion
When the unit goes to cleaning mode, actually set the status to "off". Add an optional diagnostic binary_sensor that can show cleaning to be either "on" or "off" when cleaning is engaged. This has the result that things can still be automated based on the cleaning mode if so desired, but as far as Home Assistant and any integration is concerned the unit is already off - even if it is still cleaning.
When the user then desires to have the unit in a different mode, the integration should then send an "off" command to terminate the cleaning and then the command the user has chosen (otherwise the unit will not respond until cleaning has terminated).
I think if HA thinks the climate is off already, it will not send an off command again. so the last part won't work.
besides that, I would need to have a look if cleaning modes are coming back from the api as separate state.
I think if HA thinks the climate is off already, it will not send an off command again. so the last part won't work.
besides that, I would need to have a look if cleaning modes are coming back from the api as separate state.
String matching might work. but at the integration side it is in control itself right. The integration itself can of course directly talk to the Toshiba API.
Personally, I don't like the idea of the integration manipulating the actual state to suite a few automations. Others may wish to use the real state (in this case cool|heat cleaning) which is easily determined using the state and attributes of the unit in HA.
In my environment (I'm currently using the latest commit for release 2023.8.0) and as can be seen in the attached screenshot, when in cleaning mode (in this case cool cleaning) the state is shown as "cool" with the attribute "self_cleaning: ON"
@Sebazzz: have you tried adjusting your automations or created your own template sensors to reflect the state you desire using the actual state and attributes as currently returned by the integration?
I think leaving the integration to reflect the actual state would be a cleaner approach and allow more flexibility for other users to create their own automations per their individual needs.
@Sebazzz: have you tried adjusting your automations or created your own template sensors to reflect the state you desire using the actual state and attributes as currently returned by the integration?
I think leaving the integration to reflect the actual state would be a cleaner approach and allow more flexibility for other users to create their own automations per their individual needs.
No, I haven't tried it because I wasn't aware of the attributes.
Still, when it is in cleaning, the actual state should be off then. It is not producing cold air or contributing to drying the air in the room. It makes much more sense from an user point of view. That it is cleaning is just an detail that prevents mold, but it is not actually on.
Still, when it is in cleaning, the actual state should be off then. It is not producing cold air or contributing to drying the air in the room. It makes much more sense from an user point of view. That it is cleaning is just an detail that prevents mold, but it is not actually on.
Technically while the unit is in cleaning, it might not be producing cool/warm air but it is still ON and to me the state is accurate. Perhaps in your case you may disagree, but there may be other users who have a different view and could be using the 'cleaning state' for their own purposes - whatever those may be.
I think if your needs require it represented in a different manner, you have the means to create the 'state' that you desire using normal HA templating to do so.
Obviously, this is just my opinion and we should let the integration owner/maintainers decide.
Yes, but it is not just a matter of taste :) Turning the unit off (again, because your integration turned it off - now you turn it off thinking it is still on) will terminate cleaning mode and could mold growth and a smell.
My suggestion is to also make it any behavioral option: everyone gets what he wants 🌞
Technically while the unit is in cleaning, it might not be producing cool/warm air but it is still ON and to me the state is accurate.
It is on, but that is truly splitting hairs. An user just wants to know if he is cooling or heating a room.