Easy BACnet
  1. Home
  2. BACnet reference
  3. Service choice numbers

BACnet reference

BACnet service choice numbers

Updated 7 November 2026

Short answer

Every BACnet request carries a service choice number. Packet captures and error logs show it; this is what each one is. Examples: 0 = acknowledge-alarm, 1 = cov-notification, 2 = event-notification.

Looking for a number but not sure which list it belongs to? Use the BACnet number lookup, which searches every table at once.

Confirmed services (35)

NumberServiceNotes
0acknowledge-alarm
1cov-notification
2event-notification
3get-alarm-summary
4get-enrollment-summary
5subscribe-cov
6atomic-read-file
7atomic-write-file
8add-list-element
9remove-list-element
10create-object
11delete-object
12read-property
13read-prop-conditional (newer)
14read-prop-multiple
15write-property
16write-prop-multiple
17device-communication-control
18private-transfer
19text-message
20reinitialize-device
21vt-open
22vt-close
23vt-data
24authenticate (newer)
25request-key (newer)
26read-range
27life-safety-operation
28subscribe-cov-property
29get-event-information
30subscribe-cov-property-multiple
31cov-notification-multiple
32audit-notification (newer)
33audit-log-query (newer)
34auth-request (newer)

Unconfirmed services (15)

NumberServiceNotes
0i-am
1i-have
2cov-notification
3event-notification
4private-transfer
5text-message
6time-synchronization
7who-has
8who-is
9utc-time-synchronization
10write-group
11cov-notification-multiple
12audit-notification (newer)
13who-am-i (newer)
14you-are (newer)

Values come from the open-source bacnet-stack 1.6.1 (bacenum.h), which follows ANSI/ASHRAE Standard 135, and were cross-checked one by one against two other independent BACnet stacks (bacpypes and @bacnet-js/client). Entries marked (newer) are in bacnet-stack only, because the other two stacks predate them. Numbers 0-255 (and the higher ASHRAE ranges) are standard; vendors may use proprietary numbers above them.

More BACnet reference

Easy BACnet reads these values straight off the device from an Android phone and shows them as words, not numbers.