Bacnet IP integration with node red

Error Reason 6 when I use bacnet write command to overwrite present value of analog value. Any idea how to fix the problem? Thanks in advance

Is that a Bacnet error? If so then you need someone who knows about Bacnet rather than node-red.

Hi SJPKT
Did you have any luck with this? I am having the same issue

Nope, I don't have any luck with node red barnet IP. I decided to use another software.
Good luck tho!

I did get the same error message when trying to write to our BACnet controllers. I did a WireShark capture and what I see is that the BACnet write node sends commands with a priority "0" which is rejected by our controller with an "parameter-out-of-range (6)" error message. Now according to the BACnet specifications the priority should be between 1 and 16 if send or 16 is assumed if no value is send. I wonder if there is a way to suppress sending the priority or even better if a priority could be specified. I did try to plug in a priority in the payload msg but without success. Any one has a better idea?

This is down to the contrib node, check the issues on the nodes github page, if it’s not there open an issue.

1 Like

I did some more digging through the js bacstack used for these nodes and I found the syntax to set priority.
It is an option parameter and when I added it to my message object I was able to write successfully to our controllers in my lab.
I used the following object to pump into the BACnet write block:
image

I am writing to an analog value (type:2) and instance 9. The property id of 85 is for present value and the type 4 is for type "real" number. I did the value of 22.5 just for the test hard coded, but this can be replaced with a variable for real world usage. Finally priority is set to 8 for my test.
In WireShark what got send looks like this:

This finally got rid of my issue with BACnet error "6".

I hope this will help other running into the same problem with BACnet commanding.

1 Like

As previously suggested - please contact the author and ask them to either add docs to show these options (either in README or in the info side bar panel) - or indeed to make it settable via the config panel.

I will try to figure out how to get it to the right person. I am not a programmer and pretty new to node-red but work with BACnet every day here at work. I can help with the feature documentation and usability, that is what I am doing for living.

Ah right - it's probably this node ? https://github.com/BiancoRoyal/node-red-contrib-bacnet
Sadly the author of those nodes has had to step away so yeah - maybe not.

Yes that's it but it links to a company not a person and I did not see activity for the last 18 month. This is a great start for a great package and hopefully someone will continue the work. I am not a coder just an applications engineer but I could help in writing specs and or testing. I have a relative large set-up of BACnet devices to my disposition.

1 Like

Then perhaps you could...

  • fork the repo to your GitHub account (create one if necessary)
  • Update the built in help info & readme
  • Do a pull request to the original repo.

If the developer is not responsive, you could...
Publish your alterations on NPM (with a new name e.g. node-red-contrib-bacnet2 or node-red-contrib-bacnet-mod or similar) and everyone will gain from your work.

Perhaps add an importable example/demo file or update your forks readme to include this pertinent info?

I am aware you said you're not a developer but you obviously have a certain level of "savvy" to get this far so even if everything I've said above is alien to you, I have a feeling you could figure it out.

Good work either way

:+1:

Thank you for the vote of confidence. I did already step one of your suggestion after following the tutorial of how to create a branch in my account. I do work closely with developers and some things rub off if you pay attention in project meetings. So I should be able to do the other steps as well and we will see.
Thanks !

2 Likes