homeassistant-infinitude icon indicating copy to clipboard operation
homeassistant-infinitude copied to clipboard

Incorrect logic for HVAC_ACTION when dehumidifying enabled

Open bdf0506 opened this issue 5 years ago • 0 comments

It appears we are using incorrect logic when determining the HVAC_ACTION which in essence affects CURRENT_HVAC_* and how this is displayed in HA. It has gone mostly unnoticed since HA never really exposed this in the Climate Lovelace card until the recent climate overhaul.

We are in the height of summer now, so I've only calculated the test cases for when the mode is cool. I'm not sure if any of my below data will change during heat or auto. Note, I have a single zone carrier system.

  • If the thermostat says "cooling..." that means that opmode=cooling and mode=cool and zoneconditioning=active_cool according to infinitude API.

  • If the thermostat says "dehumidifying..." that means that opmode=cooling and mode=dehumidify and zoneconditioning=active_cool.

  • If the thermostat is off, then opmode=off and mode=dehumidify (or presumably, the last used mode), and zoneconditioning=idle

So, this means that when the system is in a dehumidify state, it is actually being reported as CURRENT_HVAC_COOLING which simply shows as cooling in HA. But Cooling isn't the same as Dehumidify. I believe when it is in a dehumidify state, we should report this as CURRENT_HVAC_FAN (as there is no option for dehumidify in the constants). To do this, the logic being used around line 412 will need to take into account more than one field.

There's actually a "TODO" comment in line 417, so let's take this into account in any rework of this field when Fan is handled.

bdf0506 avatar Sep 03 '19 14:09 bdf0506