# Trying to convert mqtt output to input into influxdb

**URL:** <https://discourse.nodered.org/t/trying-to-convert-mqtt-output-to-input-into-influxdb/56260>\
**Category:** General\
**Created:** [7 January 2022 15:27 UTC](https://discourse.nodered.org/t/trying-to-convert-mqtt-output-to-input-into-influxdb/56260 "2022-01-07T15:27:24Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![phkul](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/phkul/32/53709_2.png) [@phkul](https://discourse.nodered.org/u/phkul)\
**Post date:** [7 January 2022 15:27 UTC](https://discourse.nodered.org/t/trying-to-convert-mqtt-output-to-input-into-influxdb/56260/1 "2022-01-07T15:27:24Z")

</div>

Hello,

i need your help with converting mqtt outputs.  
I have a bunch of "mqtt in" nodes to recieve messages from a mqtt server.  
These messages are sturctured like this:  
 ![debug](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/d/1/d1317dfc3be470e8307250ec170b3b8fdd8569fc.png)  
The payload of these messages need to look like this:  
 ![debug_2](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/3/2/32e8cece91255681e5e64c07d30fb2f9fa0c2ae6.png)  
...so they can be input correctly into influxdb.

How can I achieve the obove?

Thank you for your help!

---

<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:** [7 January 2022 16:09 UTC](https://discourse.nodered.org/t/trying-to-convert-mqtt-output-to-input-into-influxdb/56260/2 "2022-01-07T16:09:21Z")

</div>

Hi @phkul.

If your payload is a string with spaces between the elements, you could use a function like this

```auto
let myarray = msg.payload.split(" ");
msg.payload = {
    "name": myarray[0],
    "value": myarray[1].split("=")[1],
    "time": myarray[2],
}
return msg;

```

Edit @bakman2 remembered to convert the value to a number 😄  
You may need to convert the date/time too?  
And we both assumed that your "vaule" was a typo.

---

<div class="post-metadata">

**Author:** ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)\
**Post date:** [7 January 2022 16:10 UTC](https://discourse.nodered.org/t/trying-to-convert-mqtt-output-to-input-into-influxdb/56260/3 "2022-01-07T16:10:35Z")

</div>

You could use a function node to split the string;

```auto
// msg.payload input = "something_german value=192.00 1234567890000"

let m = msg.payload.split(" ")
let name = m[0].trim()
let value = m[1].split("=")[1]
let time = m[2].trim()

msg.payload = {name,value:parseFloat(value),time}

return msg;

```

output:

```auto
msg.payload : Object
object
name: "something_german"
value: 192
time: "1234567890000"

```

edit @jbudd typed a bit quicker 👋

---

<div class="post-metadata">

**Author:** ![ScheepersJohan](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/scheepersjohan/32/39556_2.png) [@ScheepersJohan](https://discourse.nodered.org/u/ScheepersJohan)\
**Post date:** [7 January 2022 20:07 UTC](https://discourse.nodered.org/t/trying-to-convert-mqtt-output-to-input-into-influxdb/56260/4 "2022-01-07T20:07:51Z")

</div>

> [@phkul](#):
>
> i need your help with converting mqtt outputs.

Most of the time it is easier to get the sending device to format the JSON correctly, than to use some fancy foot work in Node-red to fix it.

Just a note, I know sometimes it is not possible.

---

<div class="post-metadata">

**Author:** ![phkul](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/phkul/32/53709_2.png) [@phkul](https://discourse.nodered.org/u/phkul)\
**Post date:** [10 January 2022 20:06 UTC](https://discourse.nodered.org/t/trying-to-convert-mqtt-output-to-input-into-influxdb/56260/5 "2022-01-10T20:06:30Z")

</div>

@jbudd @bakman2 thank you so much for your help. Your solutions solved my problem perfectly!

---

<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:** [11 March 2022 20:06 UTC](https://discourse.nodered.org/t/trying-to-convert-mqtt-output-to-input-into-influxdb/56260/6 "2022-03-11T20:06:43Z")

</div>

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