• This repository has been archived on 08/Mar/2022
  • Stars
    star
    132
  • Rank 274,205 (Top 6 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 5 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Home Assistant add-on for live streaming from Ring devices.

ring-hassio

Support the author on Patreon

Archived

This repo has been archived - please consider forking to continue development.

About

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.

DOT NOT run this add-on with 24-hour streaming - use this addon by starting it on-demand

Installation

  1. Add this GitHub repository to your supervisor (not HACS) add-on store.
  2. Configure your Ring Refresh Token and port (see configuration below).
  3. Start the "Ring Livestream" add-on. Check for errors in the logs.
  4. For remote access, open up the port in your router.
  5. Open the stream at http://homeassistant.local:port/public/stream.m3u8 to make sure it works before going any further. We recommend using VLC or equivalent.
  6. Add a camera to Home Assistant, such as:
    camera:
      - platform: generic
        name: Ring Livestream
        stream_source: http://homeassistant.local:port/public/stream.m3u8
        still_image_url: http://homeassistant.local:port/public/stream.m3u8
    (Don't worry about the still_image_url not pointing to an actual image, we are not going to use it, but it is required.)
  7. Add a card Picture Glance card to your UI, set the 'Camera Entity` to the camera you have just created.
  8. Done! Enjoy your shiny new livestream!

Configuration

Example configuration:

ring_refresh_token: your_refresh_token
camera_name: Front Door
  • You need to create a refresh token - see https://github.com/dgreif/ring/wiki/Refresh-Tokens on how to do that. Note that you will have to have node and npm installed on your machine.
  • The camera name is the name entred when setting up the camera in the Ring app.

Taking a snapshot

Currently 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/tmp

You can then call the snapshot service like this:

service: camera.snapshot
entity_id: [entityID]
filename: tmp/foo.jpg

Some users reported success to create a snapshot using:

  - platform: ffmpeg
    input: http://hassio.local:port/public/stream.m3u8

Battery conservation

A workaround to start/stop streaming (and avoid quick discharge) in Hassio is to start the addon on demand. To do this set up a sensor and switch:

sensor:
  - platform: rest
    resource: "http://hassio.local:port/api/hassio/addons/xxxxxxxx_ringlivestream/info"
    headers:
      Authorization: "Bearer [Long_Lived_Access_Token]"
      Content-Type: application/json
    name: ring_addon_state
    value_template: "{{value_json['data']['state']}}" 
 
switch:
  - platform: template
    switches:
      ring_live_stream:
        value_template: "{{ is_state('sensor.ring_addon_state', 'started') }}"
        turn_on:
          service: hassio.addon_start
          data:
            addon: xxxxxxxx_ringlivestream
        turn_off:
          service: hassio.addon_stop
          data:
            addon: xxxxxxxx_ringlivestream
  • for the sensor you will need the URL of the Info page on the Ring Livestream add-on page.
  • a [Long_Lived_Access_Token] can be generated on your profile page in Home Assistant (https://hassio.local:port/profile), scroll all the way to the bottom.
  • To get the 8 chars code "xxxxxxxx_ringlivestream" get them from the same URL.

More Repositories

1

HAsmartirrigation

Smart Irrigation custom component for Home Assistant
Python
345
star
2

HADailySensor

Sensor for Home Assistant that gets reset at midnight
Python
70
star
3

neato-serial

Python serial interface for Neato robot vacuum cleaners. Testing on XV Signature Pro, should work on others.
Python
44
star
4

Baby-Buddy-Keypad

11
star
5

python-egardia

Python library to interface with Egardia / Woonveilig alarm
Python
11
star
6

PowerBI-CBS-OpenData

Power BI Connector for CBS OpenData / Statline
8
star
7

pycsspeechtts

Python (py) library to use Microsofts Cognitive Services Speech (csspeech) Text to Speech (tts) API.
Python
5
star
8

dutchdatadude

Code samples as published on blog
PowerShell
4
star
9

home-assistant-bot

Bot for Home Assistant
C#
2
star
10

PaginatedTablePBIVisual

Paginated Table Power BI Custom Visual
TypeScript
2
star
11

Esphome-solutions

Ever-expanding collection of esphome solutions
2
star
12

MQTTLocationTracker

UWP app that tracks location and sends it through MQTT
C#
2
star
13

grillbuddy

Grill Buddy for Home Assistant
Python
2
star
14

esp8266DHTMQTT

Using an ESP8266 chip and a DHT shield to send temperature, humidity and heat index info over MQTT
C++
2
star
15

GIFtoMP4

Python Script to convert an (animated) GIF to MP4
Python
2
star
16

garagedoors-mqtt-arduino

An alternative to OpenGarage for ESP8266 that uses ultrasonic sensors to send status of garage doors over MQTT and controls relays to open/close doors. Can be extended to more than two doors.
C++
2
star
17

grillarduino

Simple wifi, rest and web enabled sketch for Arduino to return temperature with MAX6673 / MAX31855
1
star
18

TeespringStorefrontParser

Python script that parses a Teespring storefront / store page
HTML
1
star
19

IoTDevKitSmartAlarm

Smart alarm using IoT Dev Kit
1
star
20

presence-status-ha-api

Creates an API bridge to Home Assistant for use with the simplified Custom API interface in Presence Light to pass along status
Python
1
star