Cool, thanks for sharing. It’s interesting that you took the approach of using an OSPi as the master controller, and ESP8266 as a remote station that listens to the main controller. I was actually thinking that ESP8266 is sufficiently beefy to run the OpenSprinkler firmware hence it can serve as a main controller itself. But your solution makes it more modular.
Regarding the current consumption: I don’t think it’s feasible to power ESP8266 with battery and expect it to last for a long time, unless if the battery is a rechargeable battery and used for backup power only. I would just use a USB adapter to power it (or use a battery pack so that it’s still powered even if there is a power break).