This morning I was thinking of ways to enhance my irrigation controller, now that I have my old python based solution almost completely migrated to NR. Here is what I came up with, but thought other ideas might be suggested?
Typical irrigation/sprinkler controller, I have on and off intervals for each zone. So the enhancements are focused on how to make the interval value the most efficient it can be for changing conditions. Time of day is important such that you want to water say a lawn earlier not later, but that is a given, right?. Key factor, since I live in a true desert, I want to be water efficient as possible as well, without human intervention except for exceptions.
Here is what I came up with for enhancement ideas:
- As day length increases, increase interval by X time for Y zone
- As day length decreases decrease interval by X time for Y zone
- As wind increases increase interval X time for Y zone
- As rain increases decrease interval X time for Y zone (enough rain, interval 0)
- If record high temperature increase interval X time for Y zone
- If record low temperature decrease interval X time for Y zone
- Implement method for validating valve for Y zone has opened and closed as expected (stuck valve alert)
- Use visual image to evaluate Y zone state
The first 6 are straight forward, just need to integrate weather source and almanac into the existing controller logic. Finding the right X value for Y zone would develop over time... a learning machine model might one method.
The 7th is the one that I think for me, in a desert is key to add next to the total solution, I have stuck valves about twice a year. The desert is hard on valves and the irrigation water quality significantly adds to reduction of the valve life span as well.
The 8th one, is maybe the most interesting, and wonder if others may have suggestions on how to implement video capture in NR, and integrate some type of limited AI to evaluate the Y zone state? Of course if I can implement the 8th idea above, it would augment 1 through 6 logic as well, and allow for improved X adjustment to interval(s) as noted above.