# Split value angleX Y Z

**URL:** <https://discourse.nodered.org/t/split-value-anglex-y-z/73183>\
**Category:** General\
**Created:** [4 January 2023 19:31 UTC](https://discourse.nodered.org/t/split-value-anglex-y-z/73183 "2023-01-04T19:31:04Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![nodouser](https://avatars.discourse-cdn.com/v4/letter/n/a9adbd/32.png) [@nodouser](https://discourse.nodered.org/u/nodouser)\
**Post date:** [4 January 2023 19:31 UTC](https://discourse.nodered.org/t/split-value-anglex-y-z/73183/1 "2023-01-04T19:31:04Z")

</div>

Hello,

I did use the search function, but i need some help.  
I have an aqara vibration sensor, then gives svalues.

svalue1: "angleX: 0, angleY: 89, angleZ: 1"

What is want, each value seperate, without the text angelY.  
How to do that? Maybe an example?

---

<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:** [4 January 2023 19:51 UTC](https://discourse.nodered.org/t/split-value-anglex-y-z/73183/2 "2023-01-04T19:51:44Z")

</div>

How does that data get into Node-red?  
Is it an object or a string?

Please use a debug node to capture the value in Node-red and post it here.

![BX00Cy7yHi](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/b/d/bd1f333a9e043b061b39917c328b0094d3e52d30.gif)

---

<div class="post-metadata">

**Author:** ![nodouser](https://avatars.discourse-cdn.com/v4/letter/n/a9adbd/32.png) [@nodouser](https://discourse.nodered.org/u/nodouser)\
**Post date:** [4 January 2023 19:58 UTC](https://discourse.nodered.org/t/split-value-anglex-y-z/73183/3 "2023-01-04T19:58:36Z")

</div>

![firefox_2023-01-04_20-57-43](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/2/c/2c716b1e365c9a84eca5aa8ac34ffd0ac8bf8b4d.jpeg)

Thanks for your support!

---

<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:** [4 January 2023 22:24 UTC](https://discourse.nodered.org/t/split-value-anglex-y-z/73183/4 "2023-01-04T22:24:30Z")

</div>

In a function node you could use something like:

```auto
const input = msg.payload.svalue1
const output = {}
input.split(",").forEach(e=>{
    const angle = e.split(":")[0].trim()
    const value = e.split(":")[1].trim()
    output[angle] = Number(value)
})
msg.output = output

return msg;

```

which produces

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

---

<div class="post-metadata">

**Author:** ![nodouser](https://avatars.discourse-cdn.com/v4/letter/n/a9adbd/32.png) [@nodouser](https://discourse.nodered.org/u/nodouser)\
**Post date:** [5 January 2023 09:51 UTC](https://discourse.nodered.org/t/split-value-anglex-y-z/73183/5 "2023-01-05T09:51:56Z")

</div>

the output stays the same.  
Also i need the output seperate of each angle.

 ![firefox_2023-01-05_10-50-53](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/1/d/1d0e69924450d3247fad4e6ff369420ef6079ca6.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:** [5 January 2023 10:47 UTC](https://discourse.nodered.org/t/split-value-anglex-y-z/73183/6 "2023-01-05T10:47:21Z")

</div>

Your debug node is looking at the payload only (the solution offered bt @bakman2 puts the answer into `msg.output`)

You could simply rejig the function to overwrite the original property...

```auto
const input = msg.payload.svalue1
msg.payload.svalue1 = Object.fromEntries(input.split(',').map(e => { 
        const parts = e.split(':').map(f => f.trim())
        return [parts[0], Number(parts[1])] 
}))
return msg

```

---

<div class="post-metadata">

**Author:** ![nodouser](https://avatars.discourse-cdn.com/v4/letter/n/a9adbd/32.png) [@nodouser](https://discourse.nodered.org/u/nodouser)\
**Post date:** [5 January 2023 12:12 UTC](https://discourse.nodered.org/t/split-value-anglex-y-z/73183/7 "2023-01-05T12:12:20Z")

</div>

Thanks, that was the solution!!

---

<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:** [19 January 2023 12:12 UTC](https://discourse.nodered.org/t/split-value-anglex-y-z/73183/8 "2023-01-19T12:12:58Z")

</div>

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