I just finished my own smart sprinkler system and wanted to provide some details in case anyone was interested.
But before I get into details how about a picture:
I’m using a raspberry pi, waveshare dinmount 8ch relay board and a nice enclosure.
All this can be found on amazon.
For the software I’m using sprinklerd
Hubitat integration.
Sprinklerd supports a full api but for right now I’m just using the schedule it manages itself.
It has api endpoints to start and stop individual zones as well as delay running if it’s rained. Overall a very nice package that works nicely with Hubitat.
For the future I’m going to add a dashboard tile to show me that the software/pi is running as well as the last zone to run.
I'm planning on doing something similar to replace a cloud-based irrigation system that I'm not completely happy with. I've been thinking along the lines of using an ESP32, rather than a Pi. I figured I could do all the logic within Hubitat, or even Node-RED. I wonder if you had considered this route, and if you chose the Pi option for any particular reasons? In case there's something I didn't think of
I chose the pi because there were several
Software options created that managed the valves/rain schedule etc. So I have a web interface where I can schedule zones and water times but still have an api to control valves on Hubitat.
You could easily use rule machine for scheduling and then just control the relays via esp api.
Other thing I liked was the really elegant dinmount relayboard for the pi instead of a rats nest of wiring. Again all preference.
I have some long term plans for moisture sensors that will make sense for the pi as well.
I'm afraid I haven't done anything else on this yet. It hasn't been at the top of list, as my current irrigation controller is functional enough as it is.
I would think you could use an ESP2866 with one of those relay boards and the hubduino drivers. You would have to setup all of the logic within Hubitat.
If it helps, I wrote a couple webCoRE pistons to control my ancient dumb controller. One piston logs the rain for the week and accounts for the forecast and the other controls the controller based on rain totals. They were written for Smartthings, but they shouldn't be too hard to adapt for Hubitat. (I've since moved on to Rachio.)
Dude, I was literally just thinking the same thing. Those Zen16s are WAY cheaper than a Rachio unit, and I could program schedules in Webcore. Did you use the relays for the buttons?
Can't comment one way or another on the home built solution, but I can tell you that for me, Rachio literally paid for itself in two months.
I had my dumb timer set to run 2 days/week, 24 minutes on each zone. That can be too much especially in the summer when it rains a lot, but there can be weeks with no rain and then weeks where it rains literally every day. Overwatering is safer or else the grass can dry out pretty quickly.
With Rachio there are times when the sprinklers don't run for weeks. I used to have it set to use local weather stations, but I now have a Tempest weather station on my roof so it's even more accurate in knowing when there's no need to water. My water bill for the sprinklers was running about $200/month, now it's around $30. The key is not just automation, but knowing when watering is needed and IMO, that's what you're really paying for with a system like this.
Hi I am looking to set-up a similar system to replace a manual rain bird system. How did you provide power to the relay board? I don't think the pi can provide sufficient power.