# Buffer Parser - Parsing data to Boolean

**URL:** <https://discourse.nodered.org/t/buffer-parser-parsing-data-to-boolean/100501>\
**Category:** General\
**Tags:** function-node\
**Created:** [4 March 2026 12:17 UTC](https://discourse.nodered.org/t/buffer-parser-parsing-data-to-boolean/100501 "2026-03-04T12:17:34Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Zulpaedi](https://avatars.discourse-cdn.com/v4/letter/z/db5fbb/32.png) [@Zulpaedi](https://discourse.nodered.org/u/Zulpaedi)\
**Post date:** [4 March 2026 12:17 UTC](https://discourse.nodered.org/t/buffer-parser-parsing-data-to-boolean/100501/1 "2026-03-04T12:17:34Z")

</div>

Hi,

I am trying to parse the modbus read buffer data into separate bolean output by using buffer parser, however the output value it seems not following the correct data as per buffer data. Below is my configuration in buffer parser:

 ![Buffer bolean](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/a/a/aafd720cf3e7a1414b1a60a0d697304c348763a4.jpeg)

However the output of the parser is not match with the buffer data, for example the first bit of buffer data is TRUE but first bit output of parser is FALSE. Please see below snip:

 ![Nodes](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/f/a/faa32d59673655fc3b938b8fed47e8c74db7f944.jpeg)

Appreciate if some one can tell me what is wrong with my nodes configuration and how to resolve it.

Cheers,  
Zulpaedi

---

<div class="post-metadata">

**Author:** ![leftymuller](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/leftymuller/32/102326_2.png) [@leftymuller](https://discourse.nodered.org/u/leftymuller)\
**Post date:** [4 March 2026 15:40 UTC](https://discourse.nodered.org/t/buffer-parser-parsing-data-to-boolean/100501/2 "2026-03-04T15:40:15Z")

</div>

Hi Zulpaedi,

Just had a quick look.. It looks like your trying to split a message that has a heap of Boolean's and output them to different MQTT topics?

Have you considered just using a switch node?

Something like this

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

should work... its late here and Ive had a few 🙂

---

<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:** [4 March 2026 18:05 UTC](https://discourse.nodered.org/t/buffer-parser-parsing-data-to-boolean/100501/3 "2026-03-04T18:05:06Z")

</div>

Since your input is already booleans (in an array) there is no need to parse them using buffer parser (as pointed out above) but if you want to, then you can put them together into a buffer from then your current setup will work.

Also, there is no need for separate MQTT nodes - you can apply a topic in the buffer-parser and leave the `topic` blank on the MQTT node (the topic passed from the buffer-parser will be used in the single MQTT node)

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/5/7/57295e00dda46f4a11ab693dbbb01ffcd8a67e97.png)

Demo flow (use `CTRL-I` to import)

```auto
[{"id":"a068b9e573d32d5d","type":"inject","z":"2af928946f7f3bae","name":"Read Coils (fake)","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"[true, false, false, true, false, false, false, false]","payloadType":"json","x":180,"y":140,"wires":[["6fdb7e6eb19767cc"]]},{"id":"f77f479f7f38d713","type":"debug","z":"2af928946f7f3bae","name":"to MQTT","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":420,"y":200,"wires":[]},{"id":"6fdb7e6eb19767cc","type":"function","z":"2af928946f7f3bae","name":"boolArrayToBuffer","func":"const boolArrayToBuffer = (boolArray) => {\n const byteArray = []\n let byte = 0\n\n for (let i = 0; i < boolArray.length; i++) {\n if (boolArray[i]) {\n byte |= (1 << (i % 8))\n }\n if (i % 8 === 7 || i === boolArray.length - 1) {\n byteArray.push(byte)\n byte = 0\n }\n }\n\n return Buffer.from(byteArray)\n}\n\nmsg.payload = boolArrayToBuffer(msg.payload)\nreturn msg\n","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":390,"y":140,"wires":[["8dcef3c86c4c21f5"]]},{"id":"8dcef3c86c4c21f5","type":"buffer-parser","z":"2af928946f7f3bae","name":"","data":"payload","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"bool","name":"VALVE_AREA_1","offset":0,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"bool","name":"VALVE_AREA_2","offset":0,"length":1,"offsetbit":1,"scale":"1","mask":""},{"type":"bool","name":"VALVE_AREA_3","offset":0,"length":1,"offsetbit":2,"scale":"1","mask":""},{"type":"bool","name":"SPRAY_PUMP","offset":0,"length":1,"offsetbit":3,"scale":"1","mask":""},{"type":"bool","name":"SUPPLY_PUMP","offset":0,"length":1,"offsetbit":4,"scale":"1","mask":""}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"value","resultTypeType":"return","multipleResult":true,"fanOutMultipleResult":false,"setTopic":true,"outputs":1,"x":190,"y":200,"wires":[["f77f479f7f38d713"]]},{"id":"3f221581ad092243","type":"global-config","env":[],"modules":{"node-red-contrib-buffer-parser":"3.2.2"}}]

```

---

<div class="post-metadata">

**Author:** ![Zulpaedi](https://avatars.discourse-cdn.com/v4/letter/z/db5fbb/32.png) [@Zulpaedi](https://discourse.nodered.org/u/Zulpaedi)\
**Post date:** [12 April 2026 09:32 UTC](https://discourse.nodered.org/t/buffer-parser-parsing-data-to-boolean/100501/4 "2026-04-12T09:32:44Z")

</div>

Hi All,

Thanks for the replies, I have solve the issue with below configuration:

 ![Boolean Buffer](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/8/9/89f8b9de1bdef10f64266f76a9273da583f11e39.jpeg)

---

<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 July 2026 09:32 UTC](https://discourse.nodered.org/t/buffer-parser-parsing-data-to-boolean/100501/5 "2026-07-11T09:32:48Z")

</div>

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