Merge branch 'master' of ssh://repos.ctdo.de/raumstatus
Conflicts: node/package.json node/statusbot.js
This commit is contained in:
commit
c4e7aa945d
|
@ -1,4 +1,5 @@
|
|||
{
|
||||
<<<<<<< HEAD
|
||||
"name": "statusbot",
|
||||
"description": "ctdo status bot",
|
||||
"version": "0.0.1",
|
||||
|
@ -15,4 +16,22 @@
|
|||
"moment": "2.3.1"
|
||||
},
|
||||
"main": "index"
|
||||
=======
|
||||
"name": "statusbot",
|
||||
"description": "ctdo status bot",
|
||||
"version": "0.0.1",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"connect-flash": "0.1.1",
|
||||
"express": "3.4",
|
||||
"jade": "0.35",
|
||||
"moment": "2.3.1",
|
||||
"net-snmp": "1.1.8",
|
||||
"node-notifier": "^4.2.3",
|
||||
"redis": "0.8.5",
|
||||
"socket.io": "0.9.16",
|
||||
"underscore": "1.5.2"
|
||||
},
|
||||
"main": "index"
|
||||
>>>>>>> 200046b0f183420dd23f391720a740607a1ec288
|
||||
}
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
var express = require('express'),
|
||||
app = express(),
|
||||
server = require('http').createServer(app),
|
||||
io = require('socket.io').listen(server);
|
||||
app = express(),
|
||||
server = require('http').createServer(app),
|
||||
io = require('socket.io').listen(server),
|
||||
notifier = require('node-notifier');
|
||||
var flash = require('connect-flash');
|
||||
var moment = require('moment');
|
||||
var SnmpMac = require("./snmp-mac");
|
||||
|
@ -32,7 +33,7 @@ var spaceanswer = {
|
|||
twitter: "@ctdo",
|
||||
issue_mail: "server-admin@chaostreff-dortmund.de"
|
||||
},
|
||||
issue_report_channels: [ "issue_mail" ],
|
||||
issue_report_channels: ["issue_mail"],
|
||||
state: {
|
||||
open: null,
|
||||
lastchange: 0,
|
||||
|
@ -42,24 +43,26 @@ var spaceanswer = {
|
|||
}
|
||||
},
|
||||
sensors: {
|
||||
power_consumption: [ {
|
||||
unit: "W",
|
||||
name: "mains power",
|
||||
description: "overall power consumption from our space",
|
||||
location: "basement",
|
||||
value: 0 } ]
|
||||
power_consumption: [{
|
||||
unit: "W",
|
||||
name: "mains power",
|
||||
description: "overall power consumption from our space",
|
||||
location: "basement",
|
||||
value: 0}]
|
||||
}
|
||||
};
|
||||
var simpleanswer = { state: "unknown", count: 0, names: [], lastchange: 0, power: 0 };
|
||||
var usercountanswer = { at: 0, current_value: 0, datapoints: [
|
||||
{ at: 0, value: 0 }
|
||||
]};
|
||||
var simpleanswer = {state: "unknown", count: 0, names: [], lastchange: 0, power: 0};
|
||||
var usercountanswer = {at: 0, current_value: 0, datapoints: [
|
||||
{at: 0, value: 0}
|
||||
]};
|
||||
|
||||
var snmpMac = new SnmpMac("juni.ctdo.de", "ctdo23");
|
||||
var ippoll = new IpPoll("switch2.raum.ctdo.de", "195.160.169.30-120");
|
||||
var flukso = new Flukso("flukso.raum.ctdo.de", "/sensor/cf00e0b22230f4a8870af58f2b8719dd");
|
||||
var notification = new Notification(spaceanswer.state.open)
|
||||
|
||||
var laststate = false;
|
||||
|
||||
snmpMac.on('done', function (res) {
|
||||
simpleanswer.names = res;
|
||||
simpleanswer.lastchange = new Date().getTime();
|
||||
|
@ -76,24 +79,59 @@ ippoll.on('doneState', function (state) {
|
|||
spaceanswer.state.lastchange = new Date().getTime();
|
||||
simpleanswer.state = state;
|
||||
simpleanswer.lastchange = spaceanswer.state.lastchange;
|
||||
io.sockets.emit('sdata', { data: simpleanswer });
|
||||
io.sockets.emit('sdata', {data: simpleanswer});
|
||||
});
|
||||
|
||||
flukso.on('done', function (num) {
|
||||
simpleanswer.power = num;
|
||||
spaceanswer.sensors.power_consumption[0].value = num;
|
||||
io.sockets.emit('sdata', { data: simpleanswer });
|
||||
io.sockets.emit('sdata', {data: simpleanswer});
|
||||
});
|
||||
|
||||
io.configure(function () {
|
||||
io.set('log level', 0);
|
||||
});
|
||||
|
||||
notifier.on('click', function (notifierObject, options) {
|
||||
// Happens if `wait: true` and user clicks notification
|
||||
});
|
||||
|
||||
notifier.on('timeout', function (notifierObject, options) {
|
||||
// Happens if `wait: true` and notification closes
|
||||
});
|
||||
|
||||
function work() {
|
||||
snmpMac.poll();
|
||||
ippoll.pollCount();
|
||||
<<<<<<< HEAD
|
||||
notification.notificate(spaceanswer.state.open);
|
||||
=======
|
||||
|
||||
if (spaceanswer.state.open == true && laststate != true) {
|
||||
laststate == true;
|
||||
notifier.notify({
|
||||
title: 'CTDO - Statusänderung',
|
||||
message: 'Der Chaostreff Dortmund ist nun offen.',
|
||||
icon: path.join('public/img/green.png'), // absolute path (not balloons)
|
||||
sound: true, // Only Notification Center or Windows Toasters
|
||||
wait: true // wait with callback until user action is taken on notification
|
||||
}, function (err, response) {
|
||||
// response is response from notification
|
||||
});
|
||||
} else if (spaceanswer.state.open == false && lasttaste != false) {
|
||||
laststate == false;
|
||||
|
||||
notifier.notify({
|
||||
title: 'CTDO - Statusänderung',
|
||||
message: 'Der Chaostreff Dortmund ist nun geschlossen.',
|
||||
icon: path.join('public/img/red.png'), // absolute path (not balloons)
|
||||
sound: true, // Only Notification Center or Windows Toasters
|
||||
wait: true // wait with callback until user action is taken on notification
|
||||
}, function (err, response) {
|
||||
// response is response from notification
|
||||
});
|
||||
}
|
||||
>>>>>>> 200046b0f183420dd23f391720a740607a1ec288
|
||||
}
|
||||
|
||||
setInterval(work, 60000);
|
||||
|
@ -114,7 +152,7 @@ app.configure('development', function () {
|
|||
app.use(express.static(__dirname + '/public'));
|
||||
app.use(express.bodyParser());
|
||||
app.use(express.cookieParser('chaostreff'));
|
||||
app.use(express.session({ cookie: { maxAge: 60000 }}));
|
||||
app.use(express.session({cookie: {maxAge: 60000}}));
|
||||
app.use(flash());
|
||||
|
||||
|
||||
|
@ -152,7 +190,3 @@ app.post('/form', routes.form);
|
|||
app.get('/', routes.index);
|
||||
|
||||
server.listen(3000, 'localhost');
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue