Easy BACnet · BACnet IP Controls made Easy Points lists Get the app

What are BACnet Who-Is and I-Am?

Updated 4 November 2026

Short answer

Who-Is and I-Am are the two messages behind BACnet discovery. A tool broadcasts a Who-Is, and each device that hears it (and falls inside the instance range asked for, if there is one) answers with an I-Am carrying its Device Instance, its vendor ID, its maximum message size and whether it supports segmentation. Collect the replies and you have a device list. That is what Easy BACnet does when you tap Scan for Devices.

A Who-Is scan and the devices that answered
A Who-Is scan and the devices that answered
Each I-Am becomes a row
Each I-Am becomes a row

The exchange

On BACnet IP a Who-Is goes to the subnet's broadcast address on UDP 47808, so every device on that subnet gets it at once. A Who-Is can be unconstrained (everyone answer) or carry a low and high instance limit, which is how a head-end asks for device 20114 alone without hearing from the whole building. Many devices broadcast their I-Am back rather than replying only to the sender, which is why a busy site's I-Ams are seen by every tool on the subnet.

Your phoneRTU-1AHU-1RouterWho-Is → broadcast 10.20.30.255 : 47808I-Am 1001I-Am 1002I-Am 20101 (via router)Each I-Am carries: instance, max APDU, segmentation, vendor IDReadProperty Object_NameAck “RTU-1”Then the tool asks each device for its name and object list
Discovery: one broadcast Who-Is, one I-Am back from each device, then a read for each device’s name.

What an I-Am carries

The source address of the I-Am matters too. A device behind a BACnet router answers through the router, so its reply comes from the router's IP with a network number and MAC address inside the BACnet header.

Why a scan sometimes finds nothing

Who-Is is a broadcast, and IP routers do not forward broadcasts, so a device on a different subnet never hears it unless a BBMD carries it across. That is the usual reason a scan comes back empty: see why can't I find my BACnet IP devices?. Devices on an MS/TP trunk answer too, because the BACnet router passes the Who-Is down the trunk and the I-Ams back up. Some devices also answer badly or late, so Easy BACnet repeats the Who-Is through the scan and, if nothing answers, probes the subnet's addresses directly.

Check it on your own network. Easy BACnet is a free Android app that finds BACnet IP devices and reads their points in a couple of taps.

Get it on Google Play