github altmenorg/HAsmartirrigation v2026.9.3-beta5

pre-release4 hours ago

This is a pre-release. It fixes a fault in beta 4 itself, closes two holes in direct valve control, and completes the translations. If you are on beta 4, update.

The beta 4 fix for #847 did not work

Beta 4 made Open-Meteo's reference evapotranspiration part of every reading, so that a zone whose evapotranspiration is provided by the service could finally be calculated (#847). It could not, and it still cannot on beta 4.

The code read the first date of Open-Meteo's daily block as a unix timestamp. The request it came from asks for no time format, so Open-Meteo dates that block as plain text (2026-09-28). The parse failed on every real response, and today's value was never taken. Our tests passed because they built that block with a timestamp, which is the shape our other Open-Meteo requests use, and not the one this request gets back. The new tests use the shape the API actually sends, and the fix was checked against the live API: nothing before, 1.91 mm after.

While there, "today" is now today at your location, from the offset Open-Meteo returns, rather than the date of the machine's clock. A Docker container left on UTC is on another calendar day for part of every night, and would have lost the value for those hours.

Reported by @Megalos, whose diagnostics made both beta 4 and this one findable.

Direct valve control

A valve could be left open. A direct run opened its valve, then waited up to eight seconds for it to report on, and only after that could it be sure of closing it. A restart or a reload landing in those seconds left the valve open, and since the run had not been recorded yet, nothing closed it after the restart either. An open command that failed skipped the close as well, although it may have half-opened the valve. The valve is now closed whatever interrupts the run once it has been told to open. This was spotted while reading a similar fix in JustChr's Irrigation Plus; none of that code is used here.

Sequential watering could open two valves at once. The nightly run watering zone 1 with zones 2 and 3 waiting, somebody pressing "irrigate now" on zone 4: each dispatch ran its own cycle, and neither knew about the other. A second dispatch now joins the cycle already running. A zone already waiting is not queued twice, the zones that joined are announced and reported with the rest, and a zone that fails no longer abandons the ones still waiting. Parallel mode is unchanged. The case was reported by Eifel-Joe against another fork, and the same hole was open here.

Translations

  • Every language now has every string. Seventeen languages were at about half of the English strings, so a good part of the panel showed English to people who had picked their own language. The missing strings, in the panel and in what Home Assistant renders itself (entity names, buttons, service fields, repair issues), have been filled in.
  • These are machine translations, produced by an AI, and we would rather say so. They reuse the terms the existing translations had already settled on, but nobody who speaks these languages has read them yet. Corrections are very welcome: a pull request against the file in frontend/localize/languages is all it takes, and community translation is being set up.
  • A translation fix no longer needs a build. The panel now fetches the one language it needs instead of carrying all nineteen inside its code. Editing a JSON file is the whole of a contribution, and the panel is about a third of its former size (391 KB instead of 1.13 MB). English stays built in as the fallback, so a language that fails to load shows English, never an empty panel.

Documentation

  • The configuration, setup, services and Info pages described the panel as it was before the four groups. They match it again, including the standard and advanced panels.
  • The model page now explains that the crop factor applies to the evapotranspiration, and that the equation has an hourly form.
  • Forecast days was described as a way to water less ahead of rain. It is not: it averages today's evapotranspiration with the forecast days' and never reads forecast rain. The rain forecast skip condition is what does that.

Trying it

Enable beta versions for Smart Irrigation in HACS, update, restart. 1707 tests.

If a zone of yours uses Open-Meteo's evapotranspiration and stopped being calculated around September 21, this is the release that brings it back.

Don't miss a new HAsmartirrigation release

NewReleases is sending notifications on new releases.