Ryobi Garage Door Opener

Thank you!

Hope you are well. We haven’t heard from you in a while and was wondering if you have any updates on the fan and speaker modules?

Hi, I recently added my Ryobi to HE using this driver integration and I’m happy this exists for us to use. I am trying to pull this devise (GDO) into my Google Assistant but when I try Google does not see this as a device. I see your comment here about a “virtual switch and rule” so you can control with your Alexa. Is this something you will share with me so I can give it a try on Google?

In devices there is an option to create a virtual switch. Label it Garage Door if that is what you are trying to control. Then select type as Virtual Switch. Then you will create a rule to the Ryobi Garage door switch that opens and closes the door via the Virtual switch. Then you will need to link it to your google home. That I can’t help you with as I use Alexa.

2 Likes

@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, .........