ikettle-1.0-api
Version:
Node.js module to control iKettle 1.0, including discovery.
41 lines (31 loc) • 911 B
JavaScript
var Promise = require('bluebird');
var evilscan = require('evilscan');
var iKettle = require('./iKettle');
var iKettleFinder = {};
iKettleFinder.discoverKettles = function() {
return new Promise(function(resolve, reject) {
var options = {
target:'192.168.1.0/24',
port:'2000',
status:'O', // Timeout, Refused, Open, Unreachable
banner: false
};
var results = [];
var scanner = new evilscan(options);
scanner.on('result',function(data) {
results.push(new iKettle(data.ip));
});
scanner.on('error',function(err) {
throw new Error(data.toString());
});
scanner.on('done',function() {
console.log('Found',results.length,'iKettles on network');
//scanner.abort();
scanner.removeAllListeners();
scanner = null;
resolve(results);
});
scanner.run();
});
}
module.exports = iKettleFinder;