Jump to content

7 zone Irrigation Program


kwb007

Recommended Posts

Posted

I finally got around to rewriting my irrigation program.  Given I got my first program from the this forum, I thought I'd post it for those that are looking for one.  As noted on other posts, the programs that control the valves are separated from the initiation programs to ensure the irrigation plan completes after the trigger criteria are no longer meet.

I have 7 zones at my house and each requires a different amount of water.  There are three different irrigation plans based on the high temp of the day.  The irrigation plan is run at 10pm but bypassed if it's rained materially.  Notifications are sent to my email indicating which program is running and when it completes.  The is also an "emergency stop" button for when the wife yells at me to "shut off the $%^# sprinklers".

I'm running 15.0.5A firmware.

Please let me know if you have any feedback.

Irrigation.v5.0.15A__Thu 2019.08.01 10.10.02 AM.isy

Posted (edited)

Thanks for sharing. A suggestion to make it easier to view for forum members is to do either one of the following:

  • right click on each program name in the list, and pick 'copy to clipboard' on the bottom of the presented list... then paste the copied text for each program in a forum message window here.. one at a time.... or...
     
  • .. use the windows snipping tool or <windows key> <shift> <S> to capture an image of each one and paste in a window here.

Then write about the purpose of each program on top of each one. The format provided is ISY xml format, requireing the forum members to load your program in to their ISYs to see them. Thanks

Paul

Edited by paulbates
Posted

Here's the overall structure.  In the Irrigation folder, the "Irrigation Engines" folder contains the programs that control the irrigation valves, the "Irrigation Trigger" folder contains the programs that determine which program to run.  This structure is needed to ensure that the irrigation plans fully completes after the trigger events are no longer valid.  No integer or state variables are needed.  However you do need the Weather Module installed and to setup email notifications.  My irrigation valves are controlled by an EZRain/EZFlora Irrigation Controller v.28 on an ISY 994 running 15.0.5A firmware.

913714783_ScreenShot2019-08-01at10_33_06AM.png.2637c280394f2aa783b88ea6d8448aaa.png

The Irrigation Trigger programs are pretty straightforward.  Every MWF, the irrigation system will run.  One of three irrigation plans runs based on the daily high temp.  On STTS the irrigation system may runs if the daily high temp is over 85F.  However, if it's rained over 0.2" in the past 24 hours, any planned irrigation event is not run.

The Normal Irrigation program only runs on MWF at 10pm if the daily high temp is between 85F and 60F and it hasn't rained more than 0.2" in the last 24 hours.

Normal Irrigation - [ID 0022][Parent 001E]

If
        On Mon, Wed, Fri
        Time is 10:00:00PM
    And Module 'Climate' 24h Rain <= 0.2 "
    And Module 'Climate' High Temperature <= 85 °F
    And Module 'Climate' High Temperature >= 60 °F
 
Then
        Run Program 'Normal Plan ' (Then Path)
 
Else
   - No Actions - (To add one, press 'Action')

The High Temp Irrigation program runs every day at 10pm when the daily high temp is >85F and it hasn't rained more than 0.2" in the last 24 hours.

High Temp Irrigation - [ID 001F][Parent 001E]

If
        Time is 10:00:00PM
    And Module 'Climate' High Temperature > 85 °F
    And Module 'Climate' 24h Rain <= 0.2 "
 
Then
        Run Program 'High Temp Plan' (Then Path)
 
Else
   - No Actions - (To add one, press 'Action')

Low Temp Irrigation program only runs on MWF at 10pm when max temp is below 60F, it hasn't rained more than 0.2" in the last 24 hours and the current temp is over 40F. 

Low Temp Irrigation - [ID 0023][Parent 001E]

If
        On Mon, Wed, Fri
        Time is 10:00:00PM
    And Module 'Climate' 24h Rain <= 0.2 "
    And Module 'Climate' High Temperature < 60 °F
    And Module 'Climate' Temperature > 40 °F
 
Then
        Run Program 'Low Temp Plan' (Then Path)
 
Else
   - No Actions - (To add one, press 'Action')
 

The Normal Plan controls the valves when invoked by the the Normal Irrigation program.  First is sends notification to my email which program is starting, it then runs each zone for a specific amount of time and sends a notification that the program has finished.  

