Ryobi Garage Door Opener

@Stat are you still actively developing this? Just curious if something broke on Ryobi’s side…?

I was working on this with a few other people. The gentleman who wrote the code dropped off like a ghost. So where it is at on the board is all the support that is happening with it.

Plus, it seems that Ryobi is discontinuing the line as it is being removed from The Home Depot stores around the nation.

You really ought to delete that picture, or redact it. It has not only your email, but your API key showing. If someone wanted to, it would probably be very easy to hack into your door.

1 Like

ok thanks, I guess back to the drawing board!

I am not sure how the Ryobi works, but if you can touch the two wires together at the indoor button, and the door works, then you have lots of better options than using the cloud.

The Zooz Zen16 is a prime candidate, especially if you have multiple doors. It can control up to 3 doors. It is fairly inexpensive too.

Some have used a simple relay, and a smart plug, to so something similar, to the Zooz. But those methods are a bit "hacky" and involve understanding relay operation, wiring and so on. They work though, and can be cheap if you have an extra plug laying around. @aaiyar did this method at one time, I don't know if he still uses it. I think he even had pictures somewhere on here of how he did it.

With all these, you will probably need a door tilt sensor to tell the hub that the door is closed.

Yep there was another thread about using a generic relay to trigger the open close button on a visor remote that you solder to the leads I’ll still probably try that. It would just be nice to have the other thing (like air pump) be able to be controlled via voice. Which I can only do directly through the Ryobi integration.

Has anybody got this to work recently? I've tried every ID number possible from the logs and I've finally got it to sometimes show the correct status but won't control the door.

Do you remember the label of the data that worked?

