BACnet4J 7.0.0 has landed with an implementation of BACnet Secure Connect (BACnet/SC). Worth knowing about, but also worth being clear-eyed on what it does and doesn't cover yet.
What's there:
- BACnet4J can now act as an SC node connecting to a Hub. If you already have a BACnet/SC Hub Function on your network (from another vendor's device or software), BACnet4J can join it as a node.
- Alongside it, 7.0.0 brings a batch of spec-compliance work: protocol revision bumped to 20 (with further fixes toward revision 30 compliance), a rewritten segmentation handler (clause 5.4 / addendum 135-2020ch-1), stricter decoding of malformed messages, and the new NetworkPortObject and related structures from the 2024 spec.
What's missing:
- No Hub Function. BACnet4J only implements the node side of BACnet/SC. It cannot act as the SC Hub itself, so you still need a separate Hub (another BACnet/SC device or product) for nodes to connect through.
- Not in Mango yet. This is 7.0.0 of the standalone BACnet4J library. Mango's BACnet data source currently ships BACnet4J 6.1.1 (as of Mango 5.6.11 / 5.7.5). BACnet/SC support has not been integrated into the Mango data source or local device configuration, so you can't configure it from the Mango UI today. That's a separate piece of work from the library update.
- 7.0.0 is a breaking release. If you consume BACnet4J directly in your own code, this version carries a long list of breaking API changes (Unsigned32 vs UnsignedInteger, renamed classes, changed exception types, stricter decoding that can now fail reads that previously "succeeded" with garbage data). It's not a drop-in upgrade from 6.x.
If BACnet/SC support in Mango itself is something you need, let us know in this thread.
Repo and full release notes: github.com/RadixIoT/BACnet4J
