JSP0511 Posted January 23, 2014 Posted January 23, 2014 Hello everyone, I currently have a tstat folder for programs set up to run at various times for morning wake up (67), day time (62), evening (67) and sleep (62) and on weekends i throw in (65) during mid-day. I'd like to have the weather module thrown in for days where the outside temp is 15degree or colder. When the outside temps drop below 15, I'd like each set point to bump up 2degrees. I thought at first that I could have the ISY recognize the outside temp then adjust the set point for each program but quickly realized this was not possible. I was then going to create a separate folder with identical programs except the set points would be 2 degrees higher and have folder one run when outside temp is >15 degrees and the other folder run when <15. I know there are multiple ways to get this going but wanted to know if any of you would offer up a more efficient way to do this, possibly with variables? Thank you, Jerry
Michel Kohanim Posted January 23, 2014 Posted January 23, 2014 Hi Jerry, Folders must be used to "constrain" programs to be evaluated. What you want to achieve should be done with programs themselves. So, why: I thought at first that I could have the ISY recognize the outside temp then adjust the set point for each program but quickly realized this was not possible. ? With kind regards, Michel
JSP0511 Posted January 23, 2014 Author Posted January 23, 2014 Michael, I don't understand what you are questioning. In my quote I mean that I can't have one program, if triggered, temporarily change the Then of another. My goal is to keep the amount of programs written to a minimum so I'm asking the forum how they think I can achieve this with as few programs as possible. Sent from my iPhone using Tapatalk
MaddBomber83 Posted January 23, 2014 Posted January 23, 2014 My solution is going the opposite direction as yours. I created ~ 100 programs to read the TStat Temperature/Heating SP/Cooling SP into State/Integer variables and to write variables back into the TStat for the Heating SP / Cooling SP. Once that back end is set up, you would write your program as desired. Your daily setpoints would be variables instead. Your link into the weather module would modify these variables to +2 when below a threshold and back when above a threshold. I find the weather module to be a bit, unreliable. For this reason I have a temperature probe at my house that we use. ---------------------------------------------------------------------------------------- Back to your original question of minimizing programs, it really depends on if you want this to be dynamic or static. As in; when the temperature drops below threshold, do you want the temperature set point in the house to change at that time, or wait until the next scheduled temperature change? I don't think you should use the folders, as you most likely don't want to be caught in that nasty place where you are at threshold and fluctuating when it is time to change setpoint (what one if any, will it choose?). Instead of folders, I would write two programs that enable/disable your schedule programs. If Outside Temperature is < Threshold then Disable normal programs and Enable cold programs. If Outside Temperature is > Threshold + 5ish then Disable Cold Programs and Enable Normal Programs. Taking this one step further, if your schedule programs use the Time to Time parameter in the If Statement, your two controlling programs can have: Then Enable/Disable Then Run (If) Program Path for the Enabled Programs. In this way, if the temperature rises or falls in the middle of a program schedule, your ISY will adjust the setpoints before the next scheduled run time.
JSP0511 Posted January 23, 2014 Author Posted January 23, 2014 My solution is going the opposite direction as yours. I created ~ 100 programs to read the TStat Temperature/Heating SP/Cooling SP into State/Integer variables and to write variables back into the TStat for the Heating SP / Cooling SP. Once that back end is set up, you would write your program as desired. Your daily setpoints would be variables instead. Your link into the weather module would modify these variables to +2 when below a threshold and back when above a threshold. I find the weather module to be a bit, unreliable. For this reason I have a temperature probe at my house that we use. ---------------------------------------------------------------------------------------- Back to your original question of minimizing programs, it really depends on if you want this to be dynamic or static. As in; when the temperature drops below threshold, do you want the temperature set point in the house to change at that time, or wait until the next scheduled temperature change? I don't think you should use the folders, as you most likely don't want to be caught in that nasty place where you are at threshold and fluctuating when it is time to change setpoint (what one if any, will it choose?). Instead of folders, I would write two programs that enable/disable your schedule programs. If Outside Temperature is < Threshold then Disable normal programs and Enable cold programs. If Outside Temperature is > Threshold + 5ish then Disable Cold Programs and Enable Normal Programs. Taking this one step further, if your schedule programs use the Time to Time parameter in the If Statement, your two controlling programs can have: Then Enable/Disable Then Run (If) Program Path for the Enabled Programs. In this way, if the temperature rises or falls in the middle of a program schedule, your ISY will adjust the setpoints before the next scheduled run time. Here is a sample of one of my codes: If On Mon, Tue, Wed, Thu, Fri From 6:50:01AM To 2:00:00PM (same day) And Status 'Main Floor / Thermostats / Thermostat - Main' is Mode Heat And Status 'Main Floor / Front KPL / FKPL C -Away Mode' is Off Then Set 'Main Floor / Thermostats / Thermostat - Main' 62° (Heat Setpoint) Else - No Actions - (To add one, press 'Action') Could I simply write the code as such?: If On Mon, Tue, Wed, Thu, Fri From 6:50:01AM To 2:00:00PM (same day) And Status 'Main Floor / Thermostats / Thermostat - Main' is Mode Heat And Status 'Main Floor / Front KPL / FKPL C -Away Mode' is Off And Module 'Climate' Temperature > 15 °F Then Set 'Main Floor / Thermostats / Thermostat - Main' 62° (Heat Setpoint) Else - No Actions - (To add one, press 'Action') and have the same set of programs but for "COLD" which would read: If On Mon, Tue, Wed, Thu, Fri From 6:50:01AM To 2:00:00PM (same day) And Status 'Main Floor / Thermostats / Thermostat - Main' is Mode Heat And Status 'Main Floor / Front KPL / FKPL C -Away Mode' is Off And Module 'Climate' Temperature < 15 °F Then Set 'Main Floor / Thermostats / Thermostat - Main' 64° (Heat Setpoint) Else - No Actions - (To add one, press 'Action') Could I run into similar issues where at the threshold the programs can't decide which to run? As far as the tstat set point changing within a given program time to time frame, I don't see much of a need for that. The outside temps where I am in NY don't seem to move that quickly that the next program start time wouldn't catch. I simply want to automate that if it's a bit colder outside, let's bump up the tstat inside to keep the house a little warmer.
MaddBomber83 Posted January 23, 2014 Posted January 23, 2014 Yes, you could write the threshold directly into the programs. I would recommend that one of them use the >= or <= on the chance you are at threshold when the program is to run.
JSP0511 Posted January 23, 2014 Author Posted January 23, 2014 Yes, you could write the threshold directly into the programs. I would recommend that one of them use the >= or <= on the chance you are at threshold when the program is to run. Ok, =< makes sense! So I'll repeat all programs while adding the weather module IF statement to each and go from there. Thank you! EDIT: Done, seems to be working when I switched from AWAY MODE to NORMAL MODE. Thanks again!
larryllix Posted January 23, 2014 Posted January 23, 2014 I don't have an ISY connected stat yet so there may be issues I don't understand but.. I would think you could have a main temperature set and an offset temperature (+/- 2deg etc.) A programme, as suggested above could change your offset when an outside threshold is crossed (above and below 15 degrees). Resultant temperatures would always be written or used as base + offset. Use state variables for offset so that changes would invoke a programme to reprogram the stat with the new temperature set independently of your main logic, simplifying that software.
Xathros Posted January 23, 2014 Posted January 23, 2014 Device read/write to variables is not yet supported. The ver 5.x firmwares will contain those enhancements. -Xathros
MaddBomber83 Posted January 23, 2014 Posted January 23, 2014 I don't have an ISY connected stat yet so there may be issues I don't understand but.. I would think you could have a main temperature set and an offset temperature (+/- 2deg etc.) A programme, as suggested above could change your offset when an outside threshold is crossed (above and below 15 degrees). Resultant temperatures would always be written or used as base + offset. Use state variables for offset so that changes would invoke a programme to reprogram the stat with the new temperature set independently of your main logic, simplifying that software. As mentioned above, this works if you have done the back end stuff with ~ 100 programs to read / write variables to the ISY. The OP understandably does not want to do this.
JSP0511 Posted January 23, 2014 Author Posted January 23, 2014 I don't have an ISY connected stat yet so there may be issues I don't understand but.. I would think you could have a main temperature set and an offset temperature (+/- 2deg etc.) A programme, as suggested above could change your offset when an outside threshold is crossed (above and below 15 degrees). Resultant temperatures would always be written or used as base + offset. Use state variables for offset so that changes would invoke a programme to reprogram the stat with the new temperature set independently of your main logic, simplifying that software. As mentioned above, this works if you have done the back end stuff with ~ 100 programs to read / write variables to the ISY. The OP understandably does not want to do this. Correct, my needs are simple....I think??? lol maddbomber83, why did you do it your way? What are the pros and/or cons vs the way I chose?
MaddBomber83 Posted January 23, 2014 Posted January 23, 2014 Your way is the correct way for your needs. My needs are a bit more, complex; and having the full support of variables makes it easier to accomplish what I do. Some examples: - If someone changes the setpoint on the TStat, such as turning it down when we have company or are doing a lot of house work, I have programs that gradually return the setpoint to normal. When it changes, every hour after I add 1 degree in the correct direction until it is back to the desired set point. - I have a zoning system with dampers. There are cases when I would like the AC or Heating on, even if the main thermostat temperature has not reached setpoint yet. In these cases the system will fake the needed setpoint on the TStat to get it to turn on the AC and then restore it to normal when the zoned system is done using the heating/cooling. - All of my scheduled temperatures are variables, and are used in several different programs. In this way seasonal changes to setpoints can be done dynamically and I do not have to edit the setpoints in any program. - The schedules themselves are dynamic in when they start; with the objective of reaching temperature at a certain time based on current house/attic temperature and a learned average time to reach setpoint that adjusts itself over time. - I have a fresh air supply that will also contribute to the system, and knowing the TStat temperature adds to the logic of when to bring in fresh air (such as, if outside air will assist bringing or keeping inside air in band, to reduce the use of the HVAC cooling unit).
Recommended Posts