1.4.0 • Published 4 years ago
foscamhd-client v1.4.0
node-foscamhd
simple node client for Foscam HD cameras providing a few basic operations
Usage
setup and configure
const FoscamHdClient = require('foscamhd-client');
let client = new FoscamHdClient({
protocol: 'http', // if not specified, defaults to 'http'
host: '192.168.1.123',
port: 1138, // if not specified, defaults to 80
user: 'admin',
pass: 'p4$$w4rd'
});
get url of mjpeg stream todo: add optional guest and operator user/pass sections to config, pass in role as param
client.getStreamUrl(function(err, url){
// handle error and/or do stuff
// url should be something like: http://domain.com:1138/cgi-bin/CGIStream.cgi?cmd=GetMJStream&usr=admin&pwd=sup3rs3cr3t
});
moves camera to preset location 'name' todo: add method to surface list of preset names
client.gotoPreset(name, function(err, resp){
// handle error and/or do stuff
});
get current infrared mode ('auto' or 'manual')
client.getIrMode(function(err, mode){
// handle error and/or do stuff
});
set infrared mode ('auto' or 'manual')
client.setIrMode(mode, function(err, resp){
// handle error and/or do stuff
});
set infrared led state ('on' or 'off') note: IrMode must be set to 'manual' or setting the state will have no effect
client.setIrState(state, function(err, resp){
// handle error and/or do stuff
});
Functional Testing
create a file in the ./tests/ directory called config.json as below (obviously, substitute your values)
{
"testcamera": {
"host":"192.168.1.123",
"port":1138,
"user":"admin",
"pass":"p4$$w4rd"
}
}
run the following
npm test