Hello all, i have a problem with getting a bacnet output value in node red to be seen in HA need someone smarter than me!

I currently have a bacnet value coming back in node red from one of my BMS controllers, and want to show the value as a temperature sensor.

I have found the temp sensor node but I’m struggling with settings on of the node,
and have tried to set it up and include it in the flow but I’m clearly doing something incorrect.

I do have a device showing as bathroom sensor showing in HA with a random value but not the temperature.
I did try to put more screen shot of the settings I’ve put in the sensor node but the system stopped me as I’m a new user it would only allow me to put up one image.

I currently have a few bacnet points in Node red i would like to bring in on HA from energy current meters to Co2 monitoring. so I’m very eager to get this working

If there is anyone out there that can assist a novice to both HA and Node red it would be very much appreciated.

Sensor nodes get their value from the incoming message. Inside the node there is a path for the state that by default is set to msg.payload.

If we look at your debug we see the temp comes in the message position msg.PRESENT_VALUE. You would change the state path to match the value you want to use.

image

I can only guess the path since I do not have the actual message and the picture is not expanded. If PRESENT_VALUE doesn’t work pls post the debug message. In the debug when you hover small buttons appear on the right, one is copy value, use that to copy the debug message. Then hit the code button on the reply box </> and paste the message where indicated.

Thanks for taking the time to reply.

I have change it as you suggested but still did not work.
Please see below
{“OBJECT_IDENTIFIER”:{“type”:0,“instance”:8},“OBJECT_NAME”:“Bathroom Temp Value_AI8”,“OBJECT_TYPE”:0,“PRESENT_VALUE”:19.960161209106445,“DESCRIPTION”:“”,“DEVICE_TYPE”:“”,“STATUS_FLAGS”:{“value”:[0],“bitsUsed”:4},“EVENT_STATE”:0,“RELIABILITY”:0,“OUT_OF_SERVICE”:false,“UNITS”:62,“COV_INCREMENT”:0.10000000149011612,“RESOLUTION”:0,“MIN_PRES_VALUE”:0,“MAX_PRES_VALUE”:0,“UPDATE_INTERVAL”:0,“undefined”:0}

What I gave you PRESENT_VALUE looks like it is the path. Lets try rounding the number down to 2 decimals. In the sensor node change msg to J:expression/J and use $round(PRESENT_VALUE, 2)

image


Unfortunately still no joy

I think I see my mistake try $round(payload.PRESENT_VALUE, 2) If that is not right pls expand the debug message by clicking the triangle.

image

Edit: For future reference: from what I can tell it seems your debug node is set to return msg.payload. Often values are not all under msg.payload, set that way you will not see them in the debug panel.

It’s good practice to keep your debugs set to complete msg object. This way you see a complete picture of the information being sent.

image

1 Like

Thankyou so much for your advice. that did it. i have been stuck on this for weeks.
Really appreciate you taking the time.

1 Like