Jump to content

Thermostat programming w/ Weather Module question


JSP0511

Recommended Posts

Posted

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

Posted

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

Posted

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

Posted

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.

Posted
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.

Posted

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.

Posted
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!

Posted

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.

Posted

Device read/write to variables is not yet supported. The ver 5.x firmwares will contain those enhancements.

 

-Xathros

Posted
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.

Posted
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?

Posted

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).

Guest
This topic is now closed to further replies.

×
×
  • Create New...