irrigation_unlimited icon indicating copy to clipboard operation
irrigation_unlimited copied to clipboard

Is it possible to run watering of several zones at once?

Open SuperMaximus1984 opened this issue 1 year ago • 9 comments

My zones are associated with corresponding switches:

# Garden Irrigation
irrigation_unlimited:
  controllers:
    zones:
      - name: 'A (Zone1) - Front Area'
        entity_id: 'switch.a'
      - name: 'B (Zone2) - Neighbor Area'
        entity_id: 'switch.b'
      - name: 'C (Zone3) - Backyard Area'
        entity_id: 'switch.c'
      - name: 'D (Zone4) - Pool Area'
        entity_id: 'switch.d'
      - name: 'E (Zone5) - Garden Area'
        entity_id: 'switch.e'
      - name: 'F (Zone6) - Drip Irrigation'
        entity_id: 'switch.f'        
    sequences:
      - delay: '00:02'
        zones:
          - zone_id: 1
            duration: '00:25'
          - zone_id: 2
            duration: '00:25'
          - zone_id: 3
            duration: '00:45'
          - zone_id: 4
            duration: '00:45'
          - zone_id: 5
            duration: '00:08'
          - zone_id: 6
            duration: '00:20'

I need to combine running zone1+zone2, then zone3+zone4, and then zone5+zone6. Surely I will set the same time for those "combined zones" cycles. How can I realize it using additional sequence configuration?

SuperMaximus1984 avatar Sep 07 '24 19:09 SuperMaximus1984

Combing zones 1+2 and 3+4 is easy because they have the same duration. Zone 5+6 not so simple because of the different duration.

# Garden Irrigation
irrigation_unlimited:
  controllers:
    zones:
      - name: 'A (Zone1) - Front Area'
        entity_id: 'switch.a'
      - name: 'B (Zone2) - Neighbor Area'
        entity_id: 'switch.b'
      - name: 'C (Zone3) - Backyard Area'
        entity_id: 'switch.c'
      - name: 'D (Zone4) - Pool Area'
        entity_id: 'switch.d'
      - name: 'E (Zone5) - Garden Area'
        entity_id: 'switch.e'
      - name: 'F (Zone6) - Drip Irrigation'
        entity_id: 'switch.f'        
    sequences:
      - delay: '00:02'
        zones:
          - zone_id: [1,2]
            duration: '00:25'
          - zone_id: [3,4]
            duration: '00:45'
          - zone_id: 5
            duration: '00:08'
          - zone_id: 6
            duration: '00:20'

rgc99 avatar Sep 07 '24 20:09 rgc99

@rgc99 Oh, thanks, I didn't even think about square brackets:) In the meanwhile I've created helpers uniting the corresponding zones, but your solution is universal.

SuperMaximus1984 avatar Sep 08 '24 07:09 SuperMaximus1984

Was actually going to fill a new feature request which may be related to this one. Just for my understanding, giving list of zones instead of a single zone in the sequence is already implemented?

Here is my use case: I have many zones (30+) but some zones are small enough so they can run together (2-4 zones as well). This is mostly related to the pump system used. Now the problem is if I use a normal sequence the whole irrigation time will be 8+ hours which is too much. If I could group some zones together, that will help to reduce the time significantly.

w32-blaster avatar Nov 19 '24 08:11 w32-blaster

Each zone can operate multiple switches (entities) so you can 'parallel' the valves in this way. In addition you can group zones as discussed above to operate together.

rgc99 avatar Nov 19 '24 20:11 rgc99

Another possibility is to run multiple concurrent sequences. Sequences can overlap and do their own thing.

rgc99 avatar Nov 19 '24 20:11 rgc99

Another possibility is to run multiple concurrent sequences. Sequences can overlap and do their own thing.

Was thinking about this but I frequently change the timing and scheduling on the sequences and to keep them in sync it would be more difficult. I will try the original suggestion from you which looks promising. But only in the spring as my system is in winter mode already.

w32-blaster avatar Nov 20 '24 07:11 w32-blaster

Unless you want to try some experimental code that can chain sequences together. When one sequence finishes it starts another or splits to multiple, a type of sequence net. Can run off a single schedule at the head. Just looking for feedback if your interested.

rgc99 avatar Nov 22 '24 01:11 rgc99

Unless you want to try some experimental code that can chain sequences together. When one sequence finishes it starts another or splits to multiple, a type of sequence net. Can run off a single schedule at the head. Just looking for feedback if your interested.

I think I'm good for now. Will try the listed zones in the sequence in the spring and see how it works.

w32-blaster avatar Nov 22 '24 08:11 w32-blaster

just wanted to come back and say, the suggestion from you @rgc99 is perfectly working. I use zone_id: [3, 6] and the two zones will run in parallel

w32-blaster avatar May 02 '25 15:05 w32-blaster