A free, open-source irrigation controller for Home Assistant

My garden has two kinds of days: the ones where I forget to water, and the ones where it rained all night and I water anyway. So I built an irrigation controller that lives inside Home Assistant. It's free and open source, and it can found from the HACS default list, so installing it is now "search, download, restart". The idea You already have the hardware: a valve, maybe a pump, maybe a rain gauge or a soil probe. ZoneFlow doesn't want you to buy anything new. You tell it what's growing in each spot, and it works out when and how much to water from the plant, the soil, the temperature and the rain. The part I care about most: it tells you what it did and why, in plain words. Not "cycle skipped, code 4", but "skipped at 05:30, it rained 12 mm yesterday and that covers it." If a watering didn't happen, you can see the reason without digging through logs. Things that made me happy while building it Rain counts. Real rain from a gauge or weather station reduces

A free, open-source irrigation controller for Home Assistant

My garden has two kinds of days: the ones where I forget to water, and the ones where it rained all night and I water anyway.

So I built an irrigation controller that lives inside Home Assistant. It's free and open source, and it can found from the HACS default list, so installing it is now "search, download, restart".

The idea

You already have the hardware: a valve, maybe a pump, maybe a rain gauge or a soil probe. ZoneFlow doesn't want you to buy anything new. You tell it what's growing in each spot, and it works out when and how much to water from the plant, the soil, the temperature and the rain.

The part I care about most: it tells you what it did and why, in plain words. Not "cycle skipped, code 4", but "skipped at 05:30, it rained 12 mm yesterday and that covers it." If a watering didn't happen, you can see the reason without digging through logs.

Things that made me happy while building it

  • Rain counts. Real rain from a gauge or weather station reduces the next watering, and small drizzle that never reaches the roots doesn't.
  • It also handles greenhouse and indoor grow climate, if you need that.
  • You can try it in your browser first. There's a simulated garden you can click through, no install needed.
  • The valve always gets closed. Most of the code is about what happens when things go wrong: restarts mid-watering, a valve that doesn't answer, a sensor that disappears.

Try it

If your garden is happier with it, a ⭐ on GitHub helps other gardeners find it. And if something doesn't work for you, open an issue. Most of the ideas in it came from people using it.

(Built with a lot of help from an AI assistant, and tested a lot on my own garden.)

Share