About
Programmable Thermostat is a climate integration that varies its target temperature according to a sensor's value. It is a revision of the Generic Thermostat component and runs locally. It adds a climate entity that controls heaters and coolers based on a room temperature sensor and a planned temperature sensor. In automatic mode the target follows the planned sensor, which can describe the desired temperature for each day and hour, while heat and cool modes are manual and ignore the plan. Settings include minimum and maximum temperature, an activation delta, allowed modes, startup mode and minimum cycle duration. A related climate can be named so that one climate does not switch off a heater that another is using. Setup is done in the UI.
Automatic summary of the README and code of custom-components/climate.programmable_thermostat. Something wrong, or are you the maintainer and want your own text here? Get in touch
Supports
Works locally Talks to your devices on your own network. No vendor cloud in between.
From the Marketplace Installed through the Marketplace, formerly HACS.
Provides
- Climate
Setting it up
Install it from the Marketplace and restart Home Assistant, then add it under Settings, Devices and services.
Programmable thermostat - entities definition
- Name
- Heaters (comma separated name of entities)
- Coolers (comma separated name of entities)
- Room temperature sensor (entity name)
- Planned temperature sensor (entity name)
Programmable thermostat - temperature definition
- Min temperature allowed
- Max temperature allowed
- Activation temperature delta (tenth has to different from 0)
Programmable thermostat - options definition
- Startup mode
- Climate entity connect to this one (entity name)
- Allowed modes
- Automatic mode type
- Minimum cycle duration (hh:mm:ss or mm:ss)
After setup
- Name
- Heaters (comma separated name of entities) - null to keep it empty
- Coolers (comma separated name of entities) - null to keep it empty
- Room temperature sensor (entity name)
- Planned temperature sensor (entity name)
- Min temperature allowed
- Max temperature allowed
- Activation temperature delta (tenth has to different from 0)
- Startup mode - null to keep it empty
- Climate entity connect to this one (comma separated name of entities) - null to keep it empty
- Allowed modes
- Automatic mode type
- Minimum cycle duration (hh:mm:ss or mm:ss) - null to keep it empty
Texts from the code of custom-components/climate.programmable_thermostat.
From the README
This component is a revision of the official Home Assistant component 'Generic Thermostat' to have the possibility to have the target temperature vary according to a sensor state value.
Shows in Vulpo
Climate card, Apple Watch, Climate Live Activity.Information
- Installs
- 77 sharing analytics
- GitHub stars
- 117
- Connection
- Works locally
- Upkeep
- No update in 6 to 18 months
- Version
- 9.0,
- Category
- Climate, Thermostats and heating
- Kind
- Marketplace integration
- Needs
- Needs the Marketplace (HACS on 2026.10 and older)
- Domain
programmable_thermostat- Issues
- Report an issue










