Ring Device integration via MQTT w/ Video Streaming

Weird. That makes it a bit more difficult to debug.

Is there any way to get a detailed log?

In the Hassio Add-on from @bhylak all I see is ->

RingIntegration
Node Version
v12.14.0
NPM Version
6.13.4
git version 2.24.1
added 123 packages from 89 contributors and audited 427 packages in 3.575s
found 0 vulnerabilities
up to date in 0.692s
fixed 0 of 0 vulnerabilities in 427 scanned packages

No devices ever come through.

Ok, wellā€¦ in a moment of desperation I changed my host address from ā€œlocalhostā€ to the ip address of the machine and it worked immediately. (sigh)

I just got the retro kit and it doesnt see the sensors from that. If anyone is willing to tackle this issue head on I can help test it

If possible can you update the addon, tsightler added some new functions that I am trying to test for him, but I am using the add-on so I need it updated. Thanks! :blush:

1 Like

I think Ring must have changed the API again. Anyone else having trouble with their home assistant connecting to Ring? I get the following message in the log:

2020-02-19T13:25:03.240Z ring-mqtt Couldn't create the API instance. This could be because ring.com changed their API again
2020-02-19T13:25:03.241Z ring-mqtt or maybe the password is wrong. Please check settings and try again.
2020-02-19T13:25:03.244Z ring-mqtt Exit code: 1

Password is correct, so I gather it is the API. Iā€™m using the add-on by @bhylak which has worked very well until now.

Yep just rebooted for a config change (not ring related) and my Ring integration is showing as unavailable. Too many API calls.

Ring started requiring 2FA on all accounts now, so Iā€™m guessing you guys havenā€™t set that up yet? I just rebooted to check and itā€™s still working for me. https://blog.ring.com/2020/02/18/extra-layers-of-security-and-control/

1 Like

Correct, itā€™s not really an API change so much as Ring forcing 2FA for all accounts (seems to be rolling out slowly as my service account continues to allow standard username/password login).

I merged 2FA support for this script a few weeks ago but the original addon (which I donā€™t maintain) hasnā€™t been updated yet to support it (there is an outstanding pull request). For right now you can use the add-on from here:

But youā€™ll need to go through the manual steps to get the refresh token via the CLI.

I plan to release my own addon later in the week, it will basically just be a fork of the existing one with a few minor tweaks and added features and will use the new 3.0 version of ring-mqtt, which Iā€™ve been working on for the last few weeks. I hope to have it published later in the week, if I get lucky, maybe tonight.

1 Like

Thanks both - added 2FA and all good again - I didnā€™t need to remove the integration and re-add it though ?

Would you guys mind pointing me in the direction for steps to enable 2fa with the ring alarm? Changes today have obviously broke my original config with it disabledā€¦

Thank you. The 2FA was the issue; I would have realized this because the log file actually said as much, except for the fact that in Ring Settings, 2FA for the account I use is set to ā€œOffā€ and I believed it. Using the new add-on and a token, everything works.

Ok I see I need to use the different add on, can someone tell me how to get the refresh token using hassio please?

Ignore me, figured it outā€¦!

Doing the same thing myself now. Where did you find this setting?

How? Im still not seeing where to get the ring token.

1 Like

Iā€™m running docker but has issue.

I got the token and put it in config.json file, build the image and run the docker without user/password, but getting below errors, what else do I miss?

> [email protected] start /srv
> node ring-alarm-mqtt.js

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: `node ring-alarm-mqtt.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

For those running Hassio, these are the steps I pulled together to get it working with 2fa. Sorry if someone has written this up somewhere but I couldnā€™t find it all in one place.

Firstly, you need to make sure your using the hassio addon from this source, the one I was using was a different one:

Once that is installed, set it up like the other one, but donā€™t put your ring email and password in. You will see a section for refresh token.

Next (on a windows machine) install nodejs from:

Just next next it, no additional options needed.

When installed open the nodejs command prompt (youā€™ll see it in start menu) and enter the command:

npx -p ring-client-api ring-auth-cli

This will ask for your email/password and then supply the 2FA code you are sent. This will then output the refresh token you use in the config of the new addon posted above.

That should be all thatā€™s needed, I donā€™t know much about all of these, and there may be another way but this is how I got it working on hassio.

1 Like

Excellent. This did the trick for me too.

Any one running docker? This is what I did:
pull latest code from https://github.com/tsightler/ring-mqtt
then follow this to get the refreshToken
update refreshToken value to ā€œring_tokenā€ in ring-alarm-mqtt/config.json file
then follow https://github.com/tsightler/ring-mqtt#docker-installation:
build the image: docker build -t ring-mqtt/ring-mqtt .
then run the docker (remove ringuser and ringpass):

docker run  -e "MQTTHOST={host name}" -e "MQTTPORT={host port}" -e "MQTTRINGTOPIC={host ring topic}" -e "MQTTHASSTOPIC={host hass topic}" -e "MQTTUSER={mqtt user}" -e "MQTTPASSWORD={mqtt pw}"  ring-mqtt/ring-mqtt

but the docker canā€™t start:

> [email protected] start /srv
> node ring-alarm-mqtt.js

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: `node ring-alarm-mqtt.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.