Aarlo Live Stream

For a number of releases now (currently on 0.108.3) I’ve been unable to get a live stream from Aarlo to work. While this has been annoying, I’ve been too lazy to try and resolve.

Symptoms: Using Lovelace Hass Aarlo installed from HACS I can display the card without issue, everything works, motion sensor, listing and playing recordings, snapshots, etc. apart from live stream. When clicking on the snapshot a window opens but rather than live stream it plays the last recorded video. The card config is:

Arlo Camera Support - v0.6.18.8 with Lovelace Hass Aarlo - v0.0.17

############################################################################
## Arlo - Aarlo
###########################################################################
aarlo:
  username: My_User_Name
  password: My_Password
  packet_dump: True
  db_motion_time: 30
  db_ding_time: 60
  recent_time: 6
  last_format: '%d-%m %H:%M'
  conf_dir: /config/.aarlo
  no_media_upload: False
  mode_api: auto
  refresh_devices_every: 2
  http_connections: 5
  http_max_size: 10
  hide_deprecated_services: true
door: binary_sensor.door_window_sensor_158d0002e9d139
door_bell: binary_sensor.aarlo_ding_front_door_bell
entity: camera.aarlo_front_garden
image_click: play
name: Front Gate
show:
  - motion
  - snapshot
  - battery_level
  - captured_today
  - image_date
top_date: false
top_status: false
top_title: false
type: 'custom:aarlo-glance'

Not sure if this is related but I have just setup Google Assistant integration into HA and while I have each of the Aarlo cameras setup in the entity_config section of the config no cameras get pulled through to Google Home. All other items are coming through.

Finally, when trying to use the camera.play_stream service to pay the live stream to any Chromecast device the Chromecast initializes but no video is streamed.

The only error I can see in the logs is:

WARNING (SyncWorker_13) [pyaarlo] event loop failed to start

This is listed in the logs once during HA starting up, no error when trying to play the stream.

Any ideas where I should start looking to try and diagnose this?

@sherrell, FYI. Should we move this to the main aarlo thread? Thanks.

I’ve also been unable to get a live stream to start for some time time now and have been similarly lazy in trying to sort it out. I am getting the same error once during HA start-up and no other error when I try to start a live stream:

2020-04-13 04:50:49 WARNING (MainThread) [homeassistant.setup] Setup of aarlo is taking over 10 seconds.
2020-04-13 04:51:10 WARNING (SyncWorker_0) [pyaarlo] event loop failed to start

I have not tried to play with Chromecast, but I’ve had the Google Assistant integration (via Nabu Casa) set up since the outset.

The only obvious difference I can see is that nothing plays in the front end when I try to start a live stream. It shows the last snapshot with a wait/loading circle animation.

Caught an error in the log when the camera was triggered by motion:

2020-04-13 10:35:24 WARNING (ArloBackgroundWorker) [pyaarlo] error in response={'data': {'error': '2503', 'message': 'The device failed to connect. Try again.', 'reason': 'Camera is not streaming'}, 'success': False}

Sorry I missed this.

I think it’s to do with the login changes I had to make. I missed a step which caused the start up process to slow down. It also looks like it stopped the streams working.

The beta has this extra step and it works fine so I’ll add the extra step into the 0.6.18 release.

I’ll push a fix later today.

edit: It’s not just the session but the beta is working so I’ll find out why and bring the fix back.

It should be fixed now. Try 0.6.18.9.

The stream wasn’t working because I added some experimental code for Arlo Q cameras and broke everything else.

The taking over 10 seconds was because I was missing a session/v2 call in the new login process.

Let me know how it goes.

I thought this might fix my issue, but it did not. It is very possible that I am doing something wrong. I get snapshots in Lovelace, but when I click on them I never get a live stream. Instead, I always get this (partial) message. Thoughts?

image

What is the camera card configuration? Thanks.

edit: And do you have stream: enabled?

It is actually using the default card in Lovelace. Where would I set stream: enabled? I don’t see it on the Read Me?

Stream is a standard Home Assistant component, it’s responsible for providing live streaming of cameras. You enable it by adding stream: to your configuration.yaml. But see the link for more information.

I think the standard lovelace cards will work but I haven’t used them in a long while. The other piece to look at is a custom glance card I provide - lovelace-hass-aarlo - it give you a little more control, brings certain notifications on to the card, and allows you to access your recordings. You can install it using HACS.

As an example, a card config, change the names to suit your needs!

entity: camera.aarlo_front_camera
name: Front
show:
  - motion
  - signal_strength
  - snapshot
  - captured_today
  - battery_level
  - play
top_status: true
top_title: true
type: 'custom:aarlo-glance'

Thanks for the very quick work as always, @sherrell.

I can confirm that 0.6.18.9 fixed this for me.

Still an amazing project. Cheers.

+1 for me
Confirmed fixed and the stream to Chromecast is working so I have something new to play with :slight_smile:

Thank for the very quick fix!

I appreciate your help. I added stream: to my config, and now have this in my log:

2020-04-14 13:05:45 ERROR (MainThread) [custom_components.aarlo.camera] Video not found for Patio. Is it older than 30 days?
2020-04-14 13:05:59 WARNING (MainThread) [haffmpeg.core] Timeout while waiting of FFmpeg

Do I need to manually add FFmpeg? (and if so, how?). Also, for what it is worth, I am storing Arlo video locally as opposed to in the cloud. Maybe that is why it does not find video? But I should still be able to live stream. I will try adding the card later today to see how that goes. Thanks again for your help!

@_Mike Yes, the video library only supports videos supported in the cloud. I might be able to get to the local ones I just never tried.

I didn’t think you had to install ffmpeg. How are you running home-assistant?

@sherrell I have HA running in Docker on a Synology NAS.

@Eoin @sherrell Is the solution in this thread for streaming from the cloud or live streaming from the Arlo camera?
If the later, I can’t get it to work

For me it was streaming from the cloud.

so not a live stream, just the clip that’s saved in the cloud from the last event trigger, right?

Good point. It is a live stream; all be it about 4 seconds delayed. However, it’s my understanding the stream first goes to AWS then pulled back into HA. I could be wrong!

if you’re able to get a continuous live stream going, not just the last clip saved on AWS, it would be great if you can share the card setup / or yaml

1 Like

Just to clarify, @Eoin is correct, the live stream always goes from you camera to the cloud and then back again.

As for continuous streaming that’s something I’ve been thinking about. The problem is Arlo will always kills the stream after 30 minutes no matter what. So we’ll have to open a new stream. It’s not a huge problem doing that but there will be a noticeable gap in the streaming.

This fix might help get streaming going for certain camera types, it definitely reduces the load on the Home Assistant device.