From: Jason S. <ja...@sh...> - 2007-04-04 04:07:13
|
That is some great information! Gives me a lot to think about. I will definitely be trying to add the "Pulse stuffing" idea into the code. Maybe I am making this a little harder than it should be per your reality check. At minimum though, I have no idea currently how long to run each zone and would like to get some sort of scientific basis for the duration. I plan on placing 5 cups distributed as equally as I can around each zone and measuring the water over a certain amount of time. Maybe I will have to try and dig up some general soil saturation parameters from somewhere (NC clay) as well as what my grass type likes getting (Fescue), or just simply dig out a soil sample after watering, weigh, heat/evaporate, and weigh again. Its too bad MOS only covers the US (great tool for computing forecasts) ;( Is there a generic interface in MH that supports weather forecast information? I definitely will add MOS support, however, I would like to abstract it such that anyone else in the world can easily add their own forecast engine. (Forecast_Item)? Same goes for reported conditions as well. Thanks for your help! -J On Sun, 1 Apr 2007, Jim Serack wrote: > Jason, > > My code is not generalized but I'm happy to share it with you for ideas off > list if you let me know how to do that. > > I live in Canada and I don't think the MOS data covers here - but I would > like to implement the predictive approach as well. I thought of using TAF > (which is the forecast cousin of the METAR aviation weather observations) it > can predict the amount of rainfall and intensity plus the maximum wind speed > during a certain period. (No use watering if it's all just going to blow on > the driveway). > > I amassed some information on the modeling of the zones water consumption > from several sites (university research) on modeling irrigation for crops. > It is really really complex and will take a lot of data for any success. If > we were watering concrete it might be possible - but when you take into > account ALL the ways the water goes away we will never get enough > information. Drainage, evaporation, the actual grass, flowers, etc, use > transpiration to cool themselves. You need solar radiation, temperature, > humidity, soil ability for retention of water, drainage, and so on ... By > zone! > > I came to the conclusion that I would just run this simple empirical model > that reduces wasted watering after recent rainfall and it worked very well > last summer. We had what they called a sweetheart summer for gardeners - > where there was a gentle rain every few days and no long hot dry periods > last summer. With the average formula and those conditions - I had lovely > green grass, and flowers, and a water bill about 1/3 of the prior year that > just used timed based watering. > > I also use an automated Mrhouse system to adjust my pool level which also > uses water so it probably had a big impact on water use with the > "Sweetheart" summer. > > As far as actual zone sensors for sensitive areas I understand the buried > parallel carbon rods (as part of a resistive bridge) are reliable and > accurate. That might be something that we could develop to work with 1-wire > for MrHouse. > > The solution for my actual rain gauge would also work for the measurement > that you want to take of your sprinkler "rain rate" within different zones. > I took one of th e cheaper weather stations (with no PC interface) and took > apart the rain gauge which has a collector basin that channels the water to > an internal balance which tilts and dumps the collection once for each > quarter millimeter. The sensor is just a magnetic reed switch. I > disconnected it and it's cable and connected it to a DS-10A window sensor > which I was able to fit inside the rain gauge. I receive the signal with a > W800RF32A. I have the code for that as well. You could move that around on a > stick to the different zones and get the rain rate automated. > > I use a technique from integrated circuit design for the solution to more > frequent less duration zones (like your burn prone lawn) especially for > around my pool garden which is almost tropical with raised pot sprayers etc. > The concept is easy to implment - it is commonly called "pulse stuffing" - > essentially you have a fixed cycle of "pulse opportunities" many more than > you need, and then when each opportunity comes by you make a decision on > using it or not. I do this with all my watering zones (including the pool > filler spigot, and slow drain) - I think in 30 minute opportunites. This > also means that there is some management of interferring demands ( my system > can only have one zone turned on at a time) If it is the right day, and the > averaging algorithm is below threshold the opportunity is used. > > Also for other reasons the water to my sprinkers is pressure regulated - so > I'm dealing with a known flow rate at all times (and I'm not bursting PVC > pipe only rated at 75 psi). > > Jim > > -----Original Message----- > From: mis...@li... > [mailto:mis...@li...] On Behalf Of Jason > Sharpee > Sent: April 1, 2007 10:12 AM > To: The main list for the MisterHouse home automation program > Subject: Re: [mh] Irrigation_Item.pm added to SVN > > > In addition, Im trying to find information right now on sunshine and soil > composition to calculate evaporation. I have found a few sensors on the > internet that determine saturation (work well but supposedly dont last > long) but I believe this can be calculated if I can pull the right data. > > At minimum, I would like to come up with a guide on finding out how much > water is dispersed to each zone. Something like placing known diameter > cups around each zone and measuring the water over time. Then we can take > the guesswork out of how long to run each zone for uniform coverage. > Then I would guess we would have to make some subjective measurements > about relative sun exposure around the property. > > One problem I have right now that doesnt have a good scientific solution: > I have a part of my lawn that receives almost 90% sun exposure throughout > the day and the grass gets burned in mid summer. I will obviously need to > run this zone longer, but I think it will need to this zone more > frequently as well. I would like to make all of this "automated" as well > based on a few (hopefully) easy measurements one time. > > > -j > > On Sun, 1 Apr 2007, Jason Sharpee wrote: > >> >> Jim, >> >> That is great! Is your code in the distro for that? In addition I >> want to add the ability to prevent watering if it will rain within a >> certain range as well. I created a module a while back that can read >> the North American forecast data (in 3 hr increments up to 96 hours) >> with the intention of using it for irrigation later on as well. >> >> For example: This morning my full irrigation cycle ran at 5:30am, >> however, now at 9:00am it started raining (Waste of water) The MOS >> forecast data shows what the percent chance is and the amount of >> forecasted precip. Using this data I could have avoided irrigation if >> it was integrated. >> >> -J >> >> On Sun, 1 Apr 2007, Jim Serack wrote: >> >>> Jason, >>> >>> Mine looks at how much rain has fallen in the last two days and does >>> a sloped average - if it is above a certain threshold the zone >>> doesn't get watered. >>> >>> Jim >>> >>> -----Original Message----- >>> From: mis...@li... >>> [mailto:mis...@li...] On Behalf Of >>> Jason Sharpee >>> Sent: March 31, 2007 9:18 PM >>> To: The main list for the MisterHouse home automation program >>> Subject: [mh] Irrigation_Item.pm added to SVN >>> >>> >>> >>> Hi All, >>> >>> Just added a generic irrigation controller to the misterhouse SVN. >>> After I got the Rain8 UPB driver created, I needed to have a simple >>> irrigation cycle controller. I made this very abstract to support >>> any other hardware you may have. >>> >>> Features: >>> >>> - Cyclical zone running with individual times. >>> - Run a single zone with delay. >>> - Interruptable >>> >>> Feel free to add any other features. I am currently taking a stab at >>> adding weather forecasting and reporting station data to make >>> irrigation completly automated. >>> >>> >>>> From the Code: >>> =begin comment >>> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ >>> @@@@@@@ >>> @@@@@@@@ >>> >>> File: >>> Irrigation_Item.pm >>> >>> Description: >>> Irrigation Cycle controller - This is an attempt to abstract >>> irrigation control >>> features from the hardware specific device driver. This driver can >>> cycle >>> through specific zones with specified time delays (much like a >>> generic sprinkler >>> controller found on an existing system) This driver has been tested >>> to work with the UPB_Rain8 driver, but should work with any other >>> device object >>> that can turn on/off its zones using the MH support substate >>> syntax ( >>> ->set(on:4);) >>> >>> Author(s): >>> Jason Sharpee - ja...@sh... >>> >>> License: >>> This free software is licensed under the terms of the GNU public >>> license. >>> By using this software you agree that it comes with no warranty >>> and author >>> is not responsible for any damage that may occur. >>> >>> Usage: >>> Example initialization: >>> These are to be placed in a *.mht file in your user code >>> directory. >>> >>> First, define your actual irrigation object: >>> UPB_Rain8, irrigation_controller1, 13, 1 >>> >>> Then, define the Irrigation_Item(s) and attach the real object: >>> IRRIGATION, irrigation_controller1, morning_irrigation >>> IRRIGATION, irrigation_controller1, evening_irrigation >>> >>> Methods: >>> set(state) - Start / Stop full irrigation cycle >>> state[on/off] = Start/Stop full irrigation cycle >>> zone_single(zone,state,time) - Start / Stop single zone >>> zone[x] = Single zone to activate/deactivate >>> state[on/off] = Start / Stop single zone >>> time[x] = Time in seconds for the zone to run >>> zone_activate(zone,activated) - Set zone activation part of >>> the cycle >>> zone[x] = Zone to set activate/de-activated >>> activated[1/0] = Set / unset active zone in full cycle >>> zone_time(zone,time) - Set zone cycle time >>> zone[x] = Zone to set cycle time >>> time[x] = Time in seconds for the zone to run part of the >>> cycle >>> zone_count(zones) - Set total zones >>> zones[x] = Number of zones as a part of the system >>> (default 8) >>> >>> running() - Returns (1/0) system running >>> zone_current() - Returns [1/0] current zone running >>> >>> Output states: >>> >>> >>> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ >>> @@@@@@@ >>> @@@@@@@@ >>> =cut >>> >>> >>> >>> --------------------------------------------------------------------- >>> ---- >>> Take Surveys. Earn Cash. Influence the Future of IT >>> Join SourceForge.net's Techsay panel and you'll get the chance to share > your >>> opinions on IT & business topics through brief surveys-and earn cash >>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >>> ________________________________________________________ >>> To unsubscribe from this list, go to: >>> http://sourceforge.net/mail/?group_id=1365 >>> >>> >>> --------------------------------------------------------------------- >>> ---- >>> Take Surveys. Earn Cash. Influence the Future of IT >>> Join SourceForge.net's Techsay panel and you'll get the chance to share > your >>> opinions on IT & business topics through brief surveys-and earn cash >>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >>> ________________________________________________________ >>> To unsubscribe from this list, go to: > http://sourceforge.net/mail/?group_id=1365 >>> >>> >>> >> >> ---------------------------------------------------------------------- >> --- >> Take Surveys. Earn Cash. Influence the Future of IT >> Join SourceForge.net's Techsay panel and you'll get the chance to share > your >> opinions on IT & business topics through brief surveys-and earn cash >> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >> ________________________________________________________ >> To unsubscribe from this list, go to: > http://sourceforge.net/mail/?group_id=1365 >> >> >> > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys-and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > ________________________________________________________ > To unsubscribe from this list, go to: > http://sourceforge.net/mail/?group_id=1365 > > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys-and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > ________________________________________________________ > To unsubscribe from this list, go to: http://sourceforge.net/mail/?group_id=1365 > > > |