Sprinqua — Open-source irrigation controller for Raspberry Pi, with MQTT auto-discovery

Hey,

I've been building Sprinqua — a self-hosted irrigation controller that runs on Raspberry Pi and integrates with Home Assistant via MQTT auto-discovery.

What it does

  • Zone control — manual on/off, 5-min pulse, or fully scheduled. Safety auto-off per zone

  • Weekly schedules — per-zone day/time/duration with a visual weekly overview chart

  • Smart Watering — integrates with Open-Meteo (free, no API key) to skip irrigation when rain is forecast above your threshold

  • Activation history — full log of every run (manual, scheduled, MQTT, or skipped), 7-day stats and 24h timeline

  • MQTT + HA auto-discovery — all zones appear automatically as switch entities, no manual entity configuration needed

  • Two control modes — Standalone (Sprinqua manages its own schedules) or HA-Managed (HA takes full control via MQTT)

  • 6 languages — EN, PT, ES, FR, DE, IT

Supported hardware

Works out of the box with 8+ relay HATs for Raspberry Pi

  • Waveshare 3/6/8-ch
  • Keyestudio 4-ch
  • Seengreat 3/4/8-ch
  • BC Robotics 4-ch.

A setup wizard handles GPIO mapping and lets you pulse-test each relay before committing.

MQTT topics

# State published by Sprinqua
sprinqua/zone/1/state  →  ON | OFF
sprinqua/mode/state    →  Standalone | HA-Managed

# Commands accepted
sprinqua/zone/1/set    ←  ON | OFF
sprinqua/mode/set      ←  Standalone | Home Assistant Managed

Auto-discovery registers all zones as switch entities and a select entity for the control mode — you can switch between Standalone and HA-Managed directly from the HA dashboard.

Stack

Sprinqua runs on Orbit OS — an embedded Linux platform for Raspberry Pi. Install takes about 5 minutes: install Orbit OS, sign into the app store, install Sprinqua with one click, run the hardware wizard, done.

Links

Happy to answer questions, add board support requests, or hear feature ideas. If your relay board isn't on the list, open an issue on GitHub and I'll add it.

1 Like

Hello,
very interesting project, It may render useful a now useless RPIzero, just a question, does the weather integration support ETo (Evapotranspiration) algorithm to adjust watering times to local meteo conditions? If it isn't supported, is ita planned feature?
Many thanks

1 Like

Hi, thanks for the kind words!

To answer your question: Smart Watering currently only skips scheduled runs when rain is forecast above a configurable threshold — it doesn't adjust durations based on ETo or other meteo conditions.

ETo-based adjustment is genuinely interesting and would make the system much smarter for people in hot/dry climates. It's not on the roadmap yet, but it's exactly the kind of feature I'd love to see in the project.

If you have experience with ETo algorithms and want to contribute, I'd welcome it — the project is GPL-3.0 and open to contributions.

Thanks again!

Hi,
I am a little more than a power user, I'm not really good at writing code so I won't be able to help there, ATM at my primary home I'm using (a fork of) Opensprinkler, it have ETo algoritm embedded, it is explained here

TL:DR
It calculate a percentage between 0% and 200% with witch it corrects the usual timing for watering progams, 100% means I set 10mins per zone the relay will be open 10mins per zone, 200% doubles the time, 50% halves it 0% skip watering.
It is simple but effective, at least in my case.

Another interesting feature of OS has (that I think Sprinqua still miss iinw) is a master zone to use one of the relay to power a pump and so use ground/reservoir/tank water instead of tap water, That relay stays on as long as there is a zone active.

Looking forward to the future releases, in the meantime I'll start scouting for hardware...

1 Like