[APP][PRO] VThermo

Virtual thermostat and humidity app

Link to app store.

Device: VThermo

Add a virtual thermostat to a zone with a temperature sensor and it will turn on / off heaters in the same zone. The virtual thermostat will start operating when the target temperature has been set.

Use a door/window sensor in the same zone to automatically turn off the heater on a contact alarm. This can be enabled with the ‘Turn off if contact alarm’ - checkbox in ‘Advanced settings’.

Master thermostat

The virtual thermostat can be used as a ‘master thermostat’. As a master thermostat it will update the target temperature of other thermostats. Not only other VThermo - termostats, but standard phyical thermostats as well.

In Advanced settings, you can choose zones to control:

  • same zone
  • sub zones, just one level down
  • all sub zones, all levels down

Select ‘Update other thermostats’ to update other thermostats and ‘Update other VThermos’ to update other virtual thermostats.

Temperature sensors

You can select the temperature sensors the virtual thermostat will take into consideration when calculation its temperature.

In Advanced settings, you can choose the types of temperature sensors: standard, other thermostats, other VThermo - thermostats and other devices with a temperature capability.

You can use temperature sensors from the same zone, from the parent zone, and from the sub zones.

Triggers

  • Turned on
  • Turned off
  • The target temperature changed
  • The temperature became greater than X °C
  • The temperature became less than X °C
  • The temperature changed
  • Heating turned off
  • Heating turned on

Conditions

  • Is switched on / off
  • Thermostat is active / idle

Actions

  • Turn on
  • Turn off
  • Toggle on / off
  • Set the target temperature
  • Enable / disable ‘Invert switch’
  • Update temperature to X °C
  • Update target temperature min, max and step
  • Update target temperature offset
  • Enable / disable target temperature update

Device: VHumidity

Add a virtual humidity controller to a zone with a humidity sensor and it will turn on / off fans in the same zone.

Fans will turn on if the humidity is larger than the target humidity, and off if less than the target humidity. For humidifiers the logic can be inverted, by selecting the ‘Invert for humidifier’ - checkbox in ‘Advanced settings’.

Triggers

  • Turn on
  • Turn off
  • Toggle on / off
  • The humidity became greater than X
  • The humidity became less than X
  • The humidity changed
  • Humidity device turned off
  • Humidity device turned on
  • Target humidity changed

Conditions

  • Is switched on / off
  • Humidity has decreased more than X % points last Y minutes
  • Humidity has increased more than X % points last Y minutes
  • Humidity device is active/idle

Actions

  • Turn on
  • Turn off
  • Toggle on / off
  • Set the target humidity

Details about Advanced settings

Temperature

  • Temperature calculation method: select between ‘Average’, ‘Minimum’, ‘Maximum’, ‘Newest’ or ‘Manual’. Manual is used when updating the temperature with a flow, e.g. from a temperature sensor in another zone.
  • Validate temperatures: to only accept temperatures in the validate min / max range. This can be used if the temperature sensor reports invalid temperatures, eg. 0 or 100 °C.
  • Minimum validate temperature (°C): temperatures below this value will not be used when calculating the temperature.
  • Maximum validate temperature (°C): temperatures above this value will not be used when calculating the temperature.

Temperature sensors in the same zone

Select which temperature sensors to be used from the same zone as the virtual thermostat.

  • standard temperature sensors
  • other thermostats
  • other devices with a temperature capability

Temperature sensors from the parent zone

Select temperature sensors from the parent zone of the virtual thermostat:

  • standard temperature sensors
  • other thermostats
  • other VThermo - thermostats
  • other devices with a temperature capability

Temperature sensors from sub zones (one level)

Select temperature sensors from the sub zones of the virtual thermostat, just one level down.

  • standard temperature sensors
  • other thermostats
  • other VThermo - thermostats
  • other devices with a temperature capability

Control devices in the same zone

  • Heaters: uncheck this if controlling heaters in the same zone is not desired.
  • Thermostats: check this to control thermostats in the same zone. This is achieved by setting the target temperature above / below the measured temperature.

Control devices in sub zones (one level)

  • Heaters: check this to control heaters in sub zones (one level down)
  • Thermostats: check this to control thermostats in sub zones (one level down). This is achieved by setting the target temperature above / below the measured temperature.

