I finally got it working. A friend of mine got it working by fixing mqtt settings.
Greetings,
I myself have been trying to make this work on my HA, thus i have only been partly succesful.
It took me 3 days to manage what i done so far, so i am quite impressed with the 0,5% knowledge that i posses regarding this kind of acvitities.
I have installed MTTQ, after that Mosqueeto, created a new user in HA, used these credentials and managed to run Ring. So far i managed to see all my Ring devices (sensors, doorbells, alarm system) working in Devices/MTTQ. I even saw the AlarmSystem switch popping up in HA.
Right now i am unable to add the camera/feed to HA/Homekit, and i am wondering whether i have to add everything to the Dashboard, which is currently not woriking also. I havent touched any other part of the config, did not changed/added code⌠as i do not fully understand this.
Could someone be so kind to show me the way to complete and perfection my half baked Ring situation?
I, too, am really struggling here. I donât know if I am just ignorant of skill I need or am missing something in the instructions, but I could really use some help.
All my Ring devices, and more specifically, the cameras that I am interested in connecting to, show up in the device list as MQTT devices. When I select a specific Ring camera from the device list, I see a panel for Controls and Sensors. It is my understanding of the instructions that I need to go to the Info Sensor and click on it to find the link to the camera. However, this sensor and all the other sensors show up as âUnavailable.â Iâve restarted HA multiple times and I have also manually restarted the Ring-MQTT addon. But nothing changes. Funny thing is, the sensor info does show that it was available for a moment, a short time in the past, but hasnât been available since it dropped.
I am not sure what is wrong, or if I have configured something incorrectly. Given the fact that that camera is showing up as an MQTT device, I believe I have configured my MQTT settings correctly, but that could be a poor assumption.
I do have go2rtc installed and running, but it does not appear that camera shows up there, either. I am unclear if that add-on needs additional configuration, also.
Can anyone please help with this?
EDIT:
I resolved this! I had my core-mosquitto server, for some reason, input with the mqtt:// prefix after â@â in the configuration. On a whim, I removed that prefix and EVERYTHING has been humming along ever since. No help is necessary here, but thought I would update this in case others ran into a similar problem. Happy New Year!
Thanks!
Dan
Hello!
Thank you for creating this add-on and for your hard work in keeping it updated and helping people implement it.
I am curious about the birth message. Is this still necessary in the latest version? I wonder because while my devices do show up as mqtt devices (using Mosquitto), they are all âunavailable.â
Is the birth message is still helpfu/necessary, could you post the necessary configuration.yaml code to get that going? I am struggling to find instructions on how to do that. Iâm new to home assistant as of the last two weeks, and I am still learning a lot. So I apologize in advance if this is a basic skill I should already know about. Nevertheless, if you could help me with this, I would be grateful! Thanks!!
EDIT:
Resolved. After more poking around and reading, I learned that it seems with the latest versions of HA, this has been automatically added. So no reply necessary, but I wanted to leave this post up because I really do appreciate all you have done for the community with this add-on and the support you have given.
The only problem I am running into now, is that I installed RSTPtoWebRTC to reduce the latency, but since Ring has removed the ability to activate legacy mode, and they wonât even do it when you call support, then that addon creates an error for the stream. Well, that is what I am assuming because I am stuck with a server error that only pops up with that add-on installed. And since I cannot turn legacy mode on to see if that resolves the issue, I am not sure what to do next.
I am open to any insight you have about that, but I know that is not your add-on, so itâs ok if you donât have anything to add! Thanks again!
I have a dashboard that shows snapshots from several of the Ring cameras. The cards are from the generic camera integration.
Can someone point me in a direction of how to overlay the time of the snapshot (or time of the motion alert) on the snapshot that I display on the dashboard? My search skills arenât serving me well so far.
Thank you!
Iâve been using this integration for about six months and itâs been fantastic.
Iâm interested in ideas for monitoring my Ring devices. Specifically, my Ring Pro doorbell died a few days ago and I didnât notice. This is a wired-only doorbell/camera. I verified with a voltmeter that itâs connected to power â but the doorbell just was not powering up.
That got me wondering if thereâs a way in HA to monitor that itâs alive. I looked at the associated entities and nothing jumped out. I thought maybe the âinfoâ entities might eventually give an indication, but doesnât seem like it.
Any suggestions?
Perhaps a feature request. Is it possible to have a switch for controlling motion-activated light? It is this toggle in the Ring app:
This would be useful when you donât want to trigger the light (not motion detection) when outside at night.
Thanks,
I am having an issue setting up the generic. the instructions in github seem to be for an older version of Home assistant.
I was able to find the stream source and still image URL by doing the following path (is this correct?)
MQTT => Devices => [select camera - mine is âFront Doorâ] => 3 dots next to MQTT Info => Download Diagnositc
I used notedpad++ to find the stream source and still_image_URL on line 387.
After this, i tried to create a new device âGeneric Cameraâ where I am supposed to enter the stream source and still_image. I copy and pasted the stream source and still image above and received an error.
What am I doing wrong? Do I need to set up the generic camera a specific way? Any help would be appreciated, thank you
note: i see my âdeviceâ here. Is this my camera_id?
âdeviceâ: {
âidâ: â2dbbdc58cf7a18fd1d86f540b886d442â,
ânameâ: âFront Doorâ,
last question: do I need to set up the go2rtc project for this to work?
UPDATE:
the stream_source = rtsp ending in _live worked when adding a generic camera!
Now onto the still image. I still can not get the still image URL to work.
Is there a different still image URL I am supposed to use?
Now that I have RTSP working, is there a way to get notified when the button is dinged or that it takes a snap shot of the person who is there?
Hereâs my settings for the generic camera:
Still Image URL:
http://192.168.0.199:8123{{ states.camera.myring_snapshot.attributes.entity_picture }}
Stream Source URL:
rtsp://192.168.0.199:8554/xxxxxxxxxxxx_live
Basically the â192.168.0.199â is my HAâs IP address.
E.g. I replaced the âhomeassistant:8123â with â<HA ip address>:8123â
And I also replaced âhttpsâ with âhttpâ to get the still URL to work (donât ask me why).
You should be able to find the ring mqtt motion entity under
http://<HA ip address>:8123/config/entities
search for MQTT and look something like âring_motionâ
e.g. for my case:
binary_sensor.myring_motion_2
You can use this to trigger any automation in HA.
For my ring battery camera (Ring Doorbell V2), I used these 2 commands to capture snapshot image and also a 30 sec video, which can be run at the same time on the ring camera:
Capture a snapshot after 0.2 sec:
- service: shell_command.ffmpeg_cmd
data:
cmd_options: >-
-rtsp_transport tcp -i rtsp://localhost:8554/xxxxxxxxxxxx_live
-ss 0.2 -frames:v 1 -y /media/img.jpg
Save 30s video:
- service: shell_command.ffmpeg_cmd
data:
cmd_options: >-
-rtsp_transport tcp -i rtsp://localhost:8554/xxxxxxxxxxxx_live -c
copy -t 30 -y /media/vid.mp4
Replace âxxxxxxxxxxxx_liveâ with the one for your ring camera.
Add this to your HA configuration.yaml:
shell_command:
ffmpeg_cmd: ffmpeg {{ cmd_options }}
camera:
- platform: local_file
file_path: /media/img.jpg
name: "ring-mqtt-snapshot-img"
I then send the snapshot image as notification to my phone and the 30s video as a telegram message to my telegram account.
EDIT: FYI - I do not have subscription to a Ring protect account
EDIT 2:
To add the snapshot image to your dashboard:
go to dashboard > Edit dashboard (right corner) > + ADD CARD > Search cards âPicture entityâ
In âPicture entity Card configurationâ > Entity > type âring-mqtt-snapshot-imgâ (which is the camera name defined above in the configuration.yaml file > change âImage pathâ to blank > SAVE
This should show the snapshot image on the dashboard.
EDIT 3:
The above ffmpeg commands are to work around getting a snapshot + video clip on my battery-powered camera. Read about limitation of snapshot support in battery-powered cameras:
is there a reason once I got the rtsp configured I stopped receiving notifications for my ring device on my iphone? When someone pressed the doorbell, I stopped receiving the popup notifications once the RTSP stream was enabled
This wiki page from the ring-mqtt author has a lot of details:
https://github.com/tsightler/ring-mqtt/wiki/Video-Streaming
Do you have a battery powered doorbell like mine?
If so, then if live stream is running, the doorbell cannot trigger motion alert at the same time. This is probably why you donât get Ring notification on your phone. Also, live stream on mine tends to run for a few minutes (5 minutes?) even when I tried to turn it off. I think it is just the quirkiness of the battery-powered ring devices. I have no experience with other wired devices. You may search this thread for answers.
For this reason, I disabled the generic camera for my ring battery doorbell and not using the live stream feature. (If I need live viewing, I just use the Ring app itself). I mainly used the ring-mqtt motion/ding detection to trigger a sound on my speakers connected to raspberry pi 3b, capture a snapshot and send to my phone, and then capture a 30s video to send to my Telegram account. IMO, ring-mqtt is a very good integration to complement the Ring app, not to replace it.
I should add on a Battery Doorbell, even when hardwired, using the live stream kills the battery.
I was finding my battery dies within a week even though its hardwired. Disabling the live stream automation, has meant the battery recovers again.
Yes, I have the batteruy powered. Would you know why I canât get the still image to work? When I use the still image path of http://192.168.68.66:8123{{ states.camera.front_door_snapshot.attributes.entity_picture }}, I receive the error of âUnable to load valid image from still image URL (e.g. invalid host, URL or authentication failure). Review log for more info.â. I am not sure where I can find the log to understand more about the error. This has been tripping me up for at least a week
BUT if i understand you correctly, I donât use the generic camera, so that live stream doesnât affect the ring notification, and use the code you provided to just provide the snap shot. Is there a way to send the snapshot image to the dashboard? How could I go about setting that up?
lastly, you mention change the configuration.yaml file and i assume that is on the server itself and not some file on the home assistant app?
I will try to make the configuration update and report back
Your Still Image URL setting looks correct, so I donât really know whatâs wrong. When I was setting up my battery camera, it was finicky. I had to reboot my Ring camera and restart Homeassistant, restart ring-mqtt, to get it to work.
Like you mentioned, I donât bother with generic camera anymore.
Yes, configuration.yaml is the config file in HA server. My setup is a raspberry pi 3b with homeassistant, ring-mqtt, running in docker containers.
I have updated the configuration.yaml file in my previous post to fix a pathname mistake in the âcameraâ configuration. The âcameraâ is pointing to an image file in the /media directory in the HA docker container. By default, this is mapped to /home/pi/media directory in my rpi 3b system. If you are not running dockers, as long as you have access to the image file, I think you can add it to the dashboard.
In the dashboard, I used the âPicture entityâ card (I also updated my earlier post to include this info). Hereâs the setting. Note that the âring-mqtt-snapshot-imgâ below is the âcameraâ entity that I have defined earlier in the configuration.yaml file.
All you need is that Entity field. Everything else can be blank.
Hope it works for you!
You canât use relative URLs in Generic camera integration.
Just add what you have in the image URL to a image element, though I might add the only way I could get it to work was to just add the brackets bit e.g. {âŚ}
Ring2mqtt already provides a generic camera, called (your doorbell name)_snapshot
THANK YOU SO MUCH FOR YOUR HELP!
I got the battery powered ring doorbell to take a photo when someone preses it.
Now that this works, I am curious how I could configure it so a 30 second live stream shows on the picture card configuration. I see that you save a 30 second video video, but is there a way I can send that saved vide to the picture card?
I played around with some of the code, but I obviously cannot figure it out. i can duplicate what you provided and retain the video, but since the video has to be stored first, I am not sure how I live stream the video. I canât have the live stream playing all the time as previous testing shows I wonât get the notifications on my phone. Any help on how to have the card show a 30 second live stream when the door is pressed?
As you mentioned, I have not been using the âlive streamâ feature of ring-mqtt on my Ring battery powered camera because it seems to lock up the camera for at least a few minutes (beyond the 30 seconds), and not getting motion/ding notifications from the Ring app at all.
But once I have captured the 30 second video clip using the ffmpeg command I showed in my post earlier, I can access that via: HA > Media > My media
For the video to show as a card on my HA dashboard, I have been using this custom card: gallery-card , which can be installed via HACS.
My setting in the dashboard:
type: custom:gallery-card
entities:
- path: media-source://media_source/local/ring-videos
recursive: false
show_reload: false
menu_alignment: hidden
maximum_files: '1'
(Note: looks like the author of gallery-card wonât be updating it anymore, and has been using frigate card )
To play the 30 sec clip, I just tap on the card. Thereâs also option to go full screen.
I came up with a bit of a bodgy solution but it seems to work pretty well,
Basically what i do is on motion detected, cast a dashboard showing the snapshot camera, then i take snapshots every 5 seconds for about 30 seconds, these are then displayed on a dashboard.
My battery life is no longer affected, and i still get all notifications from the app.
Its a bit of a weird solution, but all i want is to display on the dashboard as i walk to the door, who is at the door.
I have been thinking the same thing. Can you share your automation code showing the cadence of the repeats? I canât seem to get mine to keep retaking the picture at a set interval