UNPKG

node-red-contrib-sacn-in

Version:

Streaming ACN DMX Input node for Node-RED

29 lines (25 loc) 636 B
module.exports = function(RED){ var e131 = require('e131'); function SacnInNode(config){ RED.nodes.createNode(this, config); if(config.universe < 1){ config.universe = 1; } var server = new e131.Server(parseInt(config.universe)) var node = this; node.on('close', ()=>{ server._socket.close(); }) let timer = null; server.on('packet', (packet)=>{ const chans = packet.getSlotsData(); if(timer == null){ timer = setTimeout(()=>{ node.send({payload: chans}); timer = null; }, (parseInt(config.interval) || 100)) } }) } RED.nodes.registerType("sacn_in", SacnInNode); }