https://github.com/AGCTLabs/ospijs
This is a nodejs based controller that gives
1. A command line interface to open / shut the valves
2. JavaScript API interface.
Using this command line interface you could easily set up unix cron jobs on your pi to schedule your irrigation.
On the other hand you could easily build a web app or other command line interfaces for example (check the current weather and conditionally open the valve) using the javascript API.
Folks — Your feedback is valuable !!