[RELEASE] Advanced vThermostat - Virtual Thermostat HVAC control

Hay no problem at all, really felt bad asking, and totally understand busy, me to at the moment! And thanks for your time! :+1::+1::+1:

Here is a section of the capability definition for thermostat:
thermostatMode - ENUM ["auto", "off", "heat", "emergency heat", "cool"]

thermostatOperatingState - ENUM ["heating", "pending cool", "pending heat", "vent economizer", "idle", "cooling", "fan only"]

Off isn't one of the options for operating state. So, I will interpret your question as how fan should be handled when thermostatMode is off. A user sets thermostatMode to off to indicate that they do not want either heating or cooling, so no heating or cooling calls should be generated. However, the user might still want fan and would indicate that by setting fanMode to on. So, with fanMode set to on, the fan should run independent of what thermostatMode is set to. When fan is to be on and there is no heating or cooling call (either because setpoints are satisfied or because thermostatMode is off), the thermostat should indicate that by turning any fan device to on an also by setting the thermostatOperatingState to fan only as opposed to idle.

That's what I meant :slight_smile:

Thanks, now I get it.

So auto mode is working in the tests I did, will get the other mode working in a few days if all goes well. Thanks again.

I'm using the Leviton DZPA1-2BW Decora Smart Plug-in Outlet and it seems to work just fine. Feel free to add it to your compatibility list.

Quick question... is the thermostatThreshold updatable without modifying the code? I'd like to see if I can get my AC to toggle on and off a little less often. I'm assuming this parameter controls the point at which the difference between the actual temperature and the set point will trigger an "on" if that makes sense.

I'll have to try it again, just didn't seam to work well for me.

hello all! what is the plug in for? i have my AC which has its IR remote. I have a temperature sensor which is on my hubitat added but the AC not, since its not zigbee or zwave. but alexa through an IR remote can manage it. can i make it work this device with it?

That's exactly the setup I use. I have Zen15 connected to my AC but only to monitor power and energy usage. The virtual thermostat sets a switch on and off to control the AC or heating device.

I use a Harmony Hub to control the AC, In your case you would set a virtual switch for turning the AC on and off . There are a few ways you could do it I imagine

You could use the switch to activate Alexa routines, or use Echo speaks in HE. Echo speaks can be setup to send voice commands to a specific echo device. If you don't already use echo speaks probably using the Alexa routines would be the easiest setup.

Hi @nclark, just revisiting this thread to see if there was a new version available that will work with Google Home when in Heat mode ? i.e. the issue I have had is that at one point I could no longer set the thermostat heat point via Google home while in Heat mode. If I set the thermostat in Auto mode, google can set the heating point, but it does so strangely. i.e. if I ask for 20 degrees (celsius), it will set heating to 13 and cooling to 27 (an offset in either direction of 7 points). This works in the same way whatever heat point I ask for.

Preferrably, I would only like to use the thermostat in Heat only mode as there is never a need for cooling her in Iceland :slight_smile:

Is there any chance we can get it working again like it did a few months back ?

1 Like

Is there a thermostat scheduler that can be adjusted / programmed from a dashboard?

Any clue whats wrong? Trying to add the raw driver data

@sbartoszek85 Did you install both the app and driver? Also sometimes I've seen an incomplete copy paste operation that results in errors when HE compiles the code. Best way to install it would be through Package Manager.

It does something similar to me on HomeKit, set heating to something like 22 degrees then switch to cool, and that’s higher the the heat point, turn it down to 15, then back to heat and it’s all over the place? I’ve tried so many times, I gave up, unfortunately I’ve had to stay with Smartthings/HomeKit for thermostat as that works well, everything else is on Hubitat.

It depends on your use case, but I have been using this with a panel heater with great success, but I only set it to heat mode. This mode however does not allow google to change temperature. Setting to heat and cold will allow me voice control, but then at the expense of having a confusing (to me) experience with heat / cool setpoints.

What am I missing? I added a Kasa TP400 plug, with a space heater plugged in to keep a greenhouse from freezing. I have an Inovelli 4-1 sensor which includes a temperature sensor.

I created a child through the app with the appropriate sensor and switch, set heating setpoint to 40F with a threshold of 1*. I ignored the cooling outlet and temp.

Save it. But, now the thermostat is forcing the outlet on despite the sensor being at 49*. I thought something else might be forcing it but deleting the thermostat devices stops the behavior.

I think I am misunderstanding how to use it?

What you did should work unless the Kasa plug works in reverse, as when it says to turn off, it actually turns on? Just a taught and you could try setting the asking temp setpoint higher to see if that turns it off when it should turn it on? Maybe try another plug to see if you have the same behavior.

Also could you turn loging on during testing just to see what we can find out.

Well, I'll be darned. I made the exact same vthermostat but left the heat at 70* and changed the log settings, then created a dashboard tile (which I hadn't done before). The plug kicked on immediately, as it should, reading 50* at the sensor. But, now when I change the temp using the dashboard tile, it responds appropriately and turns off once I get below the threshold. From reading the instructions I thought the dashboard tile was optional but it must be necessary, or something else funky was going on.

It should not be required but then again I always have one for testing purposes so...

Thanks for letting me know all works for now!

hello, my particular setup requires me to add a delay before the outlet associated with the thermostat will be turned off as my heater has a delay and my circuits needs to stay on for 3-4 mins extra.
I need this delay only when the thermostat is on idle and is switching off its associated outlet.
I have tried adding to the child app Sleep(120000) but it complely breaks it and the outlet never switches off anymore.
here is where i added the sleep command right after else
} else {
heatOutlets ? heatOutlets.off() : null
coolOutlets ? coolOutlets.off() : null
logger("debug", "Turned off all heat/cool outlets.")
}
}
How can i add this delay? thanks

ok so first of all the sleep function is not supported in HE-Groovy, you should use the "pauseExecution(ms)" method as described here...

https://docs.hubitat.com/index.php?title=Common_Methods_Object#pauseExecution

Second, I'm not really sure what you are trying to achieve here, so if you need more help you will need to be a lot more clear on your setup, because as it is described above, it makes no sense to me at all.

ok what i want is pretty simple, i'm not sure why i explained it so poorly.
Ok so each thermostat controls a specific outlet which in my case is an underfloor water circuit.
When the thermostat state is set to "heating" it will turn on its linked outlet, when the thermostat state is set to idle it will turn off its associated outlet.
All I want is to have a delay before the thermostat sends the "turn off outlet" command .
So basically I want the "turn on outlet' command to be sent instantly by the thermostat like it is now but when the thermostat sends the "turn off outlet" command to be sent with a 2-3 minutes delay.
The logic behind this is that my main heater will be turned off when all water circuits outlets are off but to increase the heater life span this doesn't always happen instantly so I want to avoid the heater pumping water with all circuits being closed which obviously forces the water pump hence I need a delay when turning off my water circuits to make sure there is still room for the water to circulate before the heater is completely off.
Hope it makes sense now and you can guide me to what does it need to be changed in the groovy code to accomplish this delay, thanks !