Ring Device integration via MQTT w/ Video Streaming

Thanks for sharing

Using your addon for a month now, uninterruptible and flawless :slight_smile:

Well, I want to create a notification when somebody rings my bell to my computer. I got it that far that I get a pop-up in Windows but I want to add the doorbell_snapshot image to it.

Where the hell does HomeAssistant save that camera.doorbell_snapshot? I have no clue how to push that data through an automation.

I mean this one:

image

No need anymore, got around it by pushing it to Telegram with a Telegram bot :wink:

May you show your config?

Youā€™ll need to setup a Telegram bot as showed in the docs here: Telegram - Home Assistant

I then made this simple automation which starts recording 20 seconds of the Ring stream when there is motion detected wihtin the feed, which works fine for me :slight_smile:

alias: Bij motion neem camera 20 seconden op en stuur over Telegram
  description: ''
  trigger:
  - platform: state
    entity_id:
    - binary_sensor.deurbel_ringaddon_motion
  condition: []
  action:
  - service: camera.record
    data:
      filename: /media/tmp/ring/motionrecord.mp4
      duration: 20
    target:
      entity_id: camera.ring_voordeur
  - delay:
      hours: 0
      minutes: 0
      seconds: 20
      milliseconds: 0
  - service: telegram_bot.send_video
    data:
      file: /media/tmp/ring/motionrecord.mp4
  mode: single
2 Likes

Did you ever get this working with the ring mqtt addon? I currently only get snapshots using that

Thatā€™s kind of a weird question since Iā€™m the author of ring-mqtt, and this thread is only about that, so yes, of course it works with ring-mqtt. The standard image will be the snapshot, yes, but if you click the camera icon it will open a live stream, or if you click the snapshot image it will open the event stream.

2 Likes

Thank you so much for this integration!
I have a Ring Doorbell Pro 2 and a Ring outdoor motion sensor nearby (which is connected to Ring Smart Lighting Bridge). When the stand-alone motion sensor detects motion, I want to get a push notification that includes a snapshot from the Doorbell Pro 2 camera. Is there a way to force my Doorbell Pro 2 to take a snapshot? I tried calling camera.snapshot service on the camera.doorbell_snapshot entity, but I donā€™t see the snapshot getting updated on HA UI. I set up the following automation, but the snapshot I get in iOS push notification is old (presumably itā€™s the last snapshot taken, which can be up to 30 seconds before the motion sensor detecting motion):

alias: Outside Stairs Sensor - Push Notification with Camera Image
description: ''
trigger:
  - type: motion
    platform: device
    device_id: [some long id number here]
    entity_id: binary_sensor.outdoors_stairs_sensor_motion
    domain: binary_sensor
condition: []
action:
  - service: camera.snapshot
    data: {}
    target:
      entity_id: camera.doorbell_snapshot
  - service: notify.notify
    data:
      title: Outside Stairs
      message: Motion detected
      data:
        entity_id: camera.doorbell_snapshot
mode: restart


Thank you.

Itā€™s not currently possible to take a snapshot on demand with ring-mqtt. While it theoretically could be implemented, Iā€™ve been very hesitant to do so due to the significant potential for API abuse unless it also included some rate limits. There are also some complexities because the getSnapshot call of ring-client-api caches snapshots for 10 seconds so, for example, any on-demand snapshot taken within 10 seconds of an interval snapshot would still be stale and that would be confusing to users. There are ways to solve these issues of course, but itā€™s not high on my priority list at this time.

1 Like

Have anyone encountered this problem where it doesnt want to load the video stream?

The log for the add-on recognizes that i open it and activates /starts publishing live feed but I cant seem to get it to load in the front-endā€¦

I have the stream setup with a generic camera with stream source taken from the ring2mqtt log, not selected transport protocol and ā€œbasicā€ authentication.

the card is set up like this:

show_state: true
show_name: false
camera_view: auto
type: picture-entity
entity: camera.mqtt_ring_live

see error:
imgur . com/a/EzU45cY

