BACnet Connection Properties
localInterface (string)
Local network interface bound by the BACnet listener thread. PROCESS-WIDE — all Connections in the same protocol-mapper instance share one UDP socket; the first Connection's value wins. Default behaviour binds the first non-loopback interface.
Default: "eth0"
Examples: "lo", "eth0"
localPort (integer)
Local UDP port bound for sending and receiving BACnet/IP frames. PROCESS-WIDE — see localInterface. Default 47808 (0xBAC0) per ASHRAE 135 Annex J. Change only when 47808 is in use; broadcast discovery (Who-Is) targets 47808 by convention so changing it limits interoperability.
Default: 47808
Example: 47808
Additional restrictions:
Minimum:
1Maximum:
65535
deviceInstance (integer, required)
BACnet device instance number (0-4194303). Routing uses deviceAddress (required); deviceInstance identifies the device in logs/metrics and is the device-object instance read by the connect and liveness probes.
Example: 27335
Additional restrictions:
Maximum:
4194303
deviceAddress (string, required)
Static device address as 'ip:port' (e.g., '192.168.1.50:47808'); port defaults to 47808 if omitted. The adapter uses direct addressing for all reads and writes. For BACnet/IP devices on a remote subnet, also set 'bbmd' and use the peer's address as seen from the BBMD's subnet.
Example: "192.168.2.114:40426"
bbmd (object)
Register as a foreign device (BIBB F-A, FDR-only — never BBMD-serve) with the configured BBMD so the adapter can talk to BACnet/IP devices on remote subnets. The C-stack auto-renews the registration at TTL/4. PROCESS-WIDE: only one BBMD registration is active at a time; if multiple Connections configure different BBMDs in the same protocol-mapper instance, the last writer wins. For multi-site deployments, shard by site into separate protocol-mapper containers.
Properties of the bbmd object:
address (string, required)
Example: "192.168.1.1:47808"
ttlSeconds (integer)
Default: 600
Additional restrictions:
Minimum:
1Maximum:
65535
apduTimeoutMs (integer)
BACnet APDU timeout (ms) — per ASHRAE 135 §19.5, time the C-stack waits for an ACK before retrying. Default 3000. Increase to 8000-10000 for legacy controllers (Trend IQ4, Andover Continuum, Desigo PXC100) on saturated networks. PROCESS-WIDE setting: the first Connection's value wins and later Connections that differ are ignored with a warning; coordinate across Connections in the same protocol-mapper instance, or run separate instances per device class.
Default: 3000
Example: 3000
Additional restrictions:
Minimum:
100Maximum:
60000
apduRetries (integer)
Number of times a confirmed APDU is retried before the C-stack gives up (per ASHRAE 135 §19.5). Default 3. Set to 1-2 on devices that respond deterministically; raise to 5+ for flaky links. PROCESS-WIDE setting (first writer wins; later differing values are ignored with a warning).
Default: 3
Example: 3
Additional restrictions:
Maximum:
10
sweepIntervalSeconds (integer)
How often the listener-thread sweep reclaims invoke-ids from stuck transactions whose C-stack retry budget (apduTimeoutMs * (apduRetries + 1)) has elapsed. Default 5 s. Lower this only if you see iid-pool exhaustion under sustained burst loads; the floor is 1 s. PROCESS-WIDE setting (first writer wins; later differing values are ignored with a warning).
Default: 5
Example: 5
Additional restrictions:
Minimum:
1Maximum:
60
connectionStrategy (object)
If a connection attempt fails, retries will be performed with increasing delay (waiting time) in between. The following parameters control how these delays behave.
Properties of the connectionStrategy object:
initialDelay (integer)
Delay (waiting time) of the first connection retry (in milliseconds). For subsequent retries, the delay will be increased according to the parameter incrementFactor which has a default value of 2.
Default: 1000
Additional restrictions:
Minimum:
1000
maxDelay (integer)
Maximum delay (waiting time) to wait until the next retry (in milliseconds). The delay (waiting time) for any subsequent connection retry will not be larger than this value. Must be strictly greater than initialDelay.
Default: 30000
Additional restrictions:
Minimum:
1000
incrementFactor (integer)
The factor used to increment initialDelay up to maxDelay. For example if initialDelay is set to 1000 and maxDelay to 5000 the values for the delay would be 1000, 2000, 4000, 5000.
Default: 2
Additional restrictions:
Minimum:
2
Last updated
Was this helpful?

