# Diff between values

**URL:** <https://discourse.nodered.org/t/diff-between-values/43035>\
**Category:** General\
**Created:** [22 March 2021 18:55 UTC](https://discourse.nodered.org/t/diff-between-values/43035 "2021-03-22T18:55:39Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![ajocius](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ajocius/32/19024_2.png) [@ajocius](https://discourse.nodered.org/u/ajocius)\
**Post date:** [22 March 2021 18:55 UTC](https://discourse.nodered.org/t/diff-between-values/43035/1 "2021-03-22T18:55:40Z")

</div>

Have following context values:  
|Temp-Air|4.75|  
|Temp-Ground|5.9375|

I need to calculate diff between them, so I put function :

> flow.set('Temp-Diff', 'Temp-Air'-'Temp-Ground')

Result I got was error message, probably because data format, not sure how to fix this:

|Temp-Diff|NaN|

---

<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 March 2021 19:31 UTC](https://discourse.nodered.org/t/diff-between-values/43035/2 "2021-03-22T19:31:52Z")

</div>

Hi @ajocius

Judging by your code, it looks as though you are new to JavaScript. I would recommend you go off do some simple online lessons.

Also, have a read of [Writing Functions : Node-RED](https://nodered.org/docs/user-guide/writing-functions#context)

```auto
var air = flow.get("Temp-Air") || 0;
var ground = flow.get("Temp-Ground") || 0;
flow.set('Temp-Diff', air - ground);

```

In simple terms, you need to `get` the value out of `context` and into a `var`iable before you can do any maths.

---

<div class="post-metadata">

**Author:** ![ajocius](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ajocius/32/19024_2.png) [@ajocius](https://discourse.nodered.org/u/ajocius)\
**Post date:** [22 March 2021 19:35 UTC](https://discourse.nodered.org/t/diff-between-values/43035/3 "2021-03-22T19:35:06Z")

</div>

> [@Steve-Mcl](#):
>
> ```auto
> var air = flow.get("Temp-Air") || 0;
> var ground = flow.get("Temp-Ground") || 0;
> flow.set('Temp-Diff', air - ground);
> 
> ```

You are absolutely right, I am new to this. Your suggested code worked great!

---

<div class="post-metadata">

**Author:** ![ajocius](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ajocius/32/19024_2.png) [@ajocius](https://discourse.nodered.org/u/ajocius)\
**Post date:** [22 March 2021 21:38 UTC](https://discourse.nodered.org/t/diff-between-values/43035/4 "2021-03-22T21:38:36Z")

</div>

I would like to set message load to "on" or "off" depending on temp diff value:

> var TempD = flow.get("Temp-Diff") || 0;  
> if (TempD\>8){msg.payload='on'}  
> if (TempD\<=8){msg.payload='off'}  
> return msg;

However this seem to not work, not sure where is the problem

---

<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 March 2021 21:53 UTC](https://discourse.nodered.org/t/diff-between-values/43035/5 "2021-03-22T21:53:27Z")

</div>

put node.warn() in the code to understand what is going on...

```auto
var TempD = flow.get("Temp-Diff") || 0;
node.warn("TempD = " + TempD);
if (TempD>8) {
  node.warn("TempD is > 8, setting msg.payload= 'on'");
  msg.payload='on'
} else if (TempD<=8) {
  node.warn("TempD is <= 8, setting msg.payload= 'off'");
  msg.payload='off'
}
return msg;

```

* * *

You really should read up...

> [@Steve-Mcl](#):
>
> Also, have a read of [Writing Functions : Node-RED](https://nodered.org/docs/user-guide/writing-functions#context)

---

<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:** [5 April 2021 21:53 UTC](https://discourse.nodered.org/t/diff-between-values/43035/6 "2021-04-05T21:53:34Z")

</div>

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