SODashServer/routes/lighting_v1.js
2016-07-28 13:57:16 +01:00

98 lines
2.0 KiB
JavaScript

'use strict';
/**
* Created by Martin on 09/02/2016.
*/
/*Var mqttConnect = require("../lib/mqtt/mqttConnect");
mqttConnect.doConnection();*/
var mqttConnect;
function doLightsOn(id) {
mqttConnect.doConnection().lightingOn(id);
}
function doLightsOff(id) {
mqttConnect.doConnection().lightingOff(id);
}
function doLightsCommand(id) {
console.log('doLightsCommand', id);
mqttConnect.doConnection().lightingCommand(id);
}
function setUseRef(ref) {
mqttConnect = ref;
}
module.exports = {
mqttConnect: null, socket: null, use: function(ref) {
setUseRef(ref);
}, turnoff: function(req, res) {
if (!req.body.light) {
res.status(400).send({
status: 'error',
error: 'missing required parameter'
});
return;
}
console.log(req.body.light);
if (req.body.hasOwnProperty('light')) {
var light = req.body.light;
doLightsOff(light);
}
res.json({});
}, turnon: function(req, res) {
console.log(req.body);
if (!req.body.light) {
res.status(400).send({
status: 'error',
error: 'missing required parameter'
});
return;
}
console.log(req.body.light);
if (req.body.hasOwnProperty('light')) {
console.log('Controling ', req.body.light);
var light = req.body.light;
doLightsOn(light);
}
res.json({});
}, command: function(req, res) {
if (!req.body.id) {
res.status(400).send({
status: 'error',
error: 'missing required parameter'
});
return;
}
console.log(req.body.id);
if (req.body.hasOwnProperty('id')) {
var id = req.body.id;
doLightsCommand(id);
}
res.json({});
}, setsocket: function(socket) {
this.socket = socket;
return this;
}, subscribe: function(socket) {
this.socket.subscribe('Lighting', 'LightingDataReceived');
}, doLightsOn: function(id) {
doLightsOn(id);
}, doLightsOff: function(id) {
doLightsOff(id);
}
};