# Can Not Get Float value from Energy Meter using Modbus RTU serial

**URL:** <https://discourse.nodered.org/t/can-not-get-float-value-from-energy-meter-using-modbus-rtu-serial/62921>\
**Category:** General\
**Created:** [22 May 2022 05:20 UTC](https://discourse.nodered.org/t/can-not-get-float-value-from-energy-meter-using-modbus-rtu-serial/62921 "2022-05-22T05:20:16Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![alpesh](https://avatars.discourse-cdn.com/v4/letter/a/b9e5f3/32.png) [@alpesh](https://discourse.nodered.org/u/alpesh)\
**Post date:** [22 May 2022 05:20 UTC](https://discourse.nodered.org/t/can-not-get-float-value-from-energy-meter-using-modbus-rtu-serial/62921/1 "2022-05-22T05:20:16Z")

</div>

![1](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/0/2/0208c641e4b74ba9ed7acc9ad7c9b4a9e35dd822.jpeg)  
 ![2](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/4/e/4e6353924d29d399ed5a988af283aee153f37c56.jpeg)  
 ![3](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/1/6/163306863852058381582712a84dbb94335fd88c.jpeg)  
 ![4](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/a/3/a36a3bd3bfc665017afbc7c777c83a7da62e90b0.jpeg)

I am unable to Get Float value from Energy Meter using Modbus RTU serial.  
I am getting completely wrong value.

---

<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:** [22 May 2022 05:47 UTC](https://discourse.nodered.org/t/can-not-get-float-value-from-energy-meter-using-modbus-rtu-serial/62921/2 "2022-05-22T05:47:55Z")

</div>

Set address to 100 & check again.

Edit...

Just noticed you have a multiplier of 0.01 -- remove that.

Lastly, this value might be little endian (so try that too)

---

<div class="post-metadata">

**Author:** ![alpesh](https://avatars.discourse-cdn.com/v4/letter/a/b9e5f3/32.png) [@alpesh](https://discourse.nodered.org/u/alpesh)\
**Post date:** [22 May 2022 07:28 UTC](https://discourse.nodered.org/t/can-not-get-float-value-from-energy-meter-using-modbus-rtu-serial/62921/3 "2022-05-22T07:28:07Z")

</div>

![6](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/9/b/9b4c1c72b5b9774ff3a93091e251fec052f87a5d.jpeg)

With 100 Address i am getting this Error

---

<div class="post-metadata">

**Author:** ![alpesh](https://avatars.discourse-cdn.com/v4/letter/a/b9e5f3/32.png) [@alpesh](https://discourse.nodered.org/u/alpesh)\
**Post date:** [22 May 2022 07:28 UTC](https://discourse.nodered.org/t/can-not-get-float-value-from-energy-meter-using-modbus-rtu-serial/62921/4 "2022-05-22T07:28:53Z")

</div>

And With 101 Address i am getting Some Random Value  
 ![7](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/7/9/79b56d918ebd2a598268d01e46df6e65efc93af3.jpeg)

---

<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:** [22 May 2022 08:09 UTC](https://discourse.nodered.org/t/can-not-get-float-value-from-energy-meter-using-modbus-rtu-serial/62921/5 "2022-05-22T08:09:36Z")

</div>

Ok, the device might be one of those 1 based index addressing.

Could you add another 2 rows to buffer parser...

- Uint16be offset 0, length 2, no multiplier
- Uint16le offset 0, length 2, no multiplier

Show me the debug output & the modbus application values from the same moment in time. In short, I want to see how the node-red data aligns with the modbus app values

---

<div class="post-metadata">

**Author:** ![alpesh](https://avatars.discourse-cdn.com/v4/letter/a/b9e5f3/32.png) [@alpesh](https://discourse.nodered.org/u/alpesh)\
**Post date:** [22 May 2022 08:17 UTC](https://discourse.nodered.org/t/can-not-get-float-value-from-energy-meter-using-modbus-rtu-serial/62921/6 "2022-05-22T08:17:42Z")

</div>

![9](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/d/a/da421c17828ac1f98080e2d78751a2df62a0e078.jpeg)  
Sir , I am getting Integer value as shown in......but this is voltage value so it should be around 240.00V......

---

<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:** [22 May 2022 08:24 UTC](https://discourse.nodered.org/t/can-not-get-float-value-from-energy-meter-using-modbus-rtu-serial/62921/7 "2022-05-22T08:24:17Z")

</div>

I need to also see the values from your modbus application to see if the address registered align. A snapshot of both the values you see in node-red and in the app.

Also, what start address are you using?

---

<div class="post-metadata">

**Author:** ![alpesh](https://avatars.discourse-cdn.com/v4/letter/a/b9e5f3/32.png) [@alpesh](https://discourse.nodered.org/u/alpesh)\
**Post date:** [22 May 2022 08:30 UTC](https://discourse.nodered.org/t/can-not-get-float-value-from-energy-meter-using-modbus-rtu-serial/62921/8 "2022-05-22T08:30:07Z")

</div>

As you can see in Modbus Scanner the Holding Register **H40100**......but in node-red i have to add **101** then Data is coming in some decimal form.......if i use 100 or H40100 then it is showing illegal address........

---

<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:** [22 May 2022 08:34 UTC](https://discourse.nodered.org/t/can-not-get-float-value-from-energy-meter-using-modbus-rtu-serial/62921/9 "2022-05-22T08:34:03Z")

</div>

I realise what you are saying however please indulge me.  
Please show a screenshot showing the values sampled at roughly the same time so that I can verify the alignment of addresses.

---

<div class="post-metadata">

**Author:** ![alpesh](https://avatars.discourse-cdn.com/v4/letter/a/b9e5f3/32.png) [@alpesh](https://discourse.nodered.org/u/alpesh)\
**Post date:** [22 May 2022 08:44 UTC](https://discourse.nodered.org/t/can-not-get-float-value-from-energy-meter-using-modbus-rtu-serial/62921/10 "2022-05-22T08:44:00Z")

</div>

![11](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/2/7/274c197a2f7a6792d7c152b9d0569ae7f4558679.jpeg)  
 ![12](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/e/5/e5586e621c503c67a2fc1760c0e4271a4b643228.jpeg)  
here is the complete screen shot.

---

<div class="post-metadata">

**Author:** ![alpesh](https://avatars.discourse-cdn.com/v4/letter/a/b9e5f3/32.png) [@alpesh](https://discourse.nodered.org/u/alpesh)\
**Post date:** [22 May 2022 08:49 UTC](https://discourse.nodered.org/t/can-not-get-float-value-from-energy-meter-using-modbus-rtu-serial/62921/11 "2022-05-22T08:49:47Z")

</div>

Sir 99 Address is matching with 101 random value

---

<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:** [22 May 2022 08:59 UTC](https://discourse.nodered.org/t/can-not-get-float-value-from-energy-meter-using-modbus-rtu-serial/62921/12 "2022-05-22T08:59:05Z")

</div>

As i suspected, addressing is off by 1 - this is a common phenomena in Modbus.

So in which case, take the values from Address 99 & it should work.

From address 99, read 4 values

In buffer parser...

- FloatBE offset 0, length 2, no multiplier
- FloatLE offset 0, length 2, no multiplier

👆 inspect these - 1 set will look right, the other will look wrong.

---

<div class="post-metadata">

**Author:** ![alpesh](https://avatars.discourse-cdn.com/v4/letter/a/b9e5f3/32.png) [@alpesh](https://discourse.nodered.org/u/alpesh)\
**Post date:** [22 May 2022 09:05 UTC](https://discourse.nodered.org/t/can-not-get-float-value-from-energy-meter-using-modbus-rtu-serial/62921/13 "2022-05-22T09:05:58Z")

</div>

![21](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/0/0/0045e6470701856a6808408010be7cc21d4f6175.jpeg)  
 ![22](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/1/d/1d5d1858b2797c91694d77b00add0d55b0d296ff.jpeg)

Still look some issue....

---

<div class="post-metadata">

**Author:** ![alpesh](https://avatars.discourse-cdn.com/v4/letter/a/b9e5f3/32.png) [@alpesh](https://discourse.nodered.org/u/alpesh)\
**Post date:** [22 May 2022 09:06 UTC](https://discourse.nodered.org/t/can-not-get-float-value-from-energy-meter-using-modbus-rtu-serial/62921/14 "2022-05-22T09:06:21Z")

</div>

```auto
[
    {
        "id": "b4132d0e1950d012",
        "type": "tab",
        "label": "Flow 1",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "83a85713fa0151bc",
        "type": "inject",
        "z": "b4132d0e1950d012",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 320,
        "y": 280,
        "wires": [
            [
                "735e7aca3b0ed1b0"
            ]
        ]
    },
    {
        "id": "735e7aca3b0ed1b0",
        "type": "function",
        "z": "b4132d0e1950d012",
        "name": "address:0",
        "func": "msg.payload ={\n 'fc':3,\n 'unitid':1,\n 'address':99,\n 'quantity':4\n \n}\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 500,
        "y": 280,
        "wires": [
            [
                "13260c154cb8689f"
            ]
        ]
    },
    {
        "id": "13260c154cb8689f",
        "type": "modbus-flex-getter",
        "z": "b4132d0e1950d012",
        "name": "SPM",
        "showStatusActivities": false,
        "showErrors": true,
        "logIOActivities": false,
        "server": "2a0ca9ebcafdd397",
        "useIOFile": false,
        "ioFile": "",
        "useIOForPayload": false,
        "emptyMsgOnFail": false,
        "keepMsgProperties": false,
        "x": 690,
        "y": 280,
        "wires": [
            [
                "d3c1b24edad3f5f3"
            ],
            []
        ]
    },
    {
        "id": "d3c1b24edad3f5f3",
        "type": "buffer-parser",
        "z": "b4132d0e1950d012",
        "name": "C-1",
        "data": "payload",
        "dataType": "msg",
        "specification": "spec",
        "specificationType": "ui",
        "items": [
            {
                "type": "floatbe",
                "name": "item3",
                "offset": 0,
                "length": 2,
                "offsetbit": 0,
                "scale": "1",
                "mask": ""
            },
            {
                "type": "floatle",
                "name": "item2",
                "offset": 0,
                "length": 2,
                "offsetbit": 0,
                "scale": "1",
                "mask": ""
            }
        ],
        "swap1": "",
        "swap2": "",
        "swap3": "",
        "swap1Type": "swap",
        "swap2Type": "swap",
        "swap3Type": "swap",
        "msgProperty": "payload",
        "msgPropertyType": "str",
        "resultType": "value",
        "resultTypeType": "output",
        "multipleResult": true,
        "fanOutMultipleResult": false,
        "setTopic": false,
        "outputs": 1,
        "x": 870,
        "y": 280,
        "wires": [
            [
                "43bd8f12eadcd87f"
            ]
        ]
    },
    {
        "id": "43bd8f12eadcd87f",
        "type": "debug",
        "z": "b4132d0e1950d012",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 1050,
        "y": 280,
        "wires": []
    },
    {
        "id": "2a0ca9ebcafdd397",
        "type": "modbus-client",
        "name": "Secure",
        "clienttype": "simpleser",
        "bufferCommands": true,
        "stateLogEnabled": false,
        "queueLogEnabled": false,
        "tcpHost": "127.0.0.1",
        "tcpPort": "502",
        "tcpType": "DEFAULT",
        "serialPort": "COM2",
        "serialType": "RTU-BUFFERD",
        "serialBaudrate": "9600",
        "serialDatabits": "8",
        "serialStopbits": "1",
        "serialParity": "none",
        "serialConnectionDelay": "100",
        "serialAsciiResponseStartDelimiter": "0x3A",
        "unit_id": "1",
        "commandDelay": "100",
        "clientTimeout": "1000",
        "reconnectOnTimeout": true,
        "reconnectTimeout": "2000",
        "parallelUnitIdsAllowed": true
    }
]

```

---

<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:** [22 May 2022 09:12 UTC](https://discourse.nodered.org/t/can-not-get-float-value-from-energy-meter-using-modbus-rtu-serial/62921/15 "2022-05-22T09:12:13Z")

</div>

In order to make code readable and usable it is necessary to surround your code with three backticks (also known as a left quote or backquote `````)

````auto
``` 
   code goes here 
```

````

You can edit and correct your post by clicking the pencil ✏ icon.

See this post for more details - [How to share code or flow json](https://discourse.nodered.org/t/how-to-share-code-or-flow-json/506)

---

<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:** [22 May 2022 09:15 UTC](https://discourse.nodered.org/t/can-not-get-float-value-from-energy-meter-using-modbus-rtu-serial/62921/16 "2022-05-22T09:15:42Z")

</div>

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

Can you please capture the data coming out of modbud node by adding a debug where shown (set to show complete message) - then, use the "Copy Value" button on the debug tools to capture a full good message.

Dont forget the code formatting.

---

<div class="post-metadata">

**Author:** ![alpesh](https://avatars.discourse-cdn.com/v4/letter/a/b9e5f3/32.png) [@alpesh](https://discourse.nodered.org/u/alpesh)\
**Post date:** [22 May 2022 09:19 UTC](https://discourse.nodered.org/t/can-not-get-float-value-from-energy-meter-using-modbus-rtu-serial/62921/17 "2022-05-22T09:19:21Z")

</div>

![25](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/6/8/682c50aa6a2e5004b16c7c37d70f363e5e436649.jpeg)  
[flows.json](https://discourse.nodered.org/uploads/short-url/cw9A9hwlgGuff7ShN5dftKmd6gv.json) (4.2 KB)

---

<div class="post-metadata">

**Author:** ![alpesh](https://avatars.discourse-cdn.com/v4/letter/a/b9e5f3/32.png) [@alpesh](https://discourse.nodered.org/u/alpesh)\
**Post date:** [22 May 2022 09:20 UTC](https://discourse.nodered.org/t/can-not-get-float-value-from-energy-meter-using-modbus-rtu-serial/62921/18 "2022-05-22T09:20:52Z")

</div>

![26](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/a/d/ad685d1ed21dc466d40c6e831675dcdf34263319.jpeg)

---

<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:** [22 May 2022 09:28 UTC](https://discourse.nodered.org/t/can-not-get-float-value-from-energy-meter-using-modbus-rtu-serial/62921/19 "2022-05-22T09:28:54Z")

</div>

I cant copy text from a picture.

I asked you to set the debug to show complete message..  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/b/2/b2e8a51f18e65a9877152e26c9d90ea7a9161ac1.png)

and to use the copy value from the debug tools

![Greenshot_JklYKgZ47j](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/d/c/dcdf60b269c855dacb96d1a2adb21f054d942eb3.gif)

---

<div class="post-metadata">

**Author:** ![alpesh](https://avatars.discourse-cdn.com/v4/letter/a/b9e5f3/32.png) [@alpesh](https://discourse.nodered.org/u/alpesh)\
**Post date:** [22 May 2022 09:34 UTC](https://discourse.nodered.org/t/can-not-get-float-value-from-energy-meter-using-modbus-rtu-serial/62921/20 "2022-05-22T09:34:54Z")

</div>

Dear sir,

I read your old post from below link and my problem solved.....

" [Modbus TCP float to value - General - Node-RED Forum (nodered.org)](https://discourse.nodered.org/t/modbus-tcp-float-to-value/58393/34)"

Thank you very much for your support.

[Next page](https://discourse.nodered.org/t/can-not-get-float-value-from-energy-meter-using-modbus-rtu-serial/62921.md?page=2)