Normal Plan  - [ID 0050][Parent 002B]

If
   - No Conditions - (To add one, press 'Schedule' or 'Condition')
 
Then
        Send Notification to 'Both Emails' content 'Normal Irrigation'
        Set 'Irrigation / Zone 1' On
        Wait  8 minutes 
        Set 'Irrigation / Zone 1' Off
        Set 'Irrigation / Zone 2' On
        Wait  8 minutes 
        Set 'Irrigation / Zone 2' Off
        Set 'Irrigation / Zone 3' On
        Wait  10 minutes 
        Set 'Irrigation / Zone 3' Off
        Set 'Irrigation / Zone 4' On
        Wait  8 minutes 
        Set 'Irrigation / Zone 4' Off
        Set 'Irrigation / Zone 5' On
        Wait  10 minutes 
        Set 'Irrigation / Zone 5' Off
        Set 'Irrigation / Zone 6' On
        Wait  5 minutes 
        Set 'Irrigation / Zone 6' Off
        Set 'Irrigation / Zone 7' On
        Wait  8 minutes 
        Set 'Irrigation / Zone 7' Off
        Send Notification to 'Both Emails' content 'Irrigation Finished'
 
Else
   - No Actions - (To add one, press 'Action')
 

The High Temp Plan and Low Temp Plan are identical but have different timing for each zone and send the corresponding notification.

The Stop Sprinklers program is my emergency stop button to shut down the sprinkler system.  Its stops all the plans and shuts all the valves.

Stop Sprinklers - [ID 0006][Parent 0030]

If
   - No Conditions - (To add one, press 'Schedule' or 'Condition')
 
Then
        Stop program 'High Temp Plan'
        Stop program 'Normal Plan '
        Stop program 'Low Temp Plan'
        Set 'Irrigation / Zone 1' Off
        Set 'Irrigation / Zone 2' Off
        Set 'Irrigation / Zone 3' Off
        Set 'Irrigation / Zone 4' Off
        Set 'Irrigation / Zone 5' Off
        Set 'Irrigation / Zone 6' Off
        Set 'Irrigation / Zone 7' Off
        Send Notification to 'Both Emails' content 'Irrigation Finished'
 
Else
   - No Actions - (To add one, press 'Action')
 

Finally, it's nice to know that when the sprinkler system should be running but doesn't due to the rain override, it sends a notification to me.  That function is contained in Rain Test.  It's code follows:

Rain Test - [ID 0057][Parent 001E]

If
        (
             On Mon, Wed, Fri
             Time is 10:00:00PM
         And Module 'Climate' 24h Rain > 0.2 "
        )
     Or (
             On Sat, Sun, Tue, Thu, Fri
             Time is 10:00:00PM
         And Module 'Climate' High Temperature > 85 °F
         And Module 'Climate' 24h Rain > 0.2 "
        )
 
Then
        Send Notification to 'Both Emails' content 'No Irrigation'
 
Else
   - No Actions - (To add one, press 'Action')
 

That's it.  I hope that you find it useful.

  • Like 1
Posted

Nice / simple / logical. Accounting for climate can save a lot of water and that's where automation comes into its own vs older standard sprinkler controllers that don't always get replaced. Those are typically set for worst case summer heat. A couple of small things to think about:

  • I'm pretty sure that 'Climate 24 hour rain' is a look ahead, not behind. But You could encorprate both history and forecast..in your If:  'total rain today' (since you run @ 10pm), or '24 h rain' forecast (maybe more than .2... like maybe .5 or higher). 
    • That way you don't water when it did rain, or when its likely to rain.. but beyond your run time.
       
  • If you are using an ezrain/flora controller:
    • only one zone at a time will run. If zone 1 is running, and you start zone 2, ... Zone 1 will automatically shut off, you don't have to turn it off. Obviosly the last one you do. 
    • IIRC, I think shutting any one valve off shuts them all off simultaneously. Easy to test.

Thanks for sharing.

Paul

Posted (edited)

Paul,

Thank you so much!  You are correct on all accounts.  I've changed to "Total Rain Today" which is the historical variable.  (Can't believe I screwed that up.). In the past, I've used both the historical and forecast but, inevitably, our weather would change and I'd skip a needed watering.  So I'm failing safe and watering when needed even if there may be rain in the forecast.

