Arlo: replacement pyarlo module

@ronschaeffer
Another person was having alarm issues so I’ll double check the code later, I have other things to do just now. But I did a quick test here and it worked for me - isn’t that always the case.

One question, does your aarlo user have “Allow Access Rights” ?

@sherrell Thanks. No hurry. I added some detail below. Let me know if I can give you any more info to help.

Double checked. Yes, “Allow Access Rights” is set to on. As mentioned, disarming from the HA UI works. Arming does not.

Alarm control panel config:

alarm_control_panel:
- platform: aarlo
  home_mode_name: Disarmed
  away_mode_name: Armed 

Lovelace config:

entity: alarm_control_panel.aarlo_arlo_base_station
name: Camera Motion Detection
states:
  - arm_home
  - arm_away
type: alarm-panel

Log entry when I click Disarm in the UI:

2019-02-14 11:28:57 INFO (MainThread) [homeassistant.components.http.view] Serving /api/ to 172.30.32.2 (auth: True)
2019-02-14 11:29:01 INFO (MainThread) [pyaarlo] Arlo Base Station:new-mode=disarmed,id=mode0
2019-02-14 11:29:02 INFO (EventStream) [pyaarlo] Arlo Base Station BASE got modes
2019-02-14 11:29:02 INFO (EventStream) [custom_components.alarm_control_panel.aarlo] callback:activeMode:disarmed
2019-02-14 11:29:02 INFO (EventStream) [pyaarlo] unhandled response devices/xxxxxxxxxxxxxxxxx/states
2019-02-14 11:29:03 INFO (EventStream) [pyaarlo] Arlo Base Station BASE got activeAutomations
2019-02-14 11:29:03 INFO (EventStream) [custom_components.alarm_control_panel.aarlo] callback:activeMode:disarmed
2019-02-14 11:29:03 INFO (EventStream) [pyaarlo] Arlo Base Station BASE got modes

xxxxxxxxxxxxxxxxx above is a redaction of an alphanumeric string, just in case it’s identifiable in some way. Let me know if you need that string, and I’ll PM it.

Nothing gets logged when I click Arm Home or Arm Away in the UI.

Thanks!

@sherrell

It was me that wasnt able to arm aarlo … I was wondering if its due to the install that I did … can you confirm that if I remove the installs and just use your install script again it should install all dependencies at start? Though I ran it in addition there may be a conflict of modules - happy to remove it completely and to start over - maybe worth reviewing the install instructions on github to make it clearer … will do that one I get back out if the sun - just monitoring the thread while being in vacation …

@ronschaeffer @collse

Can you try lower case…

alarm_control_panel:
- platform: aarlo
  home_mode_name: disarmed
  away_mode_name: armed

I really should make that case insensitive… And add a log if it can’t find a mode so it looks like something was attempted.

@sherrell Success. Changing to all lower case fixed the problem. Arm/disarm now works. Thanks!

@ronschaeffer Excellent. I’ll update the docs to make things clearer.

@collse The docs need some updating, I’ll look at it this week. And it’s safe to rerun the install script to overwrite the current installation, I do it all the time. Just to clarify, you don’t need to do any pip install commands, that was a pre-pre-alpha release.

1 Like

Thanks for that. We aren’t overriding a built in platform - you can still use the old arlo if you want - but I’ll double check tonight. I prefer the new naming convention, I can put everything into a single directory.

The component will have to be updated for the new embedded format otherwise it is broken in 0.88

@sherrell Thanks for doing this work. I agree with the issues you mentioned on regards the pyarlo library. I’ve been tied up with other projects and not being able to give the necessary ‘love’ to the project so I’m a big supporter to migrate to a new and maintained platform the component.

I’m going to test it as well and if I would be happy to contribute as well to make it happen!! My intentions are once your project gets the official back-end, I’m going to deprecated PyArlo and redirect it to yours (if that is OK for you).

Thanks everyone else whom contributed, tested or used the PyArlo.

mmello

1 Like

@sherrell currently running your componenet… pretty stable and the alarm_modes are working flawless… I’ll keep running for the next days and provide any feedback as well… Good job!!

Firstly, thanks for giving my component a go!

Secondly, thanks for PyArlo, I learned a hell of a lot about Python and the Arlo interface from it and I really liked the library - there’s a reason I kept the my API as close as possible and there’s a reason I still keep borrowing liberally from your code.

My original intention was to come up with some patches to give to you to apply to PyArlo but as I delved into the interactions with the Arlo servers I realised a permanently connected lower level event loop was needed. And as I started playing with Home Assistant components I realised things would benefit from being asynchronous. And that’s when the code started to diverge a little too much.

But I’ll definitely be asking for help. I need to work on the Arlo Baby support and that device has some hairy ways of returning data!

2 Likes

@sherrell I tried the latest code and I am seeing these warnings:

Sun Feb 17 2019 10:31:10 GMT-0500 (Eastern Standard Time)
file not read

Log Details (WARNING)
Sun Feb 17 2019 10:32:12 GMT-0500 (Eastern Standard Time)
file not written

I have a fix for that - it’s in the tidy-up branch - and was planning on merging it to master later today. The problem was I was trying to guess at the config directory when I should have been using hass.config.config_dir.

Excellent…will pick that up!

The component is working very well. HA start time has reduced significantly since I moved to aarlo. Would love for our official component to move to aarlo soon.

1 Like

I have installed your plugin and I reallly like what you have done!

I have an Arlo Q and everything works “most of the time” except snapshot - but that might be because of no base station.

But, often my Aarlo component stops updating and then, after some time, starts updating again. I have now installed both Arlo and Aarlo, so I can see the difference.

@onkelfarmor

Thanks for trying the plugin. I don’t have any Q cameras (although I’m thinking I have to track one down) so I just want to clarify a few things:

  • Snapshot never works? Or does it work occasionally? There are a lot of moving parts to this one so it can take a few seconds for the image to appear.
  • You say you are running Arlo and Aarlo. Are you doing this at the same time? And are you sharing an account to do this? There is an (annoying) limitation with Arlo that the same account can’t login from 2 places at the same time. Arlo and Aarlo will run together but they do need different logins or they’ll just keep logging each other out.

Hi again

Snapshots never work. I get an error in the bottom of the page: Failed to call service: camera/arlo_request_snapshot.

I use two different accounts for Arlo and Aarlo.

Snapshots are working for me. I just used {"entity_id":"camera.aarlo_arlo3"} in the service call and it worked

Same error for me when using that method.

How are you calling that service (screenshot)?