Target temperature

  • Target temperature offset (°C): offset when the target temperature is updated from a master VThermo - thermostat.
  • Target temperature update enabled: uncheck to disable being updated from a master VThermo - thermostat.
  • Minimum target temperature (°C): minimum value for the target temperature between -10 °C and 150 °C.
  • Maximum target temperature (°C): maximum value for the target temperature between -10 °C and 150 °C.
  • Target temperature step (°C): select between step of 0.25 °C and 0.50 °C for the target temperature.

Target temperature in the same zone

  • From other thermostat: check this to update target temperature on this VThermo from another thermostat in the same zone.
  • Update other thermostats: check this to update the target temperature of other thermostats in the same zone.

Target temperature to sub zones (one level)

  • Update other VThermos: check this to update the target temperature of other VThermo - thermostats in sub zones (one level down).
  • Update other thermostats: check this to update the target temperature of other thermostats in sub zones (one level down).

Target temperature to sub zones (all levels)

  • Update other VThermos: check this to update the target temperature of other VThermo - thermostats in all sub zones (all levels down).
  • Update other thermostats: check this to update the target temperature of other thermostats in all sub zones (all levels down).

Contact and motion alarms

  • Turn off if contact alarm: check this to turn off heaters if there is a contact alarm in the same zone as the virtual thermostat.
  • Turn on if motion alarm: check this to turn on heaters if there is a motion alarm in the same zone as the virtual thermostat.

General settings

  • Hysteresis: to avoid that the thermostat will turn on and off too often, the hysteresis value must be greater than zero. Example: with a value of 0.5, and a target temperature of 20.0 °C, the thermostat will switch on if below 20.0 - 0.5, and off if above 20.0 + 0.5.
  • Invert switch: check this and the thermostat will switch on if above the target, and switch off if below the target.
  • On / off enabled: uncheck this to disable the thermostat On / Off - switch.

Timing

  • Delay in milliseconds between switching devices: if this value is set to a number larger than zero, it will add a delay between switching each devices on / off. This might help

Feedback:

Please report issues at the issues section on Github.

Release Notes:

1.8.4

  • Changes to “virtual class” must be taken into account

1.8.3

  • Fixed manual setting of temperature
  • Fixed brand color

1.8.2

  • Added option to control physical thermostats

1.8.1

  • Fixed VHumidity Humidity has increased/decreased conditions

1.8.0

  • Added option to validate temperatures
  • Stability improvements
  • Migrated to SDK3

1.7.0

  • Added flow to manually update the temperature, e.g. from a temperature sensor in another zone

1.6.0

  • Added setting and action to update ‘Target temperature update enabled’
  • Added setting to turn on if motion alarm in the same zone

1.5.1

  • Min. and max. target temperatures can be updated between -10 °C and +150 °C

1.5.0

  • Min. and max. target temperatures can be updated between -10 °C and +60 °C
  • Added flow to update ‘Target temperature min, max and step’
  • Added flow to update ‘Target temperature offset’

1.4.0

  • Added setting to change step for target temperature
  • Added flow to update ‘Invert switch’
3 Likes

Hello. Sub zone(one level) is this the same as basement? If not, please enlighten me😊

Let’s say you have four zones:

A
|- B
|- C
   |- D

Here B and C are sub zones one level down from A

So if i have " house" and in “house” i have “playroom” and “kitchen” three are sub zone from “house”?

Yes

@balmli Hi, first of all thanks, you app is extremely useful and well done. I have two request for you, one is related to the setpoint scale. It has a minimum size of 0,5°C. This is quite big if we consider that you spent about 8% to 10% (in energy) more for each grade you increase the temperature of your home and also considering that generally in winter the temperature range is between a very small range 20 and 22 degrees. So my question would be if you see any possibility to move it from 0,5 to 0,1 (may by reducing the global range from 15 to 30 degrees and so you have much more space in the virtual thermostat). This would increase the personal confort to set a more ideal temperature. The second request is about the “Invert switch” that you need to use when you pass from winter to summer. It would be nice if this could be managed by a flow, to make it automatic. This would be useful especially when you have two or more VTHERMO in your home. For example I have six. Thanks again.

