# Help me write code in function node

**URL:** <https://discourse.nodered.org/t/help-me-write-code-in-function-node/63762>\
**Category:** General\
**Tags:** node-red-dashboard\
**Created:** [11 June 2022 10:27 UTC](https://discourse.nodered.org/t/help-me-write-code-in-function-node/63762 "2022-06-11T10:27:13Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![JJ22](https://avatars.discourse-cdn.com/v4/letter/j/dbc845/32.png) [@JJ22](https://discourse.nodered.org/u/JJ22)\
**Post date:** [11 June 2022 10:27 UTC](https://discourse.nodered.org/t/help-me-write-code-in-function-node/63762/1 "2022-06-11T10:27:13Z")

</div>

I cannot write the code for the drop-down list correctly so that it is taken into account in the code. I still don't understand javascript and node-red well. Please tell me where I am wrong and how to write this code

 ![cx](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/1/3/13b0de7cdce4a87819ab6be6c870dc5739c42b89.jpeg)  
 ![Ethernet](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/7/f/7f081a9948ff9e4d7957d4c650b8e0c50f2c8cfa.jpeg)  
 ![kod](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/2/f/2f20d8723a3380ef0606dcbb0c9431bd67420045.jpeg)

---

<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:** [11 June 2022 10:51 UTC](https://discourse.nodered.org/t/help-me-write-code-in-function-node/63762/2 "2022-06-11T10:51:55Z")

</div>

Hi,  
`Input = 24` is saying set Input to 24, you want to use `Input === 24` which is comparing Input to 24. Same with Output and Ethernet.

---

<div class="post-metadata">

**Author:** ![JJ22](https://avatars.discourse-cdn.com/v4/letter/j/dbc845/32.png) [@JJ22](https://discourse.nodered.org/u/JJ22)\
**Post date:** [11 June 2022 11:46 UTC](https://discourse.nodered.org/t/help-me-write-code-in-function-node/63762/3 "2022-06-11T11:46:31Z")

</div>

Now I have another problem, now "Control selection" does not work for me  
 ![join](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/d/3/d39c4da33a77d354a6bfaa1408b8b169efb7595c.jpeg)

---

<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:** [11 June 2022 11:47 UTC](https://discourse.nodered.org/t/help-me-write-code-in-function-node/63762/4 "2022-06-11T11:47:49Z")

</div>

What is msg.payload.Input and Output, are they numbers or strings?

---

<div class="post-metadata">

**Author:** ![JJ22](https://avatars.discourse-cdn.com/v4/letter/j/dbc845/32.png) [@JJ22](https://discourse.nodered.org/u/JJ22)\
**Post date:** [11 June 2022 11:49 UTC](https://discourse.nodered.org/t/help-me-write-code-in-function-node/63762/5 "2022-06-11T11:49:49Z")

</div>

These are numbers

---

<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:** [11 June 2022 11:52 UTC](https://discourse.nodered.org/t/help-me-write-code-in-function-node/63762/6 "2022-06-11T11:52:02Z")

</div>

Are they? show us

---

<div class="post-metadata">

**Author:** ![JJ22](https://avatars.discourse-cdn.com/v4/letter/j/dbc845/32.png) [@JJ22](https://discourse.nodered.org/u/JJ22)\
**Post date:** [11 June 2022 12:03 UTC](https://discourse.nodered.org/t/help-me-write-code-in-function-node/63762/7 "2022-06-11T12:03:17Z")

</div>

![selec](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/d/b/dbb52eba3569bcbaea9ba2c05f99a95094c826c1.jpeg)

---

<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:** [11 June 2022 12:11 UTC](https://discourse.nodered.org/t/help-me-write-code-in-function-node/63762/8 "2022-06-11T12:11:00Z")

</div>

What about Ethernet?

better still, Post your flow please.

---

<div class="post-metadata">

**Author:** ![JJ22](https://avatars.discourse-cdn.com/v4/letter/j/dbc845/32.png) [@JJ22](https://discourse.nodered.org/u/JJ22)\
**Post date:** [11 June 2022 12:28 UTC](https://discourse.nodered.org/t/help-me-write-code-in-function-node/63762/9 "2022-06-11T12:28:16Z")

</div>

Here's what I got

 ![поток](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/3/9/39ddd7912808b0f2cdeaf3972ed5db797f0878bd.jpeg)  
 ![S](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/2/5/252d984ec9e2957e9bc2377fc6414317f7de43dd.jpeg)  
 ![ether](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/2/5/25738ecadf21bbc404152d65eb9a363a813b3250.jpeg)  
 ![сalc22](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/4/a/4abf652f800a392eb4f5c52db50b1f79b376332c.jpeg)

---

<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:** [11 June 2022 12:34 UTC](https://discourse.nodered.org/t/help-me-write-code-in-function-node/63762/10 "2022-06-11T12:34:11Z")

</div>

I asked you to post your flow, that means export the flow json and post here.

Hiighlight the flow(press control and click on a node)  
press control e  
copy to clipboard  
and post here using \</\> button

---

<div class="post-metadata">

**Author:** ![JJ22](https://avatars.discourse-cdn.com/v4/letter/j/dbc845/32.png) [@JJ22](https://discourse.nodered.org/u/JJ22)\
**Post date:** [11 June 2022 12:51 UTC](https://discourse.nodered.org/t/help-me-write-code-in-function-node/63762/11 "2022-06-11T12:51:43Z")

</div>

```auto
[
    {
        "id": "07a15c3dc9fb10db",
        "type": "ui_text",
        "z": "210a9292a496473b",
        "group": "1b74ebe8b8ff2c32",
        "order": 3,
        "width": 0,
        "height": 0,
        "name": "",
        "label": "Control:",
        "format": "{{msg.payload.result}}",
        "layout": "col-center",
        "className": "",
        "x": 800,
        "y": 300,
        "wires": []
    },
    {
        "id": "df3d4436d5f3c62f",
        "type": "ui_form",
        "z": "210a9292a496473b",
        "name": "",
        "label": "Control selection",
        "group": "1b74ebe8b8ff2c32",
        "order": 2,
        "width": 0,
        "height": 0,
        "options": [
            {
                "label": "Input",
                "value": "Input",
                "type": "number",
                "required": true,
                "rows": null
            },
            {
                "label": "Output",
                "value": "Output",
                "type": "number",
                "required": true,
                "rows": null
            }
        ],
        "formValue": {
            "Input": "",
            "Output": ""
        },
        "payload": "",
        "submit": "submit",
        "cancel": "cancel",
        "topic": "S",
        "topicType": "str",
        "splitLayout": "",
        "className": "",
        "x": 210,
        "y": 220,
        "wires": [
            [
                "776066c2a108d36c"
            ]
        ]
    },
    {
        "id": "ec7047541fc37ce2",
        "type": "function",
        "z": "210a9292a496473b",
        "name": "",
        "func": "Input=msg.payload.Input;\nOutput=msg.payload.Output;\nEthernet=msg.payload.Ethernet;\n\n\nif ((Input===24) && (Output===24) && (Ethernet===1)) {\n \n msg.payload.result = 'TM241CE24R';\n \n} else if ((Input===24) && (Output===24) && (Ethernet===0)) {\n \n msg.payload.result = 'TM241CE24T';\n \n} else {\n msg.payload.result = 'not';\n}\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 600,
        "y": 220,
        "wires": [
            [
                "07a15c3dc9fb10db",
                "e4942a47eaf766a8"
            ]
        ]
    },
    {
        "id": "e4942a47eaf766a8",
        "type": "debug",
        "z": "210a9292a496473b",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 810,
        "y": 220,
        "wires": []
    },
    {
        "id": "439b9c34aae7d4f4",
        "type": "ui_dropdown",
        "z": "210a9292a496473b",
        "name": "Ethernet",
        "label": "Ethernet",
        "tooltip": "",
        "place": "Select option",
        "group": "1b74ebe8b8ff2c32",
        "order": 1,
        "width": 0,
        "height": 0,
        "passthru": true,
        "multiple": false,
        "options": [
            {
                "label": "Yes",
                "value": 1,
                "type": "num"
            },
            {
                "label": "No",
                "value": 0,
                "type": "num"
            }
        ],
        "payload": "",
        "topic": "E",
        "topicType": "str",
        "className": "",
        "x": 200,
        "y": 280,
        "wires": [
            [
                "776066c2a108d36c"
            ]
        ]
    },
    {
        "id": "776066c2a108d36c",
        "type": "join",
        "z": "210a9292a496473b",
        "name": "join",
        "mode": "custom",
        "build": "object",
        "property": "payload",
        "propertyType": "msg",
        "key": "topic",
        "joiner": "\\n",
        "joinerType": "str",
        "accumulate": true,
        "timeout": "",
        "count": "",
        "reduceRight": false,
        "reduceExp": "",
        "reduceInit": "",
        "reduceInitType": "",
        "reduceFixup": "",
        "x": 430,
        "y": 220,
        "wires": [
            [
                "ec7047541fc37ce2"
            ]
        ]
    },
    {
        "id": "1b74ebe8b8ff2c32",
        "type": "ui_group",
        "name": "Default1",
        "tab": "b064614c916bb99e",
        "order": 1,
        "disp": true,
        "width": "6",
        "collapse": false,
        "className": ""
    },
    {
        "id": "b064614c916bb99e",
        "type": "ui_tab",
        "name": "Home5",
        "icon": "dashboard",
        "disabled": false,
        "hidden": false
    }
]

```

---

<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:** [11 June 2022 13:02 UTC](https://discourse.nodered.org/t/help-me-write-code-in-function-node/63762/12 "2022-06-11T13:02:27Z")

</div>

You had not given the form and dropdown different topic names, and the join node had no count

```auto
[{"id":"776066c2a108d36c","type":"join","z":"bf9e1e33.030598","name":"join","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"2","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":310,"y":3080,"wires":[["ec7047541fc37ce2"]]},{"id":"df3d4436d5f3c62f","type":"ui_form","z":"bf9e1e33.030598","name":"","label":"Control selection","group":"1b74ebe8b8ff2c32","order":2,"width":0,"height":0,"options":[{"label":"Input","value":"Input","type":"number","required":true,"rows":null},{"label":"Output","value":"Output","type":"number","required":true,"rows":null}],"formValue":{"Input":"","Output":""},"payload":"","submit":"submit","cancel":"cancel","topic":"form","topicType":"str","splitLayout":"","className":"","x":90,"y":3080,"wires":[["776066c2a108d36c"]]},{"id":"439b9c34aae7d4f4","type":"ui_dropdown","z":"bf9e1e33.030598","name":"Ethernet","label":"Ethernet","tooltip":"","place":"Select option","group":"1b74ebe8b8ff2c32","order":1,"width":0,"height":0,"passthru":true,"multiple":false,"options":[{"label":"Yes","value":1,"type":"num"},{"label":"No","value":0,"type":"num"}],"payload":"","topic":"ethernet","topicType":"str","className":"","x":80,"y":3140,"wires":[["776066c2a108d36c"]]},{"id":"ec7047541fc37ce2","type":"function","z":"bf9e1e33.030598","name":"","func":"Input=msg.payload.form.Input;\nOutput=msg.payload.form.Output;\nEthernet=msg.payload.ethernet;\n\n\nif ((Input===24) && (Output===24) && (Ethernet===1)) {\n \n msg.payload.result = 'TM241CE24R';\n \n} else if ((Input===24) && (Output===24) && (Ethernet===0)) {\n \n msg.payload.result = 'TM241CE24T';\n \n} else {\n msg.payload.result = 'not';\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":480,"y":3080,"wires":[["07a15c3dc9fb10db","e4942a47eaf766a8"]]},{"id":"07a15c3dc9fb10db","type":"ui_text","z":"bf9e1e33.030598","group":"1b74ebe8b8ff2c32","order":3,"width":0,"height":0,"name":"","label":"Control:","format":"{{msg.payload.result}}","layout":"col-center","className":"","x":680,"y":3160,"wires":[]},{"id":"e4942a47eaf766a8","type":"debug","z":"bf9e1e33.030598","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":530,"y":3220,"wires":[]},{"id":"1b74ebe8b8ff2c32","type":"ui_group","name":"Default1","tab":"b064614c916bb99e","order":1,"disp":true,"width":"6","collapse":false,"className":""},{"id":"b064614c916bb99e","type":"ui_tab","name":"Home5","icon":"dashboard","disabled":false,"hidden":false}]

```

try this

---

<div class="post-metadata">

**Author:** ![JJ22](https://avatars.discourse-cdn.com/v4/letter/j/dbc845/32.png) [@JJ22](https://discourse.nodered.org/u/JJ22)\
**Post date:** [11 June 2022 13:25 UTC](https://discourse.nodered.org/t/help-me-write-code-in-function-node/63762/13 "2022-06-11T13:25:50Z")

</div>

Thank you very much, everything works! You helped a lot)

---

<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:** [25 June 2022 13:26 UTC](https://discourse.nodered.org/t/help-me-write-code-in-function-node/63762/14 "2022-06-25T13:26:22Z")

</div>

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