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.
  • Zigbee / Z-Wave / KNX: Connect consumer and commercial smart devices for home and building automation scenarios.

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 currently includes templates for popular device families across energy monitoring, environmental sensing, motor control, and more. 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 are inherently composable. A value read from an OPC UA server can trigger an automation rule that writes a command to a Modbus device, all without the two protocol services knowing about each other. The Store acts as the universal data bus that ties everything together.

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 with 400 data points.

Explore the Docs →