var express = require('express'); let router = express.Router(); let mqtt = require('mqtt'); let toSend = null; const brenndauer = 20; // 20sec Relais ON // MQTT: let connected = false; let status = 'MIST'; let client = mqtt.connect('mqtt://play.rexfue.de'); client.on('connect', function() { connected = true; client.subscribe('stat/laufschrift/POWER'); }) client.on('message',function(topix,message) { let erg = message.toString(); console.log("Status = ",erg); status = erg; }); function doPublish(payload) { status = 'pending'; client.publish('cmnd/laufschrift/Power',payload); if (payload == 'On') { setTimeout(doPublish,brenndauer*1000,"Off"); } } /* GET switch data */ router.get('/:cmd', function(req, res, next) { let cmd = req.params.cmd; let wert = req.query.wert; if (cmd == 'get_status') { doPublish(""); } else if (cmd == 'switch_on') { doPublish("On"); } else if (cmd == 'switch_off') { doPublish("Off"); } else if (cmd == 'check') { } else { erg = { error: "invalid command"}; res.json(erg); } res.json({status:status}); }); module.exports = router;