Foscam Universal Internal Device Type (HD\Non-HD with Alarm\LED\PTZ Control)

@eparkerjr, thanks for putting this together. I do have a question, though. Where are the images stored after taking them and is it possible to delete them from within the iOS app?

1 Like

I agree with @IamMark on his second issue. What I want is to have smarthings put my Foscam into alarm mode (without losing the alarm settings, like recording video, taking pictures, sending email, etc.) whenever I am away from my home. However, since the alarm mode settings are lost every time this device type goes in and out of alarm, then there is no way for this to work, as the reset alarm-settings will not do anything if an alarm occurs.

If anyone can figure this out, it would be awesome!!!

1 Like

I have a Foscam HD camera that is currently using one of the device types floating around here. I can’t remember which one. To get it to take any pictures I had to configure my foscam to take the lowest quality pictures possible.I had to pick crappiest jpeg mode, or whatever it was. Even then, it is not reliable. What I have noticed - and this is guess work but I’d bet good money this is the issue - the cloud storage thing where the image blob gets put has some sort of byte limit on it, 32k or something is my guess. I’ve noticed at night time when my camera is spitting out mostly black and white images due to the infrared, they are compressed really small (when downloaded and examined independently of smart things). The minute daylight comes the images go above a certain size and then they either take and don’t render properly (part image, part garble) or they don’t work at all. Until the next night…

How do you install??

Did you ever get a C1 to work with this Universal Device Type?

@mdawson I have the C1 working on mine.

@mdawson BTW, here are my settings:

Local IP Address of the C1.

I hadn’t selected the 9xxx series option. Just changed it but I’m not at home so won’t know if it works until I get back. If I have that right. I don’t think ST will forward images to the cloud.

Thanks for the details!

Edit: Boom! I chose “take a picture” which had never worked before, and up popped a pic. Thanks so much!

I’m just wondering is anyone else has had an issue with image display only?

I’ve got this set up and all the PTZ functions work, however I cant seem to get an image displayed?

I press the take button, but it just freezes at “Taking” and doesn’t do anything else until I refresh, which then just clears the taking and put it back to “Take”.

I use the live stream feed in SmartTiles and this works fine so I know the image and link are working correctly, it just appears to be within the ST app that I dont get a picture generated?


I feel your pain. I just got a FI8910W last week, and was going crazy trying to figure out why the image wasn’t being displayed despite everything else working. After a few hours of messing about, I gave up for the night. The next day when I picked it up to continue debugging, I hit the “Take” button and an image popped right up.

I suspect that my issue was related to SmartThings issues on the backend. The images are stored in S3, and I have read that it can be a bit flaky at times.

While researching my issue, another possibility that I came across was in regards to image size. the S3 bucket can only handle images up to a certain size (around 30KB if I’m remembering correctly). So, you may want to try reducing the image quality to see if that makes any difference.

Good luck!

I have a foscam and had issue with no pictures showing up until I switched it to an external dns…it has worked perfectly since

Has anyone got this working using a DDNS server name? I have my own through NO-IP and it works so much better than trying to get my ever-changing home IP address, but I can’t seem to get it to produce an image. All settings are in and correct including the port, username and password, but I still get no image and I’m guessing that’s the reason. Anything I can change in the code to allow for DDNS servers instead of actual IP address?

I also use DDNS, and noticed in the logs that the code doesn’t allow for this. There is an error when it tries to parse the data

It’s looking for an IP address specifically. Additionally instructions seem to refer to it being an on net capability only (i.e. you need to be in your house).

It would be good to get this working on DDNS, working away from the house would be more beneficial.

Is there a smart app that would allow the Foscam to move to a preset position based on a mode change? I can’t seem to find one.


I"m a novice at this stuff. Will this work with a Foscam 19831 V2 on a ST’s V1 hub?

If it does, I could then see the camera feed in my ST’s app?


I’m using this device handler with a DDNS no issues.

I tried to get this Device Type setup to enable/disable motion detection email alerts on my C1 (will then try my 9805p) based on my presence.

At this point:

1 I cannot use an external (mynetgear) ddns url. An internal IP does work. I am wondering if the external address is even necessary if the hub is on our internal network. I was under the impression that sometimes these routines are run from ST cloud and sometimes they are run from the hub? I did see that @Tolik said he was using his ddns…? What device type are you using? I did try the suggested @iambrianj device type, but that doesn’t work at all for newer cams I don’t think.

