Skip to main content

Aida Controller

Aida Controller is a Dockerized on-premises edge agent for the Aida Platform. It discovers IoT devices on local networks, organizes them into clusters, provides a local operator UI, runs edge policies (circadian lighting, schedules, event routing), manages OTA firmware updates, and syncs state to the Aida cloud via AWS IoT Core MQTTS.

Overview

Each building or site runs its own controller appliance. The controller handles local automation, device integration, and BACnet/IP exposure to the BMS — and keeps operating when WAN connectivity is lost. The cloud-based Aida Platform aggregates data from all controllers, provides multi-site dashboards, and enables third-party integrations.

Architecture

Aida Controller uses a hybrid architecture: on-premises control combined with centralized cloud management. Secure APIs and industry protocols (HTTPS, MQTTS, CoAP, MQTT, BACnet/IP) connect building systems, the local controller, and the platform.

Controller vs Platform

Aida Controller (on-premises):

  • Single-site building automation and device orchestration
  • Local web UI for commissioning, control, and troubleshooting
  • Primary interface for facility operators on site
  • Connects to Aida Platform for fleet management and remote access

Aida Platform (cloud):

  • Multi-site portfolio management
  • Centralized dashboards, AI assistant, and integrations
  • Connects to many controllers via secure cloud sync

Core Capabilities

  • Device discovery and control — CoAP/CBOR, MQTT, HTTP, RS-485 (Somfy SDN), SNMP, and BACnet/IP
  • Cluster management — Group devices by floor, zone, or building; stable IDs for BACnet exports
  • Edge policies — Circadian schedules, automation rules, and event routing
  • OTA firmware — Managed firmware images and rollout jobs
  • Cloud sync — Facility model and telemetry to Aida Platform over MQTTS (X.509 mTLS)
  • BMS integration — BACnet/IP server and legacy-compatible Public REST API

Technology Stack

LayerTechnology
FrontendReact 18, TypeScript, Vite, Tailwind CSS
BackendPython 3.12, FastAPI, SQLAlchemy 2 (async), Celery
DataPostgreSQL 16, Redis 7
DeployDocker Compose — Nginx, FastAPI, Celery, PostgreSQL, Redis, Host Controller
CloudAWS IoT Core (MQTTS)

Installation

The production installer runs on a supported Linux host with sudo. It installs Docker if needed, pulls the controller stack from ECR, and lays out config under /opt/aida-controller by default.

curl -fsSL https://aida-platform.com/controller/install.sh | sudo bash

Prerequisites

  • Ubuntu or Debian host (the installer can install Docker and Docker Compose v2)
  • Network access to local building devices and, optionally, AWS IoT Core for cloud sync
  • sudo for install and service management

After install

  • Default install directory: /opt/aida-controller
  • Helper scripts: start.sh, stop.sh, and uninstall.sh in the install directory
  • Open the controller web UI at the host's LAN address (port configured during bootstrap)
  • Pair the controller with your Aida Platform organization from the platform UI or bootstrap flow

Optional environment variables (AIDA_INSTALL_DIR, RELEASE_TAG, and others) are documented in the install script.

API Documentation

The Aida Controller provides two integration surfaces for external systems:

  • Controller Public API/aida/api/* for external integrators (BMS adjuncts, scripts, legacy 1.0 clients). Same contract as Controller 1.0.
  • Controller BACnet/IP Server/api/v1/bacnet/* + UDP 47808 for BMS ReadProperty/WriteProperty on cluster zones.

Municipal and government projects: see Controller BACnet/IP in the sidebar — start with BACnet/IP Server, then Municipal BMS Integration Brief for protocol FAQ, Level 1 vs Level 2, PICS, and commissioning.

  • Internal UI API/api/v1/* for the controller web application (Swagger at /docs on the appliance).

Interactive OpenAPI docs are available on each controller at /docs (tags: health, public-api, then internal groups).

Support

For support, contact your system administrator or MHT Technologies.