SIP
Individual zone lengths in programs - Printable Version

+- SIP (https://nosack.com/sipforum)
+-- Forum: SIP (Sustainable Irrigation Platform) (https://nosack.com/sipforum/forumdisplay.php?fid=1)
+--- Forum: Feature requests (https://nosack.com/sipforum/forumdisplay.php?fid=4)
+--- Thread: Individual zone lengths in programs (/showthread.php?tid=26)



Individual zone lengths in programs - jberry - 2016 Mar 26

Is there a reason Programs only allow a single time length for all zones?

I know you could write multiple programs, but for example my back yard has 2 zones that cover it using different sprinkler heads compared to my single zone front yard, so the two rear zones run a different amount of time then my one front zone. 

I could see were a single time entry could be useful, but in my case it's more complicated.

Any thoughts on adding a toggle switch for something like picking between "single zone length" or "custom zone lengths", and custom zone lengths would add a time field next to any enabled zones, right before the monday column?

I already dived into the code, doesn't seem like it'd be too difficult to add.  From what I can tell of plugins and such, this would need to be a core change and not a plugin (didn't seem like plugins are designed to modify/patch existing pages/extend existing features?).  

Probably worst part would be deciding on how the JSON should be formatted in the programs.json file. 

I'd be happy to take a stab at it and submit a pull when ready, if it's something that seems like a good feature.


RE: Individual zone lengths in programs - dan - 2016 Mar 26

Welcome!

Yes, setting per-zone durations has been on the TODO list for some time. It is definitely a good idea. If you would like to give it a try that would be great.

There has already been some work done on improving the program.json format. I just pushed a branch named prog_restruct to the SIP repo on GitHub. It is working but has not been extensively tested. It should give you an easier path for adding per-zone durations, (perhaps replacing the "duration_sec"value with a list).

The plugin system is intended to let anyone experiment with new ideas without affecting the core code.

Another contributor is adding code to allow various types of controller interfaces:
https://github.com/Pelado-Mat/SIP/tree/adaFruit/controlPlugins

I don't think your code changes would conflict with his but I just wanted you to be aware of his work.