AirScape Whole House Fan

From Universal Devices, Inc. Wiki
Revision as of 04:45, 21 July 2015 by Fryfrog (talk | contribs)
Jump to navigation Jump to search

Introduction

This article is dedicated to controlling an AirScape whole house fan like the 1.7, 2.5e, 3.5e, 4.4e or 5.0e with an ISY. When connected to your network, these fans can be controlled from a browser and even better, a network resource. With clever programming, you can turn off your a/c when it is turned on, suggest using the fan based on inside and outside temperature, create a more powerful timer, use buttons on any keypad to control the speed and timer, and turn off the fan if it gets too cold inside.

Control of the fan via keypad is done with 2 buttons, one dedicated to speed and one to the timer. For both speed and the timer, a normal press increases, a double press decreases and a long press turns the fan off.

TODO

  • Automatically start the house fan if the outside and inside temperatures are right, a suggestion has been sent and some windows have been opened.
  • Disable the house fan if the outside temperature is very low.
  • Allow use case where you just turn the fan on w/o any timer.

Keypad Setup

You'll need two keypad keys, I use C and D. They'll need to be set to toggle on mode so you only get single press on, double press fast on and long press fade on.

Scene Setup

You'll need a scene for House Fan Timer and House Fan Speed so we can easily control the keypad button lights. I use C for the speed and D for the timer, but you can use whatever you want. Just add all the buttons that will control the fan to this scene.

State Variables

sHouseFanSpeed 0 0
sSuggestHouseFan 1 1

sHouseFanSpeed holds the current speed of the fan for use in programs. sSuggestHouseFan is used by the suggest program to minimize the frequency of suggestions.

Integer Variables

iHouseFanTimer 0 0
iHouseFanTimerIncriments 30 30
iHouseFanTooCold 68 68

iHouseFanTimer is used for the fan timer maintained by the ISY (instead of using the fan's built in timer). iHouseFanTimerIncriments controls how many minutes it increments or decrements on button pushes, I feel 30 minutes is a nice number, but maybe you'd prefer 60. iHouseFanTooCold is used to shutdown the fan if the temperature inside gets too low, 68 is pretty cold.

= Network Resources

WHF speed up http://whf:80/fanspd.cgi?dir=1
WHF speed down http://whf:80/fanspd.cgi?dir=3
WHF off http://whf:80/fanspd.cgi?dir=4
WHF add hour http://whf:80/fanspd.cgi?dir=2

These are all self explanatory, but WHF speed up increases the speed, WHF speed down decreases it, WHF off turns it off and WHF add hour adds an hour to it's built in time. I don't use the built in timer because it has no way to configure the increments nor can you decrease the timer. Of note is that you can only increase or decrease the speed, you can't just pick the speed you want. If you want the highest speed, you have to WHF speed up five times.

Programs

Fan Off

This program turns the fan off, sets the keypad button leds to off, resets the fan speed and timer values to zero, turns on my thermostats and runs the timer controller's if path.

 Fan Off
 
 If
       Control 'Keypad C' is switched Fade Up
    Or Control 'Keypad D' is switched Fade Up
    
 Then
       Resource 'WHF off'
       Set Scene 'House Fan Timer' Off
       Set Scene 'House Fan Speed' Off
       $iHouseFanTimer  = 0
       $sHouseFanSpeed  = 0
       Set 'Downstairs Thermostat' Mode - Auto
       Set 'Upstairs Thermostat' Mode - Auto
       Run Program 'Timer Controller' (If)

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

Initialize Minutes

This program helps take care of the case where you press the increase speed button when the fan is off by setting the timer to your default increments. Note that the program is disabled so that it only gets run by other fan related programs.

 Initialize Minutes - [Not Enabled]
 If
       $iHouseFanTimer <= 0

 Then
       $iHouseFanTimer  = $iHouseFanTimerIncriments

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

Initialize Speed

This program helps take care of the case where you press the increase timer button when the fan is off by increasing the fan speed to 1. Note that the program is disabled so that it only gets run by other fan related programs.

 Initialize Speed - [Not Enabled]
 If
       $sHouseFanSpeed <= 0

 Then
       Run Program 'Speed Increase' (Then Path)

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