Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow parallel irrigation in sequences #117

Open
soeffi opened this issue Jun 8, 2023 · 0 comments
Open

Allow parallel irrigation in sequences #117

soeffi opened this issue Jun 8, 2023 · 0 comments

Comments

@soeffi
Copy link

soeffi commented Jun 8, 2023

Feature request to push the limits of unlimited irrigation even further ;-)

Is your feature request related to a problem? Please describe.
I'd like to be able to define parallel branches of zones within sequences.

Use cases:

  • I have a drip line, which has very low flow but needs to stay on for quite some time. I'd like to activate that while the different lawn irrigation zones are active in order to minimize pump run time, saving on energy cost.
  • I have two zones with lower flow requirements. Want to run them in parallel to save irrigation time and again energy cost of pump runtime. Note: duration is slightly different for both zones, so I can't (and don't want to) make this a single zone.

Describe the solution you'd like
Some possible options to implement this:

Option 1: "Power point animation" style
Add boolean parameter "start_with_previous" to sequence zone object. If true, the current zone will be activated along with the preceding zone (possibly considering the delay to allow shifting start times a bit if needed). If not set, the zone will be activated serially when the preceding zone has finished (current behavior).
(Inspired by "animation editor" in MS power point )

Option 2: Allow nesting:
In a sequence zone object, add a parameter "parallel_zones", being of type "sequence zone object". A possible configuration could look like

irrigation_unlimited:
  controllers:
    ...
    sequences:
      ..
      zones:
          - zone_id: 1
            duration: "00:02"
            parallel_zones:
            - zone_id: 2
              duration: "00:02"
            - zone_id: 3
              duration: "00:02"
          - zone_id: 4
            duration: "00:02"
          - zone_id: 5
            duration: "00:01"

-> effectively starting a sequence (zone 2, zone 3) in parallel with the sequence (zone 1, zone 4, zone 4)

From my perspective, Option 1 would satisfy my needs, but Option 2 seems even more powerful.

Describe alternatives you've considered
Add a second schedule with start time same as the first one. Works somehow, but less flexible and unnecessary configuration overhead (need to adapt schedule in two positions in case of changes)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant