# Bufferparser with U64 Modbus

**URL:** https://discourse.nodered.org/t/bufferparser-with-u64-modbus/37071
**Category:** General
**Created:** [6 December 2020 09:11 UTC](https://discourse.nodered.org/t/bufferparser-with-u64-modbus/37071 "2020-12-06T09:11:02Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![Becker](https://avatars.discourse-cdn.com/v4/letter/b/c77e96/32.png) [@Becker](https://discourse.nodered.org/u/Becker)
#### Post date: [6 December 2020 09:11 UTC](https://discourse.nodered.org/t/bufferparser-with-u64-modbus/37071/1 "2020-12-06T09:11:02Z")

</div>

Hi,  
I tried to query a U64 Modbus value for the first time. But no matter how I configure the buffer parser, there is always only one error.  
What am I missing?

![grafik](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/3/9/396e02a2005c0a4a7ae3271085f5405a92c3f038.png)  
 ![grafik](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/2/0/20274eb6a22d9238be6ab5c57bc62c94e0d4530f.png)

 ![grafik](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/2/4/243bf4d43f23a7a74351958758a3731b690ac3ec.png)  
 ![grafik](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/0/7/0799560b13485ac380722500f37e1ea771d74713.png)

---

<div class="post-metadata">

### Author: ![UnborN](https://avatars.discourse-cdn.com/v4/letter/u/4491bb/32.png) [@UnborN](https://discourse.nodered.org/u/UnborN)
#### Post date: [6 December 2020 15:32 UTC](https://discourse.nodered.org/t/bufferparser-with-u64-modbus/37071/2 "2020-12-06T15:32:53Z")

</div>

Hi Becker, Hows it going?

in order for someone to help, better make a copy of the message coming out of the Modbus node (_set the Debug node to complete message_) and paste here using :

![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/2X/d/d56639561f3c9fa2f21f979311d7d4edcc5a9ef1.png)

![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/0/8/0846a8eaa46471b55588ccedd8fef507785f33ef.png)

... also what value do you expect to get ?

ps. what version of Node are you using ? `node -v`  
there was a discussion regarding bigInt values not being supported below a certain version of node

---

<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: [6 December 2020 16:14 UTC](https://discourse.nodered.org/t/bufferparser-with-u64-modbus/37071/3 "2020-12-06T16:14:53Z")

</div>

Works for me...

![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/7/9/79ba2021321dbf7d027456d32d3a781a16faa9e5.png)

demo flow...

```auto
[{"id":"9f14c6b8.670228","type":"inject","z":"e5137ea5.3fdd9","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"[0,0,1,35,8,243,128,0,0,0,128,0]","payloadType":"bin","x":1090,"y":60,"wires":[["c2d8080e.081d88"]]},{"id":"c2d8080e.081d88","type":"buffer-parser","z":"e5137ea5.3fdd9","name":"","data":"payload","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"bigint64be","name":"bigint64be","offset":0,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"bigint64le","name":"bigint64le","offset":0,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"biguint64le","name":"buigint64le","offset":0,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"biguint64be","name":"buigint64be","offset":0,"length":1,"offsetbit":0,"scale":"1","mask":""}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"keyvalue","resultTypeType":"output","multipleResult":false,"fanOutMultipleResult":false,"setTopic":true,"outputs":1,"x":1090,"y":100,"wires":[["7376720d.cb23ac"]]},{"id":"7376720d.cb23ac","type":"debug","z":"e5137ea5.3fdd9","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1090,"y":140,"wires":[]}]

```

if you want us to look further, copy the FULL message as described by @UnborN

Also, to backup @UnborN hinted at, Bigint64 is a feature of [node version \> v10.4.0](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) - so what version of node-js are you on?

And lastly, only most recent node-red (v1.2.4+ i think) can display bigint in the debug side-bar

And to add a bit more pain, unless you are actually getting values \> int 2,147,483,647 or \> uint 4,294,967,295 then I recommend casting the values to regular int/uint as you will have difficulty working with the bigint values once you have them.

---

<div class="post-metadata">

### Author: ![Becker](https://avatars.discourse-cdn.com/v4/letter/b/c77e96/32.png) [@Becker](https://discourse.nodered.org/u/Becker)
#### Post date: [6 December 2020 17:55 UTC](https://discourse.nodered.org/t/bufferparser-with-u64-modbus/37071/4 "2020-12-06T17:55:25Z")

</div>

> [@UnborN](#):
>
> node -v

v10.16.3

```auto
{"topic":"bc57293c.b45d5","messageId":"5fcd1a9b7eae09b6296c0167","payload":[0,0,0,53199,0,0,0,46520],"queueLengthByUnitId":{"unitId":3,"queueLength":0},"queueUnitId":3,"unitId":3,"modbusRequest":{"value":{"T3":28.8},"unitid":"3","fc":4,"address":"31397","quantity":"8","messageId":"5fcd1a9b7eae09b6296c0167"},"responseBuffer":{"data":[0,0,0,53199,0,0,0,46520],"buffer":[0,0,0,0,0,0,207,207,0,0,0,0,0,0,181,184]},"_msgid":"61620b69.6a03b4"}

```

msg.payload:

```auto
[0,0,0,53199,0,0,0,46520]

```

53199 & 46520 are correct.  
but soon it´ll go over 16bit and I need the buffer.

---

<div class="post-metadata">

### Author: ![Becker](https://avatars.discourse-cdn.com/v4/letter/b/c77e96/32.png) [@Becker](https://discourse.nodered.org/u/Becker)
#### Post date: [6 December 2020 17:57 UTC](https://discourse.nodered.org/t/bufferparser-with-u64-modbus/37071/5 "2020-12-06T17:57:08Z")

</div>

> [@Steve-Mcl](#):
>
> demo flow...

same error 😯

---

<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: [6 December 2020 18:02 UTC](https://discourse.nodered.org/t/bufferparser-with-u64-modbus/37071/6 "2020-12-06T18:02:50Z")

</div>

~~An node version? node-red version? buffer parser version?~~

EDIT - sorry - I am blind!

---

<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: [6 December 2020 18:05 UTC](https://discourse.nodered.org/t/bufferparser-with-u64-modbus/37071/7 "2020-12-06T18:05:41Z")

</div>

> [@Becker](#):
>
> msg.payload:
> 
> ```auto
> [0,0,0,53199,0,0,0,46520]
> 
> ```

Can you capture the FULL message as we pointed out?

> [@Steve-Mcl](#):
>
> if you want us to look further, copy the FULL message as described by @UnborN

> [@UnborN](#):
>
> better make a copy of the message coming out of the Modbus node ( _set the Debug node to complete message_ ) and paste here using :
> 
> ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/2X/d/d56639561f3c9fa2f21f979311d7d4edcc5a9ef1.png)
> 
> ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/0/8/0846a8eaa46471b55588ccedd8fef507785f33ef.png)

---

<div class="post-metadata">

### Author: ![Becker](https://avatars.discourse-cdn.com/v4/letter/b/c77e96/32.png) [@Becker](https://discourse.nodered.org/u/Becker)
#### Post date: [6 December 2020 18:06 UTC](https://discourse.nodered.org/t/bufferparser-with-u64-modbus/37071/8 "2020-12-06T18:06:14Z")

</div>

I updated to 1.2.6

node-red-contrib-buffer-parser 3.1.3

but -\>  
"TypeError: Cannot read property 'bind' of undefined"

---

<div class="post-metadata">

### Author: ![Becker](https://avatars.discourse-cdn.com/v4/letter/b/c77e96/32.png) [@Becker](https://discourse.nodered.org/u/Becker)
#### Post date: [6 December 2020 18:06 UTC](https://discourse.nodered.org/t/bufferparser-with-u64-modbus/37071/9 "2020-12-06T18:06:56Z")

</div>

> [@Steve-Mcl](#):
>
> Can you capture the FULL message as we pointed out?

I did

```auto
{"topic":"bc57293c.b45d5","messageId":"5fcd1a9b7eae09b6296c0167","payload":[0,0,0,53199,0,0,0,46520],"queueLengthByUnitId":{"unitId":3,"queueLength":0},"queueUnitId":3,"unitId":3,"modbusRequest":{"value":{"T3":28.8},"unitid":"3","fc":4,"address":"31397","quantity":"8","messageId":"5fcd1a9b7eae09b6296c0167"},"responseBuffer":{"data":[0,0,0,53199,0,0,0,46520],"buffer":[0,0,0,0,0,0,207,207,0,0,0,0,0,0,181,184]},"_msgid":"61620b69.6a03b4"}

```

---

<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: [6 December 2020 18:08 UTC](https://discourse.nodered.org/t/bufferparser-with-u64-modbus/37071/10 "2020-12-06T18:08:42Z")

</div>

I'm having a bad day 😕 2 ticks.

---

<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: [6 December 2020 18:13 UTC](https://discourse.nodered.org/t/bufferparser-with-u64-modbus/37071/11 "2020-12-06T18:13:23Z")

</div>

Can you show us what you get from this (its a small flow built from your modbus data...

![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/8/6/8623b70ac0d0965babe3fb6b0ca24e9af1293147.png)

```auto
[{"id":"744c02e3.3e785c","type":"inject","z":"f0c54878.b7be68","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":1160,"y":80,"wires":[["61ef089f.2338a8"]]},{"id":"61ef089f.2338a8","type":"function","z":"f0c54878.b7be68","name":"modbus data","func":"\nreturn { \"topic\": \"bc57293c.b45d5\", \n\"messageId\": \"5fcd1a9b7eae09b6296c0167\", \n\"payload\": [0, 0, 0, 53199, 0, 0, 0, 46520], \n\"queueLengthByUnitId\": { \"unitId\": 3, \"queueLength\": 0 }, \n\"queueUnitId\": 3, \"unitId\": 3, \n\"modbusRequest\": { \n \"value\": { \"T3\": 28.8 }, \"unitid\": \"3\", \"fc\": 4, \"address\": \"31397\", \"quantity\": \"8\", \"messageId\": \"5fcd1a9b7eae09b6296c0167\" }, \"responseBuffer\": { \"data\": [0, 0, 0, 53199, 0, 0, 0, 46520],\n \"buffer\": Buffer.from([0, 0, 0, 0, 0, 0, 207, 207, 0, 0, 0, 0, 0, 0, 181, 184]) }, \n\"_msgid\": \"61620b69.6a03b4\" };","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1170,"y":140,"wires":[["b0563f39.60a0d"]]},{"id":"b0563f39.60a0d","type":"buffer-parser","z":"f0c54878.b7be68","name":"","data":"responseBuffer.buffer","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"bigint64le","name":"bigint64le","offset":0,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"bigint64be","name":"bigint64be","offset":0,"length":1,"offsetbit":0,"scale":"1","mask":""}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"keyvalue","resultTypeType":"output","multipleResult":false,"fanOutMultipleResult":false,"setTopic":true,"outputs":1,"x":1190,"y":200,"wires":[["42c0eecc.55333"]]},{"id":"42c0eecc.55333","type":"debug","z":"f0c54878.b7be68","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1220,"y":260,"wires":[]}]

```

---

<div class="post-metadata">

### Author: ![Becker](https://avatars.discourse-cdn.com/v4/letter/b/c77e96/32.png) [@Becker](https://discourse.nodered.org/u/Becker)
#### Post date: [6 December 2020 18:24 UTC](https://discourse.nodered.org/t/bufferparser-with-u64-modbus/37071/12 "2020-12-06T18:24:25Z")

</div>

TypeError: Cannot read property 'bind' of undefined

🤢 🙄

whats wrong with my NR - I see, its working at your NR

the OS is old, 9 (Stretch) 🥴

---

<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: [6 December 2020 18:27 UTC](https://discourse.nodered.org/t/bufferparser-with-u64-modbus/37071/13 "2020-12-06T18:27:20Z")

</div>

hmmmm

🤔

Can you add a `catch` and link it to a debug node set to show complete message and paste the content of that msg in a reply please?

---

<div class="post-metadata">

### Author: ![Becker](https://avatars.discourse-cdn.com/v4/letter/b/c77e96/32.png) [@Becker](https://discourse.nodered.org/u/Becker)
#### Post date: [6 December 2020 18:28 UTC](https://discourse.nodered.org/t/bufferparser-with-u64-modbus/37071/14 "2020-12-06T18:28:28Z")

</div>

catch ? Don´t know how to

---

<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: [6 December 2020 18:30 UTC](https://discourse.nodered.org/t/bufferparser-with-u64-modbus/37071/15 "2020-12-06T18:30:45Z")

</div>

![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/d/8/d89660d386eb968fa2a56ee857c38ccbcfee140f.png)

```auto
[{"id":"87dc0eac.9baeb","type":"catch","z":"f0c54878.b7be68","name":"","scope":null,"uncaught":false,"x":1090,"y":360,"wires":[["62ec60f.62ed9a"]]},{"id":"62ec60f.62ed9a","type":"debug","z":"f0c54878.b7be68","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1240,"y":360,"wires":[]}]

```

---

<div class="post-metadata">

### Author: ![UnborN](https://avatars.discourse-cdn.com/v4/letter/u/4491bb/32.png) [@UnborN](https://discourse.nodered.org/u/UnborN)
#### Post date: [6 December 2020 18:35 UTC](https://discourse.nodered.org/t/bufferparser-with-u64-modbus/37071/16 "2020-12-06T18:35:01Z")

</div>

In this thread Nick mentions that reading 64bit ints from buffer was added in Node 12

> [@ModBus TCP Read 64-bit registers](https://discourse.nodered.org/t/modbus-tcp-read-64-bit-registers/25402/19):
>
> what version of nodejs are you using? at a command line terminal, enter node -v

---

<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: [6 December 2020 18:37 UTC](https://discourse.nodered.org/t/bufferparser-with-u64-modbus/37071/17 "2020-12-06T18:37:53Z")

</div>

It might be a factor but [MDN says otherwise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt#Browser_compatibility)

---

<div class="post-metadata">

### Author: ![UnborN](https://avatars.discourse-cdn.com/v4/letter/u/4491bb/32.png) [@UnborN](https://discourse.nodered.org/u/UnborN)
#### Post date: [6 December 2020 18:52 UTC](https://discourse.nodered.org/t/bufferparser-with-u64-modbus/37071/18 "2020-12-06T18:52:07Z")

</div>

maybe this ? v12 and v10.20

> **[Buffer | Node.js v15.3.0 Documentation](https://nodejs.org/api/buffer.html#buffer_buf_readbigint64be_offset)**

---

<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: [6 December 2020 19:00 UTC](https://discourse.nodered.org/t/bufferparser-with-u64-modbus/37071/19 "2020-12-06T19:00:14Z")

</div>

Not sure what you mean @UnborN

If you select the V10 dropdown on the nodejs docs & look at [API for node buffer](https://nodejs.org/docs/latest-v10.x/api/buffer.html#buffer_buf_readbigint64be_offset) it does support the bigint functions

---

<div class="post-metadata">

### Author: ![Becker](https://avatars.discourse-cdn.com/v4/letter/b/c77e96/32.png) [@Becker](https://discourse.nodered.org/u/Becker)
#### Post date: [6 December 2020 19:13 UTC](https://discourse.nodered.org/t/bufferparser-with-u64-modbus/37071/20 "2020-12-06T19:13:16Z")

</div>

got it:

```auto
{"topic":"bc57293c.b45d5","messageId":"5fcd1a9b7eae09b6296c0167","payload":[0,0,0,53199,0,0,0,46520],"queueLengthByUnitId":{"unitId":3,"queueLength":0},"queueUnitId":3,"unitId":3,"modbusRequest":{"value":{"T3":28.8},"unitid":"3","fc":4,"address":"31397","quantity":"8","messageId":"5fcd1a9b7eae09b6296c0167"},"responseBuffer":{"data":[0,0,0,53199,0,0,0,46520],"buffer":[0,0,0,0,0,0,207,207,0,0,0,0,0,0,181,184]},"_msgid":"ad050b0c.bb6fb8","originalPayload":[0,0,0,53199,0,0,0,46520],"error":{"message":"TypeError: Cannot read property 'bind' of undefined","source":{"id":"b0563f39.60a0d","type":"buffer-parser","count":1},"stack":"TypeError: Cannot read property 'bind' of undefined\n at dataGetter (/home/pi/.node-red/node_modules/node-red-contrib-buffer-parser/buffer-parser.js:373:49)\n at itemReader (/home/pi/.node-red/node_modules/node-red-contrib-buffer-parser/buffer-parser.js:338:30)\n at parser (/home/pi/.node-red/node_modules/node-red-contrib-buffer-parser/buffer-parser.js:461:25)\n at bufferParserNode._inputCallback (/home/pi/.node-red/node_modules/node-red-contrib-buffer-parser/buffer-parser.js:786:31)\n at hooks.trigger (/usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/nodes/Node.js:203:26)\n at Object.trigger (/usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/hooks.js:113:9)\n at bufferParserNode.Node._emitInput (/usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/nodes/Node.js:195:11)\n at bufferParserNode.Node.emit (/usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/nodes/Node.js:179:25)\n at bufferParserNode.Node.receive..."}}

```

Can the old OS (Strech) be to blame?

[Next page](https://discourse.nodered.org/t/bufferparser-with-u64-modbus/37071.md?page=2)
