Arlo: replacement pyarlo module

I’m using the config check add on…

Also, I’m running the aarlo add on via HACS (just FYI).

Edit: I ran the add on again and it came back without the error. Odd…

Hello,
First, thank you so much for this awesome module, works very well!

I’ve got a little issue, I’m using the HomeKit component to forward everything in HA to HomeKit.

This is also working very well, except for custom mode, the mode is correctly reported for the standard arm/disarm, but nothing if I have for example a “night” mode.

I’m setting the mode with an automation, the correct mode is set and reported in arlo app, but not in homekit.

Any ideas ? :smiley:

EDIT: Forget it… The night mode was not set in the config file… sorry, everything is perfect :blush:

So sorry to bother, but I just can’t find my mistake. For the past several days, I haven’t been receiving motion binary sensor updates on any of my cameras. I’ve tried rolling back a couple versions, uninstalling and reinstalling, and reediting yaml. I do get video clips. Perhaps unrelated, I’ve never been able to get battery or wifi strength sensor info even though I have always received # clips updates and last captured information. The following is an excerpt generated after a camera detection in the garage.

David

2019-11-03 08:25:35 DEBUG (ArloEventStream) [pyaarlo] sending mediaUploadNotification to 4XH16C7GA729F
2019-11-03 08:25:35 DEBUG (ArloEventStream) [pyaarlo] Garage CAMERA got one mediaUploadNotification
2019-11-03 08:25:35 DEBUG (ArloEventStream) [pyaarlo] set:4XH16C7GA729F/mediaObjectCount=14852
2019-11-03 08:25:35 DEBUG (ArloEventStream) [pyaarlo] set:4XH16C7GA729F/presignedLastImageUrl=https://arlos3-prod-z2.s3.amazonaws.com/
2019-11-03 08:25:35 DEBUG (ArloEventStream) [pyaarlo] Garage thumbnail changed
2019-11-03 08:25:35 DEBUG (ArloEventStream) [pyaarlo] queing image update
2019-11-03 08:25:35 DEBUG (ArloEventStream) [pyaarlo] recording stopped, updating library
2019-11-03 08:25:35 DEBUG (ArloBackgroundWorker) [pyaarlo] getting image for Garage
2019-11-03 08:25:35 DEBUG (ArloEventStream) [pyaarlo] queueing image library update
2019-11-03 08:25:35 DEBUG (ArloEventStream) [pyaarlo] turning recent ON for Garage
2019-11-03 08:25:35 DEBUG (ArloBackgroundWorker) [pyaarlo] set:4XH16C7GA729F/lastImageSource=capture/11-03 08:25
2019-11-03 08:25:35 DEBUG (ArloBackgroundWorker) [pyaarlo] set:4XH16C7GA729F/lastCapture=11-03 08:25
2019-11-03 08:25:35 DEBUG (ArloBackgroundWorker) [pyaarlo] set:4XH16C7GA729F/presignedLastImageData=b'\xff\xd8\xff\xfe\x00\x10Lavc58.35.100
2019-11-03 08:25:35 DEBUG (ArloBackgroundWorker) [pyaarlo] set:4XH16C7GA729F/activityState=unknown
2019-11-03 08:25:37 DEBUG (ArloBackgroundWorker) [pyaarlo] updating image library
2019-11-03 08:25:37 DEBUG (ArloBackgroundWorker) [pyaarlo] finish request=200
2019-11-03 08:25:37 DEBUG (ArloBackgroundWorker) [pyaarlo] adding 4XH16C7GA729F:2019-11-03T08:25:16
2019-11-03 08:25:37 DEBUG (ArloBackgroundWorker) [pyaarlo] skipping 4XH16C7SA4C96:2019-11-03T08:18:31, already present
2019-11-03 08:25:37 DEBUG (ArloBackgroundWorker) [pyaarlo] skipping 4XH16C7GA729F:2019-11-03T07:51:10, already present
2019-11-03 08:25:37 DEBUG (ArloBackgroundWorker) [pyaarlo] skipping 4XH16C7GA729F:2019-11-03T07:50:44, already present
2019-11-03 08:25:37 DEBUG (ArloBackgroundWorker) [pyaarlo] skipping 4XH16C7GA729F:2019-11-03T07:47:44, already present
2019-11-03 08:25:37 DEBUG (ArloBackgroundWorker) [pyaarlo] skipping 4XH16C7GA729F:2019-11-03T07:46:55, already present
2019-11-03 08:25:37 DEBUG (ArloBackgroundWorker) [pyaarlo] skipping 4XH16C7GA729F:2019-11-03T07:45:49, already present
2019-11-03 08:25:37 DEBUG (ArloBackgroundWorker) [pyaarlo] skipping 4XH16C7GA729F:2019-11-03T06:29:54, already present
2019-11-03 08:25:37 DEBUG (ArloBackgroundWorker) [pyaarlo] skipping 4XH16C7SA4C96:2019-11-03T05:34:48, already present
2019-11-03 08:25:37 DEBUG (ArloBackgroundWorker) [pyaarlo] skipping 4XH16C7SA4C96:2019-11-03T05:34:06, already present
2019-11-03 08:25:37 DEBUG (ArloBackgroundWorker) [pyaarlo] skipping 4XH16C7SA4C96:2019-11-03T04:39:59, already present
2019-11-03 08:25:37 DEBUG (ArloBackgroundWorker) [pyaarlo] skipping 4XH16C7SA4C96:2019-11-03T04:39:38, already present
2019-11-03 08:25:37 DEBUG (ArloBackgroundWorker) [pyaarlo] ml:update-count=3
2019-11-03 08:25:37 DEBUG (ArloBackgroundWorker) [pyaarlo] reloading cache for Garage
2019-11-03 08:25:37 DEBUG (ArloBackgroundWorker) [pyaarlo] set:4XH16C7GA729F/capturedToday=7
2019-11-03 08:25:37 DEBUG (ArloBackgroundWorker) [pyaarlo] set:4XH16C7GA729F/lastCapture=11-03 08:25
2019-11-03 08:25:45 DEBUG (ArloBackgroundWorker) [pyaarlo] turning recent OFF for Garage
2019-11-03 08:25:56 DEBUG (ArloBackgroundWorker) [pyaarlo] fast refresh
2019-11-03 08:25:56 DEBUG (ArloBackgroundWorker) [pyaarlo] day testing with 2019-11-03!
2019-11-03 08:26:56 DEBUG (ArloBackgroundWorker) [pyaarlo] fast refresh
2019-11-03 08:26:56 DEBUG (ArloBackgroundWorker) [pyaarlo] day testing with 2019-11-03!
2019-11-03 08:27:15 DEBUG (ArloEventStream) [pyaarlo] sseclient-error=ChunkedEncodingError
2019-11-03 08:27:19 DEBUG (ArloEventStream) [pyaarlo] Fetching device list after ev-reconnect
2019-11-03 08:27:19 DEBUG (ArloEventStream) [pyaarlo] finish request=200
2019-11-03 08:27:56 DEBUG (ArloBackgroundWorker) [pyaarlo] fast refresh

