Looking for Node Red Consultant to create a flow for decoding and sorting RS232 hexadecimal buffer messages

Professional company looking to contract someone to configure node-RED to decode and sort data from a RS-232 interface to a HVAC system.
The HVAC system sends the status of 18 thermostats every minute. Each info-frame has a code to identify what information is contained in the info-frame and the address of the thermostat.
each info-frame needs to be routed based on the "data type" and "thermostat address".
The info-frame is JSON with 13 indexes. Each index is one byte in hexadecimal.
The "data type" code is made up of four indexes (4 bytes). The "thermostat address" is made up of two indexes (2 bytes). The "value" is made up of two indexes (2 bytes). Data which is more than one byte has been "byte packed" and will need to be unpacked.
These info-frames after being sorted/routed will be send to BACnet objects on a BACnet controller. Knowledge of the "node-red-contrib-bacnet" is not critical for this project but will be helpful.
Please message me if you are interested. (USA)

email me seth (at) cisinlabs (dot) com

BTW node-red-contrib-bacnet is NOT production grade.
You might want to try using node-bacnet - npm inside a function node.

Just out of general interest, why would you say that since node-red-contrib-bacnet is developed by the same people that developed the node package. Also node-red-contrib-bacnet was last updated 8 months ago and node-bacnet was last updated 4 years ago.

I'm sure that going by update dates does not imply production readiness or not, I'm just trying to understand why you would say that node-red-contrib-bacnet isn't production grade.

Perhaps if you clarify, then the package could also be improved by the authors.

Klaus who wrote the package only took it so far and the core package is over 4 years old. It's not been approved to Ashrae 135.1-2023 but Klaus is working on this as of three months ago he calls BACnet 1.0 but I have a feeling only for a commercially supported version. I would reach out to him. I did lot of testing but the area I work in wireless sensors to BACnet is handled by the Gateways I use so had no need to use it.

That said I have found node-bacnet-contrib-extended easier to use and I use it to test I have correctly configured the wireless gateways I use.

ANSI/ASHRAE 135.1-2023 is a method for testing that a system complies with the BACnet protocol. It provides a standard set of procedures and tools to verify that a system: Supports each claimed BACnet service, Supports each claimed BACnet object-type, Supports the BACnet network layer protocol, Supports each claimed data link option, and Supports all claimed special functionality.

2 Likes

Thank you for the clarification and for pointing me to node-bacnet-contrib-extended.

I was thinking about what does "production ready" even mean in the Node-RED environment. Node-RED seems to be used for an awful lot of home automation where a node is considered to be "production ready" if it does what its meant to do. Or rather, if something does go wrong, a production line doesn't stop rather one simply restarts the rapsberry pi at home (or similar).

I get the feeling that BACnet is not something one comes across outside of industry? Or is it also a protocol used for personal (read: home) use?

This is a clear answer for BACnet whether something is production ready or not, but for other protocols and nodes the definition isn't that clear.

But perhaps that also has something to do with the protocol: something akin to HTTP is a clear and simple protocol where something is basically "production ready" if it doesn't cause memory leaks (simplification for arguments sake). Something like a tekmar protocol seems a lot more work and debugging. Getting the error correction for messages right is just the start (remember HTTP does not have error correction - other than a length specification in the header, there is no content hash or checksum to calculate).

Anyway: sorry for going OT and slightly philosophical!

BACnet is the standard for Building Automation especially for HVAC. Node-RED it's self is very production ready I have devices in the field for over six years.

The Modubs protocol also by Klaus is production ready as is node-red-contrib-knx-ultimate, OPC-UA. There are a number of other protocols for industrial automation (PLC) communication that seem to be wildly used as Node-red is understood and well used in that sector.

But as you say it's more obvious for the likes of TPC/UDP/HTTP/MQTT etc.

I first thought building software, i.e, CI/CD machine but you mean physical buildings! :wink:

It's sometimes fascinating to find out what acronyms mean: Heating, ventilation, and air conditioning - HVAC. But BACnet could also be used to control the opening/closing of windows for example?

Definitely what seems to be lacking is a strategy for maintaining a fleet of Node-RED installations. How to maintain many flows, how to coordinate changes within those flows and how to deploy changes to installed units. I know there is FlowFuse but I'm thinking of inhouse-installations on raspberries spread around several different places. Each raspberry has a number of devices that collect data. How do you maintain a NodeRED installation if there is no HTTP connection to the device?

I don't know whether there is a gold-rule solution for that scenario, if there is, I haven't come across it!

BACnet is highly adopted by larger companies providing solutions for Building Automation as well as Security System solutions (like Siemens where I used to work). In Security System solutions it was considered but I do not how far it came; in Fire Detection systems I think it was implemented but for Video Surveillance and Access Control, I think ONVIF became the "standard". However, the whole idea with "Intelligent Buildings", integrating all kind of subsystems and disciplines, is requiring a common bus protocol for controllers/sensors and there BACnet was the choice

1 Like

If your using RPI you can use https://connect.raspberrypi.com/ 1 device FOC & 0.50$ per month per device for business use. Or you can use something like https://www.balena.io/

I manage flows & settings per device but the gateways I use have a remote management feature to do firmware and config (e.g. Node-red) updates.

Many of my gateways are cellular so I use 1nce.com very affordable iot sim which allows me to remote in over VPN if need too.

1 Like

@krambriw
Siemens were a key driver of KNX building automation protocol and is widely used along side BACnet especially in Germany.