Forum Replies Created
-
AuthorPosts
-
robohackParticipantThanks for your reply Ray!
While I think it would make the most sense to have arbitrary zone ordering per program, for my own needs I will be perfectly happy with ordering by zone name.
“001 front lawn”
“002 back lawn”
“003 side lawn”
etc.That’ll work just fine.
In my own use I don’t see much need to re-order in different programs — mostly I just omit certain zones in different programs, e.g. for mowing days.
While I appreciate that control via the network API would also allow arbitrary programs and ordering, my current thoughts are that I don’t want anything in the chain of control that doesn’t absolutely have to be there for regular operation. Maybe if there were native HomeKit integration I might risk it, but even there I’m happier having stand-alone embedded systems driving critical infrastructure than having to depend on my AppleTV to run the show.
The reason traditional sprinkler controllers don’t allow arbitrary ordering of zone is because their designers are hardware-first engineers concerned about getting costs as low as possible. I once turned down work on an embedded system that cost several thousand dollars per unit because they wouldn’t spend more than $0.25 on the microcontroller for it. Hardware designers also don’t think like software people at all — software is an annoying necessity to them for more modern low-cost hardware design, and besides they’ve traditionally relied on physical switches and knobs for input controls so programming different ordering would likely require more switches and knobs (or be even more convoluted than their existing horrendously ugly control interfaces), and so would require even more costly hardware. Also since traditional sprinkler controllers are not typically remotely controlled you have to go to the controller anyway to change a program, and so re-wiring is only a screwdriver away. I had some hopes for the high-end Hunter HCC systems with WiFi control, but I can’t get a firm answer from them, and if I were going to spend several thousands of dollars upgrading my system I need to know it’ll do exactly what I want and more well ahead of time, without needing internet access to their cloud! All the other so-called “smart” irrigation controllers are abominations that seem like they were designed 20 years ago.
As for the code, sorry I just don’t touch C++, no matter how few C++ features it purports to contain. I have over 40 years of C programming experience and I’m firmly in the anti-C++ camp.
For the record I’m wanting to replace an old Irritrol 24-zone and a Hydro-Rain 9-zone, with only one zone each unused, integrating them all into one controller. A little SoC board, like an RPi or BeagleBoard, with an add-on relay controller board, while highly flexible is far too ad-hoc for me, and I don’t want to do the software from scratch either, so something like OpenSprinkler is highly appealing, provided I can bend it to do things the way I want.
robohackParticipantSo, first off, I’m surprised this feature is still not present given this thread started so many years ago!
I’ve been looking for exactly this feature in a sprinkler controller, and it would seem to me to be an absolutely essential feature for anyone with more than two or three zones. I sure as heck don’t want to have to go to the machine and physically re-wire it just to change the order the zones are run. This is a problem for software, not screwdrivers!
All that said I did fairly quickly find a very simple, but highly limiting, and somewhat tedious, way to make this sort of work with the current firmware.
One simply designates one program for each zone. I.e. create as many programs as you have zones, and in each program give only one of the stations a run time (each with the same start time, e.g. 00:00, and each set to run at an interval of 1 day).
Now since it is relatively easy to arrange the programs in any order, voila, zones can now be run in non-sequential arbitrary order. (Why can’t zones be re-ordered the same way programs are?)
It’s still highly limiting to do it this way — one really needs support for ordering zones within any given program (and of course it must be all done in the firmware so that it’s reliable). If the code were plain C I might even be able to make it work myself, but I’m very reluctant to try to dive into C++ code.
Attached is an image of a program preview in the demo system of an example setup where zones are run in an arbitrary order.
Attachments:
-
AuthorPosts