What are BACnet devices?

BACnet stands for Building Automation and Control network. It is a communication protocol created by the American Society of Heating, Refrigerating and Air-Conditioning Engineers to allow manufacturers of building automation equipment to create devices that can inter-operate with each other. It’s a standard protocol with worldwide adoption. The idea is that if your device “talks” BACnet, it can talk to many other devices that do, too.

Typically these devices are small computers that control heating, cooling, and ventilation equipment. See this more detailed post for more information on the protocol in general.

What’s the maximum BACnet Instance Number?

The largest possible BACnet instance number is 4,194,302. Weird, specific choice, right? It’s also 2^22 – 2, and 4,194,303 (2^22 – 1) is reserved as a magic number that indicates the instance number is not set.

What Is BACnet MS/TP?

Master-slave token passing is a low-level protocol used by devices on low-speed, low-cost networks such as RS-485. Only the device holding the “token” is allowed to speak to the network. When it is done speaking, it passes the token to the next device in the chain.

What is BACnet/IP?

BACnet/IP is the flavour of protocol you encounter with modern, Internet-connected BACnet devices. It’s the same underlying protocol, but it uses an envelope of UDP to package its messages and send them to other devices. UDP and TCP are the backbones of the Internet. The former has lower overhead while the latter has greater built-in reliability.

What Is BACnet COV

Network traffic is reduced by using change-of-value (COV) based point subscriptions. Devices will only tell other devices about new point values (such as temperature) if the value changes “enough”. A downside of this approach is that your trend charts will look a bit patchy.

My device is on MS/TP and has a MAC address. Do I need to care about the instance number?

Yes. Instance numbers need to be globally unique across the entire network regardless of how they are physically connected. Do not leave it at the factory default value, even if it’s random from the factory. You’ll be baking technical debt into your installation.

What port does BACnet/IP use?

By default, BACnet/IP uses UDP port 47808 (0xBAC0). It communicates via broadcasts (device to network) and unicasts (device to device). Some installations use non-default ports to segregate different vendors. This is usually done by incrementing the port, i.e.: 47809, 47810, etc.

What’s the maximum network number?

The maximum BACnet network number is 65535. This is the same as 256 ^ 2 – 1. I find this limiting when I try to develop a site’s numbering convention, but it is what is is.

How do I set up a BBMD Broadcast Distribution Table?

This is a bit more complicated and needs its own post!