A non-transitory computer-readable storage medium having software instructions stored therein, which, when executed by a processor, cause the processor to:
- determine a current dry bulb temperature;
- determine a current relative humidity;
- determine a current apparent temperature based on the current dry bulb temperature and the current relative humidity;
- receive a user-selected desired apparent temperature;
- activate a heating unit in a heating mode when the current apparent temperature is below a lower apparent temperature threshold below the user-selected desired apparent temperature, wherein the lower apparent temperature threshold is a constant based on the user-selected desired apparent temperature;
- activate a cooling unit in a cooling mode when the current apparent temperature is above an upper apparent temperature threshold above the user-selected desired apparent temperature, wherein the upper apparent temperature threshold is a constant based on the user-selected desired apparent temperature;
- not activate either the cooling unit or the heating unit when the current apparent temperature is in a dead band between the lower apparent temperature threshold and the upper apparent temperature threshold;
- and
- automatically switch between the heating mode and the cooling mode,
- wherein each of the user-selected desired apparent temperature, the lower apparent temperature threshold, and the upper apparent temperature threshold is based on a combination of a respective dry bulb temperature and a corresponding relative humidity.