Ring Doorbell

Can confirm it’s working.

Zoneminder camera on top
Ring doorbell camera on bottom

The playback was slow, I assume that is due to ffmpeg re-encoding the video on a Pi3.

Does this only work with the cloud subscription?

I’d have to say yes due to the fact it’s pulling the URL for the video from Ring’s website

Can’t wait to try this tonight!!

1 Like

I relocated the file in configuration folder under custom_components camera and nothing popped up in UI.

Am I doing something wrong as it said something about no platform. At work right now don’t have exact error

If you are using groups, you will have to add camera.ring (or whatever the entity name is) to one of the groups.

1 Like

For my AIO install I’ve placed ring.py in /home/homeassistant/.homeassistant/custom_components/camera/

Then from the <> menu I found camera.front_door_2 as I already had camera.front_door from Zoneminder, and added it to my groups.yaml.

Hope this helps.

1 Like

Already set as a group, still same error

  • platform not found camera.ring, I must be doing something stupid. If you think of anything let me know

Looking at config errors, does this make sense.
File “/home/drive/.homeassistant/custom_components/camera/ring.py”, line 10, in import dateutil.parser ImportError: No module named ‘dateutil’

Try manually installing it inside the venv pip install python-dateutil

1 Like

This bit in configuration.yaml is missing it sounds like:

I’m getting the following error. Added everything per instructions above:

The following errors have been logged this session:

2017-10-05 23:52:36 ERROR (MainThread) [homeassistant.loader] Error loading homeassistant.components.ring. Make sure all dependencies are installed
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/homeassistant/loader.py", line 142, in get_component
    module = importlib.import_module(path)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 665, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/homeassistant/components/ring.py", line 13, in <module>
    from requests.exceptions import HTTPError, ConnectTimeout
ImportError: cannot import name 'ConnectTimeout'
2017-10-05 23:52:36 ERROR (MainThread) [homeassistant.loader] Unable to find component ring
2017-10-05 23:52:36 ERROR (MainThread) [homeassistant.setup] Setup failed for ring: Component not found.

So my ring compoent loads ok, with the exception that when I call a restart within the developer area of HA it won’t restart, has the error posted above.

My second problem is, my front door camera says “Image Not Available”

And I do see this in the logs:

Any ideas??

2017-10-06 00:47:19 ERROR (MainThread) [haffmpeg.core] FFmpeg fails [Errno 2] No such file or directory: 'ffmpeg'
Traceback (most recent call last):
  File "/Users/mediacenter/.homeassistant/deps/lib/python/site-packages/haffmpeg/core.py", line 114, in open
    stderr=stderr
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/subprocess.py", line 212, in create_subprocess_exec
    stderr=stderr, **kwds)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/base_events.py", line 1079, in subprocess_exec
    bufsize, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/unix_events.py", line 184, in _make_subprocess_transport
    **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/base_subprocess.py", line 40, in __init__
    stderr=stderr, bufsize=bufsize, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/unix_events.py", line 649, in _start
    universal_newlines=False, bufsize=bufsize, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py", line 947, in __init__
    restore_signals, start_new_session)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py", line 1551, in _execute_child
    raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2] No such file or directory: 'ffmpeg'
2017-10-06 00:47:19 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/aiohttp/web_protocol.py", line 422, in start
    resp = yield from self._request_handler(request)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/aiohttp/web.py", line 306, in _handle
    resp = yield from handler(request)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/coroutines.py", line 209, in coro
    res = yield from res
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/coroutines.py", line 209, in coro
    res = yield from res
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/homeassistant/components/http/ban.py", line 58, in ban_middleware_handler
    return (yield from handler(request))
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/homeassistant/components/http/__init__.py", line 428, in handle
    result = yield from result
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/homeassistant/components/camera/__init__.py", line 340, in get
    response = yield from self.handle(request, camera)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/homeassistant/components/camera/__init__.py", line 360, in handle
    image = yield from camera.async_camera_image()
  File "/Users/mediacenter/.homeassistant/custom_components/camera/ring.py", line 77, in async_camera_image
    extra_cmd=self._ffmpeg_arguments)
  File "/Users/mediacenter/.homeassistant/deps/lib/python/site-packages/haffmpeg/tools.py", line 82, in get_image
    self._proc.communicate(), loop=self._loop)
AttributeError: 'NoneType' object has no attribute 'communicate'

@Jer78 it seems that you don’ t have ffmpeg installed on your system.

1 Like

@firstof9 did you downloaded the file under the custom_components/camera directory?

Figured it all out. So I had 2 problems. First I needed to update requests and found out there were 2 directories and versions of it. Got rid of the old one.

Next, I realized that I didn’t have ffmpeg installed on my mac as you noticed. Just ran brew install ffmpeg and everything is now working perfectly! Thanks so much

Awesome @Jer78

Good to hear that is working fine for you. The code still needs some polishing, but we should have a PR soon and maybe officially introduced on 0.56 version in 2 weeks.

Now the cherry’s cake now is to find a good ffmpeg parameters to adjust the video speed when it’s playing.

Please if anyone come up with a good combination, please let me know.

Thanks everyone that tested it.

Sure did, works like a champ.

The video speed for me is perfect. No issues. But I am using a Mac Mini so I’m sure that’s giving it extra juice than a Pi. So far so good. Thanks again for adding the cam feature!

I will give it a shot again tonight.