BACnet

Connect a BACnet device and read its objects, by polling or change-of-value subscription.

BACnet reads the objects of a BACnet building-automation device. You can read values by polling at a fixed interval or by subscribing to change-of-value (COV) notifications.

Connecting a BACnet device

SettingWhat it does
NameIdentifies the device (with an optional custom name).
EnabledWhether THMI connects to the device. Turn it off to stop communication and value collection without deleting it.
Local bind addressThe IP address of the local network interface used for broadcasting. Usually only needed if the machine has multiple active interfaces. Defaults to 0.0.0.0 (all interfaces).
SubnetThe subnet mask for the local network. Defaults to 255.255.255.0.
Device IDThe unique instance number of the remote BACnet device on the network.
PortThe UDP port. Defaults to 47808, the standard BACnet port.
TimeoutHow long to wait for a response before treating the request as failed. Defaults to 5 seconds (5000 ms).

BBMD

If the device is on a different subnet, enable BBMD (BACnet Broadcast Management Device) and give its host and port (default 47808) so THMI can reach the device across the network boundary. Leave it off when the device is on the local subnet.

Reading a value: the object

A BACnet value is identified by its object type and instance number — together these make the BACnet ObjectID. Choose the object type that matches the value, then enter the instance number that identifies the specific object within the device.

THMI supports these object types. By convention, input objects come from the field and are read-only, while output and value objects can usually be written:

Object typeAbbr.WritableTypical data type
Analog inputAINoNumeric
Analog outputAOYesNumeric
Analog valueAVYesNumeric
Binary inputBINoBoolean
Binary outputBOYesBoolean
Binary valueBVYesBoolean
Integer valueIVYesSigned integer
Positive integer valuePIVYesUnsigned integer
Multi-state inputMSINoInteger
Multi-state outputMSOYesInteger
Multi-state valueMSVYesInteger
Accumulator—NoUnsigned integer
Pulse converter—NoNumeric

The data type determines how the value is interpreted; the choices available depend on the object type (see Data types). For example, analog objects accept the integer and floating-point types, while binary objects are bool.

Polling vs. subscription

The access method controls how the value is kept up to date:

  • Polling — THMI reads the value every polling interval milliseconds (default 5000).
  • Subscription — THMI subscribes to change-of-value notifications, and the device pushes updates. The COV increment sets the minimum change in value required before the device reports a new value — larger increments reduce traffic for noisy signals.

Writing

Writable lets users with permission change the value (see Values and history). It’s available only for object types that support being written.