# Valor de temperatura negativo

**URL:** <https://discourse.nodered.org/t/valor-de-temperatura-negativo/37245>\
**Category:** General\
**Created:** [9 December 2020 13:34 UTC](https://discourse.nodered.org/t/valor-de-temperatura-negativo/37245 "2020-12-09T13:34:05Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![alison](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/alison/32/33239_2.png) [@alison](https://discourse.nodered.org/u/alison)\
**Post date:** [9 December 2020 13:34 UTC](https://discourse.nodered.org/t/valor-de-temperatura-negativo/37245/1 "2020-12-09T13:34:05Z")

</div>

I have a problem where a temperature indicator has a totally different value when the temperature is negative as shown in the image next to the green circle  
when it is positive the value is coming correct according to the blue circle image  
Can someone help me ? I've been watching several videos and the node red forum but I haven't found anything to help me

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/b/e/be2d2b4dfc0b2998cb8a02924f297daabb4f8625.png)

```auto
[{"id":"58ca183f.a36258","type":"tab","label":"Flow 5","disabled":false,"info":""},{"id":"9cb98268.60314","type":"modbus-read","z":"58ca183f.a36258","name":"Temp Ambiente Camara 1","topic":"","showStatusActivities":false,"logIOActivities":false,"showErrors":false,"unitid":"13","dataType":"HoldingRegister","adr":"0","quantity":"1","rate":"2","rateUnit":"s","delayOnStart":false,"startDelayTime":"10","server":"5e1ce40.8185c1c","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"x":250,"y":80,"wires":[["1e68c8ff.a4deb7"],[]]},{"id":"fdb0d9e1.1c54c8","type":"modbus-read","z":"58ca183f.a36258","name":"Temp Carcaça Camara 1","topic":"","showStatusActivities":false,"logIOActivities":false,"showErrors":false,"unitid":"14","dataType":"HoldingRegister","adr":"0","quantity":"1","rate":"2","rateUnit":"s","delayOnStart":false,"startDelayTime":"10","server":"5e1ce40.8185c1c","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"x":250,"y":140,"wires":[["118da5e5.99fc7a"],[]]},{"id":"1e68c8ff.a4deb7","type":"function","z":"58ca183f.a36258","name":"Multiplicador/Casas Decimais","func":"msg.payload = (msg.payload [0]* 1);\nmsg.payload = parseFloat(msg.payload.toFixed(2))\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":500,"y":80,"wires":[["a7fe61f8.77b02"]]},{"id":"118da5e5.99fc7a","type":"function","z":"58ca183f.a36258","name":"Multiplicador/Casas Decimais","func":"msg.payload = (msg.payload [0]* 0.1);\nmsg.payload = parseFloat(msg.payload.toFixed(2))\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":500,"y":140,"wires":[["b1a26dab.04392"]]},{"id":"a7fe61f8.77b02","type":"debug","z":"58ca183f.a36258","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":770,"y":80,"wires":[]},{"id":"b1a26dab.04392","type":"debug","z":"58ca183f.a36258","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":770,"y":140,"wires":[]},{"id":"5e1ce40.8185c1c","type":"modbus-client","z":"","name":"ETH - 485","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":true,"queueLogEnabled":true,"tcpHost":"10.254.164.119","tcpPort":"3001","tcpType":"TPC-RTU-BUFFERED","serialPort":"/dev/ttyUSB","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","unit_id":"","commandDelay":"1000","clientTimeout":"2000","reconnectOnTimeout":true,"reconnectTimeout":"1000","parallelUnitIdsAllowed":true}]

```

---

<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:** [9 December 2020 14:06 UTC](https://discourse.nodered.org/t/valor-de-temperatura-negativo/37245/2 "2020-12-09T14:06:15Z")

</div>

Please see [this post](https://discourse.nodered.org/t/how-to-share-code-or-flow-json/506) for how to paste a flow here so it can be imported again.

Show us what is going into the function nodes. Are the two function nodes the same?

---

<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:** [9 December 2020 14:19 UTC](https://discourse.nodered.org/t/valor-de-temperatura-negativo/37245/3 "2020-12-09T14:19:32Z")

</div>

What value are you expecting?

Do you have a manual that shows the format of the data in the modbus address?

It is likely your functions are not correct or some byteswapping might be necessary.

the [buffer-parser](https://flows.nodered.org/node/node-red-contrib-buffer-parser) node is a big help for modbus type data conversions

---

<div class="post-metadata">

**Author:** ![alison](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/alison/32/33239_2.png) [@alison](https://discourse.nodered.org/u/alison)\
**Post date:** [9 December 2020 15:56 UTC](https://discourse.nodered.org/t/valor-de-temperatura-negativo/37245/4 "2020-12-09T15:56:27Z")

</div>

using the buffer-parser I was able to get the temperature value both negative and positive  
Now I need to add decimal places with the function I have I can't  
at the moment the negative temperature is -24.6 ºC  
positive temperature is at 9.0 ºC

(multiplier and decimal places function)

```auto
Preformatted text`msg.payload = (msg.payload [0]* 0.1);
msg.payload = parseFloat(msg.payload.toFixed(2))
return msg;

```

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/b/6/b62a5e58d86b13c5d8321db231cc8357b2aa3e51.png)  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/5/b/5ba4cb0f53f52ef7699630f0ffba023ddea1cb95.png)

` [{"id":"58ca183f.a36258","type":"tab","label":"Flow 5","disabled":false,"info":""},{"id":"9cb98268.60314","type":"modbus-read","z":"58ca183f.a36258","name":"Temp Ambiente Camara 1","topic":"","showStatusActivities":false,"logIOActivities":false,"showErrors":false,"unitid":"25","dataType":"HoldingRegister","adr":"0","quantity":"1","rate":"2","rateUnit":"s","delayOnStart":false,"startDelayTime":"10","server":"5e1ce40.8185c1c","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"x":250,"y":80,"wires":[["2115d4f7.a70a9c"],[]]},{"id":"fdb0d9e1.1c54c8","type":"modbus-read","z":"58ca183f.a36258","name":"Temp Carcaça Camara 1","topic":"","showStatusActivities":false,"logIOActivities":false,"showErrors":false,"unitid":"14","dataType":"HoldingRegister","adr":"0","quantity":"1","rate":"2","rateUnit":"s","delayOnStart":false,"startDelayTime":"10","server":"5e1ce40.8185c1c","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"x":250,"y":140,"wires":[["3b6614b0.aea81c"],[]]},{"id":"1e68c8ff.a4deb7","type":"function","z":"58ca183f.a36258","name":"Multiplicador/Casas Decimais","func":"msg.payload = (msg.payload [0]* 0.1);\nmsg.payload = parseFloat(msg.payload.toFixed(2))\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":600,"y":260,"wires":[[]]},{"id":"a7fe61f8.77b02","type":"debug","z":"58ca183f.a36258","name":"Temp Ambiente Camara 1","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":830,"y":80,"wires":[]},{"id":"b1a26dab.04392","type":"debug","z":"58ca183f.a36258","name":"Temp Ambiente Carcaca 1","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":840,"y":140,"wires":[]},{"id":"2115d4f7.a70a9c","type":"buffer-parser","z":"58ca183f.a36258","name":"","data":"payload","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"int16be","name":"Temperatura","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":470,"y":80,"wires":[["a7fe61f8.77b02"]]},{"id":"3b6614b0.aea81c","type":"buffer-parser","z":"58ca183f.a36258","name":"","data":"payload","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"int16be","name":"Temperatura","offset":0,"length":0,"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":470,"y":140,"wires":[["b1a26dab.04392"]]},{"id":"5e1ce40.8185c1c","type":"modbus-client","z":"","name":"ETH - 485","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":true,"queueLogEnabled":true,"tcpHost":"10.254.164.119","tcpPort":"3001","tcpType":"TPC-RTU-BUFFERED","serialPort":"/dev/ttyUSB","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","unit_id":"","commandDelay":"1000","clientTimeout":"2000","reconnectOnTimeout":true,"reconnectTimeout":"1000","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:** [9 December 2020 16:00 UTC](https://discourse.nodered.org/t/valor-de-temperatura-negativo/37245/5 "2020-12-09T16:00:33Z")

</div>

> [@alison](#):
>
> Now I need to add decimal places with the function I have I can't

just set the scale expression in the buffer parser to `/ 10`

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/7/2/721f9403ad67d74658f54622ed3f1d18ec225a03.png)

its all in the built in help

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/1/4/149c5dce6d97df835995138a94d0e830df7142b2.png)

---

<div class="post-metadata">

**Author:** ![alison](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/alison/32/33239_2.png) [@alison](https://discourse.nodered.org/u/alison)\
**Post date:** [9 December 2020 18:35 UTC](https://discourse.nodered.org/t/valor-de-temperatura-negativo/37245/6 "2020-12-09T18:35:49Z")

</div>

the multiplier worked but we still have many decimal places  
using the function

```auto
msg.payload = parseFloat(msg.payload.toFixed(2))
return msg;

```

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/e/a/eae23f26e438266c2aa2e811632773fe95d2b9a6.png)  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/8/5/85a5544b2e327fd8a930d60796e8c115c2cb62bb.png)

---

<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:** [9 December 2020 18:37 UTC](https://discourse.nodered.org/t/valor-de-temperatura-negativo/37245/7 "2020-12-09T18:37:30Z")

</div>

You should only do this for presentation (e.g. dashboard)

```auto
msg.payload = msg.payload.Temperatura.toFixed(2)
return msg;

```

---

<div class="post-metadata">

**Author:** ![alison](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/alison/32/33239_2.png) [@alison](https://discourse.nodered.org/u/alison)\
**Post date:** [9 December 2020 19:23 UTC](https://discourse.nodered.org/t/valor-de-temperatura-negativo/37245/8 "2020-12-09T19:23:10Z")

</div>

ok, all right here thanks!

---

<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:** [7 February 2021 19:23 UTC](https://discourse.nodered.org/t/valor-de-temperatura-negativo/37245/9 "2021-02-07T19:23:11Z")

</div>

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