My vision for this project is a totally hands off solution. The system should be able to handle extreme weather conditions which, unfortunately, is becoming more common. A manual run is only for the very rare situation. Driving the system by manual runs is in my opinion paddling upstream and somewhat counterproductive. So on that note let’s see what can be done to make it smarter. Let’s peel apart the onion and see what problems we have:
Too much rain or too wet. This one we have covered with at least three solutions; HAsmartirrigation, your very own PWS or a soil moisture probe. Each one of these will adjust the run time from zero upwards.
Temperature sensitive schedules. The ability to change the schedule based on weather conditions. Two ideas here; Enable/disable a schedule. This came up earlier this year but for a different reason to do with seasonal watering and was tackled with the month filter. Here an external “temperature” sensor makes a service call to turn on or off schedules. With a set of predefined schedules you could select which schedule(s) to activate based on any criteria imaginable, too wet, dry, cold, hot, cloudy… The second idea is to replace/update the entire schedule. A new service call with exactly the same schema as the schedule object as documented in the readme would allow on the fly changes based on, well anything. This ties up with the ultimate goal of configuration via the UI. Not sure if you or someone else are interested in creating a schedule card for the front-end.
Not watering single zones. The main reason for this is water pressure as it’s not often possible to drive more than one valve at a time. Sequences were created for this reason. The ability to run each zone one at a time in a string based on a common schedule. If you have specified a delay between zones and don’t want the pump turning on and off then look at the preamble/postamble settings on the controller.
Zone selection. Unsure how this plays out yet given the above and the upcoming release but maybe targeting a sequence with a zone list. Let’s see what pans out here.
The next release has a
sequence_id added to the
adjust_time service call and operates in much the same way as in the
manual_run call. It will cause the sequence duration to expand or contract all the way down to zero if required. Perfect for HAsmartirrigation.