mitch236 Posted March 4, 2013 Posted March 4, 2013 Here is my current programming for running the AC: If On Mon, Tue, Wed, Thu, Fri From 5:00:00AM To 8:00:00AM (same day) And Module 'Climate' Temperature >= 60 °F Then Set 'Indoor / HVAC / Main House / HVAC Main House' Fan Auto Set 'Indoor / HVAC / Main House / HVAC Main House' Mode Auto Wait 3 seconds Set 'Indoor / HVAC / Main House / HVAC Main House' 80° (Cool Setpoint) Set 'Indoor / HVAC / Main House / HVAC Main House' 60° (Heat Setpoint) Else - No Actions - (To add one, press 'Action') My problem is when I try to change the set temp at the thermostat, it changes back to the programmed set temp. Is there a better way to write my programs to allow for local changes?
oberkc Posted March 4, 2013 Posted March 4, 2013 Forgive me, but I don't have the climate module. What does the temperature variable represent? Outside temperature? Why is it important that this temperature be at or above 60 degrees for you to want the thermostat set points to change? What would happen if you take the temperature condition out of the program? Does the problem persist? Is it possible that you have other programs controlling thermostat set points? The only thing that I see could force this program to change thermostat set points past 0500 is if climate/temperature changes between 0500 and 0800, triggering a program evaluation. I don't believe that this program is reacting to local changes of the thermostat. I am curious why you use a from/to condition for time. What are you trying to achieve that could not be achieved simply by: time is 0500 and temperature >= 60
mitch236 Posted March 4, 2013 Author Posted March 4, 2013 I use the climate module to control whether the AC or the heat settings are used since they're different. I use the conditional time because I have a completely different program running when the alarm is set to away (to save electricity) and so need the thermostats evaluated when the alarm is disarmed no matter what time. Here's an example of running the heater: If On Mon, Tue, Wed, Thu, Fri From 5:00:00AM To 8:00:00AM (same day) And Module 'Climate' Temperature < 60 °F Then Set 'Indoor / HVAC / Main House / HVAC Main House' Fan Auto Set 'Indoor / HVAC / Main House / HVAC Main House' Mode Auto Wait 3 seconds Set 'Indoor / HVAC / Main House / HVAC Main House' 80° (Cool Setpoint) Set 'Indoor / HVAC / Main House / HVAC Main House' 74° (Heat Setpoint) Else - No Actions - (To add one, press 'Action')
oberkc Posted March 4, 2013 Posted March 4, 2013 I use the climate module to control whether the AC or the heat settings are used since they're different. OK. That makes sense. I use the conditional time because I have a completely different program running when the alarm is set to away (to save electricity) and so need the thermostats evaluated when the alarm is disarmed no matter what time. I don't see anything in your programs affected by "away" condition, nor anything that would change your thermostat settings based upon being away. Given this, in what way is your existing program better than this: If On Mon, Tue, Wed, Thu, Fri time is 5:00:00AM And Module 'Climate' Temperature < 60 °F then... else...
mitch236 Posted March 5, 2013 Author Posted March 5, 2013 Sorry, I should have been clearer. I have main folders in my program. One of which is active when the alarm is "armed away" and another that is active when the alarm is either "armed stay" or "disarmed". It's a really neat system that has helped my electric bill in a major way. The only problem is that all the programs have to be written in a way that makes them get tested when the alarm status changes. That's why I need the time frame as opposed to a start time. This is the condition for the "armed stay" or "disarmed" Folder Conditions for 'Alarm OFF (or Stay)'Add conditions to limit when programs in this folder are allowed to run. If Program '*Armed Away' is False Then Allow the programs in this folder to run. And this is the folder condition for "armed away" Folder Conditions for 'Armed Away'Add conditions to limit when programs in this folder are allowed to run. If Program '*Armed Away' is True Then Allow the programs in this folder to run.
TJF1960 Posted March 5, 2013 Posted March 5, 2013 Might I suggest, and using your first program in the first post as a guide, create a new State variable named something like “sOutsideTempOver60 and then a new program outside of your conditional folders such: If Module ‘Climate’ Temperature>=60 Then Set ‘sOutsideTempOver60’ 1 Else Set ‘sOutsideTempOver60’ 0 Then in your first program replace the Module ‘Climate†Temp line with “sOutsideTempOver60 is 1†This way the only time your AC program will re evaluate due to outside temp will be when the outside temp crosses over or under 60 degrees. Also, If you do not want the AC program to re evaluate at 5AM or 8AM as it is doing now you can remove that schedule and replace using the folder condition as such: If Folder ‘Armed Away’ is True And sTempOver60 is 1 Then Set 'Indoor / HVAC / Main House / HVAC Main House' Fan Auto Set 'Indoor / HVAC / Main House / HVAC Main House' Mode Auto Wait 3 seconds Set 'Indoor / HVAC / Main House / HVAC Main House' 80° (Cool Setpoint) Set 'Indoor / HVAC / Main House / HVAC Main House' 60° (Heat Setpoint) Else - No Actions - (To add one, press 'Action') Now with the conditions in this program the only time the program will evaluate true is when the alarm is first armed away and the outside temp is over 60 or if the alarm is in the armed mode while the temp crosses over 60.
Recommended Posts