Controlling Ryobi GDO Garage Door via HA

Yeah, my python knowledge is pretty limited as well. I took what was given to me from the old maintainer and ran with it modifying it here and there. In theory you should be able to take the code we already have in github and get some of the home assistant integration methods. My dilemma though is that I have very limited time due to two toddlers and work. This leaves me little time to do more with this. Happy to help though if there is something that I can help with. I’m on discord so if you wanted to setup something there, we could. The new zwave-js integration is also using websockets so that might give some ideas too.

[quote=“Madj42, post:41, topic:211635”]
My dilemma though is that I have very limited time due to two toddlers and work. This leaves me little time to do more with this.[/quote]

No toddlers here, but I don’t have a ton of time to dedicate just yet. I think at some point I’ll give it a more serious look, but I do want to get my python skills up a bit more before I’m ready to suggest other people run code I’d written on their home automation systems.

1 Like

I am having a small problem I am getting the following error when I start Home assistant:
021-06-11 22:49:40 ERROR (SyncWorker_1) [custom_components.ryobi_gdo3.cover] XXXX not in your device list

Is this an easy fix maybe I am missing somthing?

The deviceid you are specifying in the configuration is not correct. Does the device entity show in HA?

No, it does not. I am using the _id value is that correct here is what my configuration looks like:

image

config:

cover:
  - platform: ryobi_gdo3
    username: !secret ryobi_username
    password: !secret ryobi_password
    device_id:
      - !secret ryobi_device_id
      - !secret ryobi_device_id2

light:
  - platform: ryobi_gdo3
    username: !secret ryobi_username
    password: !secret ryobi_password
    device_id:
      - !secret ryobi_device_id
      - !secret ryobi_device_id2

Secrets:

# Use this file to store secrets like usernames and passwords.
# Learn more at https://www.home-assistant.io/docs/configuration/secrets/
some_password: welcome
ryobi_username: "[email protected]"
ryobi_password: "XXXXXXX"
ryobi_device_id: "607f50536f65be592589c133"
ryobi_device_id2: "607f50cfbcbfc2abb091bd13"

I got it! it was varName, not _id. Leaving this here for anyone else who may run into some issues.

HA newbie here.

I don’t understand this instruction.
“Put this in your custom_components folder under ryobi_gdo3 and restart Home Assistant.”

I edited the secret yaml and config yaml. i also created a folder called “custom_components” what am i missing?

You need to out the ryobi_gdo3 folder in the custom_components folder. Make sure the files on GitHub that are under that folder are in it as well.
.

ok, done. now I can see a card in HA; however, the status is wrong and I can’t control it.

import requests

username = ‘username’ ← changed to my email with quotation

password = ‘password’ ← changed to my password with quotation

uandp = {'username:username,‘password’:password}

r = requests.post(‘https://tti.tiwiconnect.com/api/login’,data=uandp)

s = requests.get(‘https://tti.tiwiconnect.com/api/devices’,params=uandp)

s_dict= s.json()

s_dict= (s_dict[‘result’])

doorval= str(s_dict)

doorval= doorval.split(’,’)

print(doorval[1])

You need to run the above with python to get the door id. Once you have that, you need to follow the instructions on GitHub. Essentially you need to make sure the Ryobi_gdo3 folder is under the custom components directory and you need to make sure the files on GitHub under the ryobi_gdo3 folder are in that ryobi_gdo3 folder.

i got the door id from “varName” and i put them in the secret yaml along with my login info.

i got the card but the status is not correct

ok, i found the problem. apparenlty, there are 2 varname. I used the first one and didn’t know. second one did. but not sure why

@jefftse this happened to one other person. Did you have to reset the door previously? I think the app may recreate a new door id in some instances. It took the other person some trial and error to find this just like you. Thanks for reporting back what it was.

1 Like

That was me. And I had to reset the whole thing once. That’s when I think the ID changed. Symptoms were the same as yours Jeff. Sorry I didn’t really see this before. But that info is buried in this thread somewhere.

1 Like

So just wanted to say thank you for this. My GDO has been offline for over 2 years. I’ve chalked it all up to it just not liking my network security here at the house. Your automation gave me a kick in the ass to call their support team and open a case. About 45min into the troubleshooting call they determined that my unit was defective. Thank goodness my wife saved all of the home depot receipt emails because I was able to dig it out of her inbox and provide it to the support rep. They sent me a warranty replacement (now mind you I bought my GDO back in 2017) free of charge, they do not want the old unit back so I have no clue what to do with the old one. Guess I can rip it apart and see whats worth salvaging from inside of it. This new unit has a softer warning beep which I don’t mind and overall is actually quieter. They also included 2 more vehicle remotes so that was a nice kicker. The new unit paired right up with my wifi and registered in the app with no issue.
BTW with the old unit the final nail in the coffin to get me to call support was when I tried to pair the GDO with my cellphone in hotspot mode, figured that was the ultimate test.
So thank you for this integration.
The doorID.py script didn’t work for me just returned a text string about master gdo something. Running the GET command in postman I was finally able to determine my ID is in the field labeled ‘varName’
Have a great holiday.

2 Likes

Still having issues with both of my GDOs, but here’s a for loop to print out the contents of doorval:

for x in doorval:
    print(x)

What’s the issue you’re having?

I get the following message when looking at the Settings for the cover in the HA frontend:

This entity ("cover.ryobi_gdo_door_0cb2b71e6a46") does not have a unique ID, therefore its settings cannot be managed from the UI. See the documentation for more detail.

This is normal. The cover does not have any settings to manage. Press the icon in the upper right for the current state and you’ll get the control buttons.

It is still not functioning, there are no control buttons. I’m trying to understand what the issue maybe, not quite adept at debugging this at this point. I have 2 physical GDO devices installed, each has its own Wifi module and Bluetooth door sensor. Both are controllable via the iOS and Android apps, but not through the HassOS installation I have here. The cover shows up in the HA UI, but doesn’t do anything and doesn’t appear to report the correct state.

image