The open building automation platform

Normal runs buildings. It discovers and normalizes what is already installed — BACnet, Modbus, Niagara, MQTT — then schedules it, commands it, guards what gets written, and runs your own programs on the device. One site or a thousand, on your hardware, and you can install it yourself today.

Connect to Anything

Containerized, edge application allows you to easily integrate your building controls to any on-prem or cloud application. Develop custom adaptors that run locally using our simple plugin framework.

Automatic Device Discovery

Single click device discovery makes it easy to map data and configure custom workflows.

Free to start, then per building

Your first site is free. After that it's $2,000 per building, perpetual — no point counts, no per-driver fees, no SaaS expense. Own your integrations.

Trustworthy by default

Points are quality-flagged as they report, writes are policy-guarded and relinquish themselves, and failed reversions are retried until they land. Every change is audited.

Normal Product Features

Data Acquisition

Data Acquisition image

BTL-Conformant BACnet, End to End

BACnet/IP, /SC, and /Ethernet with Network Port objects, segmentation, MS/TP slave discovery, and proprietary property mapping. Sites with 100,000+ objects scan in minutes.

Native Fox and Modbus Support

Connect directly to Niagara stations without reconfiguring your JACE, and poll tens of thousands of Modbus devices with concurrent batching.

Advanced, User-Friendly Admin Console with AI and LLM Equipment Modeling

Quickly set up data sources and batch map raw data with AI and LLM support using your choice of Brick, Haystack 4.0

Sparkplug B and UDMI, Both Directions

Ingest telemetry from external MQTT and UDMI devices, and publish your modeled equipment back out as a UDMI gateway device. UDMI ships in the next release.

Custom Plugins

Use our growing library of plugins to access other data sources; or write your own

Data Acquisition image

Normal Portal

Data Normalization

Sign In, and the Gateway Licenses Itself

One browser sign-in authorizes both the image pull and the license. Enterprise fleets skip even that with zero-touch auto-provisioning on first boot.

System Health Monitoring and Backups

Track every site from one console, with managed database backups handled for you

Secure Remote Access, No VPN

Open the on-site console in your browser through an authenticated per-site tunnel — no inbound firewall rules to open

Direct Support Access

Quickly connect with Normal’s team for expert assistance

Normal Portal

Controls & AI Tools

Controls

AI JavaScript Programming Environment

Filter, alarm, and integrate with any system with a few lines of code; or develop controls that run on-device

Commands and Overrides

Send commands to downstream devices that automatically relinquish control when they expire

AI Integrated Development Environment with GitHub

Develop new integrations right on the device; collaborate by pushing your changes back to GitHub

Graphical, function-block style configuration

Use our familiar graphical programming tool to deploy code to 1 or 1000 devices at the same time

Controls

Schedules & Commands

Weekly schedule editor with drag-to-create periods

One Schedule Service Across Every Protocol

BACnet schedule objects are discovered and imported during scans, then managed alongside everything else from a single interface

Bidirectional Sync

Read schedule rules off the devices, edit them in Normal, and write the changes back — with a sync log recording every change

Writes That Relinquish Themselves

Commands carry a priority and a lifetime. If a device is offline when one expires, the release is retried until it lands.

Guardrails on Every Application

Deny-by-default policy rules controlling exactly what each integration is permitted to write

Weekly schedule editor with drag-to-create periods

Data Quality

Object Explorer with the Data Quality panel and live flag counts

Eleven Ways Data Goes Wrong, Detected Automatically

Stale, dead, intermittent, flatlined, railed, out-of-range, sentinel, and non-monotonic points are flagged continuously as they report

Backtest Before You Enable

Preview exactly what a rule would flag against your history before turning it on — no surprise alert storms

Queryable, Filterable, Countable

Flags are an indexed field on the point, so they show up as an Object Explorer column with live counts and work in any point query

Runs Off the Ingest Path

A background projector sweeps the index on a timer, so data collection is never slowed down by quality evaluation

Object Explorer with the Data Quality panel and live flag counts

DataOps

Unit conversions library for flow, temperature, power, and pressure

Units That Match Across Vendors

A conversions library for flow, temperature, power, and pressure — applied on the read path, so CFM and L/s stop being two different points

Device Health Monitoring

Ensure data quality by quickly finding sources of network outages

Publish Anywhere Downstream

Sparkplug B to any MQTT broker, and every point and its metadata straight into PostgreSQL/TimescaleDB for Grafana, Tableau, or Power BI

Serve Your Model Over OPC-UA

SCADA systems and historians browse the equipment model, read live values, pull history, and command points over opc.tcp — no REST integration required. Ships in the next release.

REST and gRPC APIs

Integrate any workflow into your application

Debug with power

Access system logs and raw debugging information right from the comfort of your browser

Unit conversions library for flow, temperature, power, and pressure

How we Compare

Two kinds of product get bought for this job today. Here is how we differ from each in shape, not in brand.

Normal Framework Site-oriented integration frameworks Analytics-first platforms
How you get it Install it yourself, free, today Certified channel, quoted Reseller, quoted
Licensing Per building, unlimited points Per driver, per point, per station Per point or per site
Time to first data Minutes Days to weeks Needs someone else to connect the building first
Scope Integration, modeling, scheduling, and supervisory control Supervisory control at one site Analysis of data someone else acquired
Write-back Priority, lifetime, guardrails, automatic relinquish, retried reversions Native, site-scoped Typically none
Extension language JavaScript, with gRPC and REST APIs Proprietary visual wiring plus a JVM language Proprietary rule language
Data model Brick, Haystack 4, or your own schemas — portable out Proprietary object model Tag model, resident in the platform
Fleet management Native — portal, tunnels, provisioning, backups Add-on Per instance
Deployment Container on your hardware, a VM, or your cloud Appliance-anchored Vendor cloud

We are not trying to replace the station in your closet. Normal speaks Fox natively and connects to existing Niagara stations — most of our customers run both.