2 @iam9827 When you disable/enable motion detection, it wipes all of your settings - that makes it unusable at this point. The code needs to go grab your configuration when it toggles this. I’m also not sure if it would actually toggle correctly if you happened to turn the motion detection off in the foscam app itself. It seems not to check the current value before it sets a new status (correct me if I am wrong).

Does anyone out there have a device type that is sufficient for motion detection setting? I don’t need PTZ or LED settings or the ability to take a snapshot. Another bonus would be some kind of indicator that it is actually able to find/connect to your camera :slight_smile:

I’m using RBoys device handler and just entered in my ddns info instead of the IP. Port forwarding is setup on router so I can access from WAN.

Live streaming doesn’t work but I can trigger to take a pic anytime. As long as you can ping your ddns externaly and you receive your internal IP address which you have setup to port forward on your Lan to the local 192. IP it should work.

Hi, I am new to this. I bought a Foscam R2B recently. I setup 2 device handler provided by @reachashish and @eparkerjr and and called them foscam and foscam t2 respectively. I created the corresponding devices and hit the take button. I do not get image either way.

Log from foscam device: No error but no image either

b34aa587-0ca7-48e0-bd93-4debe9003932 10:24:12 AM: debug Parsing 'index:17, mac:94A1A253D63C, ip:C0A80188, port:0058, requestId:436cd5cf-87ad-46e9-b941-e0fd4e683fd7’
b34aa587-0ca7-48e0-bd93-4debe9003932 10:24:11 AM: debug /snapshot.cgi?user=xxx&pwd=xxx
b34aa587-0ca7-48e0-bd93-4debe9003932 10:24:11 AM: debug Executing hubaction on
b34aa587-0ca7-48e0-bd93-4debe9003932 10:24:11 AM: debug Device Network Id set to c0a80188:0058
b34aa587-0ca7-48e0-bd93-4debe9003932 10:24:11 AM: debug Taking Photo

Log from Foscam t2 device: I actually get an error

64e2fb24-2eaf-404a-a421-3b8bdc872697 10:26:40 AM: error grails.validation.ValidationException: Validation Error(s) occurred during save():

  • Field error in object ‘physicalgraph.device.Device’ on field ‘deviceNetworkId’: rejected value [c0a80188:0058]; codes [physicalgraph.device.Device.deviceNetworkId.unique.error.physicalgraph.device.Device.deviceNetworkId,physicalgraph.device.Device.deviceNetworkId.unique.error.deviceNetworkId,,physicalgraph.device.Device.deviceNetworkId.unique.error,device.deviceNetworkId.unique.error.physicalgraph.device.Device.deviceNetworkId,device.deviceNetworkId.unique.error.deviceNetworkId,,device.deviceNetworkId.unique.error,physicalgraph.device.Device.deviceNetworkId.unique.physicalgraph.device.Device.deviceNetworkId,physicalgraph.device.Device.deviceNetworkId.unique.deviceNetworkId,,physicalgraph.device.Device.deviceNetworkId.unique,device.deviceNetworkId.unique.physicalgraph.device.Device.deviceNetworkId,device.deviceNetworkId.unique.deviceNetworkId,,device.deviceNetworkId.unique,unique.physicalgraph.device.Device.deviceNetworkId,unique.deviceNetworkId,,unique]; arguments [deviceNetworkId,class physicalgraph.device.Device,c0a80188:0058]; default message [{0} must be unique]
    64e2fb24-2eaf-404a-a421-3b8bdc872697 10:26:40 AM: debug /cgi-bin/CGIProxy.fcgi?usr=xxx&pwd=xxx&cmd=snapPicture2
    64e2fb24-2eaf-404a-a421-3b8bdc872697 10:26:40 AM: debug Executing hubaction on
    64e2fb24-2eaf-404a-a421-3b8bdc872697 10:26:40 AM: debug Device Network Id set to c0a80188:0058
    64e2fb24-2eaf-404a-a421-3b8bdc872697 10:26:40 AM: debug Taking Photo

Really appreciate any help you could provide.

I experience this issue at times. I simply retry the take button and wait few seconds. At times, needed to go to settings and save to push the config.