# Multiple Payload in a single MQTT Node

**URL:** https://discourse.nodered.org/t/multiple-payload-in-a-single-mqtt-node/41636
**Category:** General
**Created:** [25 February 2021 18:28 UTC](https://discourse.nodered.org/t/multiple-payload-in-a-single-mqtt-node/41636 "2021-02-25T18:28:25Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![HZB](https://avatars.discourse-cdn.com/v4/letter/h/77aa72/32.png) [@HZB](https://discourse.nodered.org/u/HZB)
#### Post date: [25 February 2021 18:28 UTC](https://discourse.nodered.org/t/multiple-payload-in-a-single-mqtt-node/41636/1 "2021-02-25T18:28:26Z")

</div>

Hi,

I don't want to use multiple MQTT Nodes in a single flow I want to send Status of level, date, last entered comment by using a single MQTT Node.

I am pasting my flow for 1 machine.

```auto
[
    {
        "id": "6a01a541.f7a77c",
        "type": "mqtt out",
        "z": "935db92.1ef9548",
        "name": "",
        "topic": "safety/inspection/forklift/status/fe01",
        "qos": "2",
        "retain": "true",
        "broker": "b90d0ecc.41907",
        "x": 800,
        "y": 180,
        "wires": []
    },
    {
        "id": "75a50af.9b05af4",
        "type": "comment",
        "z": "935db92.1ef9548",
        "name": "FE01",
        "info": "",
        "x": 690,
        "y": 100,
        "wires": []
    },
    {
        "id": "2a71eae6.099dc6",
        "type": "ui_date_picker",
        "z": "935db92.1ef9548",
        "name": "",
        "label": "",
        "group": "219d8573.b713ea",
        "order": 3,
        "width": "3",
        "height": 1,
        "passthru": true,
        "topic": "",
        "x": 415,
        "y": 100,
        "wires": [
            []
        ],
        "l": false
    },
    {
        "id": "5e008e58.239ec",
        "type": "ui_button",
        "z": "935db92.1ef9548",
        "name": "",
        "group": "219d8573.b713ea",
        "order": 4,
        "width": 3,
        "height": 1,
        "passthru": false,
        "label": "UPDATE",
        "tooltip": "",
        "color": "",
        "bgcolor": "GREY",
        "icon": "",
        "payload": "",
        "payloadType": "str",
        "topic": "",
        "x": 130,
        "y": 100,
        "wires": [
            [
                "54596040.fc245"
            ]
        ]
    },
    {
        "id": "54596040.fc245",
        "type": "change",
        "z": "935db92.1ef9548",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "$now()",
                "tot": "jsonata"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 300,
        "y": 100,
        "wires": [
            [
                "2a71eae6.099dc6"
            ]
        ]
    },
    {
        "id": "70bde481.0e65dc",
        "type": "ui_text_input",
        "z": "935db92.1ef9548",
        "name": "",
        "label": "Enter Comments Here",
        "tooltip": "",
        "group": "219d8573.b713ea",
        "order": 7,
        "width": 0,
        "height": 0,
        "passthru": true,
        "mode": "text",
        "delay": 300,
        "topic": "FP04",
        "x": 160,
        "y": 140,
        "wires": [
            []
        ]
    },
    {
        "id": "5767b7b0.555ca8",
        "type": "ui_svg_graphics",
        "z": "935db92.1ef9548",
        "group": "219d8573.b713ea",
        "order": 1,
        "width": 3,
        "height": 3,
        "svgString": "<svg width=\"100%\" height=\"100%\" enable-background=\"new 0 0 0 0\" xmlns=\"http://www.w3.org/2000/svg\">/svg> \n<image width=\"100%\" height=\"100%\" xlink:href=\"http://10.20.233.241:1880/fe01.jpg\" />\n</svg>",
        "clickableShapes": [
            {
                "targetId": "#light_living",
                "action": "click",
                "payload": "light_living",
                "payloadType": "str",
                "topic": "light_living"
            },
            {
                "targetId": "r",
                "action": "click",
                "payload": "r",
                "payloadType": "str",
                "topic": "r"
            }
        ],
        "javascriptHandlers": [],
        "smilAnimations": [],
        "bindings": [],
        "showCoordinates": false,
        "autoFormatAfterEdit": false,
        "showBrowserErrors": true,
        "showBrowserEvents": false,
        "enableJsDebugging": false,
        "sendMsgWhenLoaded": false,
        "outputField": "payload",
        "editorUrl": "//drawsvg.org/drawsvg.html",
        "directory": "",
        "panning": "disabled",
        "zooming": "disabled",
        "panOnlyWhenZoomed": false,
        "doubleClickZoomEnabled": false,
        "mouseWheelZoomEnabled": false,
        "dblClickZoomPercentage": 150,
        "name": "",
        "x": 360,
        "y": 140,
        "wires": [
            []
        ]
    },
    {
        "id": "e96f7798.f090a8",
        "type": "ui_template",
        "z": "935db92.1ef9548",
        "group": "219d8573.b713ea",
        "name": "3-way switch",
        "order": 5,
        "width": 6,
        "height": 1,
        "format": "<div id=\"{{'swc_'+$id}}\" class=\"switchwrapper\">\n <div class=\"toggle_radio\">\n <input type=\"radio\" class=\"toggle_option toggle_3\" id=\"{{'first_'+$id}}\" ng-model=\"value\" value=\"first\">\n <input type=\"radio\" class=\"toggle_option toggle_3\" id=\"{{'second_'+$id}}\" ng-model=\"value\" value=\"second\">\n <input type=\"radio\" class=\"toggle_option toggle_3\" id=\"{{'third_'+$id}}\" ng-model=\"value\" value=\"third\">\n <div id=\"{{'slider_'+$id}}\" class=\"toggle_option_slider toggle_3\"></div>\n <label class=\" toggle_3\" for=\"{{'first_'+$id}}\"><p>Good</p></label>\n <label class=\" toggle_3\" for=\"{{'second_'+$id}}\"><p>Need Service</p></label>\n <label class=\" toggle_3\" for=\"{{'third_'+$id}}\"><p>Out Of Service</p></label>\n </div>\n \n</div>\n\n<script>\n(function(scope) {\n scope.incomingChange = false\n scope.$watch('value', function(value) {\n switch(value){\n case 'first':{\n $(\"#slider_\"+scope.$id).css(\"left\", \"3px\")\n break\n }\n case 'second':{\n $(\"#slider_\"+scope.$id).css(\"left\", \"33%\")\n break\n }\n case 'third':{\n $(\"#slider_\"+scope.$id).css(\"left\", \"66%\")\n break\n }\n }\n if(scope.incomingChange == true){\n scope.incomingChange = false\n return\n }\n if(!value){\n return\n }\n scope.send({payload: value})\n \n });\n scope.$watch('msg', function(msg) {\n if(msg){\n if(scope.value != msg.payload){\n scope.incomingChange = true\n scope.value = msg.payload\n }\n \n }\n });\n})(scope);\n</script>\n \n",
        "storeOutMessages": true,
        "fwdInMessages": true,
        "resendOnRefresh": true,
        "templateScope": "local",
        "x": 370,
        "y": 200,
        "wires": [
            [
                "43a348e6.b35c48",
                "e9bb3172.4a74a"
            ]
        ]
    },
    {
        "id": "43a348e6.b35c48",
        "type": "debug",
        "z": "935db92.1ef9548",
        "name": "Selected option",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "x": 540,
        "y": 180,
        "wires": []
    },
    {
        "id": "b1dbfe36.7d4c7",
        "type": "inject",
        "z": "935db92.1ef9548",
        "name": "Select first",
        "topic": "",
        "payload": "Out of Service",
        "payloadType": "str",
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "x": 140,
        "y": 180,
        "wires": [
            [
                "e96f7798.f090a8"
            ]
        ]
    },
    {
        "id": "73ab2b04.341e54",
        "type": "inject",
        "z": "935db92.1ef9548",
        "name": "Select second",
        "topic": "",
        "payload": "Need service",
        "payloadType": "str",
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "x": 130,
        "y": 220,
        "wires": [
            [
                "e96f7798.f090a8"
            ]
        ]
    },
    {
        "id": "230a25c3.d2197a",
        "type": "inject",
        "z": "935db92.1ef9548",
        "name": "Select third",
        "topic": "",
        "payload": "Good",
        "payloadType": "str",
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "x": 140,
        "y": 260,
        "wires": [
            [
                "e96f7798.f090a8"
            ]
        ]
    },
    {
        "id": "e9bb3172.4a74a",
        "type": "change",
        "z": "935db92.1ef9548",
        "name": "",
        "rules": [
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "first",
                "fromt": "str",
                "to": "1",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "second",
                "fromt": "str",
                "to": "2",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "third",
                "fromt": "str",
                "to": "3",
                "tot": "num"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 540,
        "y": 220,
        "wires": [
            [
                "6a01a541.f7a77c",
                "b28d4d7d.42cc4"
            ]
        ]
    },
    {
        "id": "b28d4d7d.42cc4",
        "type": "ui_level",
        "z": "935db92.1ef9548",
        "group": "219d8573.b713ea",
        "order": 6,
        "width": 0,
        "height": 0,
        "name": "",
        "label": "",
        "colorHi": "#f90101",
        "colorWarn": "#ff0000",
        "colorNormal": "#ffff00",
        "colorOff": "#00ff00",
        "min": "1",
        "max": "3",
        "segWarn": "",
        "segHigh": "",
        "unit": "",
        "layout": "sh",
        "channelA": "",
        "channelB": "",
        "decimals": 0,
        "animations": "soft",
        "shape": "3",
        "colorschema": "valuedriven",
        "textoptions": "default",
        "colorText": "#eeeeee",
        "fontLabel": "kklnkl",
        "fontValue": "",
        "fontSmall": "",
        "colorFromTheme": true,
        "textAnimations": false,
        "hideValue": true,
        "tickmode": "off",
        "peakmode": false,
        "property": "payload",
        "peaktime": 3000,
        "x": 710,
        "y": 240,
        "wires": []
    },
    {
        "id": "6137256a.c1127c",
        "type": "mqtt in",
        "z": "935db92.1ef9548",
        "name": "",
        "topic": "safety/inspection/forklift/status/fe01",
        "qos": "2",
        "datatype": "auto",
        "broker": "b90d0ecc.41907",
        "x": 480,
        "y": 260,
        "wires": [
            [
                "b28d4d7d.42cc4"
            ]
        ]
    },
    {
        "id": "b90d0ecc.41907",
        "type": "mqtt-broker",
        "z": "",
        "name": "",
        "broker": "test.mosquitto.org",
        "port": "1883",
        "clientid": "",
        "usetls": false,
        "compatmode": false,
        "keepalive": "60",
        "cleansession": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthPayload": "",
        "closeTopic": "",
        "closeQos": "0",
        "closePayload": "",
        "willTopic": "",
        "willQos": "0",
        "willPayload": ""
    },
    {
        "id": "219d8573.b713ea",
        "type": "ui_group",
        "z": "",
        "name": "FE - 01",
        "tab": "520d4e1.6420bb",
        "order": 2,
        "disp": true,
        "width": 6,
        "collapse": false
    },
    {
        "id": "520d4e1.6420bb",
        "type": "ui_tab",
        "z": "",
        "name": "FORKLIFTS",
        "icon": "dashboard",
        "order": 2,
        "disabled": false,
        "hidden": false
    }
]

```

If i use different Node for each massage then i have to use 4 MQTT nodes per machine and i have 50 machines, i will end us in using 200 MQTT nodes with different topics.

Any Suggestions!

---

<div class="post-metadata">

### Author: ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)
#### Post date: [25 February 2021 19:22 UTC](https://discourse.nodered.org/t/multiple-payload-in-a-single-mqtt-node/41636/2 "2021-02-25T19:22:55Z")

</div>

> [@HZB](#):
>
> I don't want to use multiple MQTT Nodes in a single flow I want to send Status of level, date, last entered comment by using a single MQTT Node.

Then dont set the topic, send a dynamic topic in `msg.topic`.

---

<div class="post-metadata">

### Author: ![HZB](https://avatars.discourse-cdn.com/v4/letter/h/77aa72/32.png) [@HZB](https://discourse.nodered.org/u/HZB)
#### Post date: [25 February 2021 19:32 UTC](https://discourse.nodered.org/t/multiple-payload-in-a-single-mqtt-node/41636/3 "2021-02-25T19:32:56Z")

</div>

> [@Steve-Mcl](#):
>
> Then dont set the topic, send a dynamic topic in `msg.topic` .

Sorry I don't get it what are you trying to say.

---

<div class="post-metadata">

### Author: ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)
#### Post date: [25 February 2021 19:38 UTC](https://discourse.nodered.org/t/multiple-payload-in-a-single-mqtt-node/41636/4 "2021-02-25T19:38:19Z")

</div>

leave topic empty

![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/c/a/ca7a233b418b2093c238354fab7ee60dfb6fba79.png)

^ obviously i am using injects - but you can set `msg.topic` in a function or a change node or whatever you like

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/5/4/5424dde6662e3d3face965bf4624e7201d5b4fb9.png)

---

<div class="post-metadata">

### Author: ![HZB](https://avatars.discourse-cdn.com/v4/letter/h/77aa72/32.png) [@HZB](https://discourse.nodered.org/u/HZB)
#### Post date: [2 March 2021 14:52 UTC](https://discourse.nodered.org/t/multiple-payload-in-a-single-mqtt-node/41636/5 "2021-03-02T14:52:06Z")

</div>

Can i send different kind of payloads though this method. I mean i need to send a level, a string and date through a same mqtt node. Sorry i am new and still trying to get it done.

---

<div class="post-metadata">

### Author: ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)
#### Post date: [2 March 2021 15:35 UTC](https://discourse.nodered.org/t/multiple-payload-in-a-single-mqtt-node/41636/6 "2021-03-02T15:35:08Z")

</div>

I feel you do not fully understand how MQTT is used, I suggest you start by working this [MQTT Essentials](https://www.hivemq.com/mqtt-essentials/) guide will will give you a lot of useful knowledge. Then the suggestions made earlier should make more sense to you I think.

---

<div class="post-metadata">

### Author: ![Rookie](https://avatars.discourse-cdn.com/v4/letter/r/e47c2d/32.png) [@Rookie](https://discourse.nodered.org/u/Rookie)
#### Post date: [3 March 2021 11:24 UTC](https://discourse.nodered.org/t/multiple-payload-in-a-single-mqtt-node/41636/7 "2021-03-03T11:24:12Z")

</div>

Still learning this myself, but look at using wild cards, you could have it listen for all messages for that particular item.

---

<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: [2 May 2021 11:24 UTC](https://discourse.nodered.org/t/multiple-payload-in-a-single-mqtt-node/41636/8 "2021-05-02T11:24:27Z")

</div>

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