@obrienj: if you have experience with programming in Arduino, you can easily use OpenSprinkler to achieve your plan. There are several available pins on OpenSprinkler to interface with sensors. You do need to customize the firmware to do what you need, but given the description it shouldn’t be difficult.
OpenSprinkler Pi would also work fine.
The choice depends on whether you are more familiar with Arduino programming, or python.