Ring Device integration via MQTT w/ Video Streaming

I uninstalled and reinstalled but it still doesn’t work for me. I’ll come back to it tomorrow and see if I can find out what’s happening. Thank you for the support

edit
In typical fashion as soon as I posted this homeassistant gave me a notification that an update was available and now it works again. Thank you again for the support.

In typical fashion as soon as I posted this homeassistant gave me a notification that an update was available and now it works again. Thank you again for the support.

Honestly, I have no idea how Home Assistant handles addon update notifications. Some people seem to get update notifications within minutes, others seem to manage to go weeks without being notified of updates. However, always keep in mind that it’s possible to manually force a check for updates by going to the Add-on Store tab, clicking the three dots in the upper right-hand corner, and selecting the Reload option. This forces a check for updates.

1 Like

It’s possible people are adding the addon manually instead of adding the URL to superviser? I’m not sure but I could see that being the cause. I got the notification before I even noticed it was broken!

Same here I still have auto update ticked and by the time I see email(subbed topic here) I check my home assistant and the thing already updated :slight_smile:
Side note I did have to completely disable HA ring add on today as it was using lots of ram and causing my pi4 to overheat and lockup. Fairly certain it was caused by the HA ring integration. This MQTT integration is really all I need and is working good. Thanks @tsightler for the updates.

New to Ring Alarm. I see to be able to connect to Ring successfully using the MQTT Add On. I see in the log that the script discovered two locations but thats it. Any idea on what I am doing wrong? I am using a Ring Alarm and my devices use Z-Wave to connect to the Base station. Any thoughts?

Using discovered MQTT Host: core-mosquitto
Using discovered MQTT Port: 1883
Using discovered MQTT User: addons
Using discovered MQTT password:

Running ring-mqtt…
2021-08-08T19:25:59.933Z ring-mqtt Using configuration file: /data/options.json
2021-08-08T19:25:59.939Z ring-mqtt Reading latest data from state file: /data/ring-state.json
2021-08-08T19:26:00.078Z ring-mqtt Attempting connection to Ring API using saved refresh token.
2021-08-08T19:26:02.048Z ring-mqtt Connection to Ring API successful
2021-08-08T19:26:02.051Z ring-mqtt Starting connection to MQTT broker…
2021-08-08T19:26:02.157Z ring-mqtt File /data/ring-state.json saved with updated refresh token.
2021-08-08T19:26:02.168Z ring-mqtt MQTT connection established, processing locations…
2021-08-08T19:26:03.172Z ring-mqtt --------------------------------------------------------------------------------
2021-08-08T19:26:03.173Z ring-mqtt New location: Seattle (xxx)
2021-08-08T19:26:03.174Z ring-mqtt --------------------------------------------------------------------------------
2021-08-08T19:26:03.175Z ring-mqtt New location: Seattle (xxx)

Is that everything you see? It/mine will hang saying found location if my ring (light) bridge is offline

When mine sits there it only has one location …??

Yep, by far the most common reason for hanging during startup is one of the locations being offline. Unfortunately, the API requires all found locations to be online or it will never return. If you have a location that is offline you can work around this by getting the location ID and specifying only the specific location that you want to monitor in the location_ids option.

I’ve seen a few cases where users created locations during setup and then ended up changing them but not deleting the old location so it will just hang forever looking for the hub that Ring thinks should be there.

Makes sense. I went into the Ring app and blew away the location I’m not using. The script progressed but I cannot see devices. Any thoughts?

Running ring-mqtt…
2021-08-08T21:58:53.402Z ring-mqtt Using configuration file: /data/options.json
2021-08-08T21:58:53.408Z ring-mqtt Reading latest data from state file: /data/ring-state.json
2021-08-08T21:58:53.539Z ring-mqtt Attempting connection to Ring API using saved refresh token.
2021-08-08T21:58:55.890Z ring-mqtt Connection to Ring API successful
2021-08-08T21:58:55.895Z ring-mqtt Starting connection to MQTT broker…
2021-08-08T21:58:56.081Z ring-mqtt File /data/ring-state.json saved with updated refresh token.
2021-08-08T21:58:56.101Z ring-mqtt MQTT connection established, processing locations…
2021-08-08T21:58:57.106Z ring-mqtt --------------------------------------------------------------------------------
2021-08-08T21:58:57.107Z ring-mqtt Ring location/device data updated, sleeping for 5 seconds.

