https://github.com/CosmicMac/ESPrinkler
Quoting the README:
Remote control up to 4 solenoid valves with the ESP8266 SOC (Arduino environment).
Either use the integrated web app with your smartphone (point your browser at `http://esprinkler.local`) or let your favorite scheduler send HTTP commands to trigger sprinklers.
At the end of a sprinkling cycle, meaningfull information are published on your MQTT server: which sprinklers were activated, how long did they sprinkle, ESP uptime & heap...).
ESPrinkler can easily be adapted to control different/more devices.
Some screen captures: