
BACnet to MQTT gateway: how to send BMS and building equipment data to the cloud without replacing anything
Sending a building's BACnet data to the cloud does not require replacing the BMS or the controllers: a Phantom Shield gateway, physical or virtual, reads the BACnet IP and BACnet MS/TP devices already installed and sends their data to the Reveal platform, which normalizes it, shows it next to your other sites and alerts when something goes out of range. This guide explains which data is read, how it works, what MQTT does, what changes with many sites, when a generic converter is enough and where this model already runs.
Which BACnet data is read in each building
- The objects the BMS and controllers already expose over BACnet IP or BACnet MS/TP: states, alarms, temperatures and values for each piece of equipment
- Air conditioning units, chillers and air handlers, read from the equipment itself or from the site's BMS
- Energy meters and power analyzers that speak BACnet, alongside the ones that use Modbus
- Equipment in the same building that does not use BACnet, such as generators, UPS units, meters or CCTV, over Modbus, OPC UA, SNMP or HTTP/REST on the same gateway
- Devices that already publish their data over MQTT, which the gateway also reads
- A time-stamped history of every reading and alarm, for dashboards, reports, audits and API queries
Which objects are read depends on what each controller or BMS already exposes. Their firmware and programming are not changed, and the BMS keeps controlling the building as it does today.
How it works: from the building's BACnet network to the cloud
- 1Connect. One Phantom Shield gateway per site, physical or virtual, reads the devices on the building's BACnet IP network or BACnet MS/TP bus and, on the same device, those that use Modbus, OPC UA, SNMP, MQTT or HTTP/REST, with no firmware or programming changes.
- 2Translate. At the edge, the gateway filters and normalizes the readings and converts them to open protocols such as MQTT, lightweight messaging for sending data to the cloud, or OPC UA, depending on each device's context.
- 3Collect. If the Internet drops at a site, readings stay on the gateway (store and forward) and sync to Reveal on reconnect; buffer depth is configurable.
- 4Normalize. Reveal maps every point to a common semantic layer (Brick), so a chiller, an air handler or a meter at one site can be compared with those at another, even when every BMS is a different brand.
- 5Act. Reveal learns each device's normal behavior and alerts by WhatsApp, email or ticketing when it goes out of range; the data is available for dashboards, reports and APIs.
BACnet and MQTT: what each one does
BACnet is the building protocol: it describes each device as objects with properties and runs on the local network, over IP or an MS/TP bus. That makes it the natural way to read the BMS and the controllers without touching them.
MQTT is lightweight messaging for sending data to the cloud. A BACnet to MQTT gateway reads the objects inside the building and sends them out; the difference is in what happens next: who normalizes the data, keeps the history, raises the alerts and maintains the gateways at every site.
What changes when there are many sites
With one building, a converter that publishes BACnet points to an MQTT broker can be enough. With dozens of sites, each with a BMS and controllers of different brands and eras, the work is in mapping every device, not losing readings when the link drops, comparing sites and maintaining the fleet. With Phantom Shield and Reveal those pieces come integrated and GSS Analytix operates them.
New gateways use zero-touch provisioning, and their firmware is signed and rolled out in stages or fleet-wide. In sensitive contexts they are deployed read only, and on equipment that supports it every action is logged.
When a device doesn't speak BACnet or has no data output
If an older device only offers a serial port or a proprietary protocol, the gateway reads it that way. Where wiring is hard, Modbus-to-LoRaWAN converters carry the readings wirelessly, and where a device has no data output, the cameras already installed can read its indicators.
When you don't need it
- You have a single building or a pilot with few devices, and your team already has a data platform and people to maintain connectors, dashboards and alerts
- You only need a converter that publishes BACnet points to your own MQTT broker: a generic gateway can be enough for that
- What you want is local building control (sequences, control loops, programming each device): your BMS keeps doing that
- You want to replace the BMS or the controllers: this guide is about reading what you already have, not changing it
If you have dozens of sites with BMS and controllers from different brands and every building is a data island today, that is where a gateway with a platform saves a per-site integration project.
Where this model already runs
Shopping center, Bogotá
Three Phantom Shield L0 gateways and 10 primary connections bring the level of 4 water tanks and the substation's electrical variables into Reveal, with alerts at critical levels.
High-complexity medical center
Seven backup generators, 17 power meters and 2 fire-detection systems that used to run in isolation now sit on one platform, with 26 primary connections.
Service station, Colombia
One Phantom Shield L1 gateway reads the existing 4-tank console over a serial port, sends data over cellular every 10 minutes and resends what it stored if the Internet fails.
Related pages
- Phantom Shield: the gateway
- Phantom Shield vs. a generic IoT gateway
- Monitoring on top of the BMS you already have
- Multisite remote HVAC monitoring
- HVAC solutions
- A SCADA alternative for multisite monitoring
- One dashboard for every site
- Real-time multisite energy monitoring
- Reveal platform
- Data acquisition from existing equipment
- GSS Analytix FAQ
FAQ: BACnet to MQTT gateway
What is a BACnet to MQTT gateway and what is it for?
It is a device that reads a building's BACnet data on the local network and sends it to the cloud over MQTT. Phantom Shield does that and also delivers the data to Reveal, which normalizes it, keeps the history and raises alerts for all your sites.
Do I have to replace the BMS or the controllers to read their BACnet data?
No. Phantom Shield reads the BACnet IP and BACnet MS/TP devices already installed, with no firmware or programming changes. The BMS keeps controlling the building as it does today, and there is no need to standardize on one brand.
Does the same gateway also read Modbus, OPC UA, SNMP and MQTT?
Yes. Phantom Shield speaks BACnet, Modbus, OPC UA, SNMP, MQTT and HTTP/REST in one device, physical or virtual, so the generators, UPS units, meters and other building equipment that don't use BACnet come in through the same gateway.
What happens to the BACnet data if the Internet drops at a site?
The gateway stores it locally (store and forward) and syncs it to Reveal on reconnect. Buffer depth is configurable, so readings are not lost when communication drops.
Can I use the building data in my own systems?
Yes. In Reveal the building's BACnet data is available in the cloud for dashboards, alerts, reports and API queries, together with the data from the rest of your sites.
Does it work if I already have another manufacturer's gateways installed?
Reveal can ingest data from third-party gateways that can transmit to GSS's endpoint, as well as from Phantom Shield, CCTV and APIs. That is a platform capability: GSS does not ingest third-party gateways in production today.
How is a project to read BACnet data across several sites priced?
By primary connection: each piece of equipment, panel or data source connected through Phantom Shield counts as one. The proposal includes a one-time fee for equipment, installation and onboarding, plus a monthly service fee. Tell us how many sites and how much equipment you have and we will prepare a proposal.
Which buildings and BACnet equipment do you want to connect?
Tell us how many sites you have, which BMS or controllers each one runs and what other equipment you want to see, and we will show you in a demo how Phantom Shield and Reveal bring their data into one view without replacing what you already have.