In fact, the ezrain controller acts as you described so I'll slim down the code.

BTW, have you looked at the DarkSky's node server?  I've got it integrated successfully but it only provides current and forward variables so it's not very helpful.  I really need a historical measure of rainfall.  Not sure if it's a DarySky's limitation or simply how the node server was written.

Really appreciate the help.  

Ken

Edited by kwb007
  • Like 1
Posted

Great Ken, nice job on the programs. I had 2 ezfloras I wrote programs for a few years and they were more complicated than yours without being more effective, I like these. 

I get what you mean by "fail safing". I've experimented with my current controller and "over did" my water savings approach... I've saved water, but a few brown spots this summer because I was too agressive this year... and the city replaced sidewalk and destroyed a few zones for a month :)

I've not looked at weather controllers or their nodeservers but they are interesting. I have a hydreon rain sensor connected to an iolinc that I've used for 5 years, and I can pick up actual outdoor temp from a sensor for my ventstar thermostat. All other weather / light for my ISY programs comes from the climate module like you're doing

Paul

  • Like 1
Posted

Thanks for sharing. I only irrigate in the early morning (starts at 3:15 AM) because I read that when you water at night you can have an increased chance of mold / disease issues. However, that may have been based upon my 100% Kentucky bluegrass turf.

I also only irrigate based upon the irrigation requirement as dictated by the weather module, which I figured was the point of paying for that?

I also read that you’re supposed to water once and deeply, vice frequently. This means that ideally you would only water once a week for the specific amount that the particular turfgrass type needs. I remember correctly I think it’s 1 inch of water per week generally. My soil type can’t handle more than .25” before run-off occurs, so that is as “deep” as I can water in one cycle.

I’ve had this going out for around three years and it’s working fine. It has saved me a whole bunch of money in water, which is very expensive here.

Mark


Sent from my iPhone using Tapatalk Pro

Posted
56 minutes ago, giomania said:

Thanks for sharing. I only irrigate in the early morning (starts at 3:15 AM) because I read that when you water at night you can have an increased chance of mold / disease issues. However, that may have been based upon my 100% Kentucky bluegrass turf.

I also only irrigate based upon the irrigation requirement as dictated by the weather module, which I figured was the point of paying for that?

I also read that you’re supposed to water once and deeply, vice frequently. This means that ideally you would only water once a week for the specific amount that the particular turfgrass type needs. I remember correctly I think it’s 1 inch of water per week generally. My soil type can’t handle more than .25” before run-off occurs, so that is as “deep” as I can water in one cycle.

I’ve had this going out for around three years and it’s working fine. It has saved me a whole bunch of money in water, which is very expensive here.

Mark

 

Mark

Same on time of day. I've been doing 3am as well for perennial rye for 10 or more years. Same on water cost as well... ours is insanely expensive. HA irrigation paid for itself, now its paying for the rest. :D

I think when you say weather module, did you add the irrigation module on top of that as well? The irrigation module does the evapotranspiration calcs to say if watering is needed. 

Paul

Posted

If I move the watering time to 3am, then I loose the variable Total Rain Today.  Can I use Irrigation Requirement as a replacement?  For example, If Irrigation Requirement is >0.0, then run irrigation programs?

Posted
Mark
Same on time of day. I've been doing 3am as well for perennial rye for 10 or more years. Same on water cost as well... ours is insanely expensive. HA irrigation paid for itself, now its paying for the rest.
I think when you say weather module, did you add the irrigation module on top of that as well? The irrigation module does the evapotranspiration calcs to say if watering is needed. 
Paul


Yes I did mean the irrigation module.


Sent from my iPhone using Tapatalk Pro
Posted
If I move the watering time to 3am, then I loose the variable Total Rain Today.  Can I use Irrigation Requirement as a replacement?  For example, If Irrigation Requirement is >0.0, then run irrigation programs?


The irrigation module factors in the current EvTo, which I’m assuming factors in the rain for the prior day.

my basic program is set to run if EvTo is over a certain amount and it’s going to rain less than a certain amount, then irrigate.


Sent from my iPhone using Tapatalk Pro
  • Like 1
  • 1 month later...
