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

Have you tried enabling a preset? Is the underlying TRV maybe off?

The device itself is a bit wonky.

This is the Off state it takes when reaching target temp.
image

This is the heating stage:
image

where a sonoff devices has completly different state handling.
image

With VTherm you decide to turn the thermostat on or off and after it regulates the temperature.
VTherm never starts alone. I think it is a difference with BetterThermostat.

When you change the TRV of a VTherm over_climate (I suppose this is your case), the VTherm will follow the target temp set on the TRV. And because, you set manually a target temp, the VTherm switch in manual mode and turns off a preset if any was selected.

But it is not recommande cause it could be confusing to have many ways of controlling the VTherm (by one TRV it controls or directly via Scheduler on VTherm).

Hello everyone,
I’m currently migrating from jeedom toward HA and I’m very pleased with the flexibility of integration of third parties and the design possibilities.
I’m integrating my thermostat into versatile thermostat at the moment which are zigbee2mqtt based and I need to issue the same command twice when it comes to “modes” (like comfort to eco for example). If I choose a specific temperature I do not need to issue the command twice.
Anyone had this issue before ?

Hello @hargathor,

I don’t here about that kind of issue. What kind of VTherm do you have ? over_climate I guess. If yes, check that the underlying climate is receiving the temperature change event when you change preset on the VTherm.

If that don’t work, you should have an error in the log of something like that.

Hello @jmcollin ,

Sorry I wasn’t very specific indeed.

I use 4 VTherm configured as over_climate. I tried to check if the underlying thermostat received and applied the event but it seems that it doesn’t. The underlying thermostat change for 0,5s when I try to change from a manual setting to a “mode”. I need to apply the preset several times (two times in a row, if I wait I still need to apply it two times in a row).

I do not have anything in the log. Only these warning which seemed kinda weird since the temperature is available for each room. Also is it possible to specify which thermostat output the log, in my case all 4 of them are in error but it could be helpful in some cases.


2024-01-08 14:54:53.767 WARNING (MainThread) [custom_components.versatile_thermostat.pi_algorithm] Temporarily skipping the self-regulation algorithm while the configured sensor for room temperature is unavailable
2024-01-08 14:54:53.781 WARNING (MainThread) [custom_components.versatile_thermostat.pi_algorithm] Temporarily skipping the self-regulation algorithm while the configured sensor for room temperature is unavailable
2024-01-08 14:54:53.789 WARNING (MainThread) [custom_components.versatile_thermostat.pi_algorithm] Temporarily skipping the self-regulation algorithm while the configured sensor for room temperature is unavailable
2024-01-08 14:54:53.804 WARNING (MainThread) [custom_components.versatile_thermostat.pi_algorithm] Temporarily skipping the self-regulation algorithm while the configured sensor for room temperature is unavailable

thanks :slight_smile:

Hi, Since one week I am a user of the Versatile Thermostat. May I ask you to provide me some feedback regarding my settings? It helps me to tune my installation. If you have feedback or question, it is really appreciated.

Questions what I have:

  • What are the perfect settings (direction) for a gas fired heat floor system (is low temp system)?
  • I am now running on a 30 min cycles system; is this ok? Should I increase the time?

Results after 7 day’s:

I am quite positive, in the beginning the target temperature was not met. After this I increased the external Coefficient and I applied the auto_regulation_expert paramters. Since then the system meets the target temp. Since two day’s we have outside temp. below 0. So it is really nice to see the performance. I think my gas consumption increased slidly + have some temp fluctuations. And the internal temp meter ‘hangs’ sometimes. So I will switch back to a shelly + DS temperature meter

