Problems with my Amcrest Camera (IP2M-844E)

Hey firstof9,

Running 50.2 on an AIO RPi3. Getting the same errors on my amcrest IPM-HX1W. Running camera component with ffmpeg and rtsp. I still get the following errors even though it works 100% of the time.

Traceback (most recent call last):
  File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/haffmpeg/core.py", line 114, in open
    stderr=stderr
  File "/usr/lib/python3.4/asyncio/subprocess.py", line 226, in create_subprocess_exec
    stderr=stderr, **kwds)
  File "/usr/lib/python3.4/asyncio/base_events.py", line 866, in subprocess_exec
    bufsize, **kwargs)
  File "/usr/lib/python3.4/asyncio/unix_events.py", line 174, in _make_subprocess_transport
    yield from transp._post_init()
  File "/usr/lib/python3.4/asyncio/base_subprocess.py", line 106, in _post_init
    proc.stdin)
  File "/usr/lib/python3.4/asyncio/base_events.py", line 797, in connect_write_pipe
    yield from waiter
  File "/usr/lib/python3.4/asyncio/futures.py", line 388, in __iter__
    yield self  # This tells Task to wait for completion.
concurrent.futures._base.CancelledError
2017-08-07 12:01:03 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/aiohttp/web_protocol.py", line 422, in start
    resp = yield from self._request_handler(request)
  File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/aiohttp/web.py", line 306, in _handle
    resp = yield from handler(request)
  File "/usr/lib/python3.4/asyncio/coroutines.py", line 143, in coro
    res = yield from res
  File "/usr/lib/python3.4/asyncio/coroutines.py", line 143, in coro
    res = yield from res
  File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/http/ban.py", line 58, in ban_middleware_handler
    return (yield from handler(request))
  File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/http/__init__.py", line 424, in handle
    result = yield from result
  File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/camera/__init__.py", line 340, in get
    response = yield from self.handle(request, camera)
  File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/camera/__init__.py", line 360, in handle
    image = yield from camera.async_camera_image()
  File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/camera/ffmpeg.py", line 60, in async_camera_image
    extra_cmd=self._extra_arguments)
  File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/haffmpeg/tools.py", line 78, in get_image
    image, _ = yield from self._proc.communicate()
AttributeError: 'NoneType' object has no attribute 'communicate'

What do you think it could be?

jkvalence

Could be a network communication issue, hard to say.

Is the ffmpeg camera component still the preferred method for Amcrest Cameras in Home Assistant (currently on build 0.84.6)?

I have 4 cameras set up in my instance and I’m seeing Retrying errors ever few minutes in the logs. The cameras are supplying the feeds, but I haven’t found a way to prevent the connection errors.

Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x7f4ce4b8c198>, ‘Connection to 10.0.0.184 timed out. (connect timeout=3.0)’)’: /cgi-bin/storageDevice.cgi?action=getDeviceAllInfo

I’ve added an RTSP ffmpeg feed as well for testing. It works, but the quality doesn’t appear to meet what I get from the Synology camera component. I haven’t added 2 additional licenses, so I’m exploring options (like Zoneminder) before committing to Synology.

I only use the RTSP ffmpeg feed for my Amcrest, what URL did you feed into ffmpeg?

I use /cam/realmonitor?channel=1&subtype=0 that is my 1080p stream into HA. For my zoneminder instance I use /cam/realmonitor?channel=1&subtype=1 which has a lower resolution but strictly for motion detection in zoneminder.

Using /cam/realmonitor?channel=1&subtype=0 as well, but since I have IP3M-HX2, I have an output of 2304x1296 selected currently.

My HA instance is in Docker on a Synology NAS. Maybe it’s a setting I haven’t found yet, but it feels like like the RTSP feed is slower to update than the standard Amcrest one (despite the errors generated in my logs). and both are slower than the Surveillance Station feeds. Still trying to figure out the best way to integrate my Amcrest cameras into my setup.

Also, what’s the proper syntax for multiple camera RTSP feeds? I have a 24-72 hour delay between reboots due to Z-wave battery powered devices, so I can’t troubleshoot adding new components quickly. Should it look like this? Or can you skip the second “-platform: ffmepg” line?

  • platform: ffmpeg
    input: !secret rtsp_url_living_room
    name: Living Room RTSP
  • platform: ffmpeg
    input: !secret rtsp_url_dining_room
    name: Dining Room RTSP

Yes you have to have a 2nd entry for a second cam

Reboot of what?

The ffmpeg feed in HA only grabs a still image every 10 seconds.

Thanks.

Reboot of my HA system to add/modify config entries, like ffmpeg.

Appreciate the clarification regarding the ffmpeg feed. What should be the expected result when you click into an image? Should it then go to a live stream? Or should that be delayed as well.

You’ll get a larger view of the 10 second clips, as far as I can tell, since I’m running on a Pi video playback isn’t superb.

Thank you to everyone in this thread, this fixed my issue I was having with the same model.