# Converting inject nodes to function block

**URL:** <https://discourse.nodered.org/t/converting-inject-nodes-to-function-block/79579>\
**Category:** General\
**Tags:** function-node\
**Created:** [4 July 2023 17:42 UTC](https://discourse.nodered.org/t/converting-inject-nodes-to-function-block/79579 "2023-07-04T17:42:23Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![SK\_30](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/sk_30/32/80998_2.png) [@SK\_30](https://discourse.nodered.org/u/SK_30)\
**Post date:** [4 July 2023 17:42 UTC](https://discourse.nodered.org/t/converting-inject-nodes-to-function-block/79579/1 "2023-07-04T17:42:23Z")

</div>

Hello,  
I want to convert all inject nodes in my flow to the function node so that I do not have to inject each node manually. I have tried to implement it but only "addVariable3" is being executed. What could be the problem?  
I have shared the flow and a few snaps for reference.

 ![OPC UA server flow](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/b/6/b65e90c7e66fad63d61619afc74db7980a8d5fbb.png)

Code in function block replacing all inject nodes -

```auto
var addFolder = {
    payload: { "opcuaCommand": "addFolder" },
    topic: "ns=1;s=PlantSimulation"
};

var addVariable1 = {
    payload: { "opcuaCommand": "addVariable" },
    topic: "ns=1;s=CreatePart;datatype=Boolean;value= false"
};

var addVariable2 = {
    payload: { "opcuaCommand": "addVariable" },
    topic: "ns=1;s=EnterStation;datatype=Boolean;value= false"
};

var addVariable3 = {
    payload: { "opcuaCommand": "addVariable" },
    topic: "ns=1;s=ExitStation;datatype=Boolean;value= false"
};

return addFolder, addVariable1, addVariable2, addVariable3;

```

[server\_flow.json](https://discourse.nodered.org/uploads/short-url/7afgFm4vGf9pWgCFTI9aywo83sl.json) (5.1 KB)

---

<div class="post-metadata">

**Author:** ![jbudd](https://avatars.discourse-cdn.com/v4/letter/j/5f8ce5/32.png) [@jbudd](https://discourse.nodered.org/u/jbudd)\
**Post date:** [4 July 2023 18:04 UTC](https://discourse.nodered.org/t/converting-inject-nodes-to-function-block/79579/2 "2023-07-04T18:04:47Z")

</div>

If you want to return multiple messages I think you must specify multiple outputs in the node setup.  
Further, you should return them as an array of messages.

Alternatively take a look at node.send(addFolder), node.send(AddVariable1) etc.

---

<div class="post-metadata">

**Author:** ![E1cid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/e1cid/32/77971_2.png) [@E1cid](https://discourse.nodered.org/u/E1cid)\
**Post date:** [4 July 2023 18:14 UTC](https://discourse.nodered.org/t/converting-inject-nodes-to-function-block/79579/3 "2023-07-04T18:14:36Z")

</div>

@SK_30 Always good to read the [docs](https://nodered.org/docs/user-guide/writing-functions#multiple-messages).

```auto
return [[addFolder, addVariable1, addVariable2, addVariable3]];

```

---

<div class="post-metadata">

**Author:** ![jbudd](https://avatars.discourse-cdn.com/v4/letter/j/5f8ce5/32.png) [@jbudd](https://discourse.nodered.org/u/jbudd)\
**Post date:** [4 July 2023 19:35 UTC](https://discourse.nodered.org/t/converting-inject-nodes-to-function-block/79579/4 "2023-07-04T19:35:38Z")

</div>

Thanks @E1cid, as you guessed I've never RTFM.  
At least I got the "array" word right 🙃

---

<div class="post-metadata">

**Author:** ![E1cid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/e1cid/32/77971_2.png) [@E1cid](https://discourse.nodered.org/u/E1cid)\
**Post date:** [4 July 2023 20:26 UTC](https://discourse.nodered.org/t/converting-inject-nodes-to-function-block/79579/5 "2023-07-04T20:26:55Z")

</div>

Sorry jbudd, did i hit the wrong reply button ? The post was meant for @SK_30.

---

<div class="post-metadata">

**Author:** ![jbudd](https://avatars.discourse-cdn.com/v4/letter/j/5f8ce5/32.png) [@jbudd](https://discourse.nodered.org/u/jbudd)\
**Post date:** [4 July 2023 21:14 UTC](https://discourse.nodered.org/t/converting-inject-nodes-to-function-block/79579/6 "2023-07-04T21:14:41Z")

</div>

I took your rebuke as well deserved by me whoever it was sent to 🙂  
It's OK, I'll survive.

---

<div class="post-metadata">

**Author:** ![E1cid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/e1cid/32/77971_2.png) [@E1cid](https://discourse.nodered.org/u/E1cid)\
**Post date:** [4 July 2023 21:45 UTC](https://discourse.nodered.org/t/converting-inject-nodes-to-function-block/79579/7 "2023-07-04T21:45:14Z")

</div>

There was no rebuke intended, just sensible advise, so no need for the self-flagellation.

---

<div class="post-metadata">

**Author:** ![SK\_30](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/sk_30/32/80998_2.png) [@SK\_30](https://discourse.nodered.org/u/SK_30)\
**Post date:** [5 July 2023 07:22 UTC](https://discourse.nodered.org/t/converting-inject-nodes-to-function-block/79579/9 "2023-07-05T07:22:58Z")

</div>

Thank You @E1cid.  
I'll try to check the docs first.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [3 September 2023 07:23 UTC](https://discourse.nodered.org/t/converting-inject-nodes-to-function-block/79579/10 "2023-09-03T07:23:08Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
