For the implementation I chose the esp32, because it talks BLE, WIFI native and can do LORA easily, it's easy to program, I know it well enough and it is way, way OP for this purpose, which adds a certain humor to the project.
Hardwares:
The initial idea is to have a control unit outside powered by battery and talking BLE to a webserver unit inside that talks to the router via wifi.
Software:
Making a web server on the esp32 is super easy thanks to a bunch of good examples and libraries, graphing the whole thing is also super easy, either using google graph API or graphly.io
The portion that controls the valve needs to auto synch its time with the interweb, manage the triggering of events, queue up those events in case they are concurrent, that queue is controlled by the available voltage to form the pulse.
very funny that I ran on this project as I made exactly the same hack as you. On the other hand, I have started to work on driving solonides with LM2576 modules.