Allan
Members-
Posts
14 -
Joined
-
Last visited
Allan's Achievements
Newbie (1/6)
0
Reputation
-
1. The dashboard is a web application that I developed using PHP with a MySQL back end. The application is hosted online with a web hosting provider that I already use for hosting other sites. I have it set up like this so that I don't need to have a computer running at home to run the system. The dashboard is a view of the content that is stored in the water balance database in MySQL. The dashboard itself does not perform the ET calculations but there is a second part of the web application that provides that capability (no user interface, just HTTP requests). The ISY interacts with the 'controller' by sending GET requests as resources in the Networking Module. 2. You bring up a really good point that I hadn't considered. The area that I am irrigating (front and back yard) is all very similar so i never encountered this as an issue. As a result I only track a single water balance for the entire area. I suppose it would be possible to track multiple 'areas' that would each have their own water balance (I am using 'area' as opposed to 'zone' with the idea that an area could be comprised of multiple irrigation zones). The ET calculation itself would be the same but the water balance parameters would be different for each area (infiltration rate, soil type, soil moisture capacity etc.). I could also see where this would be really helpful for tracking the water balance for something like a vegetable garden (independently from the lawn). With my current design I am constrained to a single 'area' as I am using the Flex Alert system to trigger the irrigation cycle. This is a single on/off value so I would have no way of irrigating the areas independently. I like the idea of being able to support multiple areas and I would suggest that UDI consider this in their implementation.
-
I have posted the rest of the details about my irrigation system (part 4 and part 5 of the series). I was out of town for about 3 weeks so it took a while to get the rest of this online. I sent a copy of my ET calculations to Michel so I look forward to seeing how that turns out in a future update. Feel free to ask questions or provide suggestions.
-
Michel, I will send in a copy of my implementation of the FAO Penman-Monteith equation (it is written in PHP). I wrote it pretty quickly so I'll add some more comments to explain everything. I am using 24 hour calculations (instead of hourly) so there are some assumptions which I will note in the comments. Please note that this only covers the ET calculations. There are other calculations for the water balance (things like runoff calculations based on rainfall rate and infiltration rate) that need to be included. I have a link on my blog to a paper on the water balance approach that provides more detail on how to track the water balance. Thanks, Allan
-
Absolutely. Please link to the first post in the series (http://blog.allanglen.com/2009/07/build ... ler-part-1) as I will link future updates to that initial post. Local meteorological data is all that is needed for ET calculations (at least at the precision needed for lawn irrigation control). I can get everything I need from WeatherBug. I suppose that sensors would help the accuracy (particularly for calibrating the actual water balance) but I haven't really seen a need for that level of precision. I am using the FAO Penman-Monteith equation as it is a universally accepted approach for calculating ET. In my research I discovered that most of the ET controllers that are available on the market use the Penman-Monteith equation. The equation is quite complex (there are a lot of different calculations involved) but the math is relatively simple. The link I provided above provides a full explanation of all of the components of the calculation. This documentation was the primary source that I used to implement the equation. The equation needs the min and max temperature, min and max humidity, and windspeed (as well as net radiation but this can be estimated based on the location and time of year). All of these parameters are provided by WeatherBug so I download this information nightly to a hosted web application (triggered by a schedule in the ISY) and run the calculations on the web app. I calculate the ET daily which makes the calculations a little bit simpler (24 hour period vs. hourly). I will be posting a lot more details on my blog as time permits but hopefully this helps for now.
-
mikestreb, I have recently created an evapotranspiration (ET) irrigation system using the ISY 99i (running version 2.7.5 beta) and the EzFlora (v.24). This combination is working very reliably and I haven't had any problems. I did notice that a quick on and off of a zone (without any wait in between) will not reliably turn off but this sequence would never be necessary in an actual irrigation system. The ISY only controls the 8 zones and does not interface with schedules in the EzFlora (which is all you will probably need anyway). The maximum run time (timeout) for a zone can be set from the ISY which is very convenient. This is a timer built in to the EzFlora that will ensure that the zone shuts off after a period of time even if an Insteon off message is not received by the EzFlora. I have started blogging about my irrigation system at http://blog.allanglen.com/2009/07/building-a-smart-irrigation-controller-part-1. I will post this link in the "How Are You Using ISY?" forum once I get the rest of the series of blog posts completed. The bulk of the logic for my system (ET calculations, water balance tables etc.) runs outside of the ISY on an internet-hosted web server and I plan on open-sourcing all of that code if anyone expresses an interest in using it for their own system.
-
I am currently using temperature but I am working on a more sophisticated way to use ET (evapotranspiration) calculations to compute watering requirements.
-
The numbers provided above are just for illustration. The actual cycle would be about 5-7 minutes. We have a lot of clay in the soil here and I start to get run-off at around 8 minutes. By pausing for an hour or so between cycles a lot of water can be saved. Running constant for 15 minutes results in much less water getting soaked in than running twice for 7.5 minutes. On most watering days there would only be two cycles. The solenoids in the current valves are still running fine after 8 years and they are pretty cheap to replace if they wear out. This setup is only for the lawn. Plants are on a different cycle.
-
Thanks fitzpatri8. That explains the behavior I am seeing. I previously tried the repeat and it works but it means I end up with a lot of duplication in my programs. Based on the weather I want to run different amounts of cycles (1, 2 or 3) so I would need a program for each of these scenarios that would duplicate all of the individual sprinkler zone timings. Probably not a big deal as it is not a major program but the programmer in me is trying to avoid repeating myself.
-
I am trying to set a up an irrigation cycle that includes a run of all of the zones followed by a soak period and then another run of all of the zones. To do this I have a 'Cycle' program that runs the cycle for all the zones in addition to a 'Controller' program that runs the Cycle program twice with a wait in the middle. The trouble is that the wait in the Controller program appears to start counting when the Controller program starts and not when the first Cycle program is finished. Is this by design? If so, how do I make the wait occur after the first cycle is finished? Here are simplified versions of the programs that demonstrate the problem: Controller Program: If - No Conditions - (To add one, press 'Schedule' or 'Condition') Then Run Program 'Irrigation.Cycle.Test' (Then Path) Wait 20 seconds Run Program 'Irrigation.Cycle.Test' (Then Path) Else Run Program 'Irrigation.Cycle.Off' (Then Path) Cycle Program (Irrigation.Cycle.Test): If - No Conditions - (To add one, press 'Schedule' or 'Condition') Then Set 'Sprinkler Zone 1' On Wait 20 seconds Set 'Sprinkler Zone 1' Off Else Set 'Sprinkler Zone 1' Off In the example above the two Cycle programs run back to back. If I put a 40 second wait in the Controller I get the desired outcome (20 seconds on the cycle, 20 seconds soak, and 20 seconds on the cycle again). Note: I want to run this for more than 60 seconds but I am just using small time periods to test the programs quickly. I am running 2.7.5 beta.