Hi @Andrea_Marchisi

Looks like using a step lower than 0.25 °C does not work. So I’ve added a setting in Adv. settings (“Target temperature step (°C)”) so you can switch between 0.50 °C and 0.25 °C. The current Homey mobile app does not update instantly according to the new settings (at least on my iPhone), so you have to close the VThermo device after updating the settings, and open the device tile again to see the change.

I’ve also added a flow to update the “Invert switch” setting.

Here’s the link to test-version for you to test:

1 Like

Many many thanks! I’ll test it immediately.

Hi @balmli, it’s seems that everything works perfectly. I’ll monitoring for the following weeksand I’ll let you know if something strange happens. Thanks again, really appreciate!

1 Like

@balmli, after one month, I can confirm you that the app works perfectly. I have 8 Vthermo and everything is fine.

1 Like

Dear Balmli,

Would it be possible to read the sensor values from temperature sensors in the same Level but different zone?

I use this structure:
House
-Bath
—Climate
— Lightning
— Sensors
— Media
— Logic

  • Dinning Room
    —…

Now the zone Sensors is a subzone from Bath but not a subzone from Climate where my thermostat is located. Would it be possible to teach the app to read senors within the same level - Even window sensors?

Regards
Andreas

Hi,

Only same zone, parent zone (one level up) and all sub zones (one level down) is supported.

As a new homey (pro) user i configured VThermo as a dehumidifier (for my bathroom) and a humidifier (for a humidifier in the living room). Everything works almost fine, but i was wondering one thing.

The dehumidifier (VThermo inverted humidifier) in the bathroom sets the target humidity when someone takes a shower (i detect this based on the water temperature going to the shower). When the measured humidity in the bathroom is higher than the target humidity, VThermo sets the state to TRUE/YES/ON and based on that i switch on ventilation in the bathroom. So far so good.

After taking the shower, the ventilation stays on and after some time the humidity in the bathroom is back to the target humidity. I would expect that VThermo sets the state to FALSE/NO/OFF when the measured humidity is the same as the target humidity. (i set the hysteresis to 0). But even if the humidity = target humidity with hysteresis set to 0, the state of VThermo is still TRUE/YES.

How do i have to configure the humidifier in VThermo so the state changes to FALSE/NO/OFF when target humidity is reached?

Good point and same here with a window contact sensor. @balmli: please implement the automatic ON feature when the contact sensor alarm is switched off. In my case when the window is closed again.
THX

Second featue request:

@balmli: a heater can be switched OFF when Vthermo is swiched OFF via a contact sensor.

Is it possible that a thermostat will also swiched OFF? In my case a use Tado thermostats and it would be a nice feature to turn them OFF/ON (post above) via a Vthermo and a contact sensor instead of lower/rise the temperature.

THX

I guess you are using the VHumidity device in the VThermo app (?)

With a hysteresis of 2, and a target humidity of 40, it will turn on above 42, and the turn off at 38.

Yes, it should turn on as soon as the contact alarm is off.

Hi @balmli, thx for taking time to reply to my question and al the hard work you have done for this useful app.

That is correct, i’m using the VHumidity device in the VThermo app. I understand how it works with hysteresis of 2. I’m trying to figure it out how it works (or should work) with hysteresis of 0. With target humidity of 40, i would expect that it wil turn on with humidity above 40 (which in fact it does) and turn off at humidity of 40. As far as i can see this doesn’t work that way, when humidity is 40, it stays on. I cannot test what happens when humidity is 39, because my ventilation takes far to long to reach that.

Yesterday evening I also tried to put it off by raising the target humidity above the measured humidity. The dehumidifier state didn’t go off.
@balmli can you check if dehumidifier is working ok on this? Which info do you need from me?

It should but it doesn’t :wink: Maybe same problem as @Torch1969 with the VHumidity.

My test environment is simple:
tado thermostat + aqara sensor + vThermo, these devices and are the only one in a zone.

Temperatures (target_temperature + messured_temperature) are synced between tado and VThermo thermostats in both directions.

Settings:
-Contact alarm is checked
-General settings - thermostat On / Off - switch is checked

If you want me to run another test or help in any way, let me know.