---
title: "Versatile Thermostat"
description: "Versatile Thermostat is a Marketplace integration for Home Assistant. It has 3.8k installs sharing analytics, works locally and was last updated October 26, 2026."
canonical: "https://vulpo.app/integrations/marketplace/jmcollin78-versatile-thermostat"
url: "https://vulpo.app/integrations/marketplace/jmcollin78-versatile-thermostat.md"
last-updated: "2026-10-22"
version: "1.4"
---

# Versatile Thermostat

> Versatile Thermostat is a Marketplace integration for Home Assistant. It has 3.8k installs sharing analytics, works locally and was last updated October 26, 2026.

Versatile Thermostat is a configurable virtual thermostat that turns heating and cooling equipment into a managed climate entity. It handles presets, window opening, motion, presence and power overload within the thermostat, so separate scripts are not needed for those events. It supports a TPI algorithm with optional automatic learning, self-regulation of the target temperature, and valve control with opening limits. A central configuration and a central boiler control let several thermostats share settings and switch one boiler on when any of them needs heat. Each thermostat can also be locked with an optional pincode, and actions exist for Sleep mode, TPI parameters and log download. It runs locally, is set up in the UI, and adds climate, sensor, number, select, switch and binary sensor entities.

Automatic summary of the README and code of jmcollin78/versatile\_thermostat. Something wrong, or are you the maintainer and want your own text here? [Get in touch](https://vulpo.app/contact)

[Open in My Home Assistant](https://my.home-assistant.io/redirect/hacs_repository/?owner=jmcollin78&repository=versatile_thermostat&category=integration)

On Home Assistant 2026.11 or newer? [Open it in the Marketplace](https://my.home-assistant.io/redirect/marketplace_repository/?owner=jmcollin78&repository=versatile_thermostat&category=integration)

## 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.
- **Actively maintained**: Its author released or pushed a change in the last six months.

## Setting it up

Install it from the Marketplace and restart Home Assistant, then add it under Settings, Devices and services.

### Type of Versatile Thermostat

- **Thermostat type**: Only one central configuration type is possible

### Lock management

- **Use central lock configuration**: Check to use the central lock configuration. Uncheck to use a specific lock configuration for this VTherm
- **Optional pincode (4 digits)**
- **Lock will prevent commands from Users**
- **Lock will prevent commands from Automations & integrations (i.e scheduler)**
- **Auto-relock delay**: Delay in seconds before automatically re-locking after an unlock. Set to 0 to disable auto-relock. Default is 30 seconds.

### Add new Versatile Thermostat

- **Name**
- **Thermostat type**
- **Room temperature**: Room temperature sensor entity id
- **Last seen room temperature datetime**: Last seen room temperature sensor entity id. Should be datetime sensor
- **Outdoor temperature sensor entity id**: Outdoor temperature sensor entity id. Not used if central configuration is selected
- **Cycle duration (minutes)**: Minimum duration of one heating/cooling cycle in minutes to avoid too frequent switching
- **Minimum temperature allowed**: Minimum temperature allowed for the thermostat
- **Maximum temperature allowed**: Maximum temperature allowed for the thermostat
- **Temperature step**: Temperature step for setting the target temperature
- **Device power**
- **Power unit (for device power)**: Device power consumption unit
- **Enable the control by central entity (requires central config). Check to enable the control of the VTherm with the select central\_mode entities.**
- **Use additional central main configuration. Check to use the central main configuration (outdoor temperature, min, max, step, ...).**
- **Used by central boiler. Check if this VTherm should have control on the central boiler**

### Features

- **Use window detection**
- **Use motion detection**
- **Use power management**
- **Use presence detection**
- **Use a central boiler. Check to add a control to your central boiler. You will have to configure the VTherm which will have a control of the central boiler after selecting this checkbox to take effect. If one VTherm requires heating, the boiler will be turned on. If no VTherm requires heating, the boiler will be turned off. Commands for turning on/off the central boiler are given in the related configuration page**
- **Use the auto start and stop feature**
- **Use heating failure detection**

### Linked entities

- **The device(s) to be controlled**: The device(s) to be controlled - 1 is required
- **Switch keep-alive interval in seconds**: Optional heater switch state refresh interval. Leave empty if not required.
- **Algorithm**
- **AC mode**: Use the Air Conditioning (AC) mode
- **Synchronize device internal temperature**: Check to synchronize the internal temperature of the underlying device (fill the new menu item 'Synchronize device temperature' to configure it)
- **Self-regulation**: Auto adjustment of the target temperature
- **Regulation threshold**: The threshold in ° (or % for valve) under which the temperature change will not be sent
- **Regulation minimum period**: Duration in minutes between two regulation update
- **Opening threshold degree**: Valve opening value under which the valve should be considered as closed (and then 'max\_closing\_degree' will apply)
- **Min opening degrees**: Opening degree minimum value for each underlying device when previous threshold is exceeded, comma separated. Default to 0. Example: 20, 25, 30
- **Max opening degrees**: Opening degree maximum value. The valve will never open more than this value
- **Max closing degree**: Closing degree maximum value. The valve will never be closed above this value. Set it to 100 to fully close the valve
- **Use internal temperature of the underlying**: Use the eventual internal temperature sensor of the underlying to speedup the self-regulation (not needed in most cases)
- **Inverse switch command**: For switch with pilot wire and diode you may need to inverse the command
- **Auto fan mode**: Automatically activate fan when huge heating/cooling is necessary

### TPI

- **coef\_int**: Coefficient to use for internal temperature delta
- **coef\_ext**: Coefficient to use for external temperature delta
- **Low TPI threshold**: Threshold in ° under which the TPI algorithm will be on. 0 means no threshold
- **High TPI threshold**: Threshold in ° above which the TPI algorithm will be off. 0 means no threshold
- **Use central TPI configuration**: Check to use the central TPI configuration. Uncheck to use a specific TPI configuration for this VTherm
- **Minimum activation delay**: Delay in seconds under which the equipment will not be activated
- **Minimum deactivation delay**: Delay in seconds under which the equipment will be kept active
- **Enable Auto TPI Learning**: TPI learning session are started manually, read the doc first.

### Presets

- **Use central presets configuration**

### Window management

- **Window sensor entity id**: Leave empty if no window sensor should be used and to use the automatic detection
- **Window sensor 'on' delay (seconds)**: The delay in seconds before sensor 'on' detection is taken into account
- **Window sensor 'off' delay (seconds)**: The delay in seconds before sensor 'off' detection is taken into account. Leave it empty to use the same value as window on delay
- **Temperature decrease threshold for automatic window open detection (in °/hours)**: Recommended value: between 3 and 10. Leave empty if automatic window open detection is not used
- **Temperature increase threshold for end of automatic detection (in °/hours)**: Recommended value: 0. Leave empty if automatic window open detection is not used
- **Maximum duration of automatic window open detection (in min)**: Recommended value: 60 (one hour). Leave empty if automatic window open detection is not used
- **Use central window configuration**: Select to use the central window configuration. Deselect to use a specific window configuration for this VTherm
- **Action**: Action to perform if window is deteted as open

### After setup

- **Thermostat type**: Only one central configuration type is possible
- **Use central lock configuration**: Check to use the central lock configuration. Uncheck to use a specific lock configuration for this VTherm
- **Optional pincode (4 digits)**
- **Lock will prevent commands from Users**
- **Lock will prevent commands from Automations & integrations (i.e scheduler)**
- **Auto-relock delay**: Delay in seconds before automatically re-locking after an unlock. Set to 0 to disable auto-relock. Default is 30 seconds.
- **Name**
- **Thermostat type**
- **Room temperature**: Room temperature sensor entity id
- **Last seen room temperature datetime**: Last seen room temperature sensor entity id. Should be datetime sensor
- **Outdoor temperature sensor entity id**: Outdoor temperature sensor entity id. Not used if central configuration is selected
- **Cycle duration (minutes)**: Minimum duration of one heating/cooling cycle in minutes to avoid too frequent switching
- **Minimum temperature allowed**: Minimum temperature allowed for the thermostat
- **Maximum temperature allowed**: Maximum temperature allowed for the thermostat
- **Temperature step**: Temperature step for setting the target temperature
- **Device power**
- **Enable the control by central entity (requires central config). Check to enable the control of the VTherm with the select central\_mode entities.**
- **Use additional central main configuration. Check to use the central main configuration (outdoor temperature, min, max, step, ...).**
- **Used by central boiler. Check if this VTherm should have control on the central boiler**
- **Use window detection**
- **Use motion detection**
- **Use power management**
- **Use presence detection**
- **Use a central boiler. Check to add a control to your central boiler. You will have to configure the VTherm which will have a control of the central boiler after selecting this checkbox to take effect. If one VTherm requires heating, the boiler will be turned on. If no VTherm requires heating, the boiler will be turned off. Commands for turning on/off the central boiler are given in the related configuration page**
- **Use the auto start and stop feature**
- **Use heating failure detection**
- **The device(s) to be controlled**: The device(s) to be controlled - 1 is required
- **Switch keep-alive interval in seconds**: Optional heater switch state refresh interval. Leave empty if not required.
- **Algorithm**
- **AC mode**: Use the Air Conditioning (AC) mode
- **Synchronize device temperature**: Check to synchronize the internal temperature of the underlying device (fill the new menu item 'Synchronize device temperature' to configure it)
- **Self-regulation**: Auto adjustment of the target temperature
- **Regulation threshold**: The threshold in ° (or % for valve) under which the temperature change will not be sent
- **Regulation minimum period**: Duration in minutes between two regulation update
- **Opening threshold degree**: Valve opening value under which the valve should be considered as closed (and then 'max\_closing\_degree' will apply)
- **Min opening degrees**: Opening degree minimum value for each underlying device when previous threshold is exceeded, comma separated. Default to 0. Example: 20, 25, 30
- **Max opening degrees**: Opening degree maximum value. The valve will never open more than this value
- **Max closing degree**: Closing degree maximum value. The valve will never be closed above this value. Set it to 100 to fully close the valve
- **Use internal temperature of the underlying**: Use the eventual internal temperature sensor of the underlying to speedup the self-regulation (not needed in most cases)
- **Inverse switch command**: For switch with pilot wire and diode you may need to inverse the command
- **Auto fan mode**: Automatically activate fan when huge heating/cooling is necessary
- **coef\_int**: Coefficient to use for internal temperature delta
- **coef\_ext**: Coefficient to use for external temperature delta
- **Low TPI threshold**: Threshold in ° under which the TPI algorithm will be on. 0 means no threshold
- **High TPI threshold**: Threshold in ° above which the TPI algorithm will be off. 0 means no threshold
- **Use central TPI configuration**: Check to use the central TPI configuration. Uncheck to use a specific TPI configuration for this VTherm
- **Minimum activation delay**: Delay in seconds under which the equipment will not be activated
- **Minimum deactivation delay**: Delay in seconds under which the equipment will be kept active
- **Enable Auto TPI Learning**: TPI learning session are started manually, read the doc first.
- **Use central presets configuration**
- **Window sensor entity id**: Leave empty if no window sensor should be used and to use the automatic detection
- **Window sensor 'on' delay (seconds)**: The delay in seconds before sensor 'on' detection is taken into account
- **Window sensor 'off' delay (seconds)**: The delay in seconds before sensor 'off' detection is taken into account. Leave it empty to use the same value as window on delay
- **Temperature decrease threshold for automatic window open detection (in °/hours)**: Recommended value: between 3 and 10. Leave empty if automatic window open detection is not used
- **Temperature increase threshold for end of automatic detection (in °/hours)**: Recommended value: 0. Leave empty if automatic window open detection is not used
- **Maximum duration of automatic window open detection (in min)**: Recommended value: 60 (one hour). Leave empty if automatic window open detection is not used
- **Use central window configuration**: Check to use the central window configuration. Uncheck to use a specific window configuration for this VTherm
- **Action**: Action to do if window is deteted as open

Texts from the code of [jmcollin78/versatile\_thermostat](https://github.com/jmcollin78/versatile_thermostat).

## Entities

- **Binary sensors**: Safety state, Heating failure state, Overpowering state, Window state, Motion state, Presence state, Window bypass, Central boiler
- **Numbers**: Frost, Eco, Comfort, Boost, Frost ac, Eco ac, Comfort ac, Boost ac, Frost away, Eco away, Comfort away, Boost away, and 3 more
- **Selects**: Auto start/stop stop mode
- **Sensors**: Energy, Mean power cycle, Power percent, Auto TPI Learning State, Valve open percent, On time, Off time, Last temperature date, Last external temperature date, Temperature slope, Regulated temperature, EMA temperature, and 2 more

## Actions

- **Set HVAC Mode to Sleep**: Sets a VTherm to seasonal sleep. It is shown as off and, for over\_climate with direct valve regulation and over\_valve, sends a raw 100% valve-opening request. The physical opening remains subject to configured valve control and number entity limits.
- **Set Auto TPI mode**: Enable or disable the Auto TPI learning mode
  Fields: Auto TPI mode, Reset learning data
- **Reset Auto TPI Capacities**: Reset the learned maximum heating and cooling capacities to 1.0 °C/h. Learned coefficients are NOT reset.
- **Auto Tpi Calibrate Capacity**: Calibrate the heating/cooling capacity (in °C/hour) using linear regression on the entity's history data. Learned coefficients are NOT updated.
  Fields: History from date, History to date, HVAC Mode, Save to Config, Minimum Power Threshold
- **Set TPI parameters**: Change the TPI parameters
  Fields: Minimal Activation delay, Minimal Deactivation delay, Low TPI threshold, High TPI threshold
- **Lock**: Locks the thermostat, preventing any changes to its configuration from UI or automations.
  Fields: Lock code
- **Unlock**: Unlocks the thermostat, allowing changes to its configuration.
  Fields: Lock code
- **Download logs**: Collect and download filtered logs for a VTherm entity.
  Fields: Log level, Period start, Period end

## From the README

> 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.

From the README of [jmcollin78/versatile\_thermostat](https://github.com/jmcollin78/versatile_thermostat#readme), [MIT License](https://spdx.org/licenses/MIT.html). Shortened.

## At a glance

- Kind: Marketplace integration
- Category: [Climate](https://vulpo.app/integrations/category/climate.md), Thermostats and heating
- Number: 3.8k installs sharing analytics; 1.2k GitHub stars
- Connection: Works locally
- Upkeep: Updated in the last 6 months
- Needs: Needs the Marketplace (HACS on 2026.10 and older)
- Latest version: 10.6.2, last updated October 26, 2026
- Domain: `versatile_thermostat`
- Source: <https://github.com/jmcollin78/versatile_thermostat>
- Issues: <https://github.com/jmcollin78/versatile_thermostat/issues>
- Screenshot: https://vulpo.app/integrations-img/d260287fdfeb73f6.webp (from jmcollin78/versatile\_thermostat's README)
- Screenshot: https://vulpo.app/integrations-img/b659afc45d7a8815.webp (from jmcollin78/versatile\_thermostat's README)

In Vulpo: Quick Toggle card, Climate card, Select card, Chart card, Apple Watch, Control Center, Climate Live Activity (Pro)

[Widgets & Live Activities in Vulpo](https://vulpo.app/features/widgets-and-live-activities)

Independent directory, made by the developer of Vulpo. Not affiliated with Home Assistant or the Open Home Foundation. [About these numbers](https://vulpo.app/integrations/about)

Last updated 2026-10-22. Source: https://vulpo.app/integrations/marketplace/jmcollin78-versatile-thermostat

---

- HTML version of this page: https://vulpo.app/integrations/marketplace/jmcollin78-versatile-thermostat
- Site index for agents: https://vulpo.app/llms.txt
- Everything in one document: https://vulpo.app/llms-full.txt
- All pages: https://vulpo.app/sitemap.xml
