[BETA] Rainbird Sprinkler Driver

Initial driver for controlling a Rainbird sprinkler system via the WiFi control module

I orginally started this project because I wanted to be able to set the rain delay based on precipitation. I implemntated enough functionality to enable this scenario. I use this driver and a rule so that if my weather driver sees suffcient rain it will set the rain delay to 1 day skipping watering on wet days. If others are interested I can finish the driver and add the other missing commands that would support more granular sprinkler and zone controls.


Thanks for your work.

I would be interested, because their Google Home integration just doesn’t work at all.

I would like Zone control after like 3 days of rain to not water a zone because it is flooded. And if the temp is over 100 for so many days water the Zone I have for trees with more time.

I think that should work now. I have a rule setup that if my weather driver reports rain it will delay all watering the next day. You should be able to do something similar.

Thank you for creating this. Just getting started with my Hubitat and looking forward to trying this when I start-up my sprinkler in the spring. What weather program do you use?

So awesome, thank you so much for creating this, it is working great to create delays, but I have a quick question, I am trying to create a trigger to run a program based on hot days with no rain and I can't get it to work, I used the "ManuallyRunProgramRequest" command and set it as a "number" to "1" to run program PGM A and can't get it to work. However, I can get it to work directly via the device page by entering "1" under that parameter, any ideas?

Thank you!


My system has been turned off for the winter but I plan to reenable it soon. Ill test this scenario out and see what is wrong

1 Like

Thanks for creating this driver. It was really to get it set up with your github instructions. Let's say I want to run it manually (ie "Manually Run Program Request"). What exactly are the program numbers? If I leave it blank does it run the default program?

Hi @craigde, great driver! It would be very interesting to see the rule you created. Please share it along with the Weather driver/program you are using. Thanks for your work.

I did a small modification in my copy of the driver so it polls the data. Then the Current States are always up to date.

Hello, I've never been able to get this to work. I've tried to manually run a station by inputting station number/minutes but nothing happens when I run it. When I checked the logs I see the following:

2021-07-31 12:08:52.895 pm errororg.codehaus.groovy.runtime.InvokerInvocationException: groovy.lang.MissingMethodException: No signature of method: static java.lang.Integer.toHexString() is applicable for argument types: (java.lang.String) values: [5] Possible solutions: toHexString(int), toString(), toString(), toString(), toString(int), toString(int, int) (method ManuallyRunStationRequest)

Any idea what that means?

Edit: I did end up seeing the sprinklers running and got notification as well but I noticed something strange. The manual run station request did not run the requsted station. For example, in my first attempt I entered Station 5 for 1 minute (error message above was logged). In another attempt I tried Station 1 for 1 minute.

I started seeing the sprinklers running and got the following notifications which don't reflect station/minutes that I had manually requested:

I assume that a Station is synonymous with a Zone. Is that correct?

Edit 2: It looks like it is running all zones as I'm gradually getting notifications of each zone event completion.

Download the Hubitat app