Arlo Pro base station

Been having issues with the Arlo Pro base station etc and timing out for months now. Not sure what is causing this as I am sure I am not an isolated case.

WARNING (MainThread) [homeassistant.helpers.entity] Update of alarm_control_panel.base_station is taking over 10 seconds

WARNING (MainThread) [homeassistant.helpers.entity] Update of camera.alfresco is taking over 10 seconds
2018-02-28 15:28:02 WARNING (MainThread) [homeassistant.helpers.entity] Update of camera.side is taking over 10 seconds

2018-02-28 15:28:02 WARNING (MainThread) [homeassistant.helpers.entity] Update of sensor.battery_level_side is taking over 10 seconds

As it happens, I just looked into that a few minutes ago. To me - with my limited Python skills - it looks as if PyArlo is waiting for multiples of 5 seconds inside a loop to get the result of its request. So if the answer doesn’t come within the first segment, you are likely to see those warnings.

At least the alarm_control_panel for Arlo uses update and not async_update, and I was wondering if that would help getting rid of those warnings…

1 Like

Hmm. After looking into this a little bit more, I feel as if I got this whole async topic wrong and things are as expected…

It happens the same to me!

having similar issues here, but only since I linked my google home account with Arlo (new functionality today - cast to CC devices) … anybody else? Or did you ever find a cause of the “taking over 10 seconds” error?

this is what i see…

2018-03-14 19:11:13 ERROR (MainThread) [homeassistant.helpers.entity] Update for     alarm_control_panel.home fails
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/urllib3/connectionpool.py", line 601, in urlopen
    chunked=chunked)
  File "/usr/lib/python3.6/site-packages/urllib3/connectionpool.py", line 387, in _make_request
    six.raise_from(e, None)
  File "<string>", line 2, in raise_from
  File "/usr/lib/python3.6/site-packages/urllib3/connectionpool.py", line 383, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/lib/python3.6/http/client.py", line 1331, in getresponse
    response.begin()
  File "/usr/lib/python3.6/http/client.py", line 297, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.6/http/client.py", line 258, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/usr/lib/python3.6/socket.py", line 586, in readinto
    return self._sock.recv_into(b)
  File "/usr/lib/python3.6/ssl.py", line 1009, in recv_into
    return self.read(nbytes, buffer)
  File "/usr/lib/python3.6/ssl.py", line 871, in read
    return self._sslobj.read(len, buffer)
  File "/usr/lib/python3.6/ssl.py", line 631, in read
    v = self._sslobj.read(len, buffer)
ConnectionResetError: [Errno 104] Connection reset by peer

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/requests/adapters.py", line 440, in send
    timeout=timeout
  File "/usr/lib/python3.6/site-packages/urllib3/connectionpool.py", line 639, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "/usr/lib/python3.6/site-packages/urllib3/util/retry.py", line 357, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/usr/lib/python3.6/site-packages/urllib3/packages/six.py", line 685, in reraise
    raise value.with_traceback(tb)
  File "/usr/lib/python3.6/site-packages/urllib3/connectionpool.py", line 601, in urlopen
    chunked=chunked)
  File "/usr/lib/python3.6/site-packages/urllib3/connectionpool.py", line 387, in _make_request
    six.raise_from(e, None)
  File "<string>", line 2, in raise_from
  File "/usr/lib/python3.6/site-packages/urllib3/connectionpool.py", line 383, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/lib/python3.6/http/client.py", line 1331, in getresponse
    response.begin()
  File "/usr/lib/python3.6/http/client.py", line 297, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.6/http/client.py", line 258, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/usr/lib/python3.6/socket.py", line 586, in readinto
    return self._sock.recv_into(b)
  File "/usr/lib/python3.6/ssl.py", line 1009, in recv_into
    return self.read(nbytes, buffer)
  File "/usr/lib/python3.6/ssl.py", line 871, in read
    return self._sslobj.read(len, buffer)
  File "/usr/lib/python3.6/ssl.py", line 631, in read
    v = self._sslobj.read(len, buffer)
urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 204, in async_update_ha_state
    yield from self.async_device_update()
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 327, in async_device_update
    yield from self.hass.async_add_job(self.update)
  File "/usr/lib/python3.6/asyncio/futures.py", line 332, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/usr/lib/python3.6/asyncio/tasks.py", line 250, in _wakeup
    future.result()
  File "/usr/lib/python3.6/asyncio/futures.py", line 245, in result
    raise self._exception
  File "/usr/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3.6/site-packages/homeassistant/components/alarm_control_panel/arlo.py", line 83, in update
    mode = self._base_station.mode
  File "/usr/lib/python3.6/site-packages/pyarlo/base_station.py", line 298, in mode
    if self.is_in_schedule_mode:
  File "/usr/lib/python3.6/site-packages/pyarlo/base_station.py", line 320, in is_in_schedule_mode
    mode_event = self.publish_and_get_event(resource)
  File "/usr/lib/python3.6/site-packages/pyarlo/base_station.py", line 105, in publish_and_get_event
    self._subscribe_myself()
  File "/usr/lib/python3.6/site-packages/pyarlo/base_station.py", line 85, in _subscribe_myself
    publish_response=False)
  File "/usr/lib/python3.6/site-packages/pyarlo/base_station.py", line 189, in __run_action
    extra_headers={"xCloudId": self.xcloud_id})
  File "/usr/lib/python3.6/site-packages/pyarlo/__init__.py", line 142, in query
    req = self.session.post(url, json=params, headers=headers)
  File "/usr/lib/python3.6/site-packages/requests/sessions.py", line 555, in post
    return self.request('POST', url, data=data, json=json, **kwargs)
  File "/usr/lib/python3.6/site-packages/requests/sessions.py", line 508, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3.6/site-packages/requests/sessions.py", line 618, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3.6/site-packages/requests/adapters.py", line 490, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))

Was having some issues today as well. Everything seems to be terribly slow. Not sure if that’s an Arlo issue or an HA one.

Since 0.65.5 update I have lost cameras some times, arlo sensors the other times. As well as the usual log full of warnings.

Seems to be a general Arlo issue. There are several reports on their community site. Apparently it’s been an ongoing issue for about 24h now

Had to completely re-add my base station and cameras via the Arlo app to get out of the offline state I was seeing… So far, I didn’t see any of the issues from before.