smithtek-node-red-tools
Version:
Set of tools for the Mako PLC, or any PLC
53 lines (45 loc) • 1.64 kB
JavaScript
module.exports = function (RED) {
var vm = require("vm");
function TestNode(config) {
RED.nodes.createNode(this, config);
this.var1 = config.var1;
this.var2 = config.var2;
this.var3 = config.var3;
this.var4 = config.var4;
this.var5 = config.var5;
this.var6 = config.var6;
this.var7 = config.var7;
this.var8 = config.var8;
this.var9 = config.var9;
this.var10 = config.var10;
var node = this;
this.on('input', function (msg) {
var payload = msg.payload;
var label = Object.keys(payload)[0];
var out1 = this.var1;
var out2 = this.var2;
var out3 = this.var3;
var out4 = this.var4;
var out5 = this.var5;
var out6 = this.var6;
var out7 = this.var7;
var out8 = this.var8;
var out9 = this.var9;
var out10 = this.var10;
var outputList = [out1, out2, out3, out4, out5, out6, out7, out8, out9, out10];
var outputMessage = [];
for (var i = 0; i < 10; i++) {
if (label === outputList[i]) {
msg.payload = payload[label].value;
outputMessage.push(msg);
} else {
outputMessage.push(null);
}
}
// send the outputMessage array
node.send(outputMessage);
});
}
RED.nodes.registerType("splitter", TestNode);
RED.library.register("functions");
};