This plugin will talk to the older, pre-HD versions of the foscam cameras.
These commands are issued by telling the specific interface to perform the command in the fashion of:
tell xInterface “my ancient camera” to gotoPreset( 4)
Note that your camera may only support a subset of these commands.
Most of these older cameras want the user and password embedded into the URL you are using to either get snapshots or the mjpeg stream. The camera API however needs them to also be filled into the interfaces user and password fields so make sure to fill them in both places if necessary.
In addition to these API commands some information about controlling the resolution and fps via the query string in the request are also available.
/snapshot.cgi?user=&pwd= /videostream.cgi?user=&pwd=&resolution=&rate=
Resolution:
rate:
Valid values are from 0 to 255.
setBrightness( 49)
Valid values are from 0 to 6.
setContrast( 4)
Control the IR illumination. Pass True or False.
setIR( True)
Control if the image is flipped upside down and/or mirrored left to right. These 2 settings are combined together as one in the camera so you must pass both into this single command. Pass 2 boolean values the first to indicate if the image should be flipped, the second if it should be mirrored. If your camera is mounted upside down you’ll want to pass 2 boolean true.
setFlipMirror( True, True)
By default the plugin will begin scanning the camera for information about Motion and Sound events. Upon the first reception of either a unit will be created in XTension to receive the events and you can use that to perform any scripting based on the event.
If your camera does not support these, if you have them turned off in the camera or if the support is different than what is supported and generates errors you can disable one or the other or both via the following commands:
tell xInterface “doorbell” to enableMotionDetection( [True|False]) tell xInterface “doorbell” to enableSoundDetection( [True|False])
The background processing will be started or stopped as needed. This effects if XTension will scan the camera for events, it does not change the cameras processing of events. Use the next verbs for that.
Pass True or False to enable or disable motion detection in the camera. This does not effect the scanning for events in XTension. To turn those on or off use the above enableMotionDetection command.
setMotion( True)
Adjusts the sensitivity of the camera to motion. Valid values are from 0 to 9 with 0 being the highest sensitivity and 9 being the least sensitive.
setMotionSensitivity( 2)
Some cameras will support motion compensation to try to ignore rapid changes in light level which can otherwise be seen as motion. Valid values are True or False
setMotionCompensation( True)
Turns on or off sound detection in the camera if supported. Valid values are True or False.
setSound( True)
Sets the sound level necessary to trigger an event. Valid values are from 0 to 9
setSoundSensitivity( 1)
Asks the camera to move to the specified preset. The number of presets available depends on the camera model but the command supports numbers 1 through 16. Note that there is no preset 0.
gotoPreset( 7)
Saves the current PTZ location into the specified preset. The number of presets available depends on the camera model but the command supports numbers 1 through 16. Note that there is no preset 0.
setPreset( 7)
Asks the camera to center itself.
ptzCenter()
Asks the camera to tilt up by the specified number of degrees. A degree number is required.
ptzUp( 25) ===PTZ Down=== Tilt down by the specified number of degrees. <code> ptzDown( 13)
Pan left by the specified number of degrees.
ptzLeft( 75)
Pan right by the specified number of degrees.
ptzRight( 12)
Many of the cameras also support diagonal movement via these 4 commands:
ptzUpLeft( 10) ptzUpRight( 10) ptzDownLeft( 10) ptzDownRight( 10)
ptzUpDownPatrol() ptzStopUpDown() ptzLeftRightPatrol() ptzStopLeftRight()
The ptz movement speed can also be set but the change requres a reboot (use the reboot() command below) in order for the effect to take effect. Or at least it does on my camera, yours may be different. Some experimentation may be needed. Valid values are from 0 to 30.
tell xInterface “my old camera” ptzSpeed( 25) reboot() end tell
By default most of the cameras will center themselves after they reboot, potentially leaving you looking in the wrong direction after a power hit. You can set which preset you would like the camera to go to after it’s booted and the motors are calibrated. Pass the number of any valid preset you have set from 1 to 16.
ptzPresetOnBoot( 7)
Takes no parameters, causes the camera to reboot itself.
tell xInterface “my ancient cam” to reboot()
Not to be confused with the IR illumination LEDs controled via the setIR command above this controls the LED’s on the front of the camera, or possibly the LED’s on the network port?. Valid values are from 0 to 2.
setLEDMode( 2)