An intermediate release, between v2026.10.1 and a much bigger one that is still to come. It fixes a good number of bugs, and brings the smaller changes that had been waiting: settings that were hidden or tangled are now one question each, a few fixes to when a run starts, and some per-zone controls that were missing. The big release is not in this one. If you update from v2026.10.1, read the first section.
Read this first: what can change in your amounts
- A new installation starts on the hourly calculation and counts only the rain that reaches the roots. An installation that already exists keeps what it had, so its amounts do not move on an update. Both are in the advanced settings.
- Continuous updates no longer calculate the zones again at every change of a sensor. They record every change, and the scheduled calculation consumes the readings once. Before, the bucket moved all day and a start that accounts for the duration moved with it. The option is now in the advanced settings.
- A group fed by Open-Meteo is priced on Open-Meteo's own hourly history, and a provided evapotranspiration follows Open-Meteo's hourly ET0 when the hourly calculation is on. A night that cannot be measured reads its sky off the humidity. Found by @Megalos (#878, #879).
- A moist soil sensor now sets the bucket at every calculation, not only at a run.
- Rain forecast is one switch and one threshold. Below the threshold the duration of each zone is reduced by the rain expected in the next 24 hours (weighted by the probability the weather service gives); at or above it the run is skipped. The two old switches behind it are unchanged, and an installation that had only one of them keeps its behaviour until the switch is touched.
Fixes that mattered
- A solar radiation sensor in W/m² was thrown away at noon (#894). A reading in W/m² is converted to MJ/m²/day with the factor of a 24 hour mean, so a bright midday reading came out above the 50 that was meant for a whole day, and no solar data was stored: the zone never calculated. The bound is now that of the instantaneous sun. Reported by @89890-prog.
- The page stopped short of its end on a phone (#891): the panel guessed the height of its header, overshot the screen and left two scrollbars. It now takes the screen height and one part scrolls. Reported by @Megalos.
- The Info page stays on "Loading..." no longer while the integration reloads: it asks again a few times.
- A run that calculates first could not start. Calculated again just before the first start, the zones have no stored duration after a watering, and the default trigger ("finish at sunrise") is placed from the total duration: nothing was armed. The start is now placed for the live estimate of the run, and placed again at every weather reading.
- A zone is held for its whole run, and a close is checked. A second request during a soak could open the same valve and credit the bucket twice. A close that fails, or a valve that still reads open, now fires
zone_problem, and a zone watered by hand, disabled or set to 0 while it waited is skipped at its turn. - With OpenWeatherMap and Pirate Weather the live estimate saw no forecast days, and a rain gauge that resets at Home Assistant's midnight was read on the process clock, so a small drop just after midnight could be booked as a reset.
- The safety-off topic and state key of a zone survived only until the first restart. They are kept.
- The greenhouse switch of a sensor group was unreachable except in the setup assistant. It is back in the group card, with its note, and hides the rain fields.
- The Info page contradicted itself. It announced "nothing to water" from the stored durations while the estimate showed minutes of watering. It now announces the run the start will make. A zone card no longer says "has what it needs" all day after a watering, and the volume in its status line no longer prints
[object Object].
New
- The evapotranspiration of a sensor group says what it is (#890). The two choices read "Ready-made ET0 from the weather service" and "None (Smart Irrigation calculates it)", and the line is greyed out when none of the zones of the group reads it. Suggested by @Megalos.
- One question for when the watering duration is calculated: at a fixed time, just before each start, or only on request. It replaces two switches that each read as "we will water". What starts the watering is the start trigger.
- A start trigger of "None" starts no watering, the way to block it while the zones are still calculated.
- Days between irrigations per zone, a crop factor for each month with a panel for seasonal adjustments (#872, #875), available water and distribution efficiency per zone, and a warning when one run cannot water what a zone loses.
- Lux to W/m2 with a model that follows the sky. A light sensor in a greenhouse is converted with the model of Muneer and Kinghorn (1997), where the luminous efficacy depends on how clear the sky is, from the position of the sun at your coordinates, the date and the time. There is no efficacy to set any more.
- An optional hardware dead-man for direct valve control over MQTT (
on_time), from a pull request by @chr02ha. - Sensor groups ask only for what the calculation reads. The evapotranspiration source decides: calculated from the weather, the readings are asked; given ready-made, they are not. A plain sentence under each source, and the unit asked only when Home Assistant does not know it.
- Zone cards and the panel: a hint under the main fields, the setup assistant first in the settings, the same room above and under the cards on every page, and the French written with "tu".
- All 19 languages are complete again. Corrections are welcome on Hosted Weblate.
- Fresh screenshots, and a documentation that describes the panel as it is.
Trying it
Update in HACS, restart, and reload the browser (or reset the companion app's frontend cache) so the panel is the new one. 2073 backend tests and 84 frontend tests.
Thanks
@Megalos, for the measurements against Open-Meteo and for several of the reports above, @89890-prog for the solar radiation report, @smoki3 for days between irrigations per zone, @chr02ha for the MQTT dead-man, and everyone who tried the stable on a real garden. 🌱