Self-sufficient garden watering system

We are experiencing increasingly extreme weather ranging from no rain at all for weeks to pouring rains with more than 50 liters per square meter per hour. At the same time prices for potable water are rising. As my astronomy hobby has a lot to do with appreciating the beauty of nature, I am also trying to be as conscious for the environment as possible.

A few years ago, I wanted to ensure my backyard always gets enough watering even during extended dry periods but without wasting potable water from the faucet. Hence, I developed a garden watering system, partly with self-developed hardware based on Arduino, partly with ready made equipment, and integrated the whole installation into my home-assistant smart home system.

I installed a water storage system based on 2 IBC containers that collect water from the roof of my house with a storage capacity of 2 cbm (2000 liters). An electric water pump transports the water through a Gardena “micro drip” system I installed in the whole backyard. This installation can be used manually – just turn on the pump once a day for a couple of minutes.

Of course, I wanted to automate this and make use of sensor data and other data sources. Sensor data available:

  • Filling level of water storage (e.g. to avoid running the pump empty)
  • Ambient temperature (e.g. to avoid watering near freezing point)
  • Soil moisture (to decide if watering is necessary at all)
  • Amount of rain in the last 24hrs (no watering necessary if there was enough rain already)

Additional data source: As my weather station is connected to the Weather Underground network, I can do an API call to get a weather forecast specifically to my geo location that is pretty accurate. So my automation also checks the predicted amount of rain for the day, as no watering is necessary when it will rain later that day, anyway (current threshold is 10 liters per square meter).

According to experts, best time of day for watering is a few hours before sunrise to minimize water evaporation. So my automation in set to run at 4 a.m (“bewaesserungszeit”).

At first, I was a bit worried if the only 2cbm of water storage might be sufficient, but after 3 years of running the system in self-sufficient mode I am happy to see: only very rarely the storage ran out of water. With that, I am able to water all my roses and other plants completely self-sufficiently using only collected rain.

In case someone wants to build their own watering system, this is the home-assistant automation I am currently using:

alias: "[Garten] Bewaesserung"
description: "self-sufficient watering system"
trigger:
  - platform: time
    at: input_datetime.bewaesserungszeit
condition:
  - condition: state
    entity_id: switch.bewasserungsautomatik
    state: "on"
  - condition: numeric_state
    entity_id: sensor.regen_in_24h
    below: "1"
  - condition: numeric_state
    entity_id: sensor.aussentemperatur
    above: "7"
  - condition: numeric_state
    entity_id: sensor.ga_wasserstand_filling_level
    above: "5"
  - condition: numeric_state
    entity_id: sensor.bodenfeuchte_vorne
    below: "30"
  - condition: numeric_state
    entity_id: sensor.wupws_precip_1d
    below: "10"
action:
  - service: switch.turn_on
    data: {}
    target:
      entity_id: switch.ga_wasserpumpe
  - delay:
      hours: 0
      minutes: 5
      seconds: 0
      milliseconds: 0
  - service: switch.turn_off
    data: {}
    target:
      entity_id: switch.ga_wasserpumpe
mode: single

Leave a comment

Your email address will not be published. Required fields are marked *