February 18, 2022 at 11:53 am #72200
I think I originally posted this idea in the wrong section, but I can’t find it either way.
I’ve got 24 stations, and each s tationhas a unique watering regimen. Fruit trees in my case. I have a separate program running to calculate the watering requirements for each station/tree based on rain data from an on-site WX station, the size of the tree, when the tree ripens (water starvation for sweeter fruit), and solar heat/radiation, etc. It figures out the water needs of the trees on a daily basis and issues a “run once” program through http.
There’s no way to predict when a zone will be commanded or for how long, since the differing intervals and durations will overlap differently each day/week, so I have all 24 stations set to sequential. Since this is a drip irrigation system, a station can be called to run for many hours, and with 24 stations that can result in a huge delay before all 24 stations (if commanded at once) can cycle through the queue sequentially.
In a support ticket I think we discussed the max amperage of the OS being around 3 amps, which would be less than the full 24 zones. So if I was to disable “sequential” for all zones, I’d overload the controller. Leaving it enabled ensures very long run times if many stations get tasked for the same day (common in the summer heat).
What I suggest is a MAX_OPEN_STATIONS user setting of some sort that will act in conjunction with the queue to allow a different avenue of grouping and opening stations together.
In my case, all 24 stations would be set sequential-off and max_open_zones set to 5, the queue would open the first 5 stations in the run once program, and as a station(s) finishes and drops off the queue, the next station(s) would be started to get back to MAX_OPEN_STATIONS.
I think the logic would work fine in conjunction with the current sequential setting. If the next station in the queue was sequential-off, it would wait until the number_of_open_stations < max_open_stations AND currently_open_station != sequential to open. If the next station in the queue is sequential, it would wait for number_of_open_stations == 0.
the max_open_zones concept would allow for multiple simultaneous stations limited by either the controller amperage limitations or the systems maximum water flow, as determined by the user.
If this was written in Python I’d try to do it myself. I suppose it would be possible to execute the same concept with a max_amperage option, though I think you’d have to implement a station testing routine to collect the expected amp draw for each station.
Thoughts? I don’t want to go barking up this tree if there is no appetite for it, or if it’s just a dumb idea. I know I could just use relay boards with independent power supplies to run everything at once, but I’m running the entire system (WX station, OS3, RpiZero for WeeWX and irrigation logic) on a solar setup, so less is better.
- You must be logged in to reply to this topic.