Given HA stopped supporting setting up ā€œGeneric Camerasā€ via Config.yaml - how are folks doing this in the integration UI? (these instructions are no longer valid: Camera Setup Instructions

The fields to setup Generic Camera in UI are:

  1. Still Image URL
  2. Stream Source URL
  3. RTSP transport protocol
  4. Authentication (basic/digest)
  5. Username/PW
  6. Frame Rate
  7. Verify SSL Cert
  8. Limit refetch to url change
  9. Use wall clock as timestamps

I tried setting up with the basics:

  1. Still Image URL
  2. Stream Source URL
  3. RTSP transport protocol = TCP

and I got an ā€œunknown errorā€ message, which prohibits me from setting up the camera.

What did others fill in to complete the form?

This is a better link with up to date information. Video Streaming Ā· tsightler/ring-mqtt Wiki Ā· GitHub

1 Like

my camera just automagicly showed in the Media tab

Have a question. My love streams just stopped working on me. I stopped and restarted ring-mqtt and got the snapshots to start updating again. But when I try love it Juat says restart connection after a few seconds of a black screen. My main concern is snapshot which is working . I usually use the ring app for live Juat because of how much faster it is but Iā€™d still like to figure this out.

Anything you can suggest?

I think for some people the love stream can stop working for a variety of reasons, sometimes itā€™s just ageā€¦

3 Likes

Lol I almost asked WTH youā€™re talking about until I reread my post

On a serious note though LIVE streams. Anyone have an idea why this is happening?

I just updated to 5.0.3 this morning. It is not working anymore. When I try to start the live stream:

2022-08-29T08:32:49.806Z ring-mqtt [Voordeur] Received set live stream state ON-DEMAND
2022-08-29T08:32:49.807Z ring-mqtt [Voordeur] ring/u1hrxc-4o007-0/camera/3ce1a1b06608/stream/state ON
2022-08-29T08:32:49.808Z ring-attr [Voordeur] ring/u1hrxc-4o007-0/camera/3ce1a1b06608/stream/attributes {"status":"activating"}
2022-08-29T08:32:49.809Z ring-mqtt [Voordeur] Starting a live stream session via Ring servers
2022-08-29T08:32:49.998Z ring-rtsp [Voordeur] State indicates live stream is activating
2022-08-29T08:32:50.237Z ring-mqtt [Voordeur] HTTPError: Response code 424 (Failed Dependency)
2022-08-29T08:32:50.237Z ring-mqtt [Voordeur] Live stream failed to activate
2022-08-29T08:32:50.238Z ring-mqtt [Voordeur] ring/u1hrxc-4o007-0/camera/3ce1a1b06608/stream/state OFF
2022-08-29T08:32:50.238Z ring-attr [Voordeur] ring/u1hrxc-4o007-0/camera/3ce1a1b06608/stream/attributes {"status":"failed"}
2022-08-29T08:32:50.375Z ring-rtsp [Voordeur] ERROR - State indicates live stream failed to activate
2022-08-29T08:32:50.386Z ring-rtsp INF [path 3ce1a1b06608_live] runOnDemand command exited with code 0
2022-08-29T08:32:54.035Z ring-mqtt [Voordeur] Requesting an updated interval snapshot
2022-08-29T08:32:54.036Z ring-mqtt [Voordeur] Error: Cannot fetch snapshot for Voordeur because it is offline
2022-08-29T08:32:54.036Z ring-mqtt [Voordeur] Failed to retrieve updated snapshot

@tsightler forgot to mention you, donā€™t know how actively you monitor this thread.

Iā€™m running a docker on a pi4 btw

In general I ask that people use the project discussion page to request help. The project has become too large and complex to try to support people directly in this thread.

Ignoring the streaming error, this message is from the underlying API and came during an attempt to request a snapshot from the camera and appears to clearly indicate that the camera is offline. If you canā€™t get snapshots because the camera is offline then itā€™s also unlikely that you will be able to stream from it as being online is a dependency for the stream to activate (thus the 424 Failed Dependency error).

While I canā€™t be sure that this status is correct, it is based solely on the value of the device.data.alerts.connection property which is returned directly from the Ring API and is the same value used by the Ring app to show if a camera is online or offline. This method has not changed in years, so I have a tendency to trust that it is accurate, thus I would ask that you verify that this camera is online.

1 Like

Have been working for sometime now with Go2RTC (Go2rtc project - help thread) works really good. The startup of the stream has improved a lot.