Could you post your logs from right after a successful connection? could help someone fix/write the drivers (make sure to censor any device IDs that are sensitive.

Did anyone get this to work recently? New HE user with 2 Ryobi doors. Would love to get open/closed state and actually control the doors with HE.

Tried to reinstall, this is what I'm getting now

dev:14102020-06-21 04:08:44.193 pm errorjava.lang.Exception: No response data exists for async request on line 295 (processGarageStateRequest)

dev:14102020-06-21 04:08:44.170 pm debugGetting the module number of your door

dev:14102020-06-21 04:08:44.167 pm debugStatus of Device request response call is: 500

dev:14102020-06-21 04:08:44.158 pm debugGot Status request response

dev:14102020-06-21 04:08:43.662 pm infoUpdating Status

dev:14102020-06-21 04:08:14.749 pm warnWebSocket connection closing.

dev:14102020-06-21 04:08:14.744 pm debugwebSocketStatus- status: closing

dev:14102020-06-21 04:08:14.740 pm debugparsed {"jsonrpc":"2.0","result":{"result":"OK","aCnt":0},"id":3}

dev:14102020-06-21 04:08:14.692 pm debugparsed {"jsonrpc":"2.0","result":{"authorized":true,"varName":"email","aCnt":0},"id":3}

dev:14102020-06-21 04:08:14.675 pm debugparsed {"jsonrpc":"2.0","method":"authorizedWebSocket","params":{"authorized":true,"socketId":"XXX.ip-xxx-xx-xx-xx.xxxx"}}

dev:14102020-06-21 04:08:13.639 pm errorjava.lang.Exception: No response data exists for async request on line 295 (processGarageStateRequest)

dev:14102020-06-21 04:08:13.600 pm infoGarage Door Close Request

dev:14102020-06-21 04:08:13.586 pm debugGetting the module number of your door

dev:14102020-06-21 04:08:13.580 pm infosuccess! reset reconnect delay

dev:14102020-06-21 04:08:13.569 pm infowebsocket is open

dev:14102020-06-21 04:08:13.558 pm debugStatus of Device request response call is: 500

dev:14102020-06-21 04:08:13.555 pm debugGot Status request response

dev:14102020-06-21 04:08:13.551 pm debugwebSocketStatus- status: open

dev:14102020-06-21 04:08:13.082 pm infoUpdating Status

dev:14102020-06-21 04:08:13.079 pm debugwebSocketStatus- null

dev:14102020-06-21 04:08:13.074 pm debugGarage Door Opener

dev:14102020-06-21 04:08:13.003 pm infoinitialize() called

dev:14102020-06-21 04:08:12.873 pm errorjava.lang.Exception: No response data exists for async request on line 295 (processGarageStateRequest)

dev:14102020-06-21 04:08:12.835 pm debugGetting the module number of your door

dev:14102020-06-21 04:08:12.826 pm debugStatus of Device request response call is: 500

dev:14102020-06-21 04:08:12.821 pm debugGot Status request response

dev:14102020-06-21 04:08:12.405 pm infoUpdating Status

For those having issues with getting a garage ID this is what I did to just get this to work, hope it works for you. I am using the original code posted by njschwartz not the 200 version...

Modify the driver code on line 27 as follows - "garageId", required: false
so you change true to false.

Save that code

go to the virtual device and delete any value you have entered into the garageid and click save preferences.

click refresh, open or close and check your logs again and you should have a value mine showed "varName:xxxxxxxx"

Take that value from VarName and input that into the garageid and viola.

Good Luck!

4 Likes

This worked beautifully, thank you!

Now, all I can get it to do is open and close and report the status of the door, but that's something. I only have the laser park assist module so maybe that's all it can do.

I'm stuck on the same area as you. In fact - I have the driver installed but don't know where to go from there. Be great to get some help if anyone can?

I'm able to get this working without issue. If anyone needs configuration help, let me know. Otherwise, I'm just here to ping @njschwartz

I just got an email from Ryobi:

"Thank you for making Ryobi the garage door opener of choice for your home. On Sunday, February 21st from 8:00 PM EDT – 12:30 AM EDT we will be performing routine updates and maintenance on all of our servers. During this time, you will still be able to use all of your wired and wireless controllers for the Ryobi GDO, but functionality within the GDO App will be interrupted."

If they break this integration on Sunday, would you be able to troubleshoot? I realize you wrote the drive a long time ago and you may not even have a Ryobi GDO anymore. Just trying to be pre-emptive.

FYI re Door_ID on V1 I needed to change the gagageid from required:true to FALSE.
This way the code could query for the ID information VarName, otherwise the code could not continue properly without the information as it was required

Code :

*input("garageId", "text", title: "Enter garageDoorId", description: "garageId", required: false) *

Return Ref begining
metaData:[name:Garage, version:1, icon:/img/devices/gdo.png, description:RYOBI Connected Garage Door Opener Master Unit, .........

Running into a brick wall here. I was having trouble grabbing the garageID field, ended up grabbing it direct from the TTI website TiWi Connect - Webapp

Once I had the garage ID, I have been seeing the door position data as it moves as well as when it lands on open and closed states in the debug strings and it also appears to update on the driver as well.

However, when I try to trigger an open or close event, I get no action. I do see this recurring error:
errororg.codehaus.groovy.runtime.InvokerInvocationException: java.lang.Exception: No response data exists for async request (processGarageStateRequest)

any ideas?

Community here is very helpful. Honest question here (not trying to be funny) but I’ve noticed the app from Ryobi does quote a lot already. What do you plan on doing with Hubitat connecting to the GDO that the app doesn’t already do? I’m fairly new to home automation and am trying to learn about what others look forward to accomplishing by connecting this to Hubitat. Thanks in advance!

Just FYI, Ryobi did not discontinue their garage door opener. They had an injunction which prevents them from selling any units until 2023 (Permanent Injunction Granted to Chamberlain Group - Chamberlain Group)

That being said, has there been any luck with getting this to work recently with the GD200 model?

I have the same error:

java.lang.Exception: No response data exists for async request on line 295 (method processGarageStateRequest

Thank you!