[OBSOLETE] D-Link Camera Manager (Connect) [Requires Classic App]

Greetings experts

Would anyone know how to access snapshots that are stored in S3 bucket - is there a way to extract a URI
from the code:

def imageBytes = getS3Object(map.bucket, map.key + “.jpg”)
if(imageBytes)
{
s3ObjectContent = imageBytes.getObjectContent()
def bytes = new ByteArrayInputStream(s3ObjectContent.bytes)
storeImage(getPictureName(), bytes)
}

The motion sensor does not integrate into SmartThings, only the control of the motion sensor. It’s a large distinction as you cannot trigger anything directly from a motion event from the camera currently.

what do you get if you type the following into a web browser while on the same local network?:

http://username:password@192.168.0.27:80/config/motion.cgi?enable=yes

I get a blank screen. The app still reports motion as off.

Well that’s the issue, you’re not getting an HTTP response from the camera. Are sure that the IP, Port, Username and Password are correct? Are you able to take a still image?

Yep, I double checked and rechecked. User, pass, ip and port are correct.

EDIT: Still image url works also works in smart app

Ben, would it be possible to get the image from S3 bucket so that users can access it from anywhere, not just local network. I am using your D-Link camera DeviceManager

Thanx,

So you can get an image but not motion?

@KuldipPabla Unfortunately the Image capture capability has depreciated and there is no documentation on how to do that. There may be someone far smarter than me that can figure something out but I only have the implementation as it is now. Once you take a photo in smartthings, you can click on the photo within the multi-tile on the device to download it to your phone.

Yep, I can get image but no motion.

What hardware revision is your camera? Do you get anything when entering the following URL into a web browser?

HTTP:// username:password@ip:port/config/motion.cgi

942l B1

When going to that url, it asks for the username and password again, regardless of if it’s in the URL. Once I enter it I get a response showing motion is disabled and PIR is enabled.

Did you change any of the security settings in the camera’s advanced settings? It seems that the issue is that the camera is not accepting the URL with the user/pass in it, without this you won’t be able to do anything other than get a still image.

Has anyone tried using DSC-5222L (or other cameras) as a motion sensor as well with SmartThings?

I haven’t changed anything other than the default password. I’ll check again tomorrow.

I got it working with HTTP:// username:password@ip:port/config/motion.cgi. Couple of things:

  1. It works well with Chrome browser and doesn’t work with Safari for me
  2. password needs to be plain text

You mean you were able to turn motion on/off or use it as an actual sensor?

Just an update, I didn’t change any settings but I did hit refresh tile, at which point the motion tile updated to on and everything started to work… Any idea why refresh had to be hit for everything to start working?

I meant accessing snapshots using HTTP:// username:password@ip:port/config/motion.cgi

I am still struggling with using camera’s motion sensor

Try hitting the refresh tile. As soon as I did that it started working for me.

I have added both of my cameras, the DCS-931 and DCS-932. It would appear that they need to have passwords set for the app to be able to pickup the video feed. In the process I created too many things for my 2 cameras, and the error I get when trying to delete the extra things is this:

deleted object would be re-saved by cascade (remove deleted object from
associations):
[physicalgraph.app.InstalledSmartApp#23ef4d95-1bd2-4c7d-a720-430f032b2253];
nested exception is org.hibernate.ObjectDeletedException: deleted
object would be re-saved by cascade (remove deleted object from
associations):
[physicalgraph.app.InstalledSmartApp#23ef4d95-1bd2-4c7d-a720-430f032b2253]

How does one fix this? Thanks and this app is awesome!

You’ll probably have to go into IDE and manually delete the device and associated child SmartApp.