raumklima-web/app.js

51 lines
1.3 KiB
JavaScript

var express = require('express');
var path = require('path');
var redis = require('redis');
var client = redis.createClient();
client.select(3);
client.on('error', function (err) {
console.log('Error ' + err);
});
var keys = [];
for (var i = 1; i <= 8; i++) {
keys.push('rs500_c' + i + '_temp');
keys.push('rs500_c' + i + '_humi');
}
var app = express();
app.use('/static', express.static(path.join(__dirname, 'static')));
app.use('/data', function (request, response) {
client.select(3, function () {
client.mget(keys, function (err, res) {
if (err) {
response.statusCode = 500;
var xErr = new Error(err);
next(xErr);
return;
}
var data = {};
for (var i = 0; i < 8; i++) {
var index = i+1;
var temp = res[2*i];
var humi = res[2*i+1];
data['c' + index + 't'] = temp !== null ? parseFloat(temp) : '--.-';
data['c' + index + 'h'] = humi !== null ? parseInt(humi) : '--';
}
response.json(data);
});
});
});
app.use('/', function(req, res) {
res.redirect('/static/index.html');
});
app.listen(8080, function () {
console.log('App listening on port 8080!');
});