WHAT I NEED TO DO:
To make Aux heat in my heat pump HVAC always turn on when the temp drops 1-2 degrees under the thermostat set temperature (for the reasons, see below). But my thermostat (GoControl GC-TBZ48) does not allow to confugure Aux heat to kick in at 1 or 2 degrees delta under the set temp, only at the 3-degree delta. I installed the Thermostat Controller but I cannot see Aux heat controls in there. Can I make this work with the built-in apps or rules, and which apps or rules engine? If I cannot do it with the built-in rules, can I write a script, and which script engine? (see below on what the rules or script would need to do). Please help me figure out the direction here
NOTE: I don't want to switch the system to Emergency Heat on cold days, it's very expensive. My understanding the Aux heat has both the heat pump and electric coils working together, so I assume it's significantly less usage than the emergency heat alone. Unless someone can convince me the price difference between them is negligible, then I guess none of this is needed.
WHY?
I have an aged heat pump, which on some very cold days (under 20F outside) is stuck at 1-2 degrees below the thermostat set temperature and cannot raise it further. I want the auxiliary heat to always kick in on these days. What I think is happening the heat pump is able to maintain it at under 1-2 degrees for a long time and does not let it drop by 3 degrees, so the aux heat does not kick in and it just keeps running for hours at a time. So before I can repair or replace the system, I need a temporary solution to stop wearing out the system 24/7.
RULES/SCRIPTING IDEA (if nothing else works)
How about this, or any other ideas? I can manually bump the set temperature by a few degrees temporarily to force the 3-degree delta and make aux heat engage, but I need something to do it automatically. So this kind of script:
Trigger this script as soon as the room temp drops 1 degree under the thermostat set temp
Remember the target set temp and then bump up the set temp by 2 degrees (this will engage the aux heat since the delta is now 3 degrees under the set temp)
As soon as the room temp reaches the target set temp, return the set temp back to the remembered target temp to stop the system.
I guess it will have to be 2 different rules or scripts but they need to use a persistent variable between them to save the target set temp.
I can manually enable the script on cold days, and then disable it when the weather warms up.
I would do this using Rule Machine. A single rule should do the trick.
Required Expression
Outside Temperature > X
Trigger
Room temp <= thermostat set temp - 1
Actions
Save current thermostat temperature to variable (OldThermostatTemp)
Set Thermostat Heat Temp to Variable: OldThermostatTemp + offset of 2
Wait for condition: room temp >= OldThermostatTemp
Set Thermostat Heat Temp to Variable: OldThermostatTemp
The Required Expression will ensure that the rule only runs when it needs to - ie when the temperature outside is coder than X.
I put the zen58 contact in the "W2" which is the strips. That gives me total control. Used this rule. Of course more than likley by the time the relay closes the set point is so close to the room temp there would be no call for aux. Pretty sure mine have not came on all year.
Yes, that worked great. Thank you! Kudos to the power of the Rules Machine - having local variables and wait modes eliminates the need to do script programming in here, and in many other such cases I'm sure
Interesting, I'll keep this solution in mind for the future. For now I'm glad I was able to avoid any hardwiring and even no need to do script programming.
Also, in this older post I see someone was attempting to control Aux heat by setting some variable or state, but the context was missing from the post.... I do not see direct Aux control neither in the thermostat device nor in the Thermostat Controller App.
I very much did what you are asking to do for a slightly different reason. I wanted the strips to come on when heat pump couldn't keep up, but also wanted the ability to raise the temp by 2 or more degrees at a time without triggering the strips so I set my CT101 at a 4 degree differential and then did similarly to what you suggest.
My trigger includes outside temp below like 34F, heat pump is running, and temp in the house drops. This last trigger ensures that you don't run it too soon, either.
One other thing I did that others haven't mentioned is that I had two different rules. One for turning strips on and one for turning off. I have a boolean variable that one rule turns on and the other turns off and that variable state is part of the trigger rules. This seemed cleaner than using wait conditions or things like that for edge cases.
Nice, great you're still around! Thanks for clarifying, I see now that it wasn't a direct setting for Aux, but a similar solution.
I thought using use the built-in wait action was cleaner, but I see your point of keeping it more failsafe with two separate rules.