Controlling Ryobi GDO Garage Door via HA

Maybe with the help of the community, we could possibly get the GDO as something we could run locally, without the cloud app.

It appears we’re one step closer as the certificate was renewed. It appears though that the websocket system is down still though and I’ve reached out to Ryobi and TTI about this. Really hoping someone looks into it.

1 Like

I really wish I had the time to try and see about simply getting an alternative firmware on this device or something. I wish I had a spare to just mess around with. I wish Ryobi would just let us “host” our own solution!

Just an update, I’ve been trying to contact Ryobi regarding this with very little luck. The person who reached out to me from Laird said they decommissioned everything tiwiconnect years ago and transferred the backend to the TTIGroup/Ryobi. TTIGroup does not have any contact information that I can find. Ultimately though, this means that Ryobi/TTI has everything on their end and it’s ultimately their issue.

Is anyone’s system working now or are you still having issues?

Still having issues here. They renewed the cert, and have something running at https://tti.tiwiconnect.com/ . I can log in there with my app credentials, but the info there doesn’t seem like it should be customer facing - it seems to include info about the EC2 instance hosting my API instance. I wonder if they realized they still had customers and tried to bring the system back online and didn’t do so properly. The app doesn’t work, and Home Assistant doesn’t work. I haven’t tried rebooting my HA since I’m using it to monitor my air quality currently, but I can try once the air clears out of here. Thanks again for working on this!!

Same thing here. I contacted Ryobi via chat and couldn’t get any details out of them other than they fixed the issue yesterday afternoon and that I have to wait 24 hours. It doesn’t make sense why I need to wait 24 hours if the issue is fixed.

I just noticed on the URL I linked above that you can open Dashboard in a new tab and see info about the door. It lets you build a JSON door command with the door control buttons on the side, and then you can press “send” to send the command. It shouldn’t be much work to get this back into HA, if something changed. I’ll have to look into this later!

I don’t think anything changed with the API that is preventing it from working. The server appears to be up now and the websocket connection is back up from what it looks like. However, I’m still seeing issues with the app on my phone and HA is not working. I get an SSL error from the doorid.py and the two integrations I have setup for the GDO. It’s definitely an SSL certificate issue where they didn’t import the certificate correctly (missing some intermediary certificates).

I emailed, sent a message on FB messenger, and chatted this information to Ryobi.

SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate

See here:
https://globalsign.ssllabs.com/analyze.html?d=tti.tiwiconnect.com
https://globalsign.ssllabs.com/analyze.html?d=tti.tiwiconnect.com&s=34.193.132.55&latest

Just another thing I found today. I’m tempted to give this a try if Ryobi doesn’t fix this soon. Note: the link below is a cached version due to the subreddit being private.

http://webcache.googleusercontent.com/search?q=cache%3Ahttps%3A%2F%2Fwww.reddit.com%2Fr%2Fhomeautomation%2Fcomments%2Fs5pav8%2Finstructions_for_making_ryobi_gdo_work_with%2F&oq=cache%3Ahttps%3A%2F%2Fwww.reddit.com%2Fr%2Fhomeautomation%2Fcomments%2Fs5pav8%2Finstructions_for_making_ryobi_gdo_work_with%2F&gs_lcrp=EgZjaHJvbWUyBggAEEUYOTIGCAEQRRg60gEIMjYwMmowajSoAgCwAgA&client=ms-android-google&sourceid=chrome-mobile&ie=UTF-8

1 Like

Ahhh good catch on the cert! Out of curiosity I disabled cert validations on my addon and now see [custom_components.ryobi_gdo3.cover] Wrong credentials, no API key retrieved. Interestingly, those credentials still work for me on the app and the website.

Also good idea going down the HomeKit route, just in case.

The website also works to control my garage door, and seems to have all of the non-minified JS code that runs it easily found nearby. My thinking was we could look at that for hints on getting the addon up and running again. I was hoping to check tonight but ran out of time. Hopefully this is ‘almost there’!

Appears that they fixed the certificate issues and things are now working. I did order the MyQ system as well as others but since my IT career has proven to me that replacing one system with an equally as bad system doesn’t lead to great things, I’m probably going to return it if this continues working. Fingers crossed.

3 Likes

You’re right, it’s working again! I’d better remove my cert-ignoring code. I feel like this is a minor miracle, I was wondering if we’d have to harass people on LinkedIn or something to try to get traction.

Thanks again for following up!! Hopefully we won’t be meeting back here too soon for Cert Expired pt. 2: Cert Expired Again.

1 Like

Hey everyone! I hope we all didn’t go to “MYQ” because I have excellent news.

Putting on some cleaning touches, but the integration has been completely rewritten to function like a modern home assistant integration!

No need for Door.py. We also got some of the accessories working.

If you have multiple garage doors it works too!

2 Likes

One thing you might want to do is look at what he’s done here and work with him to combine the two.

Yup, thats the plan, and have already been doing that. :slight_smile: We currently have web sockets

If you get websockets working for the door status functionality, that will fix a lot of the status delay issues. That’s one of my major gropes with the existing implementation on my repo. I’m sure you’ve noticed, the existing version is just a clone of what was there and I managed to get it working with the later versions. Due to kids taking my time, I really haven’t had much time to devote to it.

Did you try my integration? Websockets currently work, and we have lights, etc. Couldn’t have done it without you, but take a look! it works just like any “normal” integration, no secret files or door.py needed

I tried your integration. I put in my credentials and it identifies my opener by name and then it fails to load.:

Logger: custom_components.ryobi_gdo.api
Source: custom_components/ryobi_gdo/api.py:197
Integration: Ryobi Garage Door Opener ([documentation](https://github.com/catduckgnaf/ryobi_gdo), [issues](https://github.com/catduckgnaf/ryobi_gdo/issues))
First occurred: January 16, 2024 at 6:55:15 PM (2 occurrences)
Last logged: 5:23:57 PM

Exception while parsing answer to update device: 'parkAssistLaser_3

Logger: custom_components.ryobi_gdo.coordinator
Source: helpers/update_coordinator.py:332
Integration: Ryobi Garage Door Opener ([documentation](https://github.com/catduckgnaf/ryobi_gdo), [issues](https://github.com/catduckgnaf/ryobi_gdo/issues))
First occurred: January 16, 2024 at 6:55:15 PM (2 occurrences)
Last logged: 5:23:57 PM

Error fetching Ryobi GDO (987bf312340d) data:

Error setting up entry [email protected] for ryobi_gdo
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 406, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/ryobi_gdo/__init__.py", line 38, in async_setup_entry
    coordinator._client.ws_connect()
  File "/config/custom_components/ryobi_gdo/api.py", line 230, in ws_connect
    assert self.ws
AssertionError

Do you have old integration installed? did you reboot after removing it? @firstof9 any thoughts?