There are three parts of this project:
- Finding a way to wire a "rain sensor" to your irrigation controller. The sensor should just respond to an open/closed circuit - it shouldn't be using fancy serial or I2C communication.
- Building a relay that can be open/closed using a GPIO pin on a Raspberry Pi. I just wire up a MOSFET that open/closes the gate based on a pin's high/low status.
- Install the SprinklerSwitch software to check yesterday's weather conditions and today's forecast conditions, then toggle the GPIO pin high/low based on the results.
If all goes well, your home irrigation system will only turn on if there is very little or no rain in your weather forecast, and will stay off if you recently have had rain or are expecting some.
Nice project!
I hacked together a simpler version last summer - with an ESP12 driving a relay which set the RAIN_SENSE terminal on my RainBird controller to inhibit watering.
Tasmota running on the ESP gets an MQTT event to enable or disable the relay and a simple bash script checks the date/weather to generate the mqtt events.
Planning to improve it for this coming summer so looking forward to see what your Beta version looks like :-)
Gareth