Ring integration setup fails

The temp fix works and is still working, I’ve rebooted multiple times after applying the temp fix.

You are running 0.103.4?

I tested ring now with the newest Hassio Version
0.103.4
For me its still not running.

Thu Dec 26 2019 21:05:07 GMT+0100 (Mitteleuropäische Normalzeit)

Unable to prepare setup for platform ring.sensor: Unable to set up component.
Ring Setup

Error: 401 Client Error: Unauthorized for url: https://api.ring.com/clients_api/session
You will need to restart hass after fixing.

+1 for the fix by @tekmaven. Worked for me as well.
Hopefully we’ll get "correct’ OAUTH2 in the near future.

The ring-doorbell code now has the OAuth2 code in version 0.2.6

you can wait for HA release update or update it now !

This is the most simplest way

Hassio
Add-ons - SSH & Web Terminal
Protection Mode Off (:thinking: )
open Open Web UI
type the following

docker exec -it homeassistant /bin/bash
pip install ring-doorbell==0.2.6
exit

click the <----
Protection Mode On (:slight_smile: )

restart HAHassio

2 Likes

This didn’t appear to work for me. I upgraded and I now have 0.2.8 in HA. As such, I removed the header “hack” from init.py and then rebooted HA. It came up with the same denial. I then removed the .ring_cache.pickle file as well, rebooted HA, same result.

Is there anything required to initiate the OAuth2 connection?

1 Like

0.2.8 ?
Where in HA

Download the zip
Extract the ring_doorbell folder only
Copy it to the samba share over the network to the config folder

From terminal docker session
Type
cp -r /config/ring_doorbell usr/local/lib/python3.7/site-packages/

If your running 3.6 its a different path

This didn’t work for me, either.

This did not work for me either

Manually updating the requirements_all.txt and the components/ring/manifest.json in the homeassistant src folder in my hassos installation worked for me, thank you. a manual pip install got overwritten when I restarted hassio.

2 Likes

Okay I see
Marcelo has been bumping the version since i looked at it he’s now at 0.2.9 but that hasn’t fully updated to the dist.
I can only confirm that it all works for me even on 0.2.6 and now 0.2.8.

I Can Confirm That
I never hacked the components/ring/init.py
I never used the custom_components hack

Tests I Just Performed
Ring was working For Me
i ran through the following just now as a test

I Remove The ring-doorbell

bash-5.0# pip uninstall ring-doorbell
Uninstalling ring-doorbell-0.2.6:
  Would remove:
    /usr/local/lib/python3.7/site-packages/ring_doorbell-0.2.6.dist-info/*
    /usr/local/lib/python3.7/site-packages/ring_doorbell/*
Proceed (y/n)? y
  Successfully uninstalled ring-doorbell-0.2.6

I Installed The ring-doorbell

bash-5.0# pip install ring-doorbell
Collecting ring-doorbell
  Using cached https://files.pythonhosted.org/packages/e3/b9/c9ceb6d286f95d7ee640e248556977c0fe02a821b7a7f879d950c413cdf8/ring_doorbell-0.2.8-py3-none-any.whl
Requirement already satisfied: requests==2.22.0 in /usr/local/lib/python3.7/site-packages (from ring-doorbell) (2.22.0)
Requirement already satisfied: requests-oauthlib==1.3.0 in /usr/local/lib/python3.7/site-packages (from ring-doorbell) (1.3.0)
Requirement already satisfied: pytz in /usr/local/lib/python3.7/site-packages (from ring-doorbell) (2019.3)
Requirement already satisfied: oauthlib==3.1.0 in /usr/local/lib/python3.7/site-packages (from ring-doorbell) (3.1.0)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/site-packages (from requests==2.22.0->ring-doorbell) (1.25.7)
Requirement already satisfied: idna<2.9,>=2.5 in /usr/local/lib/python3.7/site-packages (from requests==2.22.0->ring-doorbell) (2.8)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python3.7/site-packages (from requests==2.22.0->ring-doorbell) (3.0.4)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/site-packages (from requests==2.22.0->ring-doorbell) (2019.11.28)
Installing collected packages: ring-doorbell
Successfully installed ring-doorbell-0.2.8
bash-5.0# 

Now@ ring-doorbell 0.2.8

I Updated The manifest.json In The components/ring Folder

{
  "domain": "ring",
  "name": "Ring",
  "documentation": "https://www.home-assistant.io/integrations/ring",
  "requirements": ["ring_doorbell==0.2.8"],
  "dependencies": ["ffmpeg"],
  "codeowners": []
}

I removed the pickle file.

I rebooted the whole system.

Ring Is Still Working for me.

2 Likes

Harry, thanks for documenting that…

The key appears to be updating the manifest.json file so it doesn’t overwrite the ring_doorbell file on reboot.

Thanks!

I got it working using the following steps. Thanks to @Harry13, @pickerin, and @tom_w!

  1. Install ring-doorbell 0.2.8
  2. Update requirements_all.txt and manifest.json changing the ring component version to 0.2.8.
  3. Delete .ring_cache.pickle
  4. Reboot
1 Like

I basically did the same thing, but didn’t have to update the requirements_all.txt…it’s working so far.

Where are the “requirements_all.txt” and “manifest.json” files? I’m running HASSIO and can’t find them.

Look at my post a bit further up
8h before this to get the access

Location is
cd /usr/src/homeassistant/homeassistant/componets/ring

I see that you said they are in the components/ring folder. But I don’t have a components folder, at least I can’t find it. I have a custom_components but I know that’s not it.

Sorry in the car so hard to type
But all explained above

If you’re using a Hass.io Add-on for the terminal then make sure you turn off Protection Mode.