rgc99 / irrigation_unlimited

♒Irrigation controller for Home Assistant
MIT License
303 stars 44 forks source link

Allow parallel irrigation in sequences #117

Open soeffi opened 1 year ago

soeffi commented 1 year ago

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:

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)

stravanti commented 2 weeks ago

hi, did you manage to have some parallel sequences or zones? I have following usecase:

  1. start the water pump
  2. start irrigation
  3. then the different zones
  4. stop irrigation
  5. stop the water pump

I would like to have all this within the unlimited irrigation. Any hint if this is possible?