Arlo: replacement pyarlo module

I’ve never seen anything to do with night vision status but I can’t say I’ve looked either. Which cameras are you using?

I use the Pros at the moment

@sherrell, I just got the dreaded reminder email about 2FA. Wanted to see 2FA was in aarlo and which methods seem to work best.

It’s in the 0.7 releases. And a couple of people are using IMAP, I know it works with Gmail and another user got it working with Outlook.

Sounds good, I will give the imap a try and see how that works.

@sherrell Any plans to add instructions on how to setup the Google app (https://github.com/twrecked/pyaarlo-tfa-helper). I have a mechanism to setup an SMS number seperate from my phone that can forward to the app through a url callback. The only issue is it can’t selectively send, so I would have to forward every SMS, and then have the server check the number and match by number before proceeding. I was going to modify your code to do it, but I have no idea where to start on setting up a Google app.

I think those docs fell through the cracks…

I don’t have time at the moment but the easiest way to try it is to follow these instructions:

https://cloud.google.com/appengine/docs/standard/python3/quickstart

They will setup test code on local running server and then deploy it to a real server.

Once that’s working you can use the google-app-engine dir as the base, copy app.yaml.in to app.yaml, set AUTH_CODE to something suitable and you should be able to test locally. Once that is working you can deploy it.

I’ll give it a go, thanks!

Bit late commenting… this might be fixed by the latest beta. Try using stream_snapshot: True in your config and it should update correctly.

I’ve been putting off enabling 2FA for the account I use for HA, finally made the jump today and I’m blown away how easy it was, so thanks for the hard work you’ve put in supporting it.

One question though… I’ve opted for the email method and wondered if you are able to clean up the email once the code has been retrieved? It’s not a big deal, just a nice to have.

Anyone having issues using “aarlo.camera_request_video_to_file” and “aarlo/camera_request_snapshot_to_file” with 0.115?. Seems to do as it says, but it is not the current file, instead the last one recorded or snapshot. I am right in assuming the process is that it records captures video for an x duration and then saves the file. Or is is actually doing what it is supposed to do?

Which version of Aarlo are you on?

aarlo.camera_request_video_to_file just saves the last video recorded to file. To create a new one you need to call:

aarlo.camera_start_recording
  -- wait for recording duration
aarlo.camera_request_video_to_file

I think I can enhance this to save to a file on completion.

aarlo.camera_request_snapshot_to_file will create a new snapshot but you need to wait for it for finish. I don’t know if you can wait from an automation but it will fire an aarlo_snapshot_ready event with the camera as an entity_id when ready.

Thanks Steve, thought that may be the case, made sense not having a duration option - latest beta.

Hi Steve,

Not sure what the issue is? Turned on debug for the camera, seems to work, camera status changes to record and then a new file is not produced.

2020-09-20 08:27:59 INFO (MainThread) [custom_components.aarlo.camera] camera_start_recording service called
2020-09-20 08:27:59 INFO (MainThread) [custom_components.aarlo.camera] camera.aarlo_alfresco start recording(duration=30)
2020-09-20 08:28:00 DEBUG (ArloEventStream) [custom_components.aarlo.camera] callback:Alfresco:activityState:startUserStream
2020-09-20 08:28:00 DEBUG (ArloEventStream) [custom_components.aarlo.camera] callback:Alfresco:activityState:startUserStream
2020-09-20 08:28:02 INFO (SyncWorker_38) [custom_components.aarlo.camera] alfresco attaching hidden stream for duration 15
2020-09-20 08:28:02 DEBUG (ArloEventStream) [custom_components.aarlo.camera] callback:Alfresco:activityState:userStreamActive
2020-09-20 08:28:02 WARNING (MainThread) [custom_components.aarlo.camera] camera.aarlo_alfresco start recording service failed
2020-09-20 08:28:33 DEBUG (ArloEventStream) [custom_components.aarlo.camera] callback:Alfresco:presignedLastImageUrl:https://arlolastimage-z3.s3.amazonaws.com/xxxxxxx
2020-09-20 08:28:33 DEBUG (ArloEventStream) [custom_components.aarlo.camera] callback:Alfresco:recentActivity:True
2020-09-20 08:28:34 DEBUG (ArloEventStream) [custom_components.aarlo.camera] callback:Alfresco:recentActivity:True
2020-09-20 08:28:34 DEBUG (ArloEventStream) [custom_components.aarlo.camera] callback:Alfresco:activityState:idle
2020-09-20 08:28:34 DEBUG (ArloEventStream) [custom_components.aarlo.camera] callback:Alfresco:activityState:idle
2020-09-20 08:28:34 DEBUG (ArloEventStream) [custom_components.aarlo.camera] callback:Alfresco:activityState:idle
2020-09-20 08:28:43 INFO (MainThread) [custom_components.aarlo.camera] camera_request_video_to_file service called
2020-09-20 08:28:43 INFO (MainThread) [custom_components.aarlo.camera] camera.aarlo_alfresco video to file Template(“/media/Alfresco_20_9_828.mp4”)
2020-09-20 08:28:44 DEBUG (MainThread) [custom_components.aarlo.camera] camera.aarlo_alfresco video to file finished

Any clues as to why the file would not be saving to the cloud? Debugging does not appear to be very conclusive. Using latest beta, ran this from the developers tools;

image

2020-09-22 16:56:39 INFO (MainThread) [custom_components.aarlo.camera] camera_start_recording service called
2020-09-22 16:56:39 INFO (MainThread) [custom_components.aarlo.camera] camera.aarlo_alfresco start recording(duration=20)
2020-09-22 16:56:39 DEBUG (ArloEventStream) [custom_components.aarlo.switch] callback:Alfresco Snapshot:activityState:startUserStream
2020-09-22 16:56:39 DEBUG (ArloEventStream) [custom_components.aarlo.camera] callback:Alfresco:activityState:startUserStream
2020-09-22 16:56:40 DEBUG (ArloEventStream) [custom_components.aarlo.switch] callback:Alfresco Snapshot:activityState:startUserStream
2020-09-22 16:56:40 DEBUG (ArloEventStream) [custom_components.aarlo.camera] callback:Alfresco:activityState:startUserStream
2020-09-22 16:56:41 DEBUG (ArloEventStream) [custom_components.aarlo.switch] callback:Alfresco Snapshot:activityState:userStreamActive
2020-09-22 16:56:41 DEBUG (ArloEventStream) [custom_components.aarlo.camera] callback:Alfresco:activityState:userStreamActive
2020-09-22 16:56:42 INFO (SyncWorker_15) [custom_components.aarlo.camera] alfresco attaching hidden stream for duration 15
2020-09-22 16:56:42 WARNING (MainThread) [custom_components.aarlo.camera] camera.aarlo_alfresco start recording service failed
2020-09-22 16:56:57 DEBUG (MainThread) [custom_components.aarlo.switch] get state Arlo Base Station Siren form
2020-09-22 16:56:57 DEBUG (MainThread) [custom_components.aarlo.switch] get state for All Sirens
2020-09-22 16:57:13 DEBUG (ArloEventStream) [custom_components.aarlo.camera] callback:Alfresco:presignedLastImageUrl:https://arlolastimage-z3.s3.amazonaws.com/xxxxxxxx
2020-09-22 16:57:13 DEBUG (ArloEventStream) [custom_components.aarlo.camera] callback:Alfresco:recentActivity:True
2020-09-22 16:57:13 DEBUG (ArloEventStream) [custom_components.aarlo.sensor] callback:Recent Activity Alfresco:recentActivity:True
2020-09-22 16:57:13 DEBUG (ArloEventStream) [custom_components.aarlo.camera] callback:Alfresco:recentActivity:True
2020-09-22 16:57:13 DEBUG (ArloEventStream) [custom_components.aarlo.sensor] callback:Recent Activity Alfresco:recentActivity:True
2020-09-22 16:57:13 DEBUG (ArloEventStream) [custom_components.aarlo.switch] callback:Alfresco Snapshot:activityState:idle
2020-09-22 16:57:13 DEBUG (ArloEventStream) [custom_components.aarlo.camera] callback:Alfresco:activityState:idle
2020-09-22 16:57:13 DEBUG (ArloEventStream) [custom_components.aarlo.switch] callback:Alfresco Snapshot:activityState:idle
2020-09-22 16:57:13 DEBUG (ArloEventStream) [custom_components.aarlo.camera] callback:Alfresco:activityState:idle
2020-09-22 16:57:14 DEBUG (ArloEventStream) [custom_components.aarlo.switch] callback:Alfresco Snapshot:activityState:idle
2020-09-22 16:57:14 DEBUG (ArloEventStream) [custom_components.aarlo.camera] callback:Alfresco:activityState:idle
2020-09-22 16:57:22 DEBUG (ArloBackgroundWorker) [custom_components.aarlo.camera] callback:Alfresco:recentActivity:False
2020-09-22 16:57:22 DEBUG (ArloBackgroundWorker) [custom_components.aarlo.sensor] callback:Recent Activity Alfresco:recentActivity:False
2020-09-22 16:57:27 DEBUG (MainThread) [custom_components.aarlo.switch] get state Arlo Base Station Siren form
2020-09-22 16:57:27 DEBUG (MainThread) [custom_components.aarlo.switch] get state for All Sirens

I just got myself an Arlo Video Doorbell and started to work with this great Integration for automations. Thanks @sherrell!

Is there a way to figure out if the camera / motion sensor is armed or not?

Hey @sherrell hope you’re doing ok?

I’ve come a cropper with the integration, i’ve installed it via HACS and i’ve recently added a arlo pro 2 to my collection but I can’t seem to get it to come through as a new entity on HA, is there a process i need to follow to do this?

Also i’m a little lost where logging is kept for the HACS integration and wondered if you could give me some pointers for starting logging and then where to view it?

Thanks mate!

I’m doing fine!

The camera should just appear, you might have to restart Home Assistant. Did you share the new camera with your Home Assistant Arlo account?

Logging is in /config/home-assistant.log.

Did 0.117.1 kill anyone elses aarlo? 2fa dont work for me.

I was just about to upgrade to 0.177.1 from 0.177.0 when I saw your post and held off. I just did a reboot and 2FA looks to still be working fine for me on 0.177.0. I will wait to see if any others are having this problem.