A Home Assistant add-on to enable live streams of Ring Cameras. This add-on wraps around Dgreif's excellent work and exposes a livestream. It can be used both in HASSIO / Home Assistant and Home Assistant Core using Docker.
- Add this GitHub repository to your add-on store.
- Configure your Ring Refresh Token and port (see configuration below).
- Start the "Ring Livestream" add-on. Check for errors in the logs.
- Open port 3000 (default) on your router or whatever you set in the config.
- Open the stream at http://hassio.local:port/public/stream.m3u8 to make sure it works before going any further. We recommend using VLC or equivalent.
- Add a camera to Home Assistant, such as:
(Don't worry about the
camera: - platform: generic name: Ring Livestream stream_source: http://hassio.local:port/public/stream.m3u8 still_image_url: http://hassio.local:port/public/stream.m3u8
still_image_urlnot pointing to an actual image, we are not going to use it, but it is required.) - Add a card
Picture Glancecard to your UI, set the 'Camera Entity` to the camera you have just created. If it was created for your automatically, go in and see if the settings are correct! - Done! Enjoy your shiny new livestream!
Example configuration:
{
"ring_refresh_token": your_refresh_token
}Thanks to @robert-alfaro for figuring this out!
- Ensure device that you will be using has UPnP/NAT-PMP enabled. This is most probably a setting in your router. To be more strict, if you can, use explicit port forward rules for the ports documented here: Ring Ports.
- Clone this repository.
- Create environment variables or create options.json file:
{
"ring_refresh_token": your_refresh_token,
"port": 3000
}- Build docker image
NOTE: substitute below 'armv7' with your machine architecture
cd <path to this repo>
docker build --build-arg BUILD_FROM='homeassistant/armv7-base:3.11' -t ring-hassio .- run docker image
docker run --init -d --name="ring-livestream" -v <path to options.json>:/data/options.json -p 3000:3000 ring-hassioCurrently the addon does not support taking snapshots, but when it does this is the configuration you will need:
In order to use the snapshot service, you will need to following settings in your configuration.yaml:
homeassistant:
whitelist_external_dirs:
- /config/tmpYou can then call the snapshot service like this:
service: camera.snapshot
entity_id: [entityID]
filename: tmp/foo.jpg
