Thermostat Controller App set up

I'm trying to set up the Thermostat controller App to control my home thermostat based off the average temperatures of several sensors I have throughout my house and I am a bit confused on how to get this App to work correctly.

What I am trying to achieve is, when the average temperature drops below 69 degrees I want to heat to turn on and when the average temperature goes above 72 degrees I want the AC to turn on.

here is what I currently have.


am I close?

I also would like more info on what each of the boxes mean. currently if I'm reading things correctly it looks like my Controlled Thermostat (so I'm guessing that is my real thermostat thats in my house) should be set to 77 degF with a current temp reading of 71, it should be in Heat mode with Fan set to Auto (I'm not sure what the State Idle means) and it is being controlled by this App.

but when I look at my actual thermostat the mode is OFF and it is currently reading 71deg F
so why is my heat not turned on and set to 77?

You've got heating and cooling setpoints reversed on the Controller.

ok so if I change the heat set point to 69 and the cooling set point to 72, the heat will turn on when the average temp is less than 69 and stay on till the average temp is above 72?

what I'm trying to achieve is keeping my house around 70 degrees and have the system turn on heat or AC as needed to keep it as close to that 70 degree temp as possible

Cooling setpoint defines the high temp. at which point cooling should begin, to bring the temp back down to the cool setpoint..

Heating setpoint defines the low temp, at which point heating should begin, to bring the temp back up to the heat setpoint.

Between the heat setpoint and the cool setpoint is the temperature in which the HVAC does nothing.. it's Idle.

No, it will stay on until the temperature rises to 69 plus half the hysteresis.

When the temperature is below the heating setpoint, it's calling for heat, and it will turn on heating. Then the temperature rises until satisfied (as first sentence above).

Cooling is similar, but opposite. Cooling demand is present when temperature is above cooling setpoint, and cooling will occur until the temperature drops to 72 minus half the hysteresis.

ok cool now things are making sense sorry if it took me a while for things to finally click.

So since I'm trying to keep my house around 70 degrees I should have my Hysteresis set to 1.0 and Heating set point to 70 so that when the average temp is 69.5 or lower the heat turns on and it'll stay on till the average temp reaches 70.5. The Cooling setpoint should be 72 so that when the average temp is 72.5 or higher the AC turns on till it drops to 71.5?

for the Control Offset what is normally a good value for that?

This is what i currently have in my app and my thermostat is still saying its turned off. any idea why the stat is still Idle? and my thermostat is turned off?

That depends on how wide the temperature variation is between the controlled thermostat's temperature measurement and the other sensors. It has to be large enough to span that gap. It forces the thermostat into heating or cooling by adjusting its setpoint way beyond what you are shooting for.

As for its present state, refresh the page. It's hard to believe your thermostat won't begin heating with its setpoint at 75 and the temperature at 71.

ok yeah that State of Idle is what really has me confused now. I think once I can get that to change somehow things should start working the way I'm wanting them to, but I just can't figure out how to get it to change Idle when it looks like it should be heating mode, I'll manually change it over to heat for now to see if that gets things going and working.

You can always check the device page of the controlled thermostat to see what its doing.

Hi,
OK i believe i got it working or at least figured out all the parameters. But I seem to be running into an issue. I have a HoneyWell Wifi TCC Thermostat connected to Hubitat using the Total Comfort API that csteele made.


The issue I seem to be having is that even tho I have it set up to change between Heat and Cooling, my actual thermostat doesn't seem to change.
I've checked the logs and it looks like according to the Logs it sends Set Heat when I check my actual thermostat the state doesn't change from cooling to heating.

Any idea why? is my thermostat just not compatible?

I think you don't want the Controller Thermostat to be in Auto mode, but rather in whatever mode you want the Controlled Thermostat to be in. For most applications, thermostat mode changes very infrequently, sometimes only seasonally. So you need to figure out how/when you want the Controller Thermostat Mode to change. You can also just set the thermostat mode on the Controlled Thermostat, and doing that would update the Controller Thermostat. This app does not manage thermostat mode itself.

ooo ok I thought by putting the controller into Auto Mode it would switch from AC to Heat as needed to keep a constant temp in the house.

My house is weird (poor duct work and or insulation I guess) and especially in the fall and spring Id like the ability to switch between AC and Heat throughout the day (but ideally all year round Id like this ability) that way I can keep the Nursery a comfy temp and not have to worry about switching from heat to AC (or vice versa) manually

do you know if there is a way maybe using Rule Machine or something that I could possibly achieve this?

I will look into this. To be honest, I don't know exactly how this should work for changing the thermostat mode when the Controller is in auto. I'll get back to you...

Ok cool thanks :slight_smile: in ST im able to write an automation that changes the mode and temp based off 1 temp sensor I can't take an average of sensors and use that. So I was hoping there was a way to do it in Hubitat, if not O well i'll just do it the old fashion way set the mode manually

There are plenty of regular averaging apps available... including ones from Bruce:

I wrote an averaging app for myself that does this using weighted averaging. It just means that the most recent value pushes the average around more than the value received an hour ago. It puts the average values into a virtual sensor and since it's just a device, you can use it anywhere.

AverageThis can be found in HPM:

Or downloaded:

ok cool thanks yeah I've been messing around with that App, I guess then my best option would be to use this to find the average and then have this virtual sensor activate a routine in Alexa and get her to change my thermostat for me

That's a subjective conclusion that I can't argue with, but I can offer alternatives. :smiley:

I have three child averaging devices configured.. Upstairs, Downstairs and Whole House. These days I'm using Whole House's average to compare to the setpoints pulled from the Thermostat. If the Whole House Average is above the Cooling setpoint then I send "cooling" mode to the Thermostat.

And if the Whole House Average is below the Heating setpoint then I send "heating" mode to the Thermostat.

The temperature sensors themselves only update every 5 mins, and thus the Average can only change on any single Event, the HVAC is not constantly cycling. I've also added in a Hysteresis number, which happens to be Zero, in case I ever need to decrease the cycling. Additionally, in deference to my wife, I have a specific window sensor tied in to prevent any Thermostat commands when the window is open. Her normal "we need fresh air" routine is to open a specific set of windows and walk to the thermostat and shut it off. Now all she needs to do is open that window. :smiley:

Mostly my routines mimic what I could do today in Thermostat Controller and Scheduler but I did all this before those were available.

OK thanks :slight_smile: that seems like a nice and easy approach too so I can look into creating some routines similar to yours.

One last question then I think I might understand everything in the Thermostat Controller.

Down in the Controller Thermostat section there is the Idle Method box, what's the difference between the 2 options, Mode OFF and Control Offset?


The controlled thermostat needs to be stopped from calling for heating or cooling when the target temperature is reached, so that it's operating state becomes 'idle'. There are two ways to do this: (1) Push its setpoint way down (or up for cooling) so that it no longer calls for heat. (2) Turn its thermostat mode to off.

Download the Hubitat app