udmi

UDMI / Docs / Specs / BACnet

THIS IS A PROVISIONAL SPEC THAT IS SUBJECT TO CHANGE.

BACnet Specification

UDMI supports reading BACnet points by specifying them via a bacnet:// URL schema.

URI Schema

bacnet://<device_id>/<object_type>:<object_instance>[#property_identifier]

Object Types

The following are common BACnet object types used as part of the point reference:

Network Parameters

Under the localnet configuration, BACnet parameters define the communication settings:

Examples

The metadata values in the examples below map to the following complete BACnet URIs:

Network Configuration Example

The BACnet network specification as part of a gateway metadata.json file under localnet.families:

{
  "localnet": {
    "families": {
      "bacnet": {
        "addr": "19233",
        "network": "9288"
      }
    }
  }
}

Or defined under localnet.networks as a named BACnet network:

{
  "localnet": {
    "networks": {
      "bacnet_1": {
        "family": "bacnet",
        "addr": "19233",
        "network": "9288"
      }
    }
  }
}

Proxy Device Example

For a proxied BACnet device, the gateway block in the metadata.json specifies the protocol family, while the pointset block defines individual points and their object mappings.

{
  "gateway": {
    "target": {
      "family": "bacnet"
    }
  },
  "localnet": {
    "families": {
      "bacnet": {
        "addr": "582312"
      }
    }
  },
  "pointset": {
    "points": {
      "filter_alarm_pressure_status": {
        "units": "No-units",
        "ref": "BV:11#present_value"
      },
      "filter_differential_pressure_sensor": {
        "units": "Degrees-Celsius",
        "ref": "AV:12#present_value"
      }
    }
  }
}