Ring Device integration via MQTT w/ Video Streaming

I recognized that same thing.
Have you been able to solve it?

Anybody can help on this issue?

Probably try restart ring-mqtt

I finally got it working. So, I deleted Ring-MQTT addon. Restarted HA. Added Ring-MQTT. Devices didnā€™t get discovered. So, I restarted HA. Devices showed up after 3 to 4 miniutes of reboot. After 3 weeks, I still get motion alerts! And, itā€™s still working.

1 Like

Thank you - I will give it a try!

Just curious. Did it work?

Yes, I just tried it yesterday. And the Motion detection came back!
Thanks a lot for this suggestion!

The only strange thing is, that motion detection on two other ring indoor cameras worked like a charm before the de-installation / installation of the add-on.

Starting today Iā€™m getting a 500 error on startup of the add-on:

2024-06-18T18:54:51.341Z ring-mqtt Starting Device Discovery...
2024-06-18T18:54:51.341Z ring-mqtt                                                                                           
2024-06-18T18:54:51.341Z ring-mqtt New location: *************************
2024-06-18T18:54:51.931Z ring-mqtt WARNING - Unhandled Promise Rejection
2024-06-18T18:54:51.931Z ring-mqtt Response code 500 (Server Error)
2024-06-18T18:54:51.931Z ring-mqtt HTTPError: Response code 500 (Server Error)
    at Request.<anonymous> (/app/ring-mqtt/node_modules/ring-client-api/node_modules/got/dist/source/as-promise/index.js:118:42)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

And all my HA entities are unavailable.

Is that a 500 response from the Ring API? Is there a way to look at more detail on the HTTP request and response?

Trying to improve my debugging skills, so would love tips on how to debug this better.

When I restart MQTT in debug mode I donā€™t really see much interesting:

2024-06-18 11:54:38.083 DEBUG (MainThread) [homeassistant.components.mqtt.client] Mosquitto broker: connection closed 16
2024-06-18 11:54:38.085 WARNING (MainThread) [homeassistant.components.mqtt.client] Disconnected from MQTT server core-mosquitto:1883 (7)
2024-06-18 11:55:06.056 DEBUG (MainThread) [homeassistant.components.mqtt.client] Mosquitto broker: register write 34
2024-06-18 11:55:06.058 DEBUG (MainThread) [homeassistant.components.mqtt.client] Mosquitto broker: unregister write 34

The web interface for the add-on looks normal:

Yes, the Ring iPhone app is working as expected.

Hi everyone. Iā€™ve been using ring-mqtt for well over a year on a previous synology DSM/docker set up without issue. Recently, I wiped my synology NAS and reinstalled everything from scratch including ring-mqtt and an eclipse mosquitto MQTT container.

The ring-mqtt setup was seamless, but unfortunately after only 4 days of runtime, all my Ring equipment became unavailable in homeassistant. These are a couple lines from the log of whatā€™s happening:

2024/06/18 08:29:11 stderr 2024-06-18T15:29:11.775Z ring-mqtt Websocket for location id 18c8a01f-99e6-45a2-bd69-d8ed9395eaa4 is disconnected
2024/06/18 08:28:43 stderr 2024-06-18T15:28:43.993Z ring-mqtt Successfully saved updated state file: /data/ring-state.json

And this was just seconds before the above log message:

2024/06/18 08:28:42 stderr 2024-06-18T15:28:42.907Z ring-mqtt Saving updated refresh token to state file
2024/06/18 08:28:42 stderr 2024-06-18T15:28:42.907Z ring-mqtt Received updated refresh token

Any help with this would be greatly appreciated! Thanks.

Having the same issue here

2024-06-18T22:11:21.568Z ring-mqtt WARNING - Unhandled Promise Rejection
2024-06-18T22:11:21.568Z ring-mqtt Response code 500 (Server Error)
2024-06-18T22:11:21.568Z ring-mqtt HTTPError: Response code 500 (Server Error)
    at Request.<anonymous> (/app/ring-mqtt/node_modules/ring-client-api/node_modules/got/dist/source/as-promise/index.js:118:42)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
2024-06-18T22:11:50.334Z ring-mqtt Websocket for location id ABCXYZ is disconnected

Rebooting the add-on connects it again for a while but the 500 error keeps coming back.

Upgrading to v5.6.7 seems to have resolved the 500 issue. Thank you!

Anyone having errors trying to upgrade to 5.6.7? Iā€™m getting the following

Failed to call service update/install. 
Error updating Ring-MQTT with Video Streaming: Can't install tsightler/ring-mqtt:5.6.7: 404 Client Error for http+docker://localhost/v1.44/images/tsightler/ring-mqtt:5.6.7/json: Not Found ("No such image: tsightler/ring-mqtt:5.6.7")

Hi, looking for some assistanceā€¦
Iā€™m running an Intel NUC + ProxMox. Iā€™ve HAOS12 installed + Ring-MQTT. Access to the cameras via the dashboard works fine. Iā€™ve installed Frigate into a separate container. Iā€™ve got a Google Coral being delivered this week.

What Iā€™m trying to do now is configure Frigate so that it can access the Ring-MQTT stream. Iā€™ve got the stream details from MQTT explorer but it looks like the stream is being served via some different IP range that Iā€™m presuming is being provided by HAOS12 (the host name resolves to that).

Itā€™s the stream source host address that isnā€™t found (unless viewed on HAOS12 directly).

Still Image URL: http://<MY_HA_HOSTNAME>:8123{{ states.camera.front_porch_snapshot.attributes.entity_picture }}  
Stream Source URL: rtsp://03cabcc9-ring-mqtt:8554/3452b19184fa_live

