# Sort data from electricity meter

**URL:** https://discourse.nodered.org/t/sort-data-from-electricity-meter/53253
**Category:** Developing Nodes
**Created:** [5 November 2021 09:48 UTC](https://discourse.nodered.org/t/sort-data-from-electricity-meter/53253 "2021-11-05T09:48:39Z")
**Posts on this page:** 15
**Page:** 1

<div class="post-metadata">

### Author: ![Matsmlq](https://avatars.discourse-cdn.com/v4/letter/m/71e660/32.png) [@Matsmlq](https://discourse.nodered.org/u/Matsmlq)
#### Post date: [5 November 2021 09:48 UTC](https://discourse.nodered.org/t/sort-data-from-electricity-meter/53253/1 "2021-11-05T09:48:39Z")

</div>

Hi I´m trying to sort the data from my Emeters Han-port.  
"0100010700FF": [908, [0, "W"]], 908 is current power.  
I´m quite new to Nod-red so Help please!

{  
"elapsedtime": 58526314,  
"rssi": -88,  
"mac": "F4:CF:A2:D0:7B:99",  
"localip": "192.168.1.90",  
"ssid": "Idrott",  
"hostname": "ESP-D07B99",  
"header": {  
"encoding": "A-XDR",  
"frameformat": 3,  
"segmentation": 0,  
"datalength": 579,  
"client": 65,  
"server": 2179,  
"control": 19,  
"hcs": "eb85",  
"fcs": "388e",  
"llc": "e6e700"  
},  
"apdu": {  
"tag": 15,  
"liiap": "40000000",  
"datetime": "00"  
},  
"payload": {  
"0000010000FF": ["07E50B0505073300FF8000FF"],  
"0100010700FF": [908, [0, "W"]],  
"0100020700FF": [0, [0, "W"]],  
"0100030700FF": [0, [0, "var"]],  
"0100040700FF": [483, [0, "var"]],  
"01001F0700FF": [10, [-1, "A"]],  
"0100330700FF": [5, [-1, "A"]],  
"0100470700FF": [27, [-1, "A"]],  
"0100200700FF": [2349, [-1, "V"]],  
"0100340700FF": [2335, [-1, "V"]],  
"0100480700FF": [2333, [-1, "V"]],  
"0100150700FF": [225, [0, "W"]],  
"0100160700FF": [0, [0, "W"]],

---

<div class="post-metadata">

### Author: ![E1cid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/e1cid/32/77971_2.png) [@E1cid](https://discourse.nodered.org/u/E1cid)
#### Post date: [5 November 2021 10:18 UTC](https://discourse.nodered.org/t/sort-data-from-electricity-meter/53253/2 "2021-11-05T10:18:55Z")

</div>

What do you mean by sort?  
do you want the path to the value?  
here is some good ifo on how to obtain paths using the debug pane.  
[https://nodered.org/docs/user-guide/messages](https://nodered.org/docs/user-guide/messages)  
the value 908 is at `msg.payload["0100010700FF"][0]`

---

<div class="post-metadata">

### Author: ![Matsmlq](https://avatars.discourse-cdn.com/v4/letter/m/71e660/32.png) [@Matsmlq](https://discourse.nodered.org/u/Matsmlq)
#### Post date: [5 November 2021 10:43 UTC](https://discourse.nodered.org/t/sort-data-from-electricity-meter/53253/3 "2021-11-05T10:43:34Z")

</div>

I wan´t to use the value to store it in influx and put it in a graph in Grafana.

---

<div class="post-metadata">

### Author: ![Matsmlq](https://avatars.discourse-cdn.com/v4/letter/m/71e660/32.png) [@Matsmlq](https://discourse.nodered.org/u/Matsmlq)
#### Post date: [7 November 2021 18:08 UTC](https://discourse.nodered.org/t/sort-data-from-electricity-meter/53253/4 "2021-11-07T18:08:21Z")

</div>

Now I tried this in a function node!  
I get this:  
object

payload: "0100010700FF"

topic: ""

\_msgid: "23cde9b951be24d8"

statusCode: 200

headers: object

responseUrl: "[http://192.168.1.90/data.json](http://192.168.1.90/data.json)"

redirectList: array[0]

retry: 0

---

<div class="post-metadata">

### Author: ![E1cid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/e1cid/32/77971_2.png) [@E1cid](https://discourse.nodered.org/u/E1cid)
#### Post date: [7 November 2021 18:20 UTC](https://discourse.nodered.org/t/sort-data-from-electricity-meter/53253/5 "2021-11-07T18:20:00Z")

</div>

> [@Matsmlq](#):
>
> Now I tried this in a function node!

how? Maybe you could show us?

---

<div class="post-metadata">

### Author: ![Matsmlq](https://avatars.discourse-cdn.com/v4/letter/m/71e660/32.png) [@Matsmlq](https://discourse.nodered.org/u/Matsmlq)
#### Post date: [7 November 2021 21:17 UTC](https://discourse.nodered.org/t/sort-data-from-electricity-meter/53253/6 "2021-11-07T21:17:38Z")

</div>

```auto
msg.payload = ["0100010700FF"] [0];
return msg;

```

---

<div class="post-metadata">

### Author: ![E1cid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/e1cid/32/77971_2.png) [@E1cid](https://discourse.nodered.org/u/E1cid)
#### Post date: [7 November 2021 21:33 UTC](https://discourse.nodered.org/t/sort-data-from-electricity-meter/53253/7 "2021-11-07T21:33:54Z")

</div>

```auto
msg.payload = msg.payload["0100010700FF"][0];
return msg;

```

---

<div class="post-metadata">

### Author: ![Matsmlq](https://avatars.discourse-cdn.com/v4/letter/m/71e660/32.png) [@Matsmlq](https://discourse.nodered.org/u/Matsmlq)
#### Post date: [7 November 2021 21:38 UTC](https://discourse.nodered.org/t/sort-data-from-electricity-meter/53253/8 "2021-11-07T21:38:50Z")

</div>

``Gives:  
`  
TypeError: Cannot read property '0' of undefined

```auto

```

---

<div class="post-metadata">

### Author: ![E1cid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/e1cid/32/77971_2.png) [@E1cid](https://discourse.nodered.org/u/E1cid)
#### Post date: [7 November 2021 21:51 UTC](https://discourse.nodered.org/t/sort-data-from-electricity-meter/53253/9 "2021-11-07T21:51:34Z")

</div>

Then please copy the value of the object payload.  
You can do this in the debug panel. hover your mouse to the right of the payload object and 3 icons will appear. One of them is copy value. paste the value here between backticks, press \</\> and you get  
```  
type or paste code here  
```  
You can also get the path to any value you want using the copy path button.

We need to see a clear representation of the incoming msg, or you need to learn how to find paths and work with messages. It may be a good idea to read this page and watch the videos  
[https://nodered.org/docs/user-guide/messages](https://nodered.org/docs/user-guide/messages)  
I suspect the path is

```auto
msg.payload = msg.payload.payload["0100010700FF"][0];
return msg;

```

but we can not keep guessing. So if that fails please show your incoming data properly formated and between backticks as shown above.

---

<div class="post-metadata">

### Author: ![Matsmlq](https://avatars.discourse-cdn.com/v4/letter/m/71e660/32.png) [@Matsmlq](https://discourse.nodered.org/u/Matsmlq)
#### Post date: [7 November 2021 22:00 UTC](https://discourse.nodered.org/t/sort-data-from-electricity-meter/53253/10 "2021-11-07T22:00:13Z")

</div>

```auto
{"elapsedtime":120979242,"rssi":-92,"mac":"F4:CF:A2:D0:7B:99","localip":"192.168.1.90","ssid":"Idrott","hostname":"ESP-D07B99","header":{"encoding":"A-XDR","frameformat":3,"segmentation":0,"datalength":579,"client":65,"server":2179,"control":19,"hcs":"eb85","fcs":"31a7","llc":"e6e700"},"apdu":{"tag":15,"liiap":"40000000","datetime":"00"},"payload":{"0000010000FF":["07E50B0700163B00FF8000FF"],"0100010700FF":[565,[0,"W"]],"0100020700FF":[0,[0,"W"]],"0100030700FF":[0,[0,"var"]],"0100040700FF":[557,[0,"var"]],"01001F0700FF":[11,[-1,"A"]],"0100330700FF":[6,[-1,"A"]],"0100470700FF":[16,[-1,"A"]],"0100200700FF":[2340,[-1,"V"]],"0100340700FF":[2340,[-1,"V"]],"0100480700FF":[2351,[-1,"V"]],"0100150700FF":[165,[0,"W"]],"0100160700FF":[0,[0,"W"]],"0100170700FF":[0,[0,"var"]],"0100180700FF":[206,[0,"var"]],"0100290700FF":[117,[0,"W"]],"01002A0700FF":[0,[0,"W"]],"01002B0700FF":[0,[0,"var"]],"01002C0700FF":[85,[0,"var"]],"01003D0700FF":[280,[0,"W"]],"01003E0700FF":[0,[0,"W"]],"01003F0700FF":[0,[0,"v...

```

---

<div class="post-metadata">

### Author: ![Matsmlq](https://avatars.discourse-cdn.com/v4/letter/m/71e660/32.png) [@Matsmlq](https://discourse.nodered.org/u/Matsmlq)
#### Post date: [7 November 2021 22:10 UTC](https://discourse.nodered.org/t/sort-data-from-electricity-meter/53253/11 "2021-11-07T22:10:45Z")

</div>

The origin of the problem is trying to sort out data from my Aidon electricity meter  
I have used info from:

> **[GitHub - aviborg/esp-smart-meter](https://github.com/aviborg/esp-smart-meter)**
>
> Contribute to aviborg/esp-smart-meter development by creating an account on GitHub.

---

<div class="post-metadata">

### Author: ![E1cid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/e1cid/32/77971_2.png) [@E1cid](https://discourse.nodered.org/u/E1cid)
#### Post date: [7 November 2021 22:55 UTC](https://discourse.nodered.org/t/sort-data-from-electricity-meter/53253/12 "2021-11-07T22:55:45Z")

</div>

Ok the data is a string add a json node after the node that is receiving the data, to convert it to a object

Or  
The node you are using to receive the data may have a setting to output a parsed json object.

---

<div class="post-metadata">

### Author: ![Matsmlq](https://avatars.discourse-cdn.com/v4/letter/m/71e660/32.png) [@Matsmlq](https://discourse.nodered.org/u/Matsmlq)
#### Post date: [10 November 2021 21:53 UTC](https://discourse.nodered.org/t/sort-data-from-electricity-meter/53253/13 "2021-11-10T21:53:22Z")

</div>

I finally found the solution: `msg.payload = msg.payload ["payload"]["0100010700FF"][0]`  
Thank you for your help!

---

<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: [11 November 2021 08:51 UTC](https://discourse.nodered.org/t/sort-data-from-electricity-meter/53253/14 "2021-11-11T08:51:51Z")

</div>

> [@Matsmlq](#):
>
> msg.payload = msg.payload ["payload"]["0100010700FF"][0]

You can write that as `msg.payload = msg.payload.payload["0100010700FF"][0]`. I notice this was suggested by @E1cid three days ago.

---

<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: [25 November 2021 08:52 UTC](https://discourse.nodered.org/t/sort-data-from-electricity-meter/53253/15 "2021-11-25T08:52:15Z")

</div>

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