[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.

3 Likes

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!

Bert

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.

1 Like

Hey everyone,

First thank you very much @craigde for making this. You rock

I have the same problem as @alexcapone.

  1. I want to run a Zone for 5 minutes but get the same error when I try to do it using Manually Run Station Request

errorgroovy.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) on line 409 (method ManuallyRunStationRequest)

I also assumed that station = Zone, but now I think that's wrong.

  1. I tried doing it with a Program, but program needs to run at least once every 31 days - while I want this to only be done on event.

The Full Story

I have 5 zones - The first 4 are part of Program A.

Zone 5 is watering of a synthetic grass area that I only do manually during the summer if we want to go out as it gets really hot.

I want to create a button in Hubitat that will run Zone 5 for 5 Minutes on touch (or then maybe automate it with motion sensors and IFs but that's beyond the scope).

Can you please either help me debug, or understand the relation between zones and stations or see another way to do what I am trying to do?

Has anyone used this driver with a LNK2 WiFi module? I'm not getting the driver to work. Interface for the LNK2 doesn't look any different, but shows my WiFi Firmware Version is 1.97.

Oddly, my IP address does not show in the RainBird app, but I referenced it from my router's list of devices.

1 Like

Did you figure this out? I know my IP address as I have it set in my router but it just times out:

22-05-30 01:46:07.485 pm errorjava.net.SocketTimeoutException: Read timed out on line 488 (method updated)

In the rainbird app it says my IP is 0.0.0.0 which is obviously wrong and it shows a gateway different then the correct IP (but works)

I'm getting the same error. I was able to find the IP address for the LNK2 Wifi module, but I'm getting the same error as you.

[dev:72](http://192.168.1.8/logs#pastdev72)2022-06-09 06:01:34.345 pm [error](http://192.168.1.8/device/edit/72)java.net.SocketTimeoutException: Read timed out on line 488 (method updated)

When I tried pinging it with hubitat and got the above error it dosconnected it from the lnk2 so I guess I'll just leave well enough alone :roll_eyes:

I have the previous version and it works well. I read on Rainbird site that LNK2 is Smart home compatible !!!!

I modified the driver so it polls the device so Hubitat always knows the latest status.

What happens when you PING it from windows ?

Can you share the modified driver?

1 Like

I modified it for myself. @craigde : Do you accept I share my modification ?

1 Like

Just to let you know :

  • I added a polling function to continuously get the status
  • I added currentActiveStation to know which station is active.