Home Assistant - Dual Mode Generic Thermostat
Special thanks to shandoosheri for getting this to work on older versions of Home Assistant, which gave me an easy blueprint to follow. And thanks @kevinvincent for writing a nice
custom_component
readme for me to fork.
This component is a straightfoward fork of the mainline generic_thermostat
.
Installation (HACS) - Recommended
- Have HACS installed, this will allow you to easily update
- Add
https://github.com/zacs/ha-dualmodegeneric
as a custom repository as Type: Integration - Click install under "Dual Mode Generic Thermostat", restart your instance.
Installation (Manual)
- Download this repository as a ZIP (green button, top right) and unzip the archive
- Copy
/custom_components/dualmode_generic
to your<config_dir>/custom_components/
directory- You will need to create the
custom_components
folder if it does not exist - On Hassio the final location will be
/config/custom_components/dualmode_generic
- On Hassbian the final location will be
/home/homeassistant/.homeassistant/custom_components/dualmode_generic
- You will need to create the
Configuration
Add the following to your configuration file
climate:
- platform: dualmode_generic
name: My Thermostat
heater: switch.heater
cooler: switch.fan
target_sensor: sensor.my_temp_sensor
reverse_cycle: true
The component shares the same configuration variables as the standard generic_thermostat
, with three exceptions:
- A
cooler
variable has been added where you can specify theentity_id
of your switch for a cooling unit (AC, fan, etc). - If the cooling and heating unit are the same device (e.g. a reverse cycle air conditioner) setting
reverse_cycle
totrue
will ensure the device isn't switched off entirely when switching modes - The
ac_mode
variable has been removed, since it makes no sense for this use case.
Refer to the Generic Thermostat documentation for details on the rest of the variables. This component doesn't change their functionality.
Behavior
-
The thermostat will follow standard mode-based behavior: if set to "cool," the only switch which can be activated is the
cooler
. This means if the target temperature is higher than the actual temperateure, theheater
will not start. Vice versa is also true. -
Keepalive logic has been updated to be aware of the mode in current use, so should function as expected.
-
By default, the component will restore the last state of the thermostat prior to a restart.
-
While
heater
/cooler
are documented to beswitch
es, they can also beinput_boolean
s if necessary.
Reporting an Issue
- Setup your logger to print debug messages for this component using:
logger:
default: info
logs:
custom_components.dualmode_generic: debug
- Restart HA
- Verify you're still having the issue
- File an issue in this Github Repository containing your HA log (Developer section > Info > Load Full Home Assistant Log)
- You can paste your log file at pastebin https://pastebin.com/ and submit a link.
- Please include details about your setup (Pi, NUC, etc, docker?, HASSOS?)
- The log file can also be found at
/<config_dir>/home-assistant.log