Skydrop Sprinkler Controller Custom Component - On HACS!

Hi All,

I’ve had the SkyDrop controllers for my irrigation for a while and recently got another one for quite cheap to upgrade the irrigation in my backyard (I have two systems)

I decided to build a library to communicate with the Skydrop API (mostly feature complete) as well as a Home Assistant integration.

This can be installed via HACS by adding it as a custom repository at this time (I will submit to be added to the default repositories soon).

Please follow the instructions here:

It is compatible with the UI set up *but you will need to have your own Skydrop API application access. If this works well and is used by many people, it is a consideration that the Nabu Casa cloud integration could be used for token negotiation as the Skydrop API only supports cloud to cloud communications.

Looking forward to feedback!

Awesome! I’ve been wanting to integrate my Skydrop for quite some time now. I’m glad to finally see some work on this! I’ve submitted for API access and will let you know my thoughts once it’s up and running.

I got access to the API. But I had a couple questions. When you make a new application, I assume you put your Home Assistant URL in the “redirect uri” field? If I do this, I go to the integration page and fill in the key and secret field, then it just says “Created integration for .” (It has a period at the end). Then under notifications it wants a grant code, but I never received one from the config flow.

you can use whatever URL you want there, you just have to follow the instructions on that page. once you grant access, the API will redirect your browser to that URL with the code in the query string. You can copy and paste the grant code out of the address bar in your browser.

First, thanks for doing this. I got API access a while back but never had a clue what to do with it.
I’m lost on the “grant code” part of this. Can you elaborate on “you can use whatever URL you want there”?

Hi so when you setup your new application make use of http://google.com as your URL

next open your browser and do a get request ie.
past below URl in your address line:
https://api.skydrop.com/oauth/authorize?response_type=code&client_id=[this is your api key]&redirect_uri=[http:google.com]
remove [] and replace with your info you created when creating your application
if you used the correct info you will get to a approve/deny page, approve app
next you should see a google search page with your code in the address bar

Thanks, that made it so I could get the grant code and it looks to be setup but I have no devices and a hand full of errors.

Log Details (ERROR)

Logger: custom_components.skydrop
Source: custom_components/skydrop/init.py:179
Integration: SkydropHASS (documentation)
First occurred: 11:25:33 AM (8 occurrences)
Last logged: 11:36:03 AM

Could not update data -


Log Details (WARNING)

Logger: homeassistant.components.switch
Source: components/switch/init.py:73
Integration: Switch (documentation, issues)
First occurred: 11:24:01 AM (4 occurrences)
Last logged: 11:24:01 AM

  • SwitchDevice is deprecated, modify SkydropSwitch to extend SwitchEntity
  • SwitchDevice is deprecated, modify SkydropControllerEnabledSwitch to extend SwitchEntity
  • SwitchDevice is deprecated, modify SkydropZoneEnabledSwitch to extend SwitchEntity
  • SwitchDevice is deprecated, modify SkydropZoneWateringSwitch to extend SwitchEntity

Log Details (WARNING)

Logger: homeassistant.helpers.translation
Source: helpers/translation.py:206
First occurred: 11:24:09 AM (3 occurrences)
Last logged: 11:24:24 AM

skydrop: the ‘.translations’ directory has been moved, the new name is ‘translations’, starting with Home Assistant 0.111 your translations will no longer load if you do not move/rename this

Thanks alot for componet @snicker.

However im also seeing problems with it.

Log Details (WARNING)

Logger: homeassistant.helpers.translation
Source: helpers/translation.py:206
First occurred: 10:16:43 AM (6 occurrences)
Last logged: 10:18:17 AM

  • skydrop: the ‘.translations’ directory has been moved, the new name is ‘translations’, starting with Home Assistant 0.111 your translations will no longer load if you do not move/rename this
  • templatebinarysensor: the ‘.translations’ directory has been moved, the new name is ‘translations’, starting with Home Assistant 0.111 your translations will no longer load if you do not move/rename this
  • templatesensor: the ‘.translations’ directory has been moved, the new name is ‘translations’, starting with Home Assistant 0.111 your translations will no longer load if you do not move/rename this

Log Details (ERROR)

Logger: custom_components.skydrop
Source: custom_components/skydrop/init.py:188
Integration: SkydropHASS (documentation)
First occurred: 10:24:57 AM (1 occurrences)
Last logged: 10:24:57 AM

Could not update data -

Has anyone had any luck getting this to work? I believe i have set it up correctly with my keys and secret and first token, but still cannot get data.

I’ve requested a API key… but I’d also like to know if this is still working for anyone before I spend a bunch of time on it. Anyone sound off? @snicker?

Everything is still working great on my end. I have not had a chance to update the error around translations yet but it is not going to break functionality. I will update the component soon.

Hello @snicker thanks for making this. Im guessing it must be a problem with getting a grant code for me then. I used the method by @fjordaan00711 above to get the code and put it in, but still in HA i just get “Could not update data” errror. Can you expalin how you do it?

@snicker Just looking through the files i can see that it is calling methods that only exits in your skydroppy repo does both have to be installed? And if so can someone please quickly explain how that is done? Thanks.

I haven’t forgotten about the issues! I was hoping to work on this code tonight only to find out that the Skydrop cloud connectivity services have been having a major outage since 4:30 PT on 6/30 (also wondered why my grass wasn’t being watered on a smart schedule)

Don’t forget to set your backup schedules on your controllers like I did…

I also requested that Skydrop open up local network access to their controllers.

@snicker check your PM :slight_smile:

Hmm. I had it working, and now it’s no longer working. I’ve tried uninstalling via HACS and reinstalling. Following the same setup routine, but can’t get it to function correctly.

[custom_components.skydrop] Could not get Skydrop access token - <!DOCTYPE html>

Prior I was getting the SwitchDevice is deprecated, modify SkydropSwitch to extend SwitchEntity errors as above.

Any thoughts? :\

Hey all,

It seems that there is some kind of issue with the Skydrop API and I cannot get a grant code for my own application after “allowing”. I’ve asked the Skydrop team if they are aware of any API issues at this time.

Hey all, I reached out to the developers of the Skydrop API and there was an issue on their end for issuing grant codes. They resolved the issue last week and I was able to set my controller back up again by updating to the latest integration from HACS, removing, and re-adding.
Give it a shot and let me know if you have any issues.

Ditto! Thanks :slight_smile:

Hey everyone, I updated the integration to v1.0.5 in HACS. This version fixes (hopefully) some of the issues that have been happening to folks that only have one controller. Please give it a shot if you have had issues with data not updating.