Arlo: replacement pyarlo module

HACS - is awesome and adding this with it was a breeze! (I had trouble adding it after my sd card died and had to start from scratch)

Anyway…

I run Hassio docker via rpi 3 b+

I have tried reading on how to get live streaming to work is there any chance you could point me in the right direction.

Thanks for everything you do and did on this addon I love it!

@ffm777 Fix is checked in, was a case mismatch.

@Corey_Maxim
The following links should help. But you basically you get shell access to the docker and compile a new ffmpeg:

Even with the new version, the battery symbol still shows an empty battery even though the camera is plugged into a power supply (battery removed).

Can you look at the camera state - Developer Tools/States - and see what these values are for the camera you are interested in?

charging: true
charger_type: SolarCharger
wired: false

That’s what the parameters are in my case:

charging: false
charger_type: Regular
wired: false

I can see the problem - I didn’t know about the Regular charger type. I’ll push a fix later today.

I just pushed a fix. Let me know how it looks.

1 Like

Has anybody with ArloQ cameras got the streaming to work? I’m asking because somebody on github is seeing a divide by zero error on theirs.

My doesnt work, I know there are some articles on how to recompile a few packages with certain features enabled to get ssl rtsp.

Hey guys, do I need a specific option to have playback of last video working? I just have the standard default config from the example (I am using Arlo Q+). I just get a broken video icon when i click the thumbnail. And a “ERROR (MainThread) [custom_components.aarlo.camera] Video not found for None. Is it older than 30 days?” the standard arlo component worked fine and showed last video.

Thanks for the help!

@skynet01 Are you using the custom aarlo glance card? I recommend them - you can get it from the hass-aarlo repository or the newer one here - it plays back recording directly from Arlo rather than via your Home Assistant device. And you can access older recordings.

I’ll set up my box with the standard card and take a look.

Yeah I am using aarlo smart glance card, the weird part is if I click video history icon and select video from the list they play fine, just not when I click the image

What is your config for that card? I’ll try it here.

I also get these 2 messages in the log

“Error demuxing stream: No dts in packet”

and

Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/aiohttp/web_protocol.py", line 418, in start
    resp = await task
  File "/usr/local/lib/python3.7/site-packages/aiohttp/web_app.py", line 458, in _handle
    resp = await handler(request)
  File "/usr/local/lib/python3.7/site-packages/aiohttp/web_middlewares.py", line 119, in impl
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/real_ip.py", line 33, in real_ip_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 67, in ban_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 216, in auth_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 115, in handle
    result = await result
  File "/usr/src/homeassistant/homeassistant/components/stream/core.py", line 176, in get
    return await self.handle(request, stream, sequence)
  File "/usr/src/homeassistant/homeassistant/components/stream/hls.py", line 38, in handle
    track, utcnow()).encode("utf-8"), headers=headers)
  File "/usr/src/homeassistant/homeassistant/components/stream/hls.py", line 98, in render
    self.render_preamble(track) +
  File "/usr/src/homeassistant/homeassistant/components/stream/hls.py", line 72, in render_preamble
    "#EXT-X-TARGETDURATION:{}".format(track.target_duration),
  File "/usr/src/homeassistant/homeassistant/components/stream/core.py", line 83, in target_duration
    return round(sum(durations) // len(self._segments)) or 1
ZeroDivisionError: integer division or modulo by zero

My aarlo panel config

entity: camera.aarlo_front
image_click: play
name: Front Door
show:
  - motion
  - sound
  - snapshot
  - captured_today
  - image_date
top_date: false
top_status: false
top_title: false
type: 'custom:aarlo-glance'

I’m assuming you have the stream: component enabled. Can I ask what environment you are running home-assistant in?

Somebody else - on the github page - was reporting the exact same issue. I think there is a bug in the stream component, it should handle the division by 0 but I don’t know if that would allow the video to start, it might be masking the real issue.

Do you have aarlo debug turned on? It would be nice to see what type of stream Arlo is giving us.

I am running on Hassio, Raspberry pi 3B+ . I do have stream component turned on. I just realized that “image_click: play” in my config suppose to turn on the live stream, which I believe the author said won’t work in my environment. Removing that part I can now click and see the last recorded video like before. But yes streaming would be nice :slight_smile:

(Author here - I need to update that documentation!) Streaming might work in your environment but you have to recompile the ffmpeg binary. The problem is the stream is encrypted, because it’s travelling from Arlo’s servers and not directly from your camera, and ffmpeg wasn’t compiled with encryption for rtsp streams.

A couple of people have managed it, try searching this discussion for instructions.

Sorry for the late answer. It’s working fine now. The camera that is plugged in now shows a plug symbol instead of an empty battery in the arlo glance card. Thanks!

Hi Steve,

First of all, can I say thanks for creating this and also for supporting it the way you have.

I don’t know if you can help but when I start HA everything works fine but after a couple of hours, I can no longer change any of the arm modes. I get the following error in the log.

2019-07-30 18:17:33 WARNING (ArloBackgroundWorker) [pyaarlo] error in response={‘data’: {‘error’: ‘AUTO-5010’, ‘message’: “Device doesn’t belong to the User”, ‘reason’: “Redacted doesn’t belong to the User / Is not provisioned”}, ‘success’: False}

Does this mean anything to you? As I said, the automations and scripts I use work fine for a few hours after a restart but then stop working.

Any advice would be appreciated.

Thanks
Greg