Skip to content

sequence mode without total duration (order-only) for Smart Irrigation integration #247

Description

@belerofonteodin945

Hi,

I'm using Irrigation Unlimited together with the Smart Irrigation integration to control several zones (fruit trees, shrubs, vegetable garden, lawn, etc.). Smart Irrigation calculates a daily runtime in seconds for each zone and then I trigger irrigation from Home Assistant.

I would like to use an IU sequence to maintain the irrigation order (zones in cascade, one after another, with a delay between them), but without the sequence having a total duration that is then proportionally distributed across the zones.

As far as I can see now:

When a sequence has base durations and adjustments are applied (adjust_time at sequence/zone level), IU computes a next_duration for the whole sequence and then distributes that total across the zones.

This works well when all zones are supposed to share a common total time, but when each zone is receiving an independent runtime from Smart Irrigation, the combination of base durations + adjustments + proportional distribution can lead to non-intuitive results (for example, very small durations on some zones even though Smart Irrigation calculated a reasonable runtime).

What I’m missing is a sequence “order-only” mode, something like:

The sequence defines the order of the zones and the delays between them (a watering playlist).

Each zone runs for the time assigned to it via adjust_time or manual_run.time.

IU does not compute or use a total sequence duration and does not perform proportional distribution; it simply respects the order and lets each zone have its own independent duration.

This would allow a very clean integration between IU and Smart Irrigation:

Smart Irrigation calculates the runtime per zone.

An automation calls adjust_time or manual_run for each zone with that runtime.

IU is responsible only for running the zones sequentially according to the sequence, without imposing a total duration or modifying individual durations.

Would it be possible to add:

an option on sequences that disables the “total duration + proportional distribution” behaviour (for example a flag like sequence_mode: order_only),

or, when no schedule.duration is defined and all zone durations are explicitly set via service calls, allow IU to simply execute the sequence as an order-only playlist without computing a next_duration total?

I understand the current behaviour is correct for many use cases, but for integrations with Smart Irrigation or other systems that calculate per-zone runtimes it would be extremely helpful to have sequences that control only ordering and mutual exclusion (one zone at a time), leaving the runtime 100% to automations.

Thank you very much for the integration and for considering this feature.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions