I spent way too long trying to get this figured out, so if this helps anyone else, I’m posting the exact steps I followed. I just got my Vera 3 a few days ago, so I have no experience with the advanced side of things, I don’t know how obvious some of these things are to experienced users, but I hope this helps out any newbies like me.
I have two Foscam 8910W cameras, one was on firmware 11.37.2.49, the other was on 11.37.2.44. Both were setup properly and accessible from my browser, but Vera refused to find them or let me add them manually in the “Add Device” section, not matter what I did. So here’s how I successfully added them.
First, download the file for PTZ (Pan, Tilt, Zoom) capability:
I_FoscamPTZ.xml can be downloaded from the following post, you need to be registered and logged in to download it: http://forum.micasaverde.com/index.php/topic,8832.msg68515.html#msg68515
Upload the PTZ file to Vera:
Go to Apps tab, then Develop Apps, then to LUUP Files. In the Upload Files section, navigate to the file you just downloaded, check the box to restart LUUP after upload, and click the GO button.
Once the file is uploaded and LUUP is restarted, you can add your cameras.
To add a camera:
If you’re not still in the Develop Apps section, go there (Apps > Develop Apps), and create a new device (Create Device)
I followed the directions in this post, copied below:
http://forum.micasaverde.com/index.php/topic,10599.msg76555.html#msg76555
Enter the Following Info:
Device Type: urn:schemas-upnp-org:device:DigitalSecurityCamera:1
Internal ID: (Blank)
Descrition:
Upnp Device Filename: (Blank)
Upnp Implementation Filename: (Blank)
IP Address: (Ex. 192.168.1.200:8080)
MAC: (Blank)
Room: <Select/Associate if you already have the room created>
Parent Device: (Blank)
Select “Create Device”, “Device Created” message should appear with new Device ID
Device should now show up in “Devices → All” (It won’t show correctly at this point, but we will add the rest of the settings to fix this)
Next, find this manually added device… Click Settings (Wrench Icon) & Update at a minimum the following fields:
Settings Tab:
URL: snapshot.cgi
Username:
Password:
IP Address: (Should already be entered in ‘192.168.1.200:8080’ format)
Advanced Tab:
impl_file: I_FoscamPTZ.xml
Close out of settings & click “Save”
Within about 30secs you should see the “Camera Icon” update and if all mentioned settings were entered correctly you will see your camera image update to a live capture.
This manually added camera should now even show up in “Devices → Cameras” menu
Success!
Now your camera should be accessible. You need to repeat creating a new device for each camera as needed.
Update 1:
I do not actually have PTZ capability. I can see the images, but none of the controls work
Update 2:
Custom PTZ Settings
After more poking around, it has become apparent that the commands weren’t being sent in the proper format. I had to modify the xml file to have the user name and password hard coded for each camera. I think the wget method and how the original XML file retrieved the username and password weren’t playing nice with my cameras.
For each camera, copy and paste the following text into a text file and save it with the xml extension. I named mine I_FoscamPTZ_Cam1.xml and I_FoscamPTZ_Cam2.xml. Update each file with the proper username and password, for example, lug_username = “camera1user” lug_password= “camera1userpassword”
[font=courier]
<?xml version="1.0"?> function lug_startup(lul_device) lug_username = "[b]user[/b]" lug_password = "[b]password[/b]" lug_stepSize = 5 end lug_startup urn:micasaverde-com:serviceId:PanTiltZoom1 MoveLeft luup.inet.wget("http://" .. lug_username .. ":" .. lug_password .. "@" .. luup.devices[lul_device].ip .. "/decoder_control.cgi?command=6&onestep=" .. lug_stepSize, 5) urn:micasaverde-com:serviceId:PanTiltZoom1 MoveRight luup.inet.wget("http://" .. lug_username .. ":" .. lug_password .. "@" .. luup.devices[lul_device].ip .. "/decoder_control.cgi?command=4&onestep=" .. lug_stepSize, 5) urn:micasaverde-com:serviceId:PanTiltZoom1 MoveUp luup.inet.wget("http://" .. lug_username .. ":" .. lug_password .. "@" .. luup.devices[lul_device].ip .. "/decoder_control.cgi?command=0&onestep=" .. lug_stepSize, 5) urn:micasaverde-com:serviceId:PanTiltZoom1 MoveDown luup.inet.wget("http://" .. lug_username .. ":" .. lug_password .. "@" .. luup.devices[lul_device].ip .. "/decoder_control.cgi?command=2&onestep=" .. lug_stepSize, 5) urn:micasaverde-com:serviceId:PanTiltZoom1 ZoomOut luup.inet.wget("http://" .. lug_username ":" .. lug_password .. "@" .. luup.devices[lul_device].ip .. "/decoder_control.cgi?command=26", 5) urn:micasaverde-com:serviceId:PanTiltZoom1 ZoomIn luup.inet.wget("http://" .. lug_username ":" .. lug_password .. "@" .. luup.devices[lul_device].ip .. "/decoder_control.cgi?command=28", 5) [/font]Upload the files as described above (Apps tab > Develop Apps > LUUP Files), then change the advanced setting of impl_file for each camera to point to the file with its user and password.