[OBSOLETE] ESP8266 Smart Sprinkler System

The run-time for each sprinkler zone is handled by the device itself, not the hub or a cloud-service. This is actually a nice, protective feature: if the sprinkler is running and there is a connection issue (i.e. internet service goes down) the sprinkler routine won’t be affected, it will continue through each queued zone, watering for the appropriate number of minutes (programmed on the device).

I have the linksprite 4 relay hooked up and programmed but I have a problem. I can manually run each zone just fine. Whenever I setup the scheduler it doesn’t ever work. I have it programmed to run every morning at 5:00 AM but it doesn’t ever kick on. Any suggestions greatly appreciated.

Does this button work?

Next… turn off all 3 options(yesterday, today and today’s forcast) and set your timer to start in 3 minutes from when you save it. If you have enabled notifications you should get a notification that watering started.

If that fails plug your esp8266 into your computer. Open serial monitor and make sure you can see the esp8266. Do the previous step and post a screen shot of the command the esp8266 receives.

If it works with the 3 options off. Make sure you only use today’s and today’s forecasted rain. Yesterdays rain does not work. I haven’t spent the time to figure it out yet.

I was finally able to get it to work after turning off all the forecast. I want to try PWS id, how exactly should it be put in? The entire code or does something have to be in front of it?

Also it’s cycling thru all the relays, I just have one zone, I don’t need it to cycle the other 3 relays, am I doing something wrong?

question 1: follow these videos- [OBSOLETE] ESP8266 Smart Sprinkler System - #144 by Adrian_B. i think you are using anienhuis apps. the weather api he used no longer works as of jan 1st. the new api only uses zip codes or long/lat. if not specified it does not work.

Link locationString - Optional. Must be a 5 digit US zip code or a latitude, longitude string (e.g., “38.25,-76.45”). If not specified, the method will use the latitude and longitude of the Location as set in the SmartThings mobile app.”

question 2: if you don’t want to use the unused zones set the times to zero or null and it will skip them. if you want to use them on a separate schedule make another schedule you can have more than one.

I am going to build a 6 zone smart sprinkler system. I’ll start with my question first : should/can I start with the LinkNode R8 as in the original post? Or should I use a NodeMCU like this and a 6 channel relay like this?

I really appreciate everyone working on this! @Adrian_B even made videos…you guys are great! I feel confident I’ll be able to get this going.

@bamst, The LinkNode R8 is an EOL product. It is not produced anymore and limited stocks available. Mouser used to have some a few months ago. https://eu.mouser.com/ProductDetail/linksprite/211201005/?qs=EU6FO9ffTwdXhrXAIyKV9Q%3D%3D&countrycode=DE&currencycode=EUR
The LinkNode R8 is perfect for 6 zones, as it has (as I can remember) 2 relays which are turned on when powering up. I haven’t connected anything there to avoid any issue in case of a power outage.
I have fitted mine in a nice fiber optic box, you can find similar on Ebay. https://allegro.pl/oferta/neku-mufa-swiatlowodowa-przelacznica-ip65-ftth-8x-6158923109

I think he’s asking which is better between the NodeMCU approach vs the LinkNode not factoring availability since they’re in stock on Amazon and Mouser USA has over 200 available to ship.

Exactly to this @fooktheta! The R8 is in stock now so I know I can get that, but really thinking ahead if there is any benefit to building off of the NodeMCU since it’s newer and will have options going forward. Or using the R8 as it’s more of an all in one that people have working. @GSzabadosit sounds like yours is still currently working with the R8 and you even linked a box thank you! 15$ for the R8 isn’t much to risk… But time is my most precious resource. Is there any argument against the R8?

Both of them uses an ESP chip. The R8 has the relay built in, meanwhile the NodeMCU needs the relay. You can reuse the NodeMCU for any other project if you do not want to use it anymore as a SmartSprinkler. Programing them is the same easy job.
The R8 can be placed as it is into any box and it is easy to fix it. The NodeMCU and the relay needs to be arranged and cables to run between them.
The R8 requires a power supply with the correct barrel connector, meanwhile the NodeMCU can be used with any MicroUSB power source.
PS.: I have spent days or even a week first to find any R8 for sale. It is not easy to find Mouser’s site if you don’t know them. Finding a decent 8 channel relay is another story too.

That makes sense and I think I’m going to try the R8. This is the one I was going to try, this should be the R8 I need, right? LinkSprite 211201005 Arduino-Compatible Wi-Fi Relay Controller, R8 https://www.amazon.com/dp/B01N2ALK8X/ref=cm_sw_r_cp_apa_i_Dt7WDbX7V2QQD

Hi all. Thanks for all the instructions and work. I got to get a grip over an R8 but had been having a lot of issues setting the firmware up. As a matter of a fact, I can’t get the “SmartSprinkler” AP running. I just get the ESPxx WiFi signal.

Anyone has had similar experiences? How did you solved them? (If so).

Thanks!

I’m glad there’s some activity here! I’m not going to be much help (yet) but I wanted to make sure I knew what steps you’ve taken so far.

So you got the R8… Awesome! I did too. You flashed the bin file? And was it the original one that @anienhuis posted?

I saw some steps that said you may have to put the ip address of your hub for the devices to talk to each other. Did you try that?

Hi bamst, thanks for your response.

Im just a couple steps before connecting the board to Smartthings, since my problem is that “SmartSprinkler” SSID (set around line 250 of the .ino code) is not starting on my LinkNode. Don’t really have idea why.

I Have tried both codes, (@anienhuis and @adrian_b ones), but always from the .ino code and loading the individual libraries on Arduino IDE (im working on a MAC). You’re suggesting me to try finding a way of loading the .bin on the board to avoid this error?

I’m not sure how much you can edit once it is flashed on there… But if they have a compiled version that is working (when they compiled it) then that may be easier to start with and then work your way back to see if there is still an error. You are further along than I am though so I don’t know if that would work but it’s worth a shot! Good luck and I’m looking forward to hearing how it goes.

solved it! You were right @bamst: started messing around with esptool.py to load the .bin instead of the .ino code and it worked like a charm (took me a little while to get the command line right but using verbose loading a simple sketch on Arduino IDE helped a lot).

Thanks for your help!

1 Like

Do some research how you have to write to the board. I cannot remember correctly, but the way was written on the manufacturer’s website was wrong.
The other thing what you need to consider is to erase the board before writing the new code on it.

That’s awesome! Glad that it’s working! Which code are you using? Who wrote it I mean?

It wasn’t a problem with the transfer methods but with the library compilation (already had corrected the configuration methods from the manufacturer instructions). Apparently, the wireless controller library wasn’t being compiled correctly. Once I uploaded the pre-compiled .bin firmware, it worked correctly.