github altmenorg/HAsmartirrigation v2026.11.0-beta1

pre-release3 hours ago

The first beta of the full controller: Smart Irrigation can now run your whole watering itself. After three alphas on real gardens, the interface and the behaviour are what we intend to ship. If your garden depends on Smart Irrigation and you do not want surprises, stay on v2026.10.10; if you are curious, this is the version to try.

Why a controller

For years, Smart Irrigation and Irrigation Unlimited worked as a pair for a lot of you: Smart Irrigation worked out how much each zone needed, Irrigation Unlimited ran the valves. It was a good pair, and it served many gardens well.

Irrigation Unlimited has been very quiet since the summer, though (its last release was in December 2025), and the watering of a garden should not hang on a piece that may stop following Home Assistant. So Smart Irrigation now knows how to run the valves itself: programs, schedules, pumps, all of it, in one integration, with the calculated durations as the default rather than something an automation has to hand over.

Nothing changes for those who keep Irrigation Unlimited: the blueprints that feed it are still here and still maintained, and the full controller stays off unless you switch it on. If you want to move over, an import now brings your Irrigation Unlimited configuration across in a few clicks (see below).

A big thank you to @rgc99 for Irrigation Unlimited and for all these years of work on it. Many of the ideas in the full controller come from what it showed was needed.

Nothing changes unless you switch it on

The full controller is off by default. Update, restart, and Smart Irrigation keeps doing what it did: calculate how long each zone waters, and open the valves itself only if you already use direct valve control. Your settings, entities and automations are untouched.

The full controller

Switch it on in Settings, in its own card near the top (it asks before turning on). You get a Watering tab:

  • Programs: ordered steps, one zone or several at once, watered for the duration Smart Irrigation calculated (or a percentage of it, or a fixed time), with a minimum and a maximum, time added or removed, passes (cycle and soak), rounds, waits between steps (negative to overlap), a volume limit, and a minimum deficit that replaces the zone's threshold for that step (#912). Schedules anchored to a start or to an end ("done by sunrise"), days of the week, every N days, odd or even days, days of the month, months, a period of the year picked from lists, a choice for polar days and nights, and a hard deadline.
  • Each schedule shows what can hold it back: the conditions set in Settings (rain sensor, frost, wind, rain forecast, days between, soil moisture) with what each is set to; the ones you have not turned on are greyed out, and you untick the ones a schedule should ignore, the rain for a greenhouse for example.
  • Planning: what will run and when, with the forecast rain credited, the same figure as the Info page and the zone cards.
  • Pumps and valves: pumps and main valves that run around a zone, with delays before and after (negative too), a power cut before starting for a pump that only restarts after one, and the other valves of a zone, all picked from Home Assistant's entities.

Your current setup becomes the main program: your start trigger, sequencing and cycle and soak, as they are. It can also have schedules of its own; when one is enabled, they replace the start trigger, and the panel says so.

Also: run a program now (queued behind what is watering, or replacing it), pause, resume, skip to the next step, stop one program, adjust a program's durations for a while, suspend a zone or a program, a pause and a queue that survive a restart, a check every minute that an open valve is still open, per-zone confirmation settings for slow cloud valves (#927, thanks @johnnyh1975), an alert for a zone that no program waters, and a sensor per program. Programs show in the companion card too.

Valves that close themselves. A Sonoff SWV on ZHA is opened with its timed command, and on zigbee2mqtt the zone can publish the valve's own on_time: the valve closes on time even if Home Assistant goes away mid-run. Verified on real valves on both, thanks @Moharmate (#893).

Coming from Irrigation Unlimited

In Settings, General, Import from Irrigation Unlimited reads your configuration (your YAML as Home Assistant loaded it, Irrigation Unlimited's own settings, or YAML you paste) and shows, before anything is changed, what each zone, sequence, schedule and controller becomes here, with a report of what is carried over exactly, approximated or left out. Your zones are matched by their valve; a sequence fed by Smart Irrigation's durations waters the calculated duration. The schedules of new programs are created switched off, so Irrigation Unlimited keeps watering until you are ready. Importing again later updates what the earlier import made. Built by @johnnyh1975 (#946, #950, #953, #957), thank you! Details in Coming from Irrigation Unlimited, and the whole controller in Full controller.

Before you try it

  • It drives real valves and pumps. Start with a program on a zone you can watch, and keep an eye on the first runs.
  • Switching it on closes, at startup, any valve that no run of ours owns. A valve opened by hand outside Smart Irrigation is closed after a restart.
  • Switching it off brings back the previous behaviour; your programs and pumps stay stored.

What changes for everyone on this version

These apply with or without the full controller.

  • The water balance is replayed in five-minute steps. Rain used to be added for the whole interval and drained over all of it, so a late rain drained for hours it was not there. Each rain reading is now spread between it and the reading before it: on one real evening of 12.8 mm over five hours, the bucket ends at 6.5 mm where it used to end at 5.6. No extra reading or API call. Thanks @Megalos for the measurements (#783, #931).
  • A Home Assistant weather entity can be your weather service: DWD, Met.no, KNMI, the NWS or any weather integration you have, with solar radiation and reference evapotranspiration from Open-Meteo. It forecasts rain only, so give your sensor groups a rain sensor; the panel says which still need one. Thanks @johnnyh1975 (#928).
  • Postpone from a dashboard: the Smart Irrigation device has "Postpone watering 24 h" and "48 h" buttons, a "Resume watering" button, and a "Watering postponed until" date you can set, for your holidays for instance.
  • A Water button on each zone card (direct valve control, a linked valve): it asks for minutes, and left empty waters the run the planning shows.
  • A zone card says the run the planning shows, forecast rain credited, and the forecast fits a phone.
  • The daily evapotranspiration is never negative, and a sensor or a weather service that goes silent no longer lends its last values to later calculations.
  • Saving a setting no longer takes a weather reading: three minutes of editing could add 25 identical records (#955, thanks @Megalos).
  • Six actions that cannot be undone ask first, in Home Assistant's own dialogs, the setup assistant asks only for what the engine needs (#915, thanks @johnnyh1975), and the panel is much faster while it is open.
  • Slovenian, and translation updates from Weblate.

All the fixes of the stable releases up to v2026.10.10 are in this beta.

Trying it

In HACS, turn on "Show beta versions" for Smart Irrigation, update, restart Home Assistant, and reload the browser so the panel is the new one. 3185 Python tests and 123 panel tests pass.

Feedback is welcome in the issues, good or bad, with the log if something goes wrong. 🌱

Don't miss a new HAsmartirrigation release

NewReleases is sending notifications on new releases.