Posted

Paul and Giomania...thank you so much for the boot in the backside to figure out how to use the Irrigation Module.  It took a few hours to sort out how to use it and what the parameters were for my system but it was certainly worth it.  It is far far superior to my previous timed based programs.  Here's what I did...

The write up on the HAM Weather module is key (https://wiki.universal-devices.com/index.php?title=ISY-994i_Series_INSTEON:HAM_Weather).  Read completely and then follow the steps.

First, I had to sort out how much water is being deposited per minute per zone.  If the system is laid out proper with good overlap, then it doesn't matter how many heads you have, only they type of head and pattern.  I have two types, 180 head sprayers (12DSH) and the big rotating one (M2045A).   The former deposits water at 2" per hour.  The later deposits at 0.70" per hour.   Fortunately, I mostly have one type of head per zone so I can time each zone to deposit 0.4" of water per irrigation cycle which works out to 12 min for the popups and 35 min for the rotators.   This gives me the timing for each zone assuming that I want to deposit 0.4" of water.

Next step was to reset the irrigation module.  Following the wiki's instructions.

Reset Irr Req Counter - [ID 001C][Parent 001B]

If
   - No Conditions - (To add one, press 'Schedule' or 'Condition')
 
Then
        Irrigation - Reset Variables
 
Else
   - No Actions - (To add one, press 'Action')

Run Then path and you're reset.  Verify by refreshing the weather data in the Climate module and check the Irrigation Requirement.   It should be 0.

Next, setup the Irrigation Module.  I used Penman-Monteith, Interior Plains, 80% absorption, 0.6 crop coefficient and 0.4" of water applied per cycle.

The new trigger program is much more simple.

Irrigation Req Trigger - [ID 0024][Parent 001B]

If
        Time is  3:00:00AM
    And Module 'Climate' Irrigation Requirement >= 0.35 inches
 
Then
        Run Program 'Irrigation Plan 0.4' (Then Path)
 
Else
   - No Actions - (To add one, press 'Action')
 
The irrigation plan is in another program to ensure it completes after the trigger criteria are no longer meet.

Note that I trigger the program at 0.35" Irrigation Requirement to account for errors in my assumptions (who really know how much water pressure varies...)

The new Irrigation program is substantially more simple as well.

Irrigation Plan 0.4 - [ID 001D][Parent 001B]

If
   - No Conditions - (To add one, press 'Schedule' or 'Condition')
 
Then
        Send Notification to 'Ken's email' content 'Irrigation Soak 0.4 Plan'
        Set 'Irrigation / Zone 1' On
        Wait  12 minutes 
        Set 'Irrigation / Zone 2' On
        Wait  12 minutes 
        Set 'Irrigation / Zone 3' On
        Wait  35 minutes 
        Set 'Irrigation / Zone 4' On
        Wait  12 minutes 
        Set 'Irrigation / Zone 5' On
        Wait  12 minutes 
        Set 'Irrigation / Zone 6' On
        Wait  12 minutes 
        Set 'Irrigation / Zone 7' On
        Wait  12 minutes 
        Set 'Irrigation / Zone 7' Off
        Irrigation - Cycle Complete
        Send Notification to 'Ken's email' content 'Irrigation Finished'
 
Else
   - No Actions - (To add one, press 'Action')
 
Drivers irrigation valves for 0.4" deposit irrigation cycle.  Sends notification of start and finish.

The program is triggered elsewhere to ensure the irrigation plan completes after the trigger criteria are no longer meet.  It also reduces the chance of an accidental start.

Note that I add "Irrigation - Cycle Complete" at the end of the program to tell the Irrigation Model to that 0.4" of water has been deposited on the yard. 

I've had it running for about a month now and it's been fantastic.  It behaves exactly as expected.  I can watch the rain fall totals and the evaporation add at the end of the day and the see exactly when I reach the 0.35" irrigation requirement.  When the irrigation system runs, the Irrigation Requirement counter resets to 0. 

I couldn't be happier.  It even got the wife's seal of approval since the yard looks wonderful.....and it's saved us a ton of cash.  

Thank you PaulBates and Giomaia for the guidance.


 

  • Like 1
Guest
This topic is now closed to further replies.

×
×
  • Create New...