Mimic Nest Thermostat Comfort Sensor

I have a dozen temperature sensors throughout the house. And a Nest Thermostat.

Trying to mimic the Nest sensors feature where the temp is controlled by a specific room sensor between predefined times (and now with HE, some virtual switches). Use x sensor from 9-11, y sensor from 11-4, etc.

How would I set this up and implement it? Rule machine for the logic of the different times. As a test, I’ve created a switch for 3 sensors and use bpt world’s One At a Time to ensure only one switch is on at a time. But this doesn’t seem like the best or simplest approach when using a bunch more sensors.

Even if I make a switch per sensor, I’d need to somehow feed the chosen sensor’s current temperature into the Thermostat Controller. When the sensor is changed, the new sensor’s temperature gets fed to Thermostat Controller. Right? How?

Finally, for out of schedule comfort sensing (apart from the rule), how could I create something on the dashboard with a drop down menu, or a set of radio boxes to chose which sensor should be used until the next scheduled sensor change?

I don’t need the tiny details, yet. Pointers in the right direction and a practical foundational approach would be most helpful to get started.


@bravenel

You could use a virtual Temperature Sensor, and that's the one to be used in Thermostat Controller. So your rules would just set that to the right actual sensor depending on the time of day. The simplest way to do this would be to have a rule for each time period, using Required Expression to select the time period. Then the trigger of each rule is the correct real temperature sensor for that period Temperature Changes, and the action is Custom Action to set the temperature of the virtual Temperature Sensor.

Like this:

The way the action is defined is this:

Screen Shot 2022-08-08 at 4.07.36 PM

One way to do this would be to use a Number Hub Variable on a Dashboard that you can change the value of to 1, 2 or 3 (for 3 sensors).

So when you want to go off-schedule, you change the time-selector variable to one of the other time periods, numbered 1, 2 or 3. You'd have a rule triggered at those times to set the variable to the correct value.

Instead of putting the time periods in the Required Expressions (as shown above), only put the variable, for example time-selector = 2. Then you have a rule that fires at the 3 period start times, to set the time-selector to the right value. Changing it's value on a Dashboard simply overrides which period it is, until the next scheduled one starts.

I understood everything except the time period variable for out of schedule use. Wouldn’t I want to use a sensor variable instead? To manually use sensor 1 (bedroom), sensor 2 (family room), etc. Choosing sensor 1,2,etc would force it to be used to feed the virtual sensor, overriding whatever the time-based rule was using. Or did I misunderstand?

It gives me a great start. Thanks!

There isn't such a thing. There can be a connector that is a temperature sensor device, but that's not what you need. You need a way to select which sensor to use. Think of it this way: you number the sensors 1, 2 and 3. When 1 is set into the number variable, the rule that uses sensor 1 is enabled. When 2 is set, the rule that uses sensor 2 is enabled and the others are disabled. So there are two ways any given sensor becomes the one driving Thermostat Controller: when the scheduled period starts (periods 1, 2 and 3), the variable is set to 1, 2 or 3 and the corresponding sensor rule is enabled and that sensor is the active one; or, when you manually change the variable value you force the selection of which rule, and hence which sensor, driver TC.

I misunderstood the “time-selector variable”. Thank you for the clarification. We’re on the same page, I was using the wrong terms. I’ve already started to put some of this in place. Will let you know when it succeeds.

thank you!

1 Like

Unless I’ve massively screwed up (quite possible!), I just discovered that the Nest’s temperature is overriding and ignoring the Thermostat Controller’s sensor reading. E.g. virtual sensor manually set to 78, thermostat controller cooling setpoint set to 75 and status is cooling, but the temperature on the Nest itself is reading 74 and doesn’t turn on the cooling.

So this idea is dead in the water for now.

I’ll have to ask in the Nest thread and if all else fails, I hear the Ecobee 3 works really well with Hubitat! :smiley:

1 Like

Thermostat Controller only really works with a thermostat that allows it to be completely manipulated. I don't know about Nest in this regard, as its been years since I owned one.

@bravenel Quick update. Nest CAN be completely controlled. The thermostat controller needs to be set to Control Offset. After some time, things start to work. Once I figured this out and also stopped using variable with spaces, the nest thermostat and thermostat controller and scheduler have been working ok for the past couple of months.

I managed to get a few Keen Smart vents in Dec. Using them and virtual thermostats and some extra logic, the need to implement the original request no longer exists. Different ways to skin the same cat.

Thank you for your help and ideas along the way.

2 Likes