BACnet I-Have Service

I-Have is BACnet's object-announcement service (Clause 16.9): how a device advertises that it holds a named object, and which profiles require it.

What I-Have Is

I-Have is the object-announcement service in BACnet, defined in Clause 16.9 of ANSI/ASHRAE 135-2024. A device sends I-Have to declare that it holds an object with a given Object_Name and Object_Identifier. It is an unconfirmed service, and it is the answer to a Who-Has request, though a device may also send it unsolicited.

I-Have is to objects what I-Am is to devices: the advertisement half of a discovery exchange.

How It Works

A device sends I-Have either to answer a Who-Has that matched one of its objects, or unsolicited to advertise an object’s existence. The message carries the device’s own identity, the object’s identifier, and the object’s name, so a listener learns both what the object is and which device holds it.

Where You’ll See It

  • Answering an object search. Every response a tool collects after a Who-Has is an I-Have.
  • Advertising a key object. A device announcing an important object at startup so clients can bind to it without asking.
  • Name-to-device mapping. Building a map of which device owns which named object across a site.

I-Have Error Codes

I-Have is an unconfirmed, often broadcast service with no acknowledgment and no application-layer error. If an expected I-Have never arrives, the cause is on the discovery side: no device holds a matching object on the reachable network, or the responder is on a subnet the request could not cross without a BACnet BBMD path.

Profiles That Require It

Sending I-Have (in response to Who-Has) comes from DM-DOB-B, the dynamic-object-binding BIBB, and is required of most device profiles that expose objects: B-BC, B-AAC, B-ASC, and B-SA. Receiving and processing I-Have is a client behavior that operator and client tools perform when resolving objects by name.

What Chipkin Provides

The CAS BACnet Stack sends I-Have in response to Who-Has as a server, and the test tooling processes incoming I-Have advertisements. Talk to us about adding BACnet client or server support to your device.