I was able to get the devices to be added. In the logs, I see statements like “New device…” and the system seems to see each of my devices; however, I do not see them as Devices or Entities in HASSIO. Thoughts?

I moved and brought my Ring system with me. I changed the name of a few contact sensors and removed one. However they still show up in Home Assistant with the original entity names. Is there a way to get HA and the Ring Integration to update the entity names? It’s a little weird that my front door is binary_sensor.kitchen_entry. :slight_smile:

It was both. Removed an old ring light bridge that was offline. Also killed off an old location. Now I see "New Device " for all my devices and then a list of queues. The downside is that none of the devices show up under Devices or Entities in HA. Is there a trick to having them show up?

Home Assistant generates the entity ID on initial creation based on the name of the entity, the entity itself is associated with the device ID, so if you rename the entity, the entity ID in HA stays the same. However, these are easily editable in the UI as well, so you can just change them individually.

Another option is if you edit the Device Name in the HA UI, when you chose to save it it will offer an option to rename all of the entity names automatically and this will also update the entity IDs. If you are happy with the current name you can just rename it by adding a letter, accepting, then rename it back and accept the name, and allow it to rename the entities. It still has to be done for every device, but that’s a lot easier than doing it for every entity.

The other option is just to delete all of the devices and let them be rediscovered with the new IDs, but that might not work because I think HA keeps even deleted devices so you might have to do manual cleanup before that approach will work.

2 Likes

Make sure you’ve actually configured the MQTT integration in HA. The addon will run with just the Mosquitto addon being installed and running, but if you haven’t actually also enabled and configured the Home Assistant Mosquitto broker integration under Configuration…Integrations, then you won’t see any device/entities.

@tsightler npm audit is reporting following warnings. Can you please let me know how to fix this?
Thanks.

                      === npm audit security report ===                        
                                                                                
┌──────────────────────────────────────────────────────────────────────────────┐
│                                Manual Review                                 │
│            Some vulnerabilities require your attention to resolve            │
│                                                                              │
│         Visit https://go.npm.me/audit-guide for additional guidance          │
└──────────────────────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Low           │ Prototype Pollution                                          │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ yargs-parser                                                 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in    │ >=13.1.2 <14.0.0 || >=15.0.1 <16.0.0 || >=18.1.2             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://npmjs.com/advisories/1500                            │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High          │ Regular Expression Denial of Service                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ trim-newlines                                                │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in    │ >=3.0.1 <4.0.0 || >=4.0.1                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://npmjs.com/advisories/1753                            │
└───────────────┴──────────────────────────────────────────────────────────────┘

Currently I have following installed.

  └─┬ [email protected]
    └─┬ [email protected]
      └── [email protected] 
      └── [email protected] 

These vulnerabilities have been flagged in the package for quite a while but, unfortunately, they are related to a dependency that is brought in by ring-client-api. The ring-client-api package requires stun to traverse NAT connections and still allow streaming sessions to be established (I think it’s mostly for two-way communications which is supported by ring-client-api, although ring-mqtt doesn’t use this, but that doesn’t really matter, I can’t just bring in part of ring-client-api).

The overall answer to your question is that stun needs to update to a newer version of meow as meow is currently on version 10.1.1 so clearly version 5.0.0 is quite old (I believe over 3 years ago).

Unfortunately, stun appears to be largely unmaintained, but it’s still the newest and best available package to support STUN within nodejs at this time, at least as far as I can tell. I don’t believe the vulnerabilities pose any risk since they involve using stun via cli, which ring-client-api does not do.

It’s possible you can use npm to override dependent package versions, but I have no idea if it might break anything. Regardless, the only people that can really fix this are the maintainers of the dependent packages, not me.

Got it. Thanks a lot for your explanation.

Question -

Is it possible to setup an alarm panel which requires a pin number to arm / disarm the alarm on lovelace

I have followed the config and it seems that the alarm ignores the code you enter and it arms / disarms without using the code

Alarm panel code used:-

@pringphotography
Instructions for configuring an alarm control panel with pin are in this post (example in second post): No alarm pin pad · Issue #13 · tsightler/ring-mqtt-ha-addon · GitHub

@randr - Perfect - Thank you ! works awesome