The Smart Way to Collect and Utilize Rainwater
Want a smarter way to utilize your rainwater? Take some inspiration from Ben Brooks, who connected his system to a Home Assistant server.
Public water systems are, arguably, some of the most important achievements in human history, as they offer reliable and affordable access to clean water. But some people live off-grid — whether by choice or necessity — away from public utilities and can’t access that water. Others simply want a way to take advantage of the free water that falls from the sky. If rainwater collection interests you, then you may want a way to make the process more efficient. That’s what Ben Brooks did with his Home Assistant-connected rainwater collection system.
Rainwater falling through the sky is generally safe for human consumption — though it can pick up particulates from the air. The problem is that most people don’t want to stand outside looking up with their mouths open, so they collect and store the rainwater for later use. That introduces potential risk and so many people choose to use their rainwater for purposes other than drinking, such as watering gardens. That is what Brooks wanted to achieve with a co-garden he started with a neighbor.
Brooks ended up with two large cube storage tanks that collect the water from a building roof. Submersible pumps move water from those tanks to the garden irrigation system and this is where Brooks first saw value in automation. It would have been possible to connect those pumps to manual switches or even basic timers, but what if they could respond to the needs of the plants, the amount of water in the tanks, and the predicted future rainfall?
Brooks already had a Home Assistant server running for other tasks, so he just needed to add the rainwater collection system to that. He used an ESP32 development board to build a custom ESPHome device for this purpose. It performs numerous functions, both collecting data from sensors and controlling the pumps.
Those sensors include an ultrasonic distance sensor to measure the amount of water in the tank, temperature sensors, soil moisture sensors in the garden, and more. Those, along with online weather forecasting services, give Home Assistant a vast amount of data to work with. Not only can Home Assistant give Brooks some nice graphs, but it can also automatically perform actions under defined conditions.
For example, Home Assistant might detect that the soil in the rose bushes is dry and that the logs indicate they haven’t been watered in three days. It can check to see if there is enough water in the tank to irrigate the bushes, then activate the corresponding pump and open the valve going to the bushes.
Or Home Assistant might see a big rain storm predicted in two days. In that case, it could water the entire garden as much as it can to empty the tanks and free up capacity for the upcoming rainwater.
The possibilities are almost endless and Brooks was able to achieve all of this with affordable hardware.
Writer for Hackster News. Proud husband and dog dad. Maker and serial hobbyist. Check out my YouTube channel: Serial Hobbyism