BACnet ConfirmedTextMessage Service

ConfirmedTextMessage sends a text message to one BACnet device with acknowledgment (Clause 16.5)

What ConfirmedTextMessage Is

ConfirmedTextMessage is a remote-device-management service in BACnet, defined in Clause 16.5 of ANSI/ASHRAE 135-2024. A client uses it to send a text message to one other BACnet device and get confirmation that the message was received. It is a confirmed service and is always addressed to a single recipient, never broadcast or multicast. The confirmation means the device took the message; it does not mean a human read it.

It is the acknowledged counterpart to UnconfirmedTextMessage. Use it when the sender needs to know the message arrived.

How It Works

The request carries the source device’s identifier, an optional message class, a priority of NORMAL or URGENT, and the message text. The message class, either a number or a string, tells the receiver how to handle the text, for example which output to print it on or which action to take; its meaning is a local matter to the receiving device. The receiver performs whatever local action the class calls for and returns a simple acknowledgment, or an error if it could not. What the device does with the text, display it, print it, or file it, is entirely up to the device.

Where You’ll See It

  • Operator messaging. A workstation sending a directed notice to a specific controller or annunciator that must confirm receipt.
  • Classified routing. Using the message class to steer a message to a particular printer or action on the receiving device.
  • Priority alerts. Marking a message URGENT so the receiver handles it ahead of queued NORMAL messages.

ConfirmedTextMessage Error Codes

ConfirmedTextMessage is confirmed, so a receiver that cannot act on a message returns an error, but Clause 16.5 defines no service-specific error class and code situations; the general error model in Clause 18 applies. Because the meaning and handling of a message are a local matter, the reasons a request fails are largely local:

  • The device does not support text messaging, or the message class named an action it does not recognize.
  • The message could not be processed for a device-local reason, returned through the Clause 18 error model.
  • No response at all is not a service error. A timeout means the request never reached the device or the reply never came back, a transport or addressing problem. Because this service is unicast, a wrong device address is a common cause.

Profiles That Require It

Text messaging is an optional capability. No standard device profile in Annex L requires ConfirmedTextMessage; devices support it when a project calls for directed operator messaging, and declare it in their PICS (Protocol Implementation Conformance Statement). Treat it as a feature to confirm per device, not a baseline.

What Chipkin Provides

The CAS BACnet Stack supports ConfirmedTextMessage in both directions, as a client sending messages and as a server receiving and acknowledging them. Talk to us about adding BACnet client or server support to your device.