I have 5 cameras, and am using the custom card. It is working really well.

Is there any easy way to set the mode for the base unit?

What I am trying to do is have three modes:

*** Mode 1: Disarmed**
All Cameras disarmed.
All Cameras no motion

*** Mode 2: Armed Away**
All cameras armed
All camera motion detection

*** Mode 3: Armed home**
Outdoor cameras Armed & motion
Indoor cameras disarmed & no motion

I just use the standard alarm panel card.

Annotation%202019-11-04%20103731

and when you click on Disarm it gives you the possible modes:

Annotation%202019-11-04%20103922

How does it set the mode in Arlo.

I’m not sure how it does it. That is what the component is for. It just does it. Providing you have your config set up properly.

This is my config:

aarlo:
  username: !secret aarlo_username
  password: !secret aarlo_password


camera:
  - platform: aarlo
    ffmpeg_arguments: '-pred 1 -q:v 2'


alarm_control_panel:
  - platform: aarlo
    home_mode_name: front on always
    away_mode_name: armed
    night_mode_name: night mode

binary_sensor:
  - platform: aarlo
    monitored_conditions:
    - motion

The home_mode_name, away_mode_name and night_mode_name must be exactly the same as the modes in Arlo but all lower case. At least mine had to be when I set it up.

1 Like

So did you set those modes up in Arlo to match?

Yes, I did.

Thank you! What about Disarmed? Do you always have the cameras / motion on?

I always have the front door camera on as it acts as my doorbell. Hence the home mode name as ‘front on always’. You coud just set the home_mode_name to disarmed.

I did the exact same setup as you, but I do not get a third option on the alarm panel. How did you get that to work

Also is it possible to put a lock code on the panel?

Does this work with HACS?

Yes. Look for Arlo Camera Support in Integrations and Lovelace Hass Aarlo in Plugins.

A lock code isn’t currently supported. I’ll take a look and see what is needed to add it.

And the Arm Night option is a feature of the UI configuration, you add it with the state option:

type: alarm-panel
states:
  - arm_home
  - arm_away
  - arm_night
entity: alarm_control_panel.aarlo_front_base
name: Test

@dplawrance That trace looks ok. What is your sensor configuration set to? For example, mine is:

sensor:
  - platform: aarlo
    monitored_conditions:
    - captured_today
    - last_capture
    - total_cameras
    - battery_level
    - signal_strength
    - recent_activity

And you can turn on some more debug to see what it being sent back to Home Assistant components:

logger:
  default: info
  logs:
    custom_components.aarlo.binary_sensor: debug
    custom_components.aarlo.sensor: debug
    pyaarlo: debug

You should start to see things like this:

2019-11-04 09:47:35 DEBUG (ArloBackgroundWorker) [custom_components.aarlo.camera] callback:Garage Camera:activityState:idle

but showing batteryLevel or signalStrength.

I don’t think it will be the cameras. I have a mix and everything working ok. I’ll add some extra debug so we know for sure which timezones are being requested.

Thanks. I’ll keep plugging at it, more so when I get back to town later in the week. There must be something stupid that I’ve left out. Everything looks so good. Just out of curiosity, at places in my logs I am seeing the serial numbers of the cameras instead of their names. All the sensors seem to be getting set up, initially. Several types of sensors are receiving up-to-date information, but others never seem to receive any. Is it possible there is something in my camera naming that is screwing things up? I recall some weirdness with camera serial numbers showing up instead of names when I added the cameras to HomeKit (which I’ve subsequently removed) in the newish Arlo iOS app. Possible that only partial information is successfully transferred from the API because of ID mismatches? There are no sensors set up bearing s/n names.