-
-
Notifications
You must be signed in to change notification settings - Fork 124
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Arlo Q Plus support #23
Comments
Hi @imopen, I'm open to support Arlo Q Plus. I don't own one, so I will need your help... If you want to help, I need the log of the http request traffic created when you arm/disarm your camera. To do this:
Also, if Arlo is treating your Arlo Q Plus camera as a basestation, you might be able to call:
instead of:
|
Hi Jeffrey, I've collected the request headers and request payload, I've censured it for privacy reasons, I hope it is still clear, let me know if I should be more explicit "CAMERA_SN" is the replacement for camera serial number, a string of the form: 0N1234SY5C67D for example POST /hmsweb/users/devices/notify/CAMERA_SN HTTP/1.1 {"from":"xxxxxxxxxxx_web","to":"CAMERA_SN","action":"set","resource":"modes","transId":"web!xxxxxxxxxxx.xxxxxxxxxxx!xxxxxxxxxxx","publishResponse":true,"properties":{"active":"mode1"}} I've tried to arm the camera with arlo.Arm(camera) but I got an exception. Thanks again, |
My code: arlo = Arlo(USERNAME, PASSWORD) Here the exception: Traceback (most recent call last): Thank you very much, |
okay, just pushed some changes that should fix the exception you had. Please let me know how it goes. Try this code:
|
Hi @jeffreydwalter Traceback (most recent call last): thanks for the support, |
Seems like you might have an older version of the sections library. How did
you install it? Can you please verify what version you have installed?
…On Oct 25, 2017 2:41 PM, "imopen" ***@***.***> wrote:
Hi @jeffreydwalter <https://github.com/jeffreydwalter>
here we go:
Traceback (most recent call last):
File "./examples/arlo-imopen.py", line 9, in
arlo.Arm(basestation[0])
File "/root/arlo/Arlo.py", line 385, in Arm
return self.NotifyAndGetResponse(basestation, {"action":"set","resource":"
modes","publishResponse":True,"properties":{"active":"mode1"}})
File "/root/arlo/Arlo.py", line 323, in NotifyAndGetResponse
self.Subscribe(basestation)
File "/root/arlo/Arlo.py", line 253, in Subscribe
event_stream = sseclient.SSEClient('https://arlo.netgear.com/hmsweb/
client/subscribe?token='+self.request.session.headers.get('Authorization'),
session=self.request.session)
TypeError: *init*() got an unexpected keyword argument 'session'
thanks for the support,
imopen
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#23 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAinB8g-O1R88WPxeu3Ld4Iprn9O-Wb5ks5sv50VgaJpZM4QFomn>
.
|
*sseclient library... Stupid autocorrect got me. 😀 |
I check immediately, I'm running python on a raspberry, I'll upgrade and return to you ;-) |
Python 2.7.9 certifi (2017.7.27.1) should I upgrade? |
You might uninstall sseclient-py
…On Oct 25, 2017 3:27 PM, "imopen" ***@***.***> wrote:
Python 2.7.9
certifi (2017.7.27.1)
chardet (3.0.4)
colorama (0.3.2)
dnspython (1.12.0)
html5lib (0.999)
idna (2.6)
monotonic (1.3)
pip (9.0.1)
pyarlo (0.0.8)
pycrypto (2.6.1)
requests (2.18.4)
setuptools (33.1.1)
six (1.11.0)
sseclient (0.0.18)
sseclient-py (1.7)
urllib3 (1.22)
should I upgrade?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#23 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAinB-AE4O7eFWyly0rOlyujtY0LKCxxks5sv6engaJpZM4QFomn>
.
|
it works like a charm, I'll donate you a beer to thank you :) |
Awesome!!! Thanks for your help as well. Beer is always appreciated!
Cheers!
Jeff
On Oct 25, 2017 4:04 PM, "imopen" <notifications@github.com> wrote:
it works like a charm, I'll donate you a beer to thank you :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#23 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAinB15EACbIFt78ml2rqKtRc0nIyfJ8ks5sv7BXgaJpZM4QFomn>
.
|
Hi @jeffreydwalter |
Hey @imopen, thanks again for the beer! I enjoyed it last night. You can get the current mode by getting all of the modes, like this:
GetModes() returns an object that contains all of the modes and their associated rules. It also includes which one is selected, like this:
|
thank you @jeffreydwalter |
That sounds like a really cool project! I would definitely be interested in checking it out! I've been wanting to apply some machine learning to replace Netgear's "Arlo Smart". I was thinking it would be cool to turn off the notifications Arlo generates, and instead have the AI only send alerts when a real human (or whatever) is detected. Maybe even apply facial and voice recognition to make it recognize certain people so it wouldn't alert and also to allow those individuals to control home automation tasks (or trigger other things). If we wanted to go really crazy, it might be a cool project to build a platform and make all of these features "plugins" so you could pick and choose what features you want. |
Hi @jeffreydwalter File "/root/arlo_autoarm//arlo_autoarm.py", line 60, in notification Can you help me somehow? |
For the moment I just commented line 126 and it seems to work |
I can take a look. I added that signal handling code because the Arlo
library is threaded itself and it would get stuck in a loop and ctrl-c
wouldn't kill it. It shouldn't cause any problems to comment out that line
in your case.
…On Fri, Oct 27, 2017 at 5:07 AM, imopen ***@***.***> wrote:
For the moment I just commented line 126 and it seems to work
Probably can I have some cuncurrent problems?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#23 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAinB7EeBuMpqbJlrM4w-x0UY11UGg5-ks5swbl9gaJpZM4QFomn>
.
|
Hi Jeffrey, 2017/10/30 13:52:23 | DEBUG | https://arlo.netgear.com:443 "GET /hmsweb/client/subscribe?token=2_[...]H HTTP/1.1" 200 None Is there a way to arm the camera without subscribe to some event? Or better, what is the cleanest mode to use your library? Is it ok to use the arlo object globally or is it better to instance an object in every call and then forcing logout on it? I did a method like this, is it wrong?
Thanks in advance, |
Hey @imopen, There is no way to arm/disarm without that subscribe GET. Netgear chose to use a streaming protocol called "Server-side Events". I would just instantiate the Arlo object once and use it globally.
|
@imopen Did that work for you? |
Hello @jeffreydwalter for my needs it's ok to arm/disarm and then logout. |
Hi Jeffrey,
I'm looking for an api for my Arlo Q Plus, I've tried a little your library but, if I don't missing something, I'm able to list my camera but not to arm it (Arlo Q Plus works without a base).
Am I doing something wrong or Arlo Q Plus will be supported in future?
Thanks in advance and keep up the good work,
imopen
The text was updated successfully, but these errors were encountered: