Why only STATE_HEAT, STATE_OFF in operation_list when ac_mode = false?
In ios HomeKit, we have four modes of operation - STATE_OFF, STATE_HEAT, STATE_COOL, STATE_AUTO. It is not comfortable. Plus, we could use them in automation.
Maybe change in generic_thermostat.py:
self._operation_list = [STATE_HEAT, STATE_OFF]
One Generic Thermostat entity can only control one switch. If you need to activate two switches, one for a heater and one for an air conditioner, you will need two Generic Thermostat entities.
STATE_AUTO is a mode where, based on the current temperature, the thermostat knows how to automatically switch between controlling a heating system and a cooling system.
As per the documentation, a single Generic Thermostat can only handle either a heating system (STATE_HEAT) or a cooling system (STATE_COOL). It only has one switch and one sensor; it isn’t designed to flip from heating to cooling (so there’s no STATE_AUTO).
If you set ac_mode: false you’re indicating the Generic Thermostat is controlling a heater, therefore the two operational states are STATE_HEAT and STATE_OFF.
If ac_mode: true then it’s an air-conditioner and the two states are STATE_COOL and STATE_OFF.
This is an GENERIC thermostat. Therefore, I must have all the tools at my disposal. You can enter a parameter that allows you to display all modes of operation, what the user is to do with them, the user already decides. Perhaps he will write all his logic in the same appdaemon. I need to control four operations. I myself am writing all the logic. I would do it with other tools, but HomeKit understands only Climate.