Jump to content

How can I turn on the fan once an hour for 10 mins if...


wwat

Recommended Posts

Posted

I have a Venstar T1900, and a wood stove which I an using instead of the electric furnace. I'd like to turn on the fan for 10 minutes every hour if the temperature is above 71°F.

 

Note: if the temp continues to rise within the hour I dont want the fan turned on a second or third time, just the once per hour.

 

The program below ran each time the temperature changed after reaching 72°F so the fan turned on multiple times each hour.

 

If

Status 'Living Room / Venstar House' > 71° (Temperature)

 

Then

Repeat Every 1 hour

Set 'Living Room / Venstar House' Fan On

Wait 10 minutes

Set 'Living Room / Venstar House' Fan Auto

 

Else

Set 'Living Room / Venstar House' Fan Auto

 

 

 

thanks,

Wayne

Posted
Check under the howtos.

I posted a code example for my bathroom fan that does exactly what your looking for.

 

io_guy, I've adapted your code for my situation but there remains the problem that the program restarts during the 50 minute wait period if there is a change in temperature. It appears you put the wait period first and then turn on the fan but I need the fan to come on immeditely when the temp rises above 71.

 

If the temp changes from 71 to 72 then the programs are executed however if the temp changes from 72 to 73 during the 50 minute wait period then the programs restarts and the fan comes on before the 50 minutes are up.

 

The other interesting thing is that the code will not wait 50 minutes if I do not add a command after the wait 50 minutes command. So I added the command to turn off the fan for a second time. There must be something I'm doing wrong here.

 

-W.

 

 

[Furnace Fan - Hourly Cycle Condition]

 

If

Status 'Living Room / Venstar House' > 71° (Temperature)

 

Then

Run Program 'Furnace Fan - Cycle Heat' (Then Path)

 

Else

- No Actions - (To add one, press 'Action')

 

 

 

[Furnace Fan - Cycle Heat]

 

If

- No Conditions - (To add one, press 'Schedule' or 'Condition')

 

Then

Set 'Living Room / Venstar House' Fan On

Wait 10 minute

Set 'Living Room / Venstar House' Fan Auto //turn fan off

Wait 50 minutes

Set 'Living Room / Venstar House' Fan Auto

 

Else

- No Actions - (To add one, press 'Action')

Posted

Hi,

Maybe this would work.

 

 

[Furnace Fan - Hourly Cycle Condition]

 

If

Status 'Living Room / Venstar House' > 71° (Temperature)

 

Then

Run Program 'Furnace Fan - Cycle Heat' (Then Path)

 

Else

- No Actions - (To add one, press 'Action')

 

 

 

[Furnace Fan - Cycle Heat]

 

If

- No Conditions - (To add one, press 'Schedule' or 'Condition')

 

Then

Program Disable Furnace Fan - Hourly Cycle Condition

Set 'Living Room / Venstar House' Fan On

Wait 10 minute

Set 'Living Room / Venstar House' Fan Auto //turn fan off

Wait 50 minutes

Program Enable Furnace Fan - Hourly Cycle Condition

Else

- No Actions - (To add one, press 'Action')

 

Gary

Posted

That looks good Gary, I'm in the process of testing it now. With the first program disabled it wont be doing anything until its re-enabled after the 50 minute wait.

 

Thanks again to both you and io_guy for your assistance.

 

Wayne

Posted

Being unsure if the garybixler solution worked for you, perhaps there is an alternative.

 

Given that it appears the the program condition evaluates every time the temperature changes (forcing a restart of programs with a wait condition), I thought that there was an alternative. I am also a fan of folders, so I tend to favor them, even if alternatives exist.

 

Folder condition:

 

If 
Status 'Living Room / Venstar House' > 71° (Temperature) 
the run the programs in this folder

 

Program in the folder:

if time is 0000
or time is 0100
or time is 0200
or time is 0300
.
.
.
or time is 2300
then
Set 'Living Room / Venstar House' Fan On 
Wait 10 minute 
Set 'Living Room / Venstar House' Fan Auto //turn fan off 
else

 

While it is not quite as elegant, taking the temperature out of the program conditions will avoid the re-triggering of the program every time the temperature changes a degree.

Posted

Agree with the above solutions, another answer can be found in the Weather Bug thread where programs would retrigger every time the outdoor temperature changed by a 100th of a degree. Some of us use a code similiar to the following (copied from the thread)

 

If

Module 'Climate' Temperature <= 40 °F

And Program 'Cold Flg' is False

Then

Run Program 'Cold Flg' (Then Path)

Else

- No Actions - (To add one, press 'Action')

 

You then write another program to set program false by testing if it is true and temperature is higher, then run the else.

 

Your programs would be opposite for a warm flag, but the concept is the same.

 

In this way the status of the program changes once from false to true if the temperature drops below 40. This solution is better for some (including me) because the two little programs that change the flag status don't have to have a one degree temperature band (as a folder permissions solution would). You can have your WARM flag set true at greater than 71, but not reset to false until less then 68. This will prevent false triggering if your fans disturb the air layering in your home and momentarity create a termperature inversion and cause your program to retrigger as the temperature rises again.

Posted

Gary's solution worked perfectly, there was one modification required to the code. The last line in the 'Then' part needed a statement to recall the [Furnace Fan - Hourly Cycle Condition] program.

Another thought, if we had a power outage or ISY went offline during execution when the program was disabled then it would never run again so i would need something that run on ISY startup that enabled the program if it was disabled. Because of this I'll take a look at the other solutions to see if there is an even more simpler elegant method.

 

-W.

 

[Furnace Fan - Cycle Heat]

 

If
  - No Conditions - (To add one, press 'Schedule' or 'Condition')

Then
       Disable Program 'Furnace Fan - Hourly Cycle Condition'
       Set 'Living Room / Venstar House' Fan On
       Wait  10 minutes 
       Set 'Living Room / Venstar House' Fan Auto
       Wait  50 minutes 
       Enable Program 'Furnace Fan - Hourly Cycle Condition'
       Run Program 'Furnace Fan - Hourly Cycle Condition' (If) 
Else
  - No Actions - (To add one, press 'Action')

Posted

Arts solution worked and is quite a nice piece of code although due to ISY's programming model it can be difficult to understand why it works if you are use to other event driven languages like Visual Basic. I wouldn't call myself a beginner at programming however I did find this code somewhat difficult to get my head around (at first) however its nice and compact. Once I understood (recalled) the rules regarding calling 'Then' and 'Else' paths it all came together.

 

Many thanks for the assistance,

Wayne

 

 

[Cycle Fan] - Run at startup ON

If
  - No Conditions - (To add one, press 'Schedule' or 'Condition')

Then
       Run Program 'Cycle Fan Temp Condition' (If)

Else
       Set 'Living Room / Venstar House' Fan On
       Wait  10 minutes 
       Set 'Living Room / Venstar House' Fan Auto
       Wait  50 minutes 
       Run Program 'Cycle Fan' (Then Path)

 

 

[Cycle Fan Temp Condition]

If
       Status  'Living Room / Venstar House' > 71° (Temperature)
   And Program 'Cycle Fan' is True

Then
       Run Program 'Cycle Fan' (Else Path)

Else
  - No Actions - (To add one, press 'Action')

Guest
This topic is now closed to further replies.

  • Recently Browsing

    • No registered users viewing this page.
  • Who's Online (See full list)

  • Forum Statistics

    • Total Topics
      37k
    • Total Posts
      371.4k
×
×
  • Create New...