Has anyone got a similar setup? What is it Iā€™m missing? Appreciate any assistance or guidance you can provide.

Thank you.

RESOLVED: I installed Frigate HA add-on and it can see the camera feed!

Iā€™m trying to add a timestamp overlay onto a camera snapshot.

I created a shell script that uses ffmpeg to fetch a snapshot and overlay a timestamp on the image, and place the image in the /config/www directory. That works fine in an automation to generate the image.

Then I wondered if I could create a camera entity, so I tried this:

camera:
  - name: Driveway Timestamped
    platform: ffmpeg
    input: 'http://homeassistant.local:8123{{ states.camera.driveway_snapshot.attributes.entity_picture }}'
    extra_arguments: >-
      -frames:v 1
      -vf "drawtext=text='%{localtime\:%Y-%m-%d %T}':
      fontfile=/usr/local/lib/python3.12/site-packages/aioslimproto/font/DejaVu-Sans.ttf:
      fontcolor=white:
      fontsize=20:
      x=w-tw-10:y=h-th-10:
      shadowcolor=Red"

I can run that command on the command in the HA container and generate the time-stamped image.

But the above camera config generates the follow in the logs:

2024-06-28 14:03:30.664 ERROR (stream_worker) [homeassistant.components.stream.stream.camera.driveway_timestamped] Error from stream worker: Error opening stream (ERRORTYPE_2, No such file or directory) %7D%7D
2024-06-28 14:04:07.424 ERROR (stream_worker) [homeassistant.components.stream.stream.camera.test_camera] Error from stream worker: Stream ended; no additional packets

I assume Iā€™m using the ffmpeg camera config incorrectly or maybe it cannot handle single images?

Anyone found a way to create a camera snapshot entity and add a timestamp on the image?

As an example, hereā€™s running the command directly:

homeassistant:/config/www# ffmpeg -hide_banner -loglevel error  -i http://homeassistant.local:8123/api/camera_proxy/camera.driveway_snapshot?token=7049f6382ef0c0dadbe4b80f26406f6bd1a445184fd5e6a289d8674876948d74 -vf "drawtext=text='%{localtime\:%Y-%m-%d %T}':fontfile=/usr/local/lib/python3.12/site-packages/aioslimproto/font/DejaVu-Sans.ttf: fontcolor=white:fontsize=20:x=w-tw-10:y=h-th-10:shadowcolor=Red" -frames:v 1 output.jpg

which generates an image with the timestamp in the bottom right:

Hi there! Fairly new to HA, but I got Docker HA stood up and working but I am trying to get the ring-mqtt working. Iā€™ve set up the container, logged into to ring via the script, etc. Back to the HA side, what do I have to do to get the rest working?
Iā€™d like to be able to read the state of Ring door contacts, and the state of the alarm.
Iā€™m sure Iā€™m missing something fundamental. Iā€™m assuming I need to set something up in HA under the MQTT integration (that part is already set up too).
Thanks for any help you gain give.

Figure it out. Thanks for looking (or not).

Is the Doorbell Pro 2 supported for motion detection?

Hi,

I had a Doorbell Pro (version 1) and I had an automation based on motion detection (turn on the porch lights as someone approached the door).

My Doorbell Pro (version 1) doorbell died and I (unfortunately) replaced it with a Pro 2 and it doesnā€™t seem to report motion detection any more.

With motion detection enabled and linked to a ring chime, motion will trigger the chime as well as the Ring app will notify me of the motion, but Iā€™m not seeing any MQTT message published.

I subscribe to the deviceā€™s messages like this:

$ mosquitto_sub -d -h homeassistant.local  -t 'ring/977d73b9-85c0-4d43-a3ca-68d9e992xxxx/+/083a883xxxxx/#'

Then I do see messages when, for example, I turn on Motion Detection I see:

Client null received PUBLISH (d0, q0, r0, m0, 'ring/977d73b9-85c0-4d43-a3ca-68d9e992xxxx/camera/083a883xxxx/motion/attributes', ... (117 bytes))
{"lastMotion":1721195187,"lastMotionTime":"2024-07-17T05:46:27Z","personDetected":true,"motionDetectionEnabled":true}
Client null received PUBLISH (d0, q0, r0, m0, 'ring/977d73b9-85c0-4d43-a3ca-68d9e992xxxxx/camera/083a8830xxxxx/motion_detection/state', ... (2 bytes))
ON

but then I never see any MQTT messages for motion. Also odd is the lastMotionTime is quite old.

Likewise, HA doesnā€™t have any log entries for detecting motion:

By the way, how do you figure out what the ā€œdevice_idā€ used in MQTT is for a ring device? I did it by subscribing to ā€œ/ring/#ā€ and just watching the messages, but thatā€™s not that much fun. I thought maybe the MAC address, but doesnā€™t seem like it.

Hereā€™s a Ring floodlight camera that is reporting motion:

was just wondering if anyone has found an alternative way to have multiple disarm codes in the addon.

The MQTT Alarm Control Panel integration now support having codes validated, so Iā€™ve considered adding this to ring-mqtt somehow. Thereā€™s no way to read the codes from Ring, but it would be possible to do something like allow a comma separated list of codes in the ring-mqtt configuration, would this be useful?

Iā€™m getting ā€œError: Failed to set alarm mode to ā€œsomeā€. Sensors may require bypass, which can only be done in the Ring app.ā€ when trying to arm. I have set all my sensors bypass mode to ā€œFaultedā€ but I still canā€™t arm. Any suggestions?