Arlo: replacement pyarlo module

@sherrell thanks for your response

  • I’ve tested on both raspberry pi (hassbian) and with virtualenv set up on windows subsystem for linux same error on both boxes
  • i’m using the latest clone from git repo (as of 7 days ago) however there has been no commits since
  • First time testing aarlo however was using the arlo component on this device for some time and it worked (including sensors)

I’ve checked the pyarlo directory and the __init__.py is in there, permissions on all the component files look OK

@sharkpunch I’ll check out the latest version and give it a go. Maybe I checked in something dodgy.

@sharkpunch

I’m sorry I’m being such an idiot. It’s safe to ignore the file not read message and it shouldn’t happen the next time your start the system. pyaarlo stores some state information in a file in an attempt to speed up the start up and the first time you start it won’t be there.

When you say the temp/humidity/moisture aren’t appearing can you look in the States tab (under the Developer tools)? The devices should be named something similar to sensor.aarlo_humidity_camera_name.

If you don’t see anything. do you know the model number of the Arlo Baby? It should be listed in the camera device or base station? It could be I’m not handling your device correctly.

Steve

I can see the sensor there however it reports unknown for most values… and not just the ones that are unique to the baby monitor. Battery level, signal strength etc… all are responding unknown

Screenshot attached below

did you allow access to the camera at all? The baby shows/integrates differently if I remember correctly I had to give explicit access to the access account just access to the base I think wasnt enough … mine works perfectly fine …

@sharkpunch What @collse (thanks!) wrote, I don’t have an Arlo Baby but I know these things should work. Also, the model number looks good.

Steve,

You are a legend!
Thanks so much for doing this. The standard arlo feature never worked successfully and frustrated me no-end. Yours is working perfectly. I hope this becomes an official hassio add-on.

Thumbs up mate

1 Like

I dont have a base station as this is my only arlo device at this stage - i have a separate account set up for home assistant which works with the standard arlo component

Seems the last update changed some things. After the update I started to get errors and aarlo would not load. Here is my log, and thank you for all your hard work.

Error during setup of component aarlo
Traceback (most recent call last):
File “/usr/local/lib/python3.7/site-packages/urllib3/connection.py”, line 159, in _new_conn
(self._dns_host, self.port), self.timeout, **extra_kw)
File “/usr/local/lib/python3.7/site-packages/urllib3/util/connection.py”, line 57, in create_connection
for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
File “/usr/local/lib/python3.7/socket.py”, line 748, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Try again

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py”, line 600, in urlopen
chunked=chunked)
File “/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py”, line 343, in _make_request
self._validate_conn(conn)
File “/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py”, line 839, in _validate_conn
conn.connect()
File “/usr/local/lib/python3.7/site-packages/urllib3/connection.py”, line 301, in connect
conn = self._new_conn()
File “/usr/local/lib/python3.7/site-packages/urllib3/connection.py”, line 168, in _new_conn
self, “Failed to establish a new connection: %s” % e)
urllib3.exceptions.NewConnectionError: <urllib3.connection.VerifiedHTTPSConnection object at 0x7f3e92aa81d0>: Failed to establish a new connection: [Errno -3] Try again

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/local/lib/python3.7/site-packages/requests/adapters.py”, line 449, in send
timeout=timeout
File “/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py”, line 638, in urlopen
_stacktrace=sys.exc_info()[2])
File “/usr/local/lib/python3.7/site-packages/urllib3/util/retry.py”, line 399, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host=‘arlo.netgear.com’, port=443): Max retries exceeded with url: /hmsweb/login/v2 (Caused by NewConnectionError(’<urllib3.connection.VerifiedHTTPSConnection object at 0x7f3e92aa81d0>: Failed to establish a new connection: [Errno -3] Try again’))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/config/custom_components/aarlo/pyaarlo/backend.py”, line 61, in _request
r = self._session.post( url,json=params,headers=headers,timeout=timeout )
File “/usr/local/lib/python3.7/site-packages/requests/sessions.py”, line 581, in post
return self.request(‘POST’, url, data=data, json=json, **kwargs)
File “/usr/local/lib/python3.7/site-packages/requests/sessions.py”, line 533, in request
resp = self.send(prep, **send_kwargs)
File “/usr/local/lib/python3.7/site-packages/requests/sessions.py”, line 646, in send
r = adapter.send(request, **kwargs)
File “/usr/local/lib/python3.7/site-packages/requests/adapters.py”, line 516, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host=‘arlo.netgear.com’, port=443): Max retries exceeded with url: /hmsweb/login/v2 (Caused by NewConnectionError(’<urllib3.connection.VerifiedHTTPSConnection object at 0x7f3e92aa81d0>: Failed to establish a new connection: [Errno -3] Try again’))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/local/lib/python3.7/site-packages/homeassistant/setup.py”, line 156, in _async_setup_component
component.setup, hass, processed_config) # type: ignore
File “/usr/local/lib/python3.7/concurrent/futures/thread.py”, line 57, in run
result = self.fn(*self.args, **self.kwargs)
File “/config/custom_components/aarlo/init.py”, line 104, in setup
user_agent=user_agent )
File “/config/custom_components/aarlo/pyaarlo/init.py”, line 50, in init
request_timeout=request_timeout,stream_timeout=stream_timeout )
File “/config/custom_components/aarlo/pyaarlo/backend.py”, line 40, in init
self._connected = self.login( username,password )
File “/config/custom_components/aarlo/pyaarlo/backend.py”, line 280, in login
body = self.post( LOGIN_URL, { ‘email’:self.username,‘password’:self.password } )
File “/config/custom_components/aarlo/pyaarlo/backend.py”, line 325, in post
return self._request( url,‘POST’,params,headers,False,raw,timeout )
File “/config/custom_components/aarlo/pyaarlo/backend.py”, line 65, in _request
self._ev_stream.resp.close()
AttributeError: ‘ArloBackEnd’ object has no attribute ‘_ev_stream’

Working extremely well here - thanks for the great module!

Just had a thought about looking at the TTS possibilities…

@Kalmar-rocks That’s looking like the login failed and that exposed a race condition. I’m not sure why the login failed but I can fix the race for sure.

I might know why there is a login failure. It seems I have network problems unrelated to Home Assistant and aarlo. Thanks.

Hello,
latest update to V.0.93 now showed me an error for aarlo.
Lovelace does not load the module.
If you need some traces or logs i would be happy to help.

/ Ralf

Mine works perfectly with 0.93.

After a restart it’s working again. Great!
Sorry for putting some trouble… will do the basics first next time before posting!

/ Ralf

Additional Question: is there any possibility to auto-update aarlo component?
Currently i’m doing manually in case of problems or from time to time…

/ Ralf

@Ralf
No worries about the bug report and glad it’s working again.

And the component supports the custom_updater but I don’t have any real experience using it.

If this is the latest versions it works great


If it’s not the latest it doesn’t work :joy:


It works :wink:

Works well if I remember to update the numbers!

1 Like