Dumb sprinklers turned smart-ish

I have an OLD in-ground sprinkler system with a timer system that uses those old red diodes for the display, kinda like the ones you’d see on a calculator from the '70s. While I do drool over the Rachio and Rainbird setups, I decided to see what I could do with that old timer.

I set the dumb timer to run every zone sequentially every day at 7am. Then I wired in a relay (https://www.amazon.com/gp/product/B000LESCI2/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1) to break the common to the sprinkler solenoids. I use Webcore to log the rain every day, add it up, add in the forecasted rain over the next couple days, and only turn on the smart plug to the relay if the rain is below a certain threshold and the sprinklers haven’t run in the last ‘n’ days.

The relay essentially works like a typical rain sensor, except I have full control over whether it’s on or off. I can’t change the time of day or length of time the sprinklers run without walking all the way (gasp!) to the timer to change it, but that should be a “set it and forget it” kind of thing. I can choose to run the sprinklers more or less often by adjusting the number of days between runs or the trigger for the amount of rain.



I did something similar with a mimo 2 I ran my rain sensor to the inputs so i get a alert that its raining at my house then ran the rain sensor inputs on the srpinkler system threw the normally open relay on the mimo 2. If the rain sensor closes it sends me a message and opens the relay which shuts off the sprinklers for rain. I have tried multiple rain sensors and they all turn the sprinkler system on too early after it rains even at the highest setting. So I have core once the input from the rain sensor closes and the relay opens to turn off sprinkler not to close relay or turn sprinklers back on for 36 hours. I have the other relay on the mimo 2 interrupt the valve to the backyard so when I have a paddle switch on it at the patio it tells my home the dog is outside and wont allow backyard sprinklers to run.
With this the relays able to turn on sprinklers with phone or google home. hey google is it going to rain to day , hey google is the sprinkler system on or off, hey google turn off sprinklers.
I too would love fully automatic sprinkler system but that would be to easy.

1 Like

There is an IFTTT function that is connected to wemo outlets which powers down your old sprinkler system when rain is in the forecast. It was a bullet proof cheap add on… the time and clock setting where maintain by an internal battery in the sprinkler controller… it was a cheap automation that I used for two years… I eventually added a rachio which honestly wasn’t worth the effort/time based on where I live… I’m more interested in my sprinklers running every day it isn’t raining very saving water. There is a”cool” factor of telling Alexa to turn on zone 3 for 15minutes or turn the sprinkler on if you detect motion in the yard after 11:30 pm near your garden…

1 Like

@Equis I want to do something similar. I don’t want to buy a smart sprinkler controller (that would be too easy). Could you provide some pictures or diagrams explaining your setup?
I appreciate your help.



Many people in the community have done something similar, but using different equipment.

To see these project reports, go to the quick browse lists in the community – created wiki, look down the page to the “project report” section and then choose the list on “irrigation and gardens.”


Most work in a similar fashion. They get a regular dumb valve actuator to turn on the hose and then they plug it into a smart plug.

You can get fancier than that if you want, but that’s probably the least expensive and simplest way to give smartthings control of a manual sprinkler. :sunglasses:

Thanks @JDRoberts.
I already have a Rain Bird programmable 8 station controller which operates my sprinklers.

I am just trying to understand how @Equis used a relay to break or open the common going to the sprinkler solenoids. The relay seems to be having lots of wires. So should I connect the live wires to the relay as well? Also is relay powered using a smart plug?



I have included pictures of my controller. The white wire to the left is the common.

Based on @Equis project, the white wire would have to be disconnected and a relay would be in between the white wire and the controller - this relay would close or open the circuit. And this would be accomplished using powering up or down the relay using a smart device plug. Am I right?

Now, my questions are:

  1. Is my description above accurate? If not, please explain
  2. Which wires from the relay should I connect to the common and the controller?
  3. isn’t there a simple relay that just opens or closes a single wire connection (single white wire in my example)?
1 Like

@Equis - tips on Webcore would be helpful too. Thanks.

I did similar but instead of using the rain sensor input and a smart relay to disable the sprinkler, i use a (cheaper?) smart plug to turn my RainBird controller off at appropriate time.

For example, i set the RainBird to start every day at 5am. Then in webCoRE, if i want to water on given day i turn the smart plug on at 4:55. To skip a day or if it’s raining, i turn the plug off at 4:55 (then back on at 5:05 to keep the battery charged)

It was kind of trial and error last year, first sprinkler system i’ve owned. My webcore may need tweaking for new weather api(?)

1 Like

@Ansh_smartthings is exactly right. I removed the white wire and connected it to one of the legs of the relay. Then the other leg of the relay goes to the common terminal. I used an old lamp extension cord to be able to power the relay, then just plugged it into a smart plug.

In the photo below, you can see my three zones and the single white common coming back from the solenoids. I connected that to the yellow from the relay (box on the right), then connected the orange from the relay to the common terminal. You can’t see the colors on the bottom two wire nuts, but those are to power the relay. You can see the lamp cord sticking out the bottom running to the plug.

In Webcore, the first thing I do is log the rain every day, add it to the rain we’re expecting, and write it to a global variable…

Then I have a sprinkler control piston where I can set a threshold for how much rain we need and how often the sprinklers should try to run…

Both of these pistons have to run for a week to populate all the variable fields. Here’s what the rain log looks like this week. With 1.2 inches of rain expected this week, there is no need for the sprinklers. :slight_smile:

I started very similar to you, except I only turned the controller ON when I wanted the sprinklers to run. I went through two 9V batteries before I figured out that they were getting run down from trying to keep the internal clock running. This is also my first sprinkler system. :smile:

1 Like

Mine doesn’t even have a backup battery installed so there must be a secondary or capacitor on the circuit board. I just bought a couple trees so need to investigate adding another zone with a hose somehow.

@Equis thank you so much for such detailed explanation with pictures/screenshots. You have motivated me to take this project up this weekend. Ordering the relay now.

I do not have smartthings, so will investigate using IFTTT with some logic.

Thanks so much again!

1 Like

I am planning to use IFTTT to trigger the power to the relay using a smart plug.

However, I want to be able to gather rain data for my zip code, apply some logic on that data and trigger based on that.

I know IFTTT can trigger based on a cell in Google Sheets. However, I haven’t found a good API service that offers rain data every day to be logged to Sheets.

Anyone out there who has tried this?


I have been using this code for a few months now (thank you for it), and it never seems to log the actual precipitation I get. We had a whole pile of rain a few days ago but nothing was logged. The expected rain is logging/updating, but not the actual. Any thoughts?

Hm… Is the $twcweather returning any results at all? You can use the Expression field to paste something like $twcweather.forecast.qpf to see if it returns a string of numbers. If not, I feel like there would be some other issue (is location set on the hub?). If it does return the forecast, it sounds like it might be a syntax thing. You might have to go through and check whether or not each command is correct and returning a result. ¯\_(ツ)_/¯

It returns all zero values.

(expression) $twcweather.forecast.qpf »»» (dynamic) [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]

This is showing ZERO precipitation in the forecast. Is that correct? If not, I’d probably start with setting/verifying your location setting for the hub and see if you can get weather to return real values.