Python MIT

versatile_thermostat

A full featured Thermostat for Home Assistant: presets, window, motion, presence and overpowering management

J

jmcollin78

Dernière activité 27 sept. 2026
jmcollin78/versatile_thermostat

1,2 k

étoiles

147

forks

11

issues ouvertes

hacs-customhacs-integrationhome-assistantpythonthermostat

Ce README est souvent en anglais.

GitHub Release GitHub Activity License hacs BuyMeCoffee

Versatile Thermostat

This README file is available in languages : English | Français | Deutsch | Čeština | Polski


Tip Versatile Thermostat is a highly configurable virtual thermostat that transforms any heating equipment (radiators, air conditioners, heat pumps, etc.) into an intelligent and adaptive system. It allows you to consolidate and centrally control multiple different heating systems, while automatically optimizing your energy consumption. Thanks to its advanced algorithms (TPI, auto-TPI) and learning capabilities, the thermostat adapts to your home 🏠 and your habits, providing you with optimal comfort and significant reduction in your heating bills 💰. This thermostat integration aims to greatly simplify your heating management automations. Since all typical heating events (nobody home?, activity detected in a room?, window open?, power load shedding?) are natively managed by the thermostat, you don't need to deal with complicated scripts and automations to manage your thermostats. 😉

This custom component for Home Assistant is an upgrade and a complete rewrite of the "Awesome thermostat" component (see Github) with added features.

Screenshots

Versatile Thermostat UI Card (Available on Github) :

Card1 Card2

What's New?

New

Release 10.5.0

Heating failure detection can now be used as the external vtherm_heating_failure_detection plugin. The plugin provides central settings and per-VTherm overrides; its forms pre-fill the existing core settings to make migration easier.

During the transition period, plugin settings take precedence, while values not defined by the plugin continue to use the legacy core configuration. Disable the legacy feature for a VTherm before enabling the plugin to avoid duplicate configuration.

The heating-failure binary sensor is now provided by the plugin. When this can be done without a conflict, its existing entity_id is retained so dashboards and automations keep working. Reload the plugin entry after disabling the legacy sensor; if it remains active, Home Assistant may create a new entity_id that must be used by existing consumers.

Release 10.4.0

VTherm can now expose current_humidity from an external humidity sensor for all thermostat types. The sensor can be selected in the Humidity menu or automatically detected on the room-temperature sensor device.

over_valve thermostats now have the same valve control parameters as over_climate thermostats with direct valve control regulation: opening_threshold_degree, min_opening_degrees, max_closing_degree, and max_opening_degrees. More information: valve control.

over_valve thermostats now also support Sleep mode. Sleep displays VTherm as off and sends a raw 100% opening request without requesting central boiler heating. Configured valve-control limits can cap the physical opening. More information: Sleep mode.

Release 10.3.0

Power units can now be configured. Configuration screens let you select a unit for power measurements (W by default). Calculated energy units match the configured power unit. Existing entries are migrated using the historical device power value: values above 100 are treated as W; other values as kW.

⚠️ Important change for statistics You may see a repair notification such as: The unit of “Central configuration Total power active for boiler” (sensor.total_power_active_for_boiler) was changed to “kW”, or a similar log message. This is expected because the unit was previously not specified. Select the repair action Update the unit of long-term statistics to correct the statistics.

Release 10.2.0

The Auto Fan feature is now available as an external plugin (vtherm_auto_fan_extended). The original (legacy) auto-fan version is still available in VTherm, but it must be disabled in the thermostat configuration in order to use the plugin. The full documentation is available on the plugin's GitHub repository.

Release 10.1

Auto-start/stop stop mode selection. A new select entity lets you choose the mode applied when the auto-start/stop feature detects a stop condition: Off (default), Fan only or Dry. The Fan only and Dry modes are only proposed when the underlying appliance supports them. More information here.

Self-regulation is now disabled when an over_climate VTherm is not in Heat or Cool mode: the original (non-regulated) setpoint is sent to the underlying device. More information here.

Release 10.0

Introduction of the plugin mechanism. This allows the use of external integrations as plugins for VTherm. The list of available plugins is available on the Versatile Thermostat Web site.

🍻 Thanks for the beers 🍻

"Buy Me A Coffee"

A big thank you to all my beer sponsors for their donations and encouragements. It means a lot to me and motivates me to keep going! If this integration has saved you money, buy me a beer in return; I would greatly appreciate it!

Glossary

VTherm: Versatile Thermostat as referred to in this document

TRV: Thermostatic Radiator Valve equipped with a valve. The valve opens or closes to allow hot water to pass.

AC: Air Conditioning. An AC device cools instead of heats. Temperatures are reversed: Eco is warmer than Comfort, which is warmer than Boost. The algorithms take this information into account.

EMA: Exponential Moving Average. Used to smooth sensor temperature measurements. It represents a moving average of the room's temperature and is used to calculate the slope of the temperature curve, which would be too unstable on the raw data.

slope: The slope of the temperature curve, measured in ° (C or K)/h. It is positive when the temperature increases and negative when it decreases. This slope is calculated based on the EMA.

PAC: Heat pump

HA: Home Assistant

underlying: the device controlled by VTherm

Documentation

The documentation is now divided into several pages for easier reading and searching:

  1. Introduction
  2. Installation
  3. Quick start
  4. Choosing a VTherm type
  5. Basic attributes
  6. Configuring a VTherm on a switch
  7. Configuring a VTherm on a climate
  8. Configuring a VTherm on a valve
  9. Presets
  10. Window management
  11. Presence management
  12. Motion management
  13. Power management
  14. Auto start and stop
  15. Centralized control of all VTherms
  16. Central heating control
  17. Advanced aspects, security mode
  18. Heating Failure Detection
  19. Self-regulation
  20. Auto TPI learning
  21. Algorithms
  22. Lock / Unlock
  23. Temperature synchronisation
  24. Timed preset
  25. Reference documentation
  26. Tuning examples
  27. Troubleshooting
  28. Release notes

Some results

Temperature stability around the target configured by preset:

image

On/off cycles calculated by the integration over_climate:

image

Regulation with an over_switch:

image

Strong regulation in over_climate:

image

Regulation with direct valve control in over_climate:

image

Some comments about the integration

testimonial 1 testimonial 2 testimonial 3
testimonial 4 testimonial 5 testimonial 6

⭐ Star history

Star History Chart

Enjoy!

Contributions are welcome!

If you wish to contribute, please read the contribution guidelines.


Projets similaires

This custom component for Home Assistant will add crucial features to your climate-controlling TRV (Thermostatic Radiator Valves) to save you the work of creating automations to make it smart. It combines a room-temperature sensor, window/door sensors, weather forecasts, or an ambient temperature probe to decide when it should call for heat and automatically calibrate your TRVs to fix the imprecise measurements taken in the radiator's vicinity.

Pythonclimateenergy-efficiencyhacktoberfest
KKartoffelToby
1,5 k étoiles175

The `dual_smart_thermostat` is an enhaced verion of generic thermostat implemented in Home Assistant. It uses several sensors and dedicated switches connected to a heater and air conditioning under the hood.

Pythonhacshome-automationthermostat
Sswingerman
235 étoiles38

Smart Thermostat with PID controller for HomeAssistant

Pythonair-conditionerheaterheater-control
SScratMan
533 étoiles82