D-Link IP Camera device type (DCS-930L tested)

For my code, Generic Camera Device, which Scottinpollock’s code is based on the path for a D-Link camera in the device preferences is:

/image/jpeg.cgi

false for requires auth
no need for anything in user or password
POSTGET should be GET

This will access you camera locally, same way if you went to a browser and accessed it via http://ip/image/jpeg.cgi

@pstuart @scottinpollock Many many thanks. I now have it working :).

If it helps anyone, here’s what I had to set for a DCS-930L:

  1. Camera Path to Image - Please enter the path to the image *: /image/jpeg.cgi
  2. Does Camera require User Auth? - Please choose if the camera requires authentication (only basic is supported): true
  3. Camera User - admin
  4. Camera Password - The “Device password” for the camera

What happens to the photos that I take - are they stored somewhere? I cannot seem to find the location.
If I go to the activity log, I can see a photo has been taken (and the name, which is partially hidden), but no way to bring those photos up.
Can I access the last few photos, or have them emailed anywhere once they are taken?

Let me guess, on Android? Only the images you take in the device Thing clicking the take action will show. For whatever reason the iOS version allows access to the stored images. I haven’t figured out how to email them, it doesn’t appear to have any decent method to email at the moment.

Or to paraphrase, its pretty much useless on Android. Creating a driver that works was pretty much just an exercise in learning.

Does this thread/code help?

Thanks for posting! I just got it working with my 930L.

Same here. It works with the photoburst app as well. I have a SmartSense sensor placed on top of my puppy crate that takes pictures of my puppy when I’m in "away"mode and she’s causing a ruckus.

It’s working! https://twitter.com/thegilbertchan/status/488446677682888706/photo/1

Advise, that the photoburst app doesn’t take multiple pictures well, so I only have it set to take a single shot.

@Ben Any love for us Android owners ? :frowning: Can the carousel save photos somewhere for us too?

1 Like

I just used this device type with a Foscam FI8904W. All I did was change the path to /snapshot.cgi and it worked like a charm.

Thanks again for creating!

Can you explain more how the “on” and “off” works for the camera? I have the 930L so maybe this doesn’t apply, but how can that tell it now to record motion? What are you recording to? Thanks

Any chance you could do the off and on for a Hikvision camera?

From what I’ve read and tested, if you input this command to the camera URL:

http://{settings.username}:{settings.password}@{settings.host}:{settings.port}/MotionDetection/1

It returns this XML:

Last post in this thread explains that you use the same command as a “PUT” and include the XML but change the enable true to false:

http://www.cam-it.org/index.php?topic=7888.0

Full Hikvision API guide here (specifically section 8.10.1):

Thanks

Hi Scott,

Thanks for this device working w local IP. Actually my old DLink DCS-930 (no L) is just unable to work. When using the device, it goes in a “Taking” state, and never transition back or display anything on my Android app. Any guess?

Regards,
Olivier

None, as I don’t know whats different between the “L” and “non L” models. Have you tested the url passed to the camera in a browser to see if it returns an image?

Yeah just got my camera up and running the other day to realize that I can’t view past photos in the Android app (or any other way that I’m aware of!). I can still have my camera itself send/upload photos, but super bummed that the integration isn’t fully functional.

I’ve got an Android and a DCS-2330L. I’ve followed scottinpollock’s instructions, have it all setup but when i click “Take Photo”, nothing happens. Should this work with my hardware?

Thanks.

EDIT: I changed nothing and tried again, and now the photos are showing up! Awesome, thank you!!

I get this error when I try and save this

java.lang.RuntimeException: Metadata Error: input() can only be invoked inside a section definition

I get this error when I try scottinpollocks code

groovy.lang.MissingMethodException: No signature of method: script14112473213581783180489.metadata() is applicable for argument types: (script14112473213581783180489$_run_closure1) values: [script14112473213581783180489$_run_closure1@7db97728]

Possible solutions: getMetadata(), getState(), setState(java.lang.Object), metaClass(groovy.lang.Closure)

If anybody is considering one of these D-Link cameras like I was you can pick them up for $20 shipped with code NEW10 here

I bought one of the $20 D-Link DSC 930L cameras. It arrived today, works fine on the Ethernet cable but can NOT get it to work on Wifi (myDlink). My parents ordered the same camera and are having the same problem!

Any ideas?