Is there an Arlo Device Handler that supports imageCapture or a generic DH with it that would work for Arlo cameras?

Some context:

I finally bit the bullet and grabbed a set of 6 Arlo Pro 2 cameras. After a little research and testing (there’s apparently a bug with on/off) I have everything set up the way I want, using ArloPilot and some custom modes based on the state of SHM (so huge thanks to @SteveWhite for that!). My next step was to have the cameras “refresh” their view which I am currently able to do using SHM by having all the cameras record a 30 second clip at each mode change (triggered with a switch that emulates a motion event).

All that said… what I would really prefer they do is just all take a picture at mode change (which I could, in theory do with “Photo Burst When…”).

However… the Arlo DH doesn’t appear to support the image capture capability. :frowning:

Does anyone have an Arlo DH with image capture? Or know of a generic DH that would support it? (or have the code for the Arlo DH so that I could (maybe) add it myself?

Thank you!

Went another route with this. Wrote a SmartApp that simply records a 5 second clip with any mode change. So when the house goes from Home -> Away, all the cameras take a 5 second clip, which, in turn, refreshes the view of the cameras in the app. I’ll keep an eye out and if the handler ever gets the image capture ability, maybe I’ll update. :slight_smile:

1 Like

Will you share your app?

Sure. It’s super simple. I have to do a little troubleshooting though… The Arlo(Connect) app will sometimes throw the error:

copyClipDataFromArloToSt() failed for 52M1817AA80A6; error=Failed to complete. Message was: Read timeout to vh-na01-useast1.connect.smartthings.com/34.206.102.155:8400 of 20000 ms Arlo_ClipCopy_ResponseTime=20206

When that happens, the camera doesn’t capture, but for the most part it works. Not sure if I am hitting a timeout or something I can’t control.

/**
 *  Arlo Camera Capture on Mode Change
 *
 *  Captures 5 seconds of video from Arlo cameras when the mode changes. Will refresh the camera view in the app. 
**/

import groovy.time.TimeCategory

definition(
	name: "Arlo Camera Capture on Mode Change",
	namespace: "evanbeek",
	author: "evanbeek@gmail.com",
	description: "Captures 5 seconds of video from Arlo cameras when the mode changes. Will refresh the camera view in the app.",
	category: "My Apps",
	iconUrl: "https://storage.googleapis.com/arlopilot/arlo-small.png",
	iconX2Url: "https://storage.googleapis.com/arlopilot/arlo-med.png",
	iconX3Url: "https://storage.googleapis.com/arlopilot/arlo-large.png"
) 

preferences {
	section("Setup") {
		input "cameras", "capability.videoCapture", multiple: true
        }
}

def installed() {
	log.debug "Installed with settings: ${settings}"
	initialize()
}

def updated() {
	log.debug "Updated with settings: ${settings}"
	unsubscribe()
	initialize()
}

def initialize() {
	subscribe(location, onLocation)
}

def onLocation(evt) {
	log.debug "$evt.name: $evt.value"
	log.debug "Refreshing cameras with 5 second capture"
    Date start = new Date()
    Date end = new Date()
    use( TimeCategory ) {
    	end = start + 5.seconds
 	}
    log.debug "Capturing..."
    cameras.capture(start, start, end)
}

There must be some built in limit I am hitting. With 6 cameras, 4-5 of them will trigger, but the last one or two never record. If I do the same trigger with SHM it seems to get all 6 (but with a 30 second record which seems unecessarily long just to refresh the cameras).

@greg What’re the chances of getting 5 and 10 seconds added as record time options for custom SHM camera events? :slight_smile:

Or just make this a number entry with a 2..120 range. :slight_smile:

I have 4 arlos and will try your app when I get a chance

As far as changing SHM options you can email support and they will log your request.

But here is a suggestion, you can use IFTTT to make a 10 second recording when an ST sensor opens. Create a virtual momentary switch that you turn on with your mode change routines. I haven’t tried it and I’m running out the door but I think that will get you a new image. let me know if you try it.

After a week or so (and the newness of the cameras wore off), I realized that refreshing the cameras wasn’t necessary. If there’s motion, and it records, they are refreshed anyway. And if not, it doesn’t matter if the picture is 3 days old. If I go live view, it updates, and otherwise, I don’t even look at them.

Anyway… wanted to close out the thread. :slight_smile:

You are right. But having an updated view even if there was no motion is nice. Especially in the winter to check snowfall.

@evanbeek Where do you find the documentation on these parameters? Trying to figure if I can make the WebCoRE camera capture command work by adding the correct SmartThings parameters. I tried adding dates/times with string and unix epoch as integer but I could have messed up my conversions.

Thanks!

No documention that I could find. Logging + trial and error. The app I wrote above works, so feel free to grab whatever you need/want out of it.

@evanbeek. I just wanted to let you know this code was a great base for me to add the video functions to ADT Tools. Thanks a bunch for this app because it was a great help in figuring out this code.

No problem. Glad I could help!

I was playing with this again in WebCoRE. I can’t seem to find the default DH for Arlo Camera which I am using, but I finally got WebCore to send the correct parameters (I think?):

Log:
Executed physical command [Arlo Garage].capture([1544116313, 1544116313, 1544116328]) (24ms)

No recordings show up though :frowning:

Show up where? The recordings should show up in the Arlo app.

They don’t show up in the Arlo app as hoped with this piston.

Not sure about the piston. Unless something changed, the code above would trigger a recording in the Arlo app. I haven’t used it for a while… so not 100% sure it is still working. I can check my code tomorrow.