BACnet Gateway
Overview
The BACnet Gateway extension enables seamless integration between LoRaWAN® end devices and BACnet/IP systems.
It provides bidirectional data exchange, device monitoring, and control capabilities for building automation, smart facilities, and industrial environments.
This extension allows LoRaWAN devices to be represented as BACnet objects, making it easy to integrate wireless sensors into existing building management systems (BMS).
Figure 1: LoRaWAN–BACnet Bidirectional Data FlowKey Features
- LoRaWAN®–BACnet/IP bridging: Convert LoRaWAN device data into standard BACnet objects.
- Bidirectional control: Support LoRaWAN uplink telemetry and BACnet-to-LoRaWAN control commands.
- Easy Web UI configuration: Simple and intuitive setup for mapping and BACnet parameters.
- MQTT Integration Support: Allows flexible data forwarding or additional application-layer integrations through MQTT brokers.
- Broad BMS compatibility: Compatible with Carrier BMS and standard BACnet/IP systems.
Technical Capabilities
The BACnet Gateway provides the following capabilities:
- BACnet/IP Standard: Based on BACnet/IP (ANSI/ASHRAE 135-2016)
- Communication: UDP-based BACnet/IP service bound to the active WAN interface
- Network Interfaces: Ethernet (PoE+), Cellular, Wi-Fi
- Device Identity: Configurable BACnet Device Name and Instance ID
- Supported Object Types: AI, AO, AV, BI, BO, BV, and OctetStringValue
- Supported Services: ReadProperty, WriteProperty, SubscribeCOV, and Confirmed/UnconfirmedCOVNotification
Typical Application Scenarios
- HVAC Monitoring and Control: Monitor and control temperature, humidity, differential pressure, and fan-coil systems.
- Energy Metering and Analytics: Measure and analyze electricity, water, and gas usage.
- IAQ and Occupancy-Based Ventilation: Monitor CO₂, TVOC, PM2.5/PM10 for indoor air quality and ventilation.
- Cold Chain and Asset Tracking: Track assets in buildings and warehouses for cold chain management
Configure BACnet Gateway
Prerequisites
- The RAK gateway must be operating in Built-in Network Server mode.
- Your LoRaWAN end devices and the gateway must use the same regional frequency band.
Access the Extension
-
Open your browser and log in to the gateway's Web UI. If needed, refer to the Quick Start Guide section of the gateway’s user manual.
-
After logging in, navigate to Extensions from the left menu.
NOTEClick the WisGate logo to expand the left menu and view all available tabs.
-
Under the Installed tab, you will see the BACnet Gateway extension. Click Launch.
Figure 1: Extensions TabBACnet Configuration
This section allows you to configure basic settings for the BACnet Gateway.
- In the Configuration tab, configure the basic information for the BACnet Gateway, including the following:
Figure 1: BACnet Configuration-
Device Name : The name of the gateway as it will appear in the BACnet network.
-
Device ID : A unique Device Instance for the BACnet network. The ID range is 1 to 4194303.
-
Local Endpoint : Specifies the IP interface that the BACnet Gateway uses for UDP communication.
NOTEYou can either select a specific network interface to bind the BACnet Gateway to a particular IP address assigned by the connected network or choose Any Port: 0.0.0.0 for automatic IP selection.
If you select Any Port: 0.0.0.0, the BACnet Gateway will dynamically choose the IP address of the network interface with the highest priority based on the available connection.
-
Port : The UDP port for the BACnet Gateway, with a range from 2000 to 65535. The default port is 47808 (BAC0).
-
Whitelist : Enables the Whitelist feature, which allows you to specify a list of allowed BACnet Servers (BMS) IPs.
-
Source IP address: Defines the list of IP addresses for BACnet Servers (BMS) that are permitted to communicate with the BACnet Gateway.
- Click Save changes.
Manage Equipment Profiles
The Manage Equipment Profiles section allows you to import and manage configuration profiles for LoRaWAN devices. The BACnet Gateway relies on these Profiles to correctly map LoRaWAN data to BACnet objects.
Figure 1: Manage Equipment ProfilesDefault Profiles
The system provides a set of predefined device profiles, which cannot be deleted. If your device is listed among the supported models, no additional profile import or configuration is needed. You can proceed directly to the next step: Add Your Equipment.
Import a Profile
The Imported Profiles section displays all profiles that have been uploaded to the BACnet Gateway.
If your device is not listed in the supported models, you can visit the RAK Profile Library, where we offer additional profiles for various sensor types. Select the one that matches your device and download it.
- Click the edit icon
. - Click choose file or drag and drop the downloaded profile into the upload box.
Figure 1: Import Profiles- Click Add to include the profile in the list.
Figure 1: Add a Profile- Click Save changes to upload the profile to the gateway system.
Figure 1: Upload ProfileRequest a New Device Profile
If your device is not supported by any of the existing profiles, you can request a new device profile for your sensor.
- Visit the RAK BACnet Profile Library.
- Navigate to the Issues tab.
- Click New issue, then select Device Profile Request in the pop-up window.
Figure 1: Create a new issue- Fill out the request form with the required information:
Figure 1: New Device Template Request Form-
Add a title: Provide a clear and descriptive title using the format
[Profile Request] <Vendor> – <Model>. -
Device Vendor: Name of the device manufacturer.
-
Device Model: Full device model number.
-
Product Manual/Datasheet Link: URL link to the device datasheet or technical specification document.
-
LoRaWAN Class: LoRaWAN Class supported by the device.
-
LoRaWAN Protocol Version: LoRaWAN MAC version used by the device.
-
Uplink Data Examples: Provide several hexadecimal uplink data samples from your device.
-
BACnet Object Mapping Requirements: Specify how each parameter from the device payload should be mapped to BACnet object types.
Supported BACnet object types include:
- AnalogInputObject - Analog input (sensor readings)
- AnalogOutputObject - Analog output (controllable analog values)
- AnalogValueObject - Analog value (general analog values)
- BinaryInputObject - Binary input (switch status, alarms, etc.)
- BinaryOutputObject - Binary output (controllable switches)
- BinaryValueObject - Binary value (general binary values)
- OctetStringValueObject - Octet string value (strings, special data)
Examples:
Temperature → AnalogInputObject ( ℃)
Humidity → AnalogInputObject (%RH)
EC (Electrical Conductivity) → AnalogInputObject (µS/cm) -
Priority: Select the urgency level for the request.
-
Pre-submission Checklist: Confirm all checklist items before submitting the request.
- After reviewing your information, click Create to submit the request.
RAK technical support will review the details and create a new device profile accordingly. Once the profile is published, download it from the repository and import it into your gateway through Import a Profile.
Add Equipment
Add and configure LoRaWAN end devices (equipment) and associate them with profiles to expose BACnet objects. You can add devices manually or in bulk via CSV, depending on your needs.
Add Device Manually
- In the Equipment tab, click Add Equipment to open the New Equipment page.
Figure 1: Add Equipment- In the Manually add a new equipment section, configure the following parameters:
Figure 1: Configure parameters- Name: Enter the name of the device.
- Select Device Profile: Choose the device profile. If the profile is not listed, ensure you have added the relevant configuration file for your device in the Manage Equipment Profiles section.
- Join Mode: Select the device join mode (e.g., OTAA).
- DEV EUI: Enter the Device EUI (Unique Identifier).
- Application Key: Enter the AppKey for OTAA.
- Group: Choose Create a new group and provide a name for the group. This helps in organizing devices into logical groups.
- Click Add to register the device. Once successfully added, it will appear in the device list.
Figure 1: Device List- (Optional) To customize the data points displayed in the Data Points tab, click the Edit icon in the DATA POINT column.
Figure 1: Configure Data Points- You can select which data points to display in the BACnet Gateway's Data Points tab. However, all data points will still be reported to the integrated BMS.
- You can customize the object Name and Description of each data point.
- Once done, click Confirm to apply the changes.
- Click Add equipment to finalize the equipment addition.
Figure 1: Successfully Added EquipmentBulk Add Devices (CSV)
Bulk addition of equipment is only available for LoRaWAN® devices that are compatible with the RAKwireless profile database. The equipment list must follow a specific format.
- In the Equipment tab, click Add Equipment to open the New Equipment page.
Figure 1: Add Equipment- In the Upload a list of equipment section, click Download this template to get the CSV template.
Figure 1: Add Equipment via CSV- Fill in the device information in the template file:
-
JoinMode
- OTAA (Over-The-Air Activation)
- ABP (Activation By Personalization)
-
Group: Select or create a group to categorize the device. This helps in organizing devices into logical groups.
-
Name: The name you assign to the device.
-
Profile: The device profile that corresponds to the sensor's configuration. For details, refer to Manage Equipment Profiles section.
-
DevEUI: The unique Device EUI (Extended Unique Identifier) for the device.
-
AppKey: The Application Key used in OTAA for the device to join the network.
-
DevAddr: The Device Address for ABP devices.
-
AppSKey: The Application Session Key used to encrypt and decrypt application payloads for ABP devices.
-
NwkSKey: The Network Session Key used for network-level security in ABP devices.
NOTEEnsure the device profiles are supported and properly formatted. Incorrect or duplicate device information will prevent successful import.
- Click choose file or drag and drop your completed CSV file into the upload box.
Figure 1: Upload CSV Template- Click Upload.
Figure 1: Upload Device Information- (Optional) To customize the data points displayed in the Data Points tab, click the Edit icon in the DATA POINT column.
Figure 1: Configure Data Points- You can select which data points to display in the BACnet Gateway's Data Points tab. However, all data points will still be reported to the integrated BMS.
- You can customize the object Name and Description of each data point.
- Once done, click Confirm to apply the changes.
- Click Add equipment to finalize the equipment addition.
Figure 1: Successfully Added EquipmentVerify Device Join Status
Once the device is registered, you can check its status in the group. If LAST SEEN displays NEVER, it means the device has not yet joined the network.
Set your LoRaWAN device join information. Once the device joins, its status will update accordingly.
Figure 1: Join NetworkView Device Data
After your equipment comes online, you can view its mapped BACnet data either in the Data Points page or inside your Building Management System (BMS).
View Device Data in Data Points
Go to Data Points tab, you can view and configure the data points associated with your registered devices (equipment). These data points are mapped to BACnet objects and provide data such as sensor readings, statuses, and other measurements from the connected LoRaWAN devices.
You can use the search bar to quickly find equipment by Name or Device EUI.
For each equipment, you can view:
- Basic information (Equipment Name, Device EUI, Profile, Last Seen)
- BACnet Object parameters (Object Name, Object ID, Value, Unit)
- Timestamp of the latest LoRa uplink
Figure 1: Device Data Points OverviewEdit Data Points
If you want to customize how data points are displayed in the Data Points tab, click the Edit data point icon for the target equipment.
Figure 1: Configure Data PointsYou can:
- Select which data points are shown in the Data Points table
- Edit the Object Name and Description for each data point
After making any changes, click Confirm to save.
If you configure the displayed data points, the UI will show only the selected data points. However, the system will still send all data points to the integrated BMS.
Export Data Points
Click Export to generate a CSV file containing the BACnet-mapped data points from your registered equipment. This file provides a quick overview of the device data points and is used for integration with BACnet Building Management Systems (BMS).
The exported CSV will include all the data points displayed in the gateway UI.
Figure 1: Data Points CSV StructureField Descriptions
| Field Name | Description |
|---|---|
| keyname | The keyname uniquely identifies each BACnet object. It follows this format: OBJECT_<Object Type>:<Instance ID> |
| device obj.-instance | The unique BACnet device instance ID for the gateway, used to identify the gateway within the BACnet network. |
| object-name | The object-name is a combination of the device name and the object name. |
| object-type | The BACnet object type. |
| object-instance | The unique ID assigned to each BACnet object instance. |
| description | Optional metadata providing additional context for the data point. |
View BACnet Data in BMS
After the BACnet Gateway and devices are configured, you can view the LoRaWAN-to-BACnet mapped data inside your Building Management System (BMS). The BACnet Gateway exposes each LoRaWAN device as a set of BACnet objects. Your BMS can discover these objects and read their values just like any other BACnet/IP device.
After connection, your BMS can automatically discover and display:
- BACnet Device Instance
- BACnet Objects (AI, BI, AV, BV, OSV, etc.)
- Object Names (mapped from Profile)
- Real-time values (from LoRa uplinks)
These values are updated according to the device uplink frequency, mapping rules, and COV settings in the profile.
Example: Viewing BACnet Data Using Yabe (BACnet Browser)
In the following example, a BACnet browser tool (Yabe) is used to demonstrate how BACnet objects from the gateway appear in a BMS environment:
Figure 1: BACnet Objects and Values Displayed in YabeManage Equipment
After adding devices to the BACnet Gateway, you can easily manage them from the Equipment page. This includes organizing devices into groups, renaming, removing, or exporting device information as needed.
You can manage individual devices or perform bulk operations on multiple devices at once.
To manage multiple devices, simply select them using the checkboxes on the left. Once selected, bulk action buttons will appear at the top of the table for operations like renaming, reassigning, or deleting.
A search bar at the top lets you quickly locate equipment by Name or DevEUI, and you can select Groups to filter the devices based on their assigned group.
Reassign Group
Move the selected devices to another group. This helps organize devices based on location, device type, or project structure.
- You can either select Reassign equipment group from the ⋮ (more options) menu for individual devices or select multiple devices from the list and click Reassign Group.
Figure 1: Single Equipment Actions
Figure 1: Bulk Equipment Actions- In the pop-up window, search for and select the target group.
Figure 1: Assign to a New Group- Click Reassign to complete the action.
Rename Equipment
To rename a device, click the edit icon
in the Name column and enter the new name.
To rename multiple devices, select the devices, click Rename Equipment, enter the new name, and click Rename to apply the changes.
Figure 1: Bulk Rename EquipmentDelete Equipment
Remove the device from the BACnet Gateway.
- Deleting equipment does not delete its associated profile.
- Deletion is permanent and cannot be undone unless the device is added again.
- You can either select Delete equipment from the ⋮ (more options) menu for individual devices or select multiple devices from the list and click Delete.
Figure 1: Single Equipment Actions
Figure 1: Bulk Equipment Actions- Confirm the action by clicking OK in the pop-up window.
Add Group
Click this button to create a new device group, helping you organize equipment based on project, location, or device type.
Figure 1: Create a GroupExport Equipment Data
By clicking Export, you can download registered equipment and their details into a CSV file, which can be used for device backup or as a template for bulk device import.
In the case of sensor replacement, simply update the device's authentication information (DevEUI, AppKey, NwkSKey, DevAddr, AppSKey) in the exported file, and re-import it. The system will automatically map the new device without requiring any changes to the BMS configuration.
Figure 1: Equipment Data CSV StructureField Descriptions
| Field Name | Description |
|---|---|
| JoinMode | LoRaWAN join mode (OTAA/ABP). |
| Group | The assigned equipment group. |
| Name | The name of the registered device. |
| Profile | The device profile applied. |
| DevEUI | The unique device identifier. |
| APPKey | The application key used in OTAA mode. |
| DevAddr | The device address (only in ABP mode). |
| AppSKey | The application session key (only in ABP mode). |
| NwkSKey | The network session key (only in ABP mode). |
| DataPointID | Unique identifier for each data point. |
| DataPointName | The name of the data point. |
| ObjectType | The type of BACnet object. |
| BACnetID | The unique ID of each BACnet object instance. |
| Unit | The unit of measurement for the data point. |
| COV | Change-of-Value (COV) increment for triggering events. |
| Description | A brief description of the data point. |
Configure MQTT Integration
The BACnet Gateway Extension supports dual services: BACnet/IP Gateway and MQTT. If you need to integrate with third-party MQTT applications, follow the steps below to configure the MQTT settings.
Figure 1: Configure MQTT Integration- In the MQTT Data Routing section, click the Enable button to activate MQTT integration.
- Configure the MQTT integration parameters:
- MQTT Broker Address: The hostname or IP address of the MQTT server to connect to.
- MQTT Broker Port: The port number for the MQTT server (default: 1883 for unencrypted, 8883 for TLS).
- MQTT Version: Select the MQTT protocol version to match your server.
- QoS: Quality of Service level for message delivery
- 0: At most once
- 1: At least once
- 2: Exactly once
- Keepalive interval (s): Heartbeat interval in seconds to keep the connection alive between client and broker.
- Clean session: If enabled, the broker does not store session data when the client disconnects.
- Retain: If enabled, the broker retains the last message sent to each topic.
- Client ID: Unique identifier for this MQTT client, used to distinguish between multiple clients.
- Enable User Authentication: Requires username/password login to the MQTT broker for enhanced security.
- Username: The username used to authenticate with the MQTT broker.
- Password: The password corresponding to the above username.
- SSL/TLS Mode: Option to enable encrypted communication between client and broker.
- None: No encryption
- CA certificate: The CA root certificate to verify the MQTT broker’s identity.
- Client certificate: The X.509 certificate for client authentication (for mutual TLS).
- Client key: The private key file matching the client certificate.
- Key Pass Phrase (optional): The password for the encrypted private key file.
- TLS Version: Specify the TLS version for securing the connection
- Uplink Topic/Downlink Topic/Downlink Acknowledge Topic: MQTT topics used by the gateway to publish and receive messages to/from the broker.
- Click Save changes.
FAQs
What happens if I choose "Any Port: 0.0.0.0" for the Local Endpoint?
If you select Any Port: 0.0.0.0, the BACnet Gateway will automatically select the network interface with the highest priority based on the RAK gateway's configuration. This ensures that the gateway uses the most appropriate IP address depending on the current connection. It is particularly useful in scenarios with multiple WAN connections or failover setups, allowing seamless switching between available interfaces.
What happens if I specify a specific Local Endpoint?
If you select a specific network interface for the Local Endpoint, the BACnet Gateway will bind to the corresponding IP address assigned to that network interface. If the selected interface is disconnected or unavailable, the BMS will lose communication with the BACnet Gateway until the connection is restored or another valid interface is configured.
Can I replace a sensor without modifying the BMS integration logic?
Yes, you can replace a sensor without modifying the BMS integration logic by following these steps:
- Navigate to the Equipment page in the BACnet Gateway.
- Select the device you want to replace and click Export to download its configuration and details into a CSV file.
- Update the Device’s Authentication Information:
- Open the exported CSV file.
- Update the device authentication details, such as DevEUI, AppKey, NwkSKey, DevAddr, and AppSKey to match the new sensor's information.
- Re-import the Updated Device Information:
- Once the authentication information is updated, re-import the updated CSV file into the BACnet Gateway.
- The system will automatically map the new device and apply the existing settings and data points.
How do I configure the BACnet Gateway for MQTT integration?
To configure MQTT integration, follow these steps:
- Go to the Configuration page of the BACnet Gateway.
- Enable the MQTT settings option.
- Configure MQTT Server:
- Enter the MQTT server address (e.g.,
broker.hivemq.comor your local MQTT broker address). - Specify the MQTT port (typically 1883 for non-secure or 8883 for secure connections).
- Enter the MQTT server address (e.g.,
- (Optional) Set additional settings based on your MQTT broker configuration.
- Click Save changes to apply the MQTT configuration.
- After configuration, you can subscribe to the relevant MQTT topics to receive messages from the broker and process them accordingly.
Once the configuration is complete, the BACnet Gateway will communicate with the MQTT broker, allowing real-time data exchange with third-party applications.
