github altmenorg/HAsmartirrigation v2026.10.1

one hour ago

The stable release after v2026.9.2. It is the sum of seven betas and three release candidates, each with its own notes, linked at the end. This page says what you will notice, starting with what changes how much your zones water. If you updated from v2026.9.2, read the first sections.

Read this first: what changes in the amounts

  • The evapotranspiration was too low for everybody, and is not any more. The daily equation took the saturation vapour pressure from the mean temperature instead of the mean of the two extremes (FAO-56 Eq. 12). The curve is convex, so the figure was always short, by 13% on a day with a 16 K spread. Your zones evaporate more than they did and water sooner. Found by @Megalos.
  • Short calculation windows read a whole day of weather, and long ones are priced day by day. Two calculations a day, a manual calculation, the live estimate and continuous updates priced a "day" that was not one (continuous updates came out about 60% low, two calculations a day 6 to 19% low). A calculation after a few days down used to treat all of them as one day, about 13% high.
  • The hourly calculation lost too little heat at night (up to 14% of the day in December) and is more accurate for it: the long-wave loss of a night hour now follows the sky the daylight measured. A night that cannot be measured reads its sky off the humidity, as FAO-56 allows. The hourly equation is never negative, so a dry night cannot add water to a bucket. Hour by hour is on for a new installation; an installation that already existed keeps what it had.
  • Rain counters no longer invent or lose rain. A small drop just after midnight is a correction of a yearly or lifetime total, not a reset worth hundreds of millimetres, and the autumn clock change no longer subtracts rain.
  • Lead time is no longer credited as water: it fills the pipe and delivers nothing, yet every run credited a phantom 2.5 mm per 300 s at 30 mm/h. A watering can no longer be lost to a calculation running at the same moment, a restart credits only the planned pass, and a metered drip zone is credited the right amount.
  • Forecast days used the wind at 10 m as if it were at 2 m, 8% too high on a dry day.
  • The rain forecast holds a run back only when it is worth it: weighted by its probability when the service gives one, never more than two days in a row, never when the zone is short by more than twice the rain expected.
  • Days between irrigation restart only when something was watered, so watering no longer slips by several days.

Fixes that mattered

  • Recurring schedules never ran their action, and could not even be created. Both work now.
  • With OpenWeatherMap or Pirate Weather, sensor groups could swap values. They no longer do.
  • A valve could be left open by a restart landing while it opened, and two valves could open at once in sequential mode. Both closed. A zone being watered outside Smart Irrigation is left alone.
  • One zone that could not be calculated took the whole night with it (#841): every later zone went uncalculated and the start trigger was not re-armed. It now costs only that zone.
  • "Provided by a sensor or a service" now works with Open-Meteo (#847): its reference evapotranspiration was never recorded.
  • The live bucket no longer jumps back to last night's value (#869), and a dry night can no longer raise it (#866).
  • A dry run of one zone writes nothing again, calculate_zone and update_zone take a single entity written as text, and a zone with no new readings says so instead of failing.
  • The days-ahead strip names its days: with OpenWeatherMap or Pirate Weather every day was labelled Thursday (#880).
  • Seasonal adjustments for one zone written as zones: "0" apply, and the season is the month the water was used in.
  • Open-Meteo's hourly sun was an hour late for installations with no radiation sensor, because its radiation is stamped with the end of the hour it averages.

New

  • A dashboard card, served and registered by the integration: what each zone is short of, how long it would run, when and why not, with a button to water on the spot.
  • A panel with four tabs (Home, Zones, Data, Settings) and a standard and an advanced mode. A new installation starts on the standard one; an installation that has zones stays on the advanced one. The panel says in words how a zone is calculated and what it is doing, and the soil and the crop are chosen by name (sandy, loam, clay, lawn, vegetables, vines).
  • Hour by hour for everyone, with or without a radiation sensor, and with forecast days. Open-Meteo's own hourly history supplies the sun when no sensor does.
  • Greenhouse mode: the sky is not what reaches a plant under glass. A lux sensor inside answers it, and without one the glass dims the sun (transmission 0.65).
  • Controller blueprints for Rain Bird, Hydrawise, Rachio, B-hyve and OpenSprinkler, and a valve watchdog. credit_watering credits a bucket with the water a run delivered, where reset_bucket sets it to zero whatever the run did. Re-import a blueprint to get the new version.
  • Direct valve control: cycle and soak (the same water in several passes, so clay takes it in), a pause between zones, and a second request that joins the running cycle instead of racing it.
  • Skip conditions: a rain sensor, freeze, wind and a soil moisture sensor per zone, written our own way. A moist soil also resets the bucket instead of watering the whole deficit the first dry morning. And Settings > Help to join the translation project.
  • All 19 languages are complete, translated by an AI and not yet read by native speakers. Corrections are welcome on Hosted Weblate, or as a pull request on a JSON file. The panel fetches only its own language, and is a third of its former size.
  • Wind sensor height: an optional "Anemometer height" for a sensor that is not at 2 m. Empty changes nothing.
  • The store is written ten seconds after a change, except valves that are open and bucket credits, which are written at once.

Trying it

Update in HACS, restart, and reload the browser (or reset the companion app's frontend cache) so the panel and the card are the new ones. 1825 backend tests and 84 frontend tests.

Hour by hour compares with Open-Meteo's own evapotranspiration to within a few percent on most days, and 5 to 10% under on clear windy nights, where FAO-56 and Open-Meteo choose different sky assumptions. The documentation explains why.

The detailed notes

Beta 1, 2, 3, 4, 5, 6, 7, then rc1, rc2 and rc3. One change of rc1 was taken back in rc3: the night hours are no longer summed with their sign.

Thanks

@Megalos, for the measurements against Open-Meteo that found most of the evapotranspiration faults, @smoki3, @etofi, @DGP-191 and @frankyhun for reports and a fix, and the people who tried the betas on real gardens. Calculating hour by hour at all was first done in JustChr's fork, which the README credits. 🙂

Don't miss a new HAsmartirrigation release

NewReleases is sending notifications on new releases.