[Release] vThermostat 0.5 - Intelligent virtual thermostat device / app

vThermostat will allow you to specify one or more temperature sensors (if multiple sensors are used, the temperatures are averaged) and use them to control one or more outlets for heating and/or one or more outlets for cooling.


  • Creates a virtual thermostat device that can be used just like a real thermostat (via dashboards, etc.) While I have not tested with Google Home / Alexa yet, it should work. Let me know if that is not the case.

  • Supports Heat/Cool/Auto modes. You can set to Auto, define an outlet for heating, and another for cooling it will control both appropriately

  • Includes a safety 'kill' in case the temperature is not being updated (ie. sensor battery dead). This defaults to 65 minutes. You can change this by setting the maxUpdateInterval attribute on the driver. Also has an autorecovery feature that will re-enable in the last mode if/when temperature is updated.

To use this, install the virtual device handler, parent, and child apps' code. Then add the parent app (vThermostat Manager). Open vThermostat Manager and click 'Add vThermostat'. Follow the prompts.

As of now, this should be considered Beta. Please keep an eye on things for a bit to be sure it's not doing stupid stuff. I will add better documentation as time permits.



Thanks for this app. I'm actually using it to simply get a temperature sensor to update a virtual thermostat. I appreciate that you have not made the outlets required entries in the app. [I realize that RM and perhaps other apps can do this too. I just found your app an easy solution for my use case.]

This app works great for my application, controlling a pool heater w. sonoff TH16. Also working perfectly with google home. Thank you for putting this together!

One request..If it wouldn't be too difficult, could you add an option to turn off the debug logging?

1 Like

I'm seconding that request. It's really clouding up my logs too.

Hi, i tried to use it with an aqara zigbee temp sensor and a shelly 1 as switch for my heating boiler (alone the shelly 1 works) but i have two types of problems: n.1 the degrees are in F and but i live in Italy, and in EU we use C degrees (so i have modified the driver and changed to C scale but i'm not sure i made it right), and n. 2 the commands seems not sended to the shelly and the aqara temp sensor seems not send temperature data to the virtual device.
Anyone can help me?

If you really don't need it you can try to disable it manually with modification to the driver, search and comment this lines with a //:
line 94: log.debug "now=$now, lastUpdate=$lastUpdate, maxInterval=$maxInterval, heatingSetpoint=$heatingSetpoint, coolingSetpoint=$coolingSetpoint, temp=$temp"

line 135: log.debug "evaluateMode() : threshold=$threshold, actingMode=$mode, origState=$current, newState = $callFor"

Waiting for the developer to add the option to disable logs


Need to get working in Celsius not farenheit please how can I do that my sensor and my country we all metric here :slight_smile:

Another request for Celsius, please! I suspect you'll get a lot of these as most of the rest of the Planet uses Celsius...