I just wanted to say thanks for building this device. I’ve been working off and on with a mishmash of parts loosely wired together and using solid state relays for a few years now. It worked but the wife wasn’t happy with how it looked in my office. I switched to the raspberry pi last year and I’ve loved working with it but finding an enclosure to finish it off turned out to be tougher than getting it working in the first place. With your hardware however my project is finally complete and people might not realize the power this puts in their hands for watering their lawns.
I am a windows developer so my language of choice was c#. I used the filesystem IO and the example you provided and was able to get it all working in less than an hour as a WCF webservice under apache using mod_mono on soft float wheezy. I then wrote a simple console app that would talk to the webservice to set the zone states and control it’s execution via cron jobs. The webservice uses a tmp file on the filesystem to remember the shift register state so I can read it remotely and see what zones are on. I then modified my old .net winforms app that showed me the state of the sprinklers so it would now connect to the webservice. I then installed it to a secondary pi I have connected to my security camera system so one of the channels displays an image like the one below so I can get a visual representation of the irrigation state real time. It all came together very nicely thanks to the work you did.