Jump to content

First timer needs a bit of help with thermostat control code


insomniac2k2

Recommended Posts

Hello all,

 

 

First timer here. I just picked up an ISY, insteon wired and wireless thermostat (plus a few on/off modules). I am in the process of implementing a whole house fan strategy that runs the whole house fan in lieu of my AC, if my outside temperature is lower than the inside temp. In short, i have all this working.

 

Here's what i havent figured out yet:

 

When each program runs to query my thermostats, they only run once. So if my thermostat happens to be 75 degrees when the whole house fan kicks, My whole house fan will stay on until the next scheduled time that the program has listed (the end time for that program). I have not figured out how to write a repeat loop for the program, so that it re-runs say, every 10m (re-checks thermostat temps, checks it's run times and adjusts accordingly).

 

I hope that this is an easy fix. The query that I wrote to re-query both thermostats every 10m doesn't seem like the fix :/

 

 

Here is a some of the code I am trying:

 

WHF_AWAY:

If

Status 'Outside' > 45° (Temperature)

Or Status 'Outside' < 72° (Temperature)

And Status 'MainThermostat' >= 68° (Temperature)

And On Mon, Tue, Wed, Thu, Fri

From 7:00:00AM

To 1:59:00PM (same day)

 

Then

Set 'FAN1' On

Send Notification to 'Default' content 'FANON'

Set 'MainThermostat' Mode Off

 

Else

Set 'FAN1' Off

Set 'MainThermostat' Mode Cool

Send Notification to 'Default' content 'FANOFF'

 

 

 

WHF_HOME:

 

If

Status 'Outside' > 45° (Temperature)

Or Status 'Outside' < 69° (Temperature)

And Status 'MainThermostat' >= 68° (Temperature)

And On Mon, Tue, Wed, Thu, Fri

From 2:00:00PM

To 6:59:00AM (next day)

 

Then

Set 'FAN1' On

Send Notification to 'Default' content 'FANON'

Set 'MainThermostat' Mode Off

 

Else

Set 'FAN1' Off

Set 'MainThermostat' Mode Cool

Send Notification to 'Default' content 'FANOFF'

 

 

WHF_WEEKENDS:

 

If

Status 'Outside' > 45° (Temperature)

Or Status 'Outside' < 69° (Temperature)

And Status 'MainThermostat' > 71° (Temperature)

And On Sat

From 7:00:00AM

To 11:59:00PM (same day)

Or On Sun

From 12:01:00AM

To 6:59:00AM (next day)

 

Then

Set 'FAN2' On

Send Notification to 'Default' content 'FANON'

Set 'MainThermostat' Mode Off

 

Else

Set 'FAN2' Off

Set 'MainThermostat' Mode Cool

Send Notification to 'Default' content 'FANOFF'

 

 

 

I'd love some help on a more optimized approach as well.

 

Thanks in advance for any help!

Link to comment

For mine I set a wait command and then call the same program's If Path. Below is an example of my program Equalize that is set up for a similar reason. It will run the whole house fan when some fan switches are used or if I'm at one of my heating / cooling setpoints.

 

If
       Status  'Office Light - Office Light / Office Light - Fan High' is not Off
    Or Status  'Closet Light - Closet Light / Closet Light - Fan High' is not Off
    Or $Int_Main.TStat_Status is $Int_Main.TStat_SP.Cool_Actual
    Or $Int_Main.TStat_Status is $Int_Main.TStat_SP.Heat_Actual

Then
       Set 'Main - Thermostat' Fan On
       Wait  10 minutes 
       Run Program 'Equalize' (If)

Else
       Set 'Main - Thermostat' Fan Auto
       Wait  10 minutes 
       Run Program 'Equalize' (If)


Link to comment

Thank you for this example. I'll play around today and see what i can do with it.

 

For mine I set a wait command and then call the same program's If Path. Below is an example of my program Equalize that is set up for a similar reason. It will run the whole house fan when some fan switches are used or if I'm at one of my heating / cooling setpoints.

 

If
       Status  'Office Light - Office Light / Office Light - Fan High' is not Off
    Or Status  'Closet Light - Closet Light / Closet Light - Fan High' is not Off
    Or $Int_Main.TStat_Status is $Int_Main.TStat_SP.Cool_Actual
    Or $Int_Main.TStat_Status is $Int_Main.TStat_SP.Heat_Actual

Then
       Set 'Main - Thermostat' Fan On
       Wait  10 minutes 
       Run Program 'Equalize' (If)

Else
       Set 'Main - Thermostat' Fan Auto
       Wait  10 minutes 
       Run Program 'Equalize' (If)


Link to comment

I would be interested how you go about doing that.

 

Right now I'm installing a 12" line to bring fresh air into the house by connecting it to the suction side of my whole house fan. It as a NC Damper on it that I'll throw some programs together to handle the opening and closing.

 

I'm having that line run through its own filter at the suction.

 

The rest of the dampers are just zone controls for the various rooms. It is not often the weather is cool enough here that we can run without the AC.

Link to comment

So far, I will be starting my first inlet very similar to what you described. Unfortunately, my house is all HIP roof. Sooo, I will need to do a roof penetration, or get really creative with freeze blocks. I actually plan on doing both.

 

For the roof penetration, I plan on running one of these: https://www.acwholesalers.com/Fantech/R ... fgodaDAAGw

I will have to remove the damper.

 

I will run this http://www.smarthome.com/3086/12-Inch-D ... DNC/p.aspx inline, and on the same scene as the whole house fan.

 

I will be terminating the ducting in my ceiling with one of these: http://www.homedepot.com/p/Master-Flow- ... /100168335 with a standard furnace filter and grill. The filter will just be flipped.

 

Rinse and repeat for multiples.

 

I would be interested how you go about doing that.

 

Right now I'm installing a 12" line to bring fresh air into the house by connecting it to the suction side of my whole house fan. It as a NC Damper on it that I'll throw some programs together to handle the opening and closing.

 

I'm having that line run through its own filter at the suction.

 

The rest of the dampers are just zone controls for the various rooms. It is not often the weather is cool enough here that we can run without the AC.

Link to comment

Ok. Here is the sorted out code fir anyone that wants to play around with whole house fan / Thermostat control. Seems to work well so far. Thanks!

 

I have 3 different programs that run. WHF_Home, WHF_Away and WHF_Weekend.

 

I use 3 triggering programs to determine when they need to be run. These are named HOME, AWAY, WEEKEND. These triggering programs disable 2 of the 3 programs at any point in time when the criteria is met.

 

AWAY:

If
       On Mon, Tue, Wed, Thu, Fri
       From     7:00:00AM
       To       6:59:00PM (same day)

Then
       Run Program 'WHF_AWAY' (If)

Else
       Disable Program 'WHF_AWAY'


 

HOME:

If
       On Mon, Tue, Wed, Thu, Fri
       From     2:00:00PM
       To       6:59:00AM (next day)

Then
       Run Program 'WHF_HOME' (If)

Else
       Disable Program 'WHF_HOME'


 

Weekend:

If
       On Sat, Sun
       From     7:00:00AM
       To       6:59:00AM (next day)

Then
       Run Program 'WHF_WEEKEND' (If)

Else
       Disable Program 'WHF_WEEKEND'


 

 

WHF_AWAY:

 

If
       Status  'Outside' <= 70° (Temperature)
   And Status  'MainThermostat' >= 60° (Temperature)
   And Status  'MainThermostat' <= 70° (Temperature)

Then
       Set 'FAN1' On
       Set 'MainThermostat' Mode Off
       Wait  20 minutes 
       Run Program 'WHF_AWAY' (If)

Else
       Set 'FAN1' Off
       Set 'MainThermostat' Mode Cool
       Wait  10 minutes 
       Run Program 'WHF_AWAY' (If)


 

 

WHF_HOME:

 

If
       Status  'Outside' < 72° (Temperature)
   And Status  'MainThermostat' >= 70° (Temperature)

Then
       Set 'FAN1' On
       Set 'MainThermostat' Mode Off
       Wait  20 minutes 
       Run Program 'WHF_HOME' (If)

Else
       Set 'FAN1' Off
       Set 'MainThermostat' Mode Cool
       Wait  10 minutes 
       Run Program 'WHF_HOME' (If)


 

WHF_WEEKEND:

 

If
       Status  'Outside' <= 72° (Temperature)
   And Status  'MainThermostat' >= 70° (Temperature)

Then
       Set 'FAN1' On
       Set 'MainThermostat' Mode Off
       Wait  20 minutes 
       Run Program 'WHF_WEEKEND' (If)

Else
       Set 'FAN1' Off
       Set 'MainThermostat' Mode Cool
       Wait  10 minutes 
       Run Program 'WHF_WEEKEND' (If)


Link to comment

Not yet. I wanted to make sure all was well first. I actually just found that I forgot to add lines to re-enable the programs when the time criteria was met.

 

So the home, away and weekend will look like so:

 

If
       On Mon, Tue, Wed, Thu, Fri
       From     7:00:00AM
       To       6:59:00PM (same day)

Then
       Enable Program 'WHF_AWAY'
       Run Program 'WHF_AWAY' (If)

Else
       Disable Program 'WHF_AWAY'


 

 

 

 

I like how they look. Do you have the triggers set to run on boot as well?
Link to comment

Archived

This topic is now archived and is closed to further replies.


  • Recently Browsing

    • No registered users viewing this page.
  • Forum Statistics

    • Total Topics
      36.6k
    • Total Posts
      368.3k
×
×
  • Create New...