Building Real-Time Integrations with ControlBird

· The ControlBird Team · 7 min read

Connecting devices across different protocols is one of the hardest problems in automation. ControlBird provides a unified integration layer that abstracts protocol complexity behind a consistent controller and mapper pattern, so you can focus on what the data means rather than how to get it.

The Protocol Controller Pattern

Every protocol integration in ControlBird follows a two-layer architecture: a Protocol Controller that manages connectivity, and one or more Protocol Mappers that define how external data points map to entities in the Store.

The controller handles connection lifecycle, authentication, retry logic, and health monitoring. Mappers declare which remote registers, tags, or topics should be read or written, and where the resulting values land in the entity hierarchy. This separation means you can reuse a single controller for many mappers and reconfigure mappings without touching connection settings.

Supported Protocols

ControlBird ships with native support for the most widely used industrial and building automation protocols:

  • Modbus TCP / RTU: Connect to PLCs, VFDs, energy meters, and other Modbus devices with configurable register maps and automatic polling.
  • OPC UA: Browse OPC UA servers, subscribe to nodes, and map them directly to Store entities with full certificate management.
  • MQTT: Subscribe to topics from any MQTT broker, parse JSON or raw payloads, and publish commands back to devices.
  • BACnet: Integrate building management systems with BACnet/IP support for HVAC, lighting, and metering.
  • DNP3 and EtherNet/IP: Connect utility RTUs and industrial controllers, available on managed cloud plans.
  • Zigbee and Z-Wave: Bring consumer smart devices in through an MQTT gateway such as zigbee2mqtt or Z-Wave JS.

Each protocol runs as an independent service with its own fault tolerance and leader election, so a failure in one integration never affects the rest of the system.

The Extension Catalog

Beyond built-in protocols, ControlBird offers an extension catalog with ready-made integration templates. Each extension bundles a preconfigured controller, mapper definitions, and optional JavaScript transform scripts so you can connect a new device type in minutes rather than hours.

Extensions are versioned and installable from the platform UI. The catalog includes templates for device families across energy monitoring, environmental sensing, and motor control. You can also create and share your own extensions for devices specific to your environment.

Store-Centric Data Flow

All protocol data flows through the Store, ControlBird's central in-memory database. When a Modbus controller reads a holding register, the value is written to a Store entity field. Any service or dashboard widget that has subscribed to that field receives a notification within milliseconds.

This store-centric architecture means integrations compose without extra glue. A value read from an OPC UA server can trigger an automation rule that writes a command to a Modbus device, and neither protocol service needs to know the other exists. The Store is the shared bus they both read from and write to.

Getting Started

Adding an integration takes three steps: create a protocol controller entity, configure its connection parameters, and add mapper entities that define your data points. The platform UI provides visual editors for each step, or you can use bulk configuration import for provisioning at scale.

Check out the configuration walkthrough for a step-by-step guide to connecting your first device.

Get Started with ControlBird

Deploy your first instance in under two minutes. Plans start at $20/mo.

Explore the Docs →