Versatile Thermostat: a full feature thermostat (energy, door/window, presence, motion, preset, ... management)

The way I’d attempt to do so is to create a threshold sensor on top of the outdoor temperature sensor with a hysteresis of 2°C and a limit of 6°. And an automation based on this threshold sensor that will turn on/off AC or gas. This way versatile_thermostat does not need additional logic. With it’s 50-60 config variables it’s already rather complex.

Thats a good idea…
Basically “if last hours averaged outdoor temp < = 7°C turn on Gas heating and turn off Airconditions, otherwise turn on AC and turn off Gasheating”

Thank you for your great work!

I have a question. Keep in mind I’m new to HA and getting to know the basics.

ECO, CONFORT, and BOOST modes can have predefined target temperatures. What if I want the user to set their preferred default values and keep it? This is how VSTAT on Homeseer works. Users can change Frost/Low/High Setpoints to their needs.

Using a Versatile Thermostat, when I change the target temperature mode will jump to NONE instead of remembering the desired value. When I go back to other modes it will reset to predefined values.

With the current way, you are forcing the user to your predefined target temperatures, instead of letting him decide what suits him.

Also, there could be a FROST mode. To keep the minimum temperature (7degree for example) when no one is using the room for a longer period of time.

Thank you


All these requests are already recorded as improvements.

Thank you.

Will keep an eye out for updates.

Hello, I have a question about the integration. I use thermostat over switch. My heating switches off after 10 minutes even though the target temperature has not yet been reached and then switches on again after 5 minutes. Is it wanted like that?

If the underlying climate switch off, yes it is normal. VTherm follows the underlying. This is for the users who still continue to operate with the TRV directly.

What’s the problem if there is a motion/presence sensor configured but versatile thermostat does not recognize the motion?

Activity preset in on

Heello @fir3drag0n ,

This could be:

  1. motion feature is not activated (checkbox on page 1 of the configuration),
  2. motion sensor is not configured in the motion feature configuration (page 3 or 4),
  3. your motion sensor is not changing state. You can check in Development Tools / States that the attributes of your VTherm. You should have a motion_state: "on" attributes.

To avoid misunderstanding, motion and presence are two different functions which are totally different.

Hello. I have opened this question about the security mode. what kind of temperature sensor do you use with versatile thermostat? I have mine that switch into security mode too often when the temperature does not change for long time (i suspect the sensor or HA not to refresh when the temperature keeps being the same). Any advice for kind of sensor (wifi, zigbee or zwave?)

Hello @gaetan,

I have this issue with TuYa temperature sensor powered by battery. Those sensors don’t send the temperature if there is no change causing the safe mode in VTherm.

To avoid that, I have put the safe mode delay (named security) to 1,5 hours.

Then I switch to Zigbee and I change the TuYa wifi on battery with SONOFF Zigbee on battery too.
Then I don’t have any security mode now. In Zigbee and Z2M you can specify the max time between two measure:

I just recently started using VTherm and I love it.

I’d like to do one more thing: whenever the temperature is manually adjusted on one of the underlying TRVs, I would like to set the Temperature of the VTherm to that value.

I assumed using the context.parent_id within an automation would be a good starting point, since it should be null if the TRV state changes from a physical control adjustment.

But then, I never get an empty this.context.parent_id, so I cannot distinguish between manual and automatic changes.

Anybody maybe already achieved such a setup?

Hello @petwri ,

This is already the case. When you change something on the TRV directly, the VTherm will adjust to this new target.

Even if it is not recommended to change directly on TRV, this is possible. But remember that having two way to control the same TRV (through VTherm with Scheduler and directly on TRV) can leave to inconsistency.

I saw that changing on the TRV switches to manual mode, and the TRV stays on that mode.

But I want VTherm to take that TRV temperature setpoint as its new target and correspondingly adjust all underlying TRVs.

Use-Case: I have a room with multiple radiators, when I adjust one of them, that TRV-setpoint should be the target temperature for the whole room.

Edit: I just checked, because such a functionality seems to be offered by Advanced Heating Control, so it should work:

value_template: "{{ == 'comfort_change' and input_temperature_comfort != none and != none and trigger.to_state.context.parent_id == none and trigger.to_state.context.user_id == none }}"

But in my case, this.context, trigger.to_state.context as well as trigger.from_state.context are always the same, regardless if the change of the TRV comes from VTherm, or from an adjustment of the thermostat itself.

Hello, is it possible to display the humidity in the versatile-thermostat-ui-card as shown in the picture (red circle)?


I understand but I will not do that. Preset are done be not modified. If you change the target temperature, that means you don’t want presets.
This is totally at the opposite of the VTherm philosophy.

Hello, yes this is already a request: Feature Request: Humidity Data Integration for Better Thermostat Card Display and Calculation · Issue #167 · jmcollin78/versatile_thermostat · GitHub

I suggest to vote for it if you think it is important.

1 Like

Understood. Thanks for clarifying.

I struggle to get this configured correctly.

I just need to replace Betterthermostat addon and want this addon to do the exactly same thing.

Anyone achieved this?

why is it off?

Ok, I am now somewhat confused about VTherm’s behavior when a TRV is manually adjusted: is VTherm supposed to just ignore the change on the TRV, and readjust it during its next control cycle, or would VTherm change to Manual mode?

Because when I first tried VTherm, I was pretty sure it did the latter, and now it just stays where it was and doesn’t react to any external changes.