How do you use Thermostat devices?

Can anyone point me to the information on how a Thermostat device is “supposed” to work - like normally??

I would appreciate anyone who’s got the time/patience to explain how the Thermostat devices are supposed to work considering they have

  • setCoolingSetpoint
  • setHeatingSetpoint
  • setThermostatSetpoint
  • setTemperature

What are they all for and what’s the relationship between them ??

I’m fine with the thermostatMode and thermostatFanMode - just a bit lost on what to represent for all the setpoints and potentially temperature.

When I setup a VirtualThermostat, I can’t set the cooling setpoint below the heating setpoint, and the thermostat setpoint seems to mimin/link with the heating setpoint.

I don’t follow what therefore is needed on a tile, as I have an AC that has custom driver, that frankly just ignores the Hubitat capabilities and seems to just do its own thing with custom commands to control the AC unit - the author has long abandoned Hubitat and isn’t able to help much. So I’m struggling to figure out what most folks would use and why??

So with not much to go on, I took a look at the Virtual Thermostat device, and it seems very weird and unclear about how most folks would expect a dashboard tile to work and what controls they wish to have on the tile vs a dialog etc.

So keen for you’re input please…

I’ve written a driver for a thermostat (Actron Connect), but never could quite get my head around how to handle setting the temperature correctly (so i’ve never implemented the temperature controls), as like you’ve found there seem to be several different methods to do so, and its unclear which ones get called when doing certain tasks, by rules and by the dashboards etc.

If and when you do find the proper/official answer i’ll be very interested in finding out whats what.


Link for the driver? I wouldn’t mind look through the code to see what’s what

My HVAC system is a heat pump system. I have an Ecobee Thermostat (not sure which model, after 3, but not the newest one either). I use it in automatic mode, so I set a cooling point and a heat point. Since its summer here, I usually keep my range to cool to 74 or heat to 69. If temp goes above 74 or falls below 69 it will do which ever to get back in that range. We keep our cooling set point around 74 degrees (I’m loosing that battle with the wife… every summer she ticks it up another degree). With it being summer here we’ll look at cooling. With it set to cool to 74, if the temperatures get warmer than that it will cool to get it back within the specified range. If I need it a little cooler or warmer, I can still adjust those set points and it will hold it until the specified time (with Ecobee choices are X hours, or until the schedule changes). I usually use a specified time of 2 hours. once that runs downlit will revert back to the current schedule. So, right now with the cooling range set to 74, if I want it a little warmer, just raise the cooling point to 75, 76, the system wont run , it will just let the temperature go up to that point, then cool to that set point if necessary. If I want it it cooler , then I lower the cool point to 73 or 72, the system will run until it cool to that point then shut off except to maintain.

Now all of that being said Ecobee does have a function where it will also run cooling to counter high humidity. That I cant explain , but it does work rather well. and if its cooling too much we have the option to just raise the cooling point a bit. Hope this helps a little!

So what I was trying to do yesterday and this morning was knock a degree off the cooling point to get it to cool just a little bit more. But when I would tap the set point, it would cancel out of the thermostat controller and go back to the main dashboard without making any changes. That’s why I don’t think the issue is with MakerAPI, its in the dashboard/ tile. Beside if I wanted to change it by more than one or 2 degrees I don’t want to be kicked out of the controller and back to the dashboard for each degree change.

That’s interesting - as in Australia, we don’t have that concept on any home air conditioning systems. Like our cars, you set a temperature and then leave the system to Auto(matically) keep it within that range (+/- some inbuilt degree). Do all of your cars have air conditioning sysems with two setpoints (ie cooling and heating) or just a single target, like 22.5c / 73F and the system just cools or heats to keep it at that temp. I never understood why the USA has that more complex dual setpoint solution?

So in the standard or built in virtual Thermostat, what does the SetTemperature do? What does the SetSetpoint do?

I’ve noticed if you change the setHeatingSetpoint, it also changes the setSetpoint value (and they are essentially the same value it would seem as changing one, changes the other).

So should the tile configuration have 3 show choices ?

Show Thermostat with:
[ __ ] Cooling/Heating setpoints
[ __ ] Thermostat setpoint
[ __ ] Temperature setpoint

The Wizard could interogate the Capability and automatically tick the option above based on what the driver responds with - and obviously the user can then just turn on/off the option they don’t want to see.

Thoughts on that?


Here is my thermostat in auto. It seems Ecobee uses a 5 degree range. Change either set point, and the other is changed to 5 degrees above or below. My old ecobees you could change that, this one doesn’t seem to be capable of that.

With my current setting if I want it cooler, ill drop it by one or two, warmer raise it.

@g.slender Here is the app/driver I wrote for controlling my Actron system. hubitat/Actron_Connect_Integration at main · dcoghlan/hubitat · GitHub

With all this great discussion, its becoming a bit clearer for me on why there are the 4 different temperature methods available. Although the AC units in Aus don’t seem to work on the same heating/cooling set points, I think I have an idea on how to implement it in my app/driver now.

As you can see in that second picture, I do have the option of selecting a mode then choosing a specific temperature, say 74° I just prefer to use it in automatic mode.

Thanks Clay - can you send me that 2nd recording as I’d like to review what you’re saying isn’t working

I’m working on it. I’m running into a issue that I cant do it fast enough to keep the file small enough to email. Worst cast, I may have to throw it into one drive or drop box and give you a link to it.

1 Like

2 posts were merged into an existing topic: Thermostat controller not responding