ISY-99i Generic Calendar Using Programs and Variables
The Basic Idea of this Series of Programs
ISY’s date function is a bit limited. As the firmware currently supports, there is no direct way to use it for recurring events except related to day of the week. For example, you can have something happen every Monday, or every Monday and Tuesday, but you can’t set up something to run on the third Tuesday of every month, or every 3 rd day, or on even days of the month, or every July 4th, I think you get the idea.
Working outside the built-in firmware, a series of programs using the variable function can solve this problem. The following series of programs starts off with a single program that triggers at midnight and then cascades through a series of additional programs using “run if”, “run then”, and “run else” commands to update a set of variables each day at midnight to report the current day, day of month, day of year, month, year, and week of month. In addition, there are counters which follow an every other, every third, every fourth, and every fifth schedule. Also, there is a program that sets a variable according to whether it is an even day or an odd day. Finally, a series of programs sets a variable to 1 on several US holidays. Some of these programs can be expanded upon such as the holiday series or the ever x number of days or weeks programs to suit your needs.
Irrigation Module's Settings
There are several variables that are adjustable by the user.
- Irrigation Region - adjusts for the differing ET in inland vs coastal areas.
- coastal region, interior plains region
- Absorption Factor/Soil Type - adjusts for the relative efficiency of soil absorption.
- Sand 100%, Loam sand 83%, Sandy loam 67%, Loam 58%, Clay loam 33%, Silty clay 25%, Clay 17%
- Water Applied per Irrigation Cycle - amount of water the user's irrigation program applies to the soil during each run.
- Allowable Depletion - how much water is allowed to leave (be depleted from) the soil before the next irrigation cycle.
Irrigation Module's Status Output
These variables are calculated from the WeatherBug data. They can be used in the program module for customizing the irrigation system.
- Evapotranspiration - approximation of the total amount of water leaving via a combination of soil evaporation and plant transpiration.
- Irrigation Requirement - amount of water to be applied based on the accumulation of previous day(s) water deficits.
- Yesterday's Water Deficit - total amount of water that has evapotranspired during a twenty four hour window from the day before.
Irrigation Module's Commands
These are commands that can be used in ISY programs.
- Irrigation - Cycle Complete - triggers the module's calculations for after water has been applied.
- Irrigation - Reset Variables - triggers a reset of the module's Irrigation Requirement variable.
Program Example: Irrigate If Needed
The IF condition decides whether to water by comparing the Irrigation Requirement balance to a constant. The user is responsible for setting this constant equal to Water Applied per Irrigation Cycle, and updating it if they change the value of water that they apply per irrigation in their own programs.
If Time is 11:00:00PM And Module 'Climate' Irrigation Requirement >= 0.50 Then Set 'Front Yard' On Wait 10 minutes Set 'Back Yard' On Wait 5 minutes Set 'Back Yard' Off Irrigation - Cycle Complete
Please note: If you are using an EZFlora device you only have to turn off the last station. When you turn on the next station the EZFlora first turns off the current station then turns on the next one. If you use an EZio device you will have to turn off each station before turning on the next one.
Calculating the Station Run Time
In order to replace the water that is lost from the soil your station run times will need to be properly calculated. Each type of emitter/sprinkler has a different amount of water that is being delivered per minute/hour. The calculator linked below can be used to calculate the appropriate run time for each station.
Initialize the Module
After you have installed the Irrigation Module the Irrigation Requirement variable will most likely display zero. You will have to trigger a reset of the module variables to get things going correctly. Below is a walk-thru of the steps to perform this reset. Please note: If its the rainy season it may be difficult to tell if Irrigation Requirement is having an issue, so its recommended this be performed anyways just after the first install of the module.
- In the ISY Admin Console go to the Programs tab.
- Create the temporary program shown in the example below.
- Right click on the program in the folder tree and select "Run Then" to reset the module.
- Go back to the Weatherbug tab.
- Check again Irrigation Requirement and you should now see a number instead of a zero.
- Once you have done this initialization process you can delete the temporary program.
If - No Conditions - (To add one, press 'Schedule' or 'Condition') Then Irrigation - Reset Variables
Forum thread: Proposed Evapotranspiration Algorithm in 3.1.4 Beta