Overview

The BACnet connector provides tag-based read/write access to BACnet devices over UDP/IP, using the ela-compil BACnet library. On startup, it broadcasts a WhoIs and builds a list of discovered devices from Iam responses; reads/writes are then addressed by device ID plus BACnet object type and instance.

Parameters

Name Values Description
Type BACNET The connector type identifier.
UpdateRate milliseconds (integer) How often tags are polled. Defaults to 1000.

Supported Tag Types:

Tag Type Address Behaviour
Any standard tag device_id:ObjectType:instance, e.g. 12345:ANALOG_INPUT:0 Read on every cycle if IOType is In/InOut, via ReadPropertyRequest against PROP_PRESENT_VALUE. Written on value change if IOType is Out/InOut, via WritePropertyRequest.

ObjectType matches the BacnetObjectTypes enum names from the underlying library (e.g. ANALOG_INPUT, ANALOG_OUTPUT, BINARY_INPUT, BINARY_OUTPUT).

Connector Methods

Name Arguments Description
WRITEDATA ADDRESS (device_id:ObjectType:instance), VALUE Writes a value to the given BACnet object on demand.
READDATA ADDRESS (device_id:ObjectType:instance) Reads a value from the given BACnet object on demand.

Addressing

The Address field (and the ADDRESS argument to RunMethod) is device_id:ObjectType:instance. A device must have already responded to the connector's WhoIs broadcast (i.e. be present in the discovered device list) for reads/writes against it to succeed.

Diagnostic Codes

Code Type Description
1200 Error Not connected...sleeping for 5s
1210 Error Failed to connect
1305 Error Tag has an unparseable Address
1310 Error Read failed
1315 Error Error reading (exception)
1405 Error Tag has an unparseable Address (write path)
1410 Error Write failed
1415 Error Error writing (exception)
1505 Error WRITEDATA requires a valid Address arg
1510 Error WRITEDATA failed
1515 Error READDATA requires a valid Address arg
1520 Error READDATA failed
2215 Debug Discovered device
2400 Debug ITag not present
3100 Info Started
3205 Info Connected