Paid work to help finish Node red node

Hi.

Reaching out to anybody who wants some paid work to help us finish a simple node for node-red.

Background.
We use this npm module very often "node-red-nodegen" https://www.npmjs.com/package/node-red-nodegen
Basically we export the contents of a function node, it packages it ready for importing back into node red as a custom node module. Before we install it to node red, we change a little bit of the HTML, add a custom logo, some text on its usage, simple!

Development Scope

Node Function.
We are already handling the function using a node-red function node. The node receives a MQTT message. The node can receive up to 10 different topics.
in the Function node, we split the messages using the topic, then send its payload to one of the 10 output pins.

Problem.
When we export the function node and create the node module package, the topics are hardcoded, no good for dynamic changes on the fly. We want to

  • Change the HTML so it has Text inputs fields we can type the topic in as a string.
  • Connect the HTML to the javascript code so it can pass the string to each consecutive output pin.

If anyone would like to have a go and get paid please email me at : daniel@smithtek.com.au.

A snippet of the function node code.

const varLabels = [
 "demo",
 "demo2",
 "demo3",
 "demo4",
 "demo5",
 "demo6",
 "demo7",
 "demo8",
 "demo9",
 "demo10",
 ];

var payload = msg.payload;
var label = Object.keys(payload)[0];
var output = [];

varLabels.forEach(function (varLabel){
 if (label == varLabel) {
 msg.payload = payload[label].value;
 output.push(msg);
 } else {
 output.push(null);
 }
});

return output;

Here is the clipboard for the function node

[{"id":"9ca7a915.0b6058","type":"function","z":"ac9bff6c.24597","name":"function","func":"const varLabels = [\n \"demo\",\n \"demo2\",\n \"demo3\",\n \"demo4\",\n \"demo5\",\n \"demo6\",\n \"demo7\",\n \"demo8\",\n \"demo9\",\n \"demo10\",\n ];\n\nvar payload = msg.payload;\nvar label = Object.keys(payload)[0];\nvar output = [];\n\nvarLabels.forEach(function (varLabel){\n if (label == varLabel) {\n msg.payload = payload[label].value;\n output.push(msg);\n } else {\n output.push(null);\n }\n});\n\nreturn output;","outputs":10,"noerr":0,"x":1060,"y":920,"wires":[[],[],[],[],[],[],[],[],[],[]]}]

You have already created a thread for this topic.

Please continue the discussion on the other one: