raumstatus/flukso.js

27 lines
821 B
JavaScript
Raw Normal View History

var util = require('util');
var EventEmitter = require('events').EventEmitter;
2016-01-08 16:47:28 +00:00
var request = require('request');
var Flukso = function(hostname, pathname) {
var self = this;
var regexp = /([0-9]+)\]\]$/; // /\(([0-9]+) hosts* up\)/;
this.pollPower = function() {
2016-01-08 16:47:28 +00:00
request({url: "http://" + hostname + pathname}, function(error, res, response) {
if (error) {
self.emit('failed', error)
} else {
var matches = regexp.exec(response);
if(matches != null && matches.length == 2) {
var time = Date.now();
var num = matches[1];
self.emit('done', parseInt(num));
}
2016-01-08 16:47:28 +00:00
}
});
};
};
util.inherits(Flukso, EventEmitter);
module.exports = Flukso;