[Solved, relatively] Aarlo + HomeKit + Camera updates

HomeKit Home has a feature where it updates the camera image ever 15 seconds while viewing it. It worked when I previously has Arlo connected directly to HomeKit – but now HomeKit isn’t seeing Arlo, so I’m now streaming it through HA HomeKit integration, which is using the Aarlo integration.

However, the 15s refresh isn’t working. Camera view works. Live stream works, but the ever 15 second refresh does not. Is there a way to get the 15s refresh to work? It’s a simple snapshot ever 15s, but only while viewing within HomeKit.

PS: It appears the same thing happens on Ring, too.

I found a solution that works, using an automation. But this does eat up some camera life:

  • Setup an automation to trigger on time_pattern every 30 seconds
  • Call service aarlo.camera_request_snapshot with list of Aarlo cameras

One caveat I found, even though seconds: is listed in the time pattern, it seems to only trigger every minute. My bad, needed to be ‘/30’ not ‘30’

One benefit to this approach, too, is now I have an updated image on my dashboard, too! Instead of hours, or days old images since the cameras don’t get that much activity/use.

Now, if there was only a way to set a Condition “while in HomeKit” or only while viewing. Probably not as simple there … no way of HA to really know if you’re actively viewing the camera or not. HomeKit does sent a request to update, but I don’t know what those calls are.

Would you mind sharing your config for aarlo? I’m trying to do the same with my Arlo Doorbell but get this error:


Logger: homeassistant.components.automation.update_arlo_doorbell_snapshot
Source: helpers/script.py:409 
Integration: Automation (documentation, issues) 
First occurred: 22:24:30 (1 occurrences) 
Last logged: 22:24:30

Update Arlo Doorbell snapshot: Error executing script. Invalid data for call_service at pos 1: required key not provided @ data['entity_id']

Also trying to get it streaming to HomeKit but it fails most of the time (I’ve seen it working a couple of times only. Generally giving this error when trying from Home app:


Logger: homeassistant.components.homekit.type_cameras
Source: components/homekit/type_cameras.py:341 
Integration: HomeKit (documentation, issues) 
First occurred: 12:11:34 (3 occurrences) 
Last logged: 22:28:35

Camera has no stream source

Ok, the error about the snapshot is fixed, I had to specify which camera for the service, so in yaml the automation to update the snapshot looks like this (and it doesn’t log errors):

alias: Update Arlo Doorbell snapshot
description: ""
trigger:
  - platform: time_pattern
    seconds: /30
condition: []
action:
  - service: aarlo.camera_request_snapshot
    data:
      entity_id: camera.aarlo_doorbell
mode: single

However even though I see how the service goes to “taking snapshot” and then back to “recently active”, the actual snapshot isn’t taken.

I have a subscription to Arlo and I think the snapshots come from their cloud, so I wonder what really the “taking snapshot” service does to the doorbell camera (nothing seemingly).