Situation:

  • I live in a well isolated modern house of 10 years old
  • I have a heatfloor system @ all floors ( iam only using the Versatile Thermostat for the living room (woonkamer)
  • My heater is gas fired (via on/off system), the temperature of the water in the system is 35 degrees @ inflow
  • Since i have a heat floor system I heat 24 hrs a day @ 19 degrees
  • I have a Electo ws 5500 weather station; I use the external and internal temperature measurements

Versatile Thermostat (latested version) settings:

  • Central configuration
  • Thermostat living room (no open window or other configuration, just plain vanilla) no other rooms added
  • Thermostat over switch
  • Cycle duration: 30 min (is this ok?)
  • Coefficient to use for external temperature delta: 0.003
versatile_thermostat:
    auto_regulation_expert:
        kp: 0.2
        ki: 0.8
        k_ext: 0.1
        offset_max: 2
        stabilization_threshold: 0.0
        accumulated_error_threshold: 2.0

first picture: Target vs Current temp vs Power percent
2nd: Tagert vs realised temp vs on/off
3rd: outside temp
4rd: EMA temperature
5th: slope





Hello @konehead ,

What I see is not too bad. +/- 0.2 around the target is very good.

Why did you use the “expert mode” for regulation ? I guess the standard preset like “Medium” or “Strong” in your case should work out of the box.

There is no drawback for using a more stronger regulation that needed. At worst the regulation will do nothing if there is nothing to regulate. That will not cost more.

For the 30 min cycle, keep in mind that with a biug latency which is normally the case for floor heating system, it is useless to have a quick cycle. The drawback for having a long cycle, is when the external or internal temperature change, the time to take it into account will be longer. The other drawback is for TRV, this can lead to high battery consumption if target change too frequently. But this is not your case.

So I my opinion, you can stay with 30 min if you are happy with it or change to 15 min will have no drawback in your case.

Recently I started having the problem that VTherm doesn’t turn back on when a window has been opened.

The thermostat is running in Mode “Heat”, and after the detection of an open window, VTherm goes to “Off”, and all underlying TRVs go to “Off” as well. When the window is then closed, both VTherm and the TRVs stay in “Off”. Anybody else experiencing this problem? Where should I start with the troubleshooting?

Thanks! Really appreciate your feedback. I was planning to tweak the usage in expert modus, based on your feedback I have disabled immediately. How do I enter the standard preset in “medium” or “strong” regulation?

Hello @jmcollin ,

I have new log that showed up, maybe I didn’t configured properly the logs. Anyway, here is the log output when I try to switch from a manual setting to a mode.

024-01-09 20:57:19.354 INFO (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Thermostat bureau claire - Set preset_mode: eco force=False
2024-01-09 20:57:19.355 INFO (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Thermostat bureau claire - find preset temp: eco
2024-01-09 20:57:19.355 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - Calling ThermostatClimate._send_regulated_temperature force=True
2024-01-09 20:57:19.355 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - regulation calculation will be done
2024-01-09 20:57:19.355 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - Regulated temp have changed to 17.0. Resend it to underlyings
2024-01-09 20:57:19.356 INFO (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Thermostat bureau claire - Sending event EventType.PRESET_EVENT with data: {'preset': 'eco'}
2024-01-09 20:57:19.357 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - Calling ThermostatClimate._send_regulated_temperature force=False
2024-01-09 20:57:19.358 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - period (0.0) min is < 5 min -> forget the regulation send
2024-01-09 20:57:20.384 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - Underlying climate changed. Event.new_hvac_mode is auto, current_hvac_mode=auto, new_hvac_action=None, old_hvac_action=None
2024-01-09 20:57:20.384 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - Target temp in underlying have change to 12.0
2024-01-09 20:57:20.384 INFO (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Thermostat bureau claire - Set target temp: 12.0
2024-01-09 20:57:20.384 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - Calling ThermostatClimate._send_regulated_temperature force=True
2024-01-09 20:57:20.384 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - regulation calculation will be done
2024-01-09 20:57:20.384 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - Regulated temp have changed to 12.0. Resend it to underlyings
2024-01-09 20:57:20.386 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - Calling ThermostatClimate._send_regulated_temperature force=False
2024-01-09 20:57:20.387 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - period (0.0) min is < 5 min -> forget the regulation send
2024-01-09 20:57:20.388 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - Calling ThermostatClimate._send_regulated_temperature force=False
2024-01-09 20:57:20.388 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - period (0.0) min is < 5 min -> forget the regulation send
2024-01-09 20:57:20.395 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - Underlying climate changed. Event.new_hvac_mode is auto, current_hvac_mode=auto, new_hvac_action=None, old_hvac_action=None
2024-01-09 20:57:20.395 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - underlying event is received less than 10 sec after command. Forget it to avoid loop
2024-01-09 20:57:20.723 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - Underlying climate changed. Event.new_hvac_mode is auto, current_hvac_mode=auto, new_hvac_action=None, old_hvac_action=None
2024-01-09 20:57:20.723 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - underlying event is received less than 10 sec after command. Forget it to avoid loop
2024-01-09 20:57:22.083 INFO (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Thermostat bureau claire - Set preset_mode: eco force=False
2024-01-09 20:57:22.084 INFO (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Thermostat bureau claire - find preset temp: eco
2024-01-09 20:57:22.084 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - Calling ThermostatClimate._send_regulated_temperature force=True
2024-01-09 20:57:22.084 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - regulation calculation will be done
2024-01-09 20:57:22.084 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - Regulated temp have changed to 17.0. Resend it to underlyings
2024-01-09 20:57:22.085 INFO (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Thermostat bureau claire - Sending event EventType.PRESET_EVENT with data: {'preset': 'eco'}
2024-01-09 20:57:22.086 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - Calling ThermostatClimate._send_regulated_temperature force=False
2024-01-09 20:57:22.086 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - period (0.0) min is < 5 min -> forget the regulation send
2024-01-09 20:57:23.394 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - Underlying climate changed. Event.new_hvac_mode is auto, current_hvac_mode=auto, new_hvac_action=None, old_hvac_action=None
2024-01-09 20:57:23.394 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - underlying event is received less than 10 sec after command. Forget it to avoid loop
2024-01-09 20:57:23.400 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - Underlying climate changed. Event.new_hvac_mode is auto, current_hvac_mode=auto, new_hvac_action=None, old_hvac_action=None
2024-01-09 20:57:23.400 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - underlying event is received less than 10 sec after command. Forget it to avoid loop

I hade to change it twice in a row to have the mode enforced

Hello @petwri,

This is not normal. If you can get some logs when this occurs it will be helpful to investigate.

Be careful, I release a fix yesterday on the window management. So be sure to have the 5.2.1 installed before capturing the logs.

Just go to the integration configuration and select your VTherm.

The only thing is that you underlying equipment is in auto mode (or swicth to auto mode).

Underlying climate changed. Event.new_hvac_mode is auto, current_hvac_mode=auto, new_hvac_action=None, old_hvac_action=None
2024-01-09 20:57:20.395 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat bureau claire - 

You should try setting your underlying to Heat and not Auto. I’m pretty sur Auto mode is not totally managed.

Sorry for my anoying answers/ question: do you have a printscreen? I don’t understand what you mean…

Based on your feedback, I have removed the expert mode. The system is really working well. I am very happy with your Thermostat and solution. Thanks for this. Next thing is saving gas. I will use a heating degree day method vs consumed gas for heating.

1 Like

Just did a manual upgrade to the latest version, first tests showed a correct behavior with the window detection. I’ll keep an eye on it.

1 Like

I have started a new feature called “central boiler control” by VTherm.
Documentation is here: https://github.com/jmcollin78/versatile_thermostat/blob/feature_234-add_central_boiler_helper/README.md#control-of-a-central-boiler

If you are interested the description is here: Add central boiler control feature ¡ jmcollin78/versatile_thermostat ¡ Discussion #339 ¡ GitHub

1 Like

Hi @jmcollin! Cool to see that you are developing the integration! Many thanks for this. I have a gas fired central heating system. What is the purpose of this new feature? What is the advatage compaired with ‘thermostat over switch’?

Hello,

You can start / stop the central boiler depending of the state of one of the VTherm. If one is heating, the central boiler is turned on. If no VTherm needs heating, the boiler is turned off.

Controling the boiler is done through a service call which have to be configured (the tricky - bu very detailled part - of the configuration).