irrigation_unlimited icon indicating copy to clipboard operation
irrigation_unlimited copied to clipboard

Queue manual runs

Open crazyfx1 opened this issue 1 year ago • 11 comments

Is your feature request related to a problem? Please describe. Currently I'm reseeding parts of my lawn and therefore use the manual run card to start individual zones for individual times. With the current implementation I need to wait until a running zone is finished before I can start another zone, since multiple zones can be activated simultaneously.

Describe the solution you'd like It would be great if I could just queue multiple manual runs and they run one after each other. So with the manual run card I would put in for example: Zone 1: 4min -> Run, Zone 2: 5min -> Run And then the component would run those zones after another.

Describe alternatives you've considered

Additional context

crazyfx1 avatar May 08 '23 09:05 crazyfx1

What about creating a sequence and then firing it as a manual run? Just remember the time is the total duration so you would need to run the sequence for 9 minutes.

rgc99 avatar May 25 '23 00:05 rgc99

The sequence would mean that the order, the zones and the proportional runtime is fixed. If I wanted another order, different zones or different proportional runtimes, I would need to create a new sequence in the yaml file.

My idea was the possibility to run different zones in different order with different times without creating anything in the yaml file. Example: Day 1: Zone 1: 5min, Zone 2: 4min Day 2: Zone 2: 6min, Zone 3: 1min, Zone 1: 4min Day 3: Zone 4: 2min, Zone 1: 5min

crazyfx1 avatar May 30 '23 16:05 crazyfx1

At the moment you would have to create three sequences. There is no limit to the number of sequences.

rgc99 avatar Jun 01 '23 06:06 rgc99

+1 Not clear for me how the integration queue overlapping sequences started automatically, does it check that first one is already in timeline and delay the second one until first finishes? If so why not schedule manual runs queue same way?

Usual user can not add a new sequence, when manually queued the zones start immediately and appeared in history but actually haven't being irrigated because in my case only one zone is allowed to run simultaneously by automation.

andreid1303 avatar Sep 10 '23 07:09 andreid1303

All sequences are independent of each other. They may overlap in which case a zone will be on if one or more schedules turn it on and off when all schedules have finished - kind of like an 'or' situation.

I have experimented with queuing manual runs and it works. The one problem I can see is there is no delay which I know will be required. Some people want a small delay between zones and others want the next zone to start before the current one finishes (negative delay) to avoid pump on/off cycles. The ideal solution is to add a delay parameter to the service call but this would make it difficult or messy to operate from the card. Another possibility perhaps is to add a manual_delay setting somewhere in the configuration.

Unclear about this.

rgc99 avatar Sep 13 '23 07:09 rgc99

Changes have been made to allow manual runs to be queued. You can queue individual zones or entire sequences. The code is in the repository but not yet released, please manually install and comment. You need to add a configuration option to the controller object to enable the behaviour.

irrigation_unlimited:
  controllers:
    - name: "Controller 1"
      queue_manual: true # <=== Add this line
    ...

rgc99 avatar Oct 18 '23 00:10 rgc99

I have tested queue_manual for running two zones and it works without overlapping. Thank you very much!

andreid1303 avatar Oct 18 '23 06:10 andreid1303

Will this be in the next release?

lionslair avatar Dec 28 '23 15:12 lionslair

This feature is available in the current release.

rgc99 avatar Dec 30 '23 21:12 rgc99

This feature is available in the current release.

Sweet thanks

lionslair avatar Dec 30 '23 23:12 lionslair

Hi Robert,

Whilst the queing works well on my end, it does not seem to appear on the companion card as 'Queued' like you would see when running a sequence.

Could this kindly be added?

Cheers.

SimoHDK avatar Jan 31 '24 05:01 SimoHDK