Skip to content

v2026.07.11

Choose a tag to compare

@JustChr JustChr released this 31 Jul 12:55
· 32 commits to master since this release

Reliability release: four lifecycle fixes around valves, schedules and pump/master control.

Valves are now always closed again. No run path guaranteed the valve was shut if something went wrong mid-run — an error, or Home Assistant shutting down or reloading, could leave a valve physically open with nothing scheduled to close it. All three run paths (normal, flow-metered slot, rotation slot) now close the valve on every exit path.

Schedules no longer fire twice after a reload. The recurring-schedule listeners were never released when the integration reloaded, so the old ones stayed armed alongside the new set. Since changing any option triggers a reload, schedules could accumulate extra firings — each one a real irrigation run. Reloading now releases them properly.

The pump / master switch stays on for the whole cycle. It was switched off based on a guess made before the run started, which was wrong in every configuration we measured. With sequential sequencing it powered down after the longest single zone, so later zones opened against a dead pump, delivered no water, and still credited their buckets as if they had watered. Zones with a flow sensor, rotation with absorption waits, and self-closing zones were all mis-timed too. The master is now held for as long as runs are actually in progress and released when the last one finishes, so it is no longer predicted at all.

Irrigation runs are tracked tasks. Runs were started in a way that left them eligible for garbage collection mid-execution and invisible to Home Assistant's shutdown handling.

No configuration changes are needed and no storage migration is involved.