Skip to main content

Aida Controller

Aida Controller is an operational technology (OT) on-premises server designed for comprehensive building management and automation. It provides a robust, scalable solution for controlling and monitoring various building systems through a unified platform.

Overview

Aida Controller serves as the central hub for building automation, offering seamless integration with multiple building management systems. It operates as a standalone server that can be deployed on-premises at individual sites or buildings, providing local control and data aggregation capabilities.

Architecture

Aida Controller uses a distributed, hybrid architecture that combines robust on-premises control with centralized cloud management. Each site runs its own Dockerized controller, ensuring local automation, device integration, and resilience even if cloud connectivity is lost. The cloud-based Aida Platform aggregates data from all controllers, provides a unified dashboard, and enables third-party integrations. Secure APIs and modern protocols (HTTPS, MQTT, CoAP, BACnet IP) ensure interoperability and security across all layers.

For a detailed breakdown of all components, data flows, and security considerations, see the full architecture document.

Aida Architecture

Core Features

Building Management Modules

  • Lighting Control and Automation - Intelligent lighting management with scheduling, occupancy detection, and energy optimization
  • Shade Control and Automation - Automated shade control for natural light management and energy efficiency
  • Fault Managed Power (FMP) Control and Automation - Advanced power management with fault detection and automated responses
  • HVAC Control and Automation - Comprehensive heating, ventilation, and air conditioning control
  • Sensor Data - Real-time data collection and monitoring from various building sensors

Communication Protocols

Aida Controller supports multiple industry-standard protocols for maximum compatibility:

  • HTTP/HTTPS - RESTful API endpoints for web-based integration
  • MQTT/MTTS - Lightweight messaging for IoT device communication
  • CoAP - Constrained Application Protocol for resource-constrained devices
  • BACnet IP - Building Automation and Control Networks for HVAC and building automation

Data Management

  • PostgreSQL Database - Robust, scalable data storage for historical data, configurations, and real-time information
  • API Aggregation - Unified API that consolidates features and data from all connected systems

Architecture

Controller vs Platform

Aida Controller (This Repository):

  • On-premises server for single site/building management
  • Lightweight dashboard and configuration frontend UI
  • Primary interface for local building operators
  • Connects to Aida Platform for centralized management

Aida Platform (Cloud Application):

  • Cloud-based application managing multiple sites
  • Centralized dashboard for multi-site operations
  • Connects to multiple Aida Controllers
  • Provides enterprise-level features and analytics

Integration Flow

Aida Platform (Cloud)
↕ HTTPS API
Aida Controller (On-Premises)
↕ Multiple Protocols
Building Systems (Lighting, HVAC, Sensors, etc.)

Technology Stack

  • Backend: Python
  • Database: PostgreSQL
  • Frontend: Lightweight web-based dashboard
  • Communication: HTTP/HTTPS, MQTT/MTTS, CoAP, BACnet IP
  • Deployment: Docker container on-premises server

Getting Started

Prerequisites

  • Docker and Docker Compose
  • PostgreSQL 12+ (can be containerized or external)
  • Network access for protocol communication
  • Appropriate hardware for your building size and complexity

Installation

Aida Controller runs in a Docker container for easy deployment and management.

# Clone the repository
git clone <repository-url>
cd aida_controller

# Build and start the container
docker-compose up -d

# View logs
docker-compose logs -f

[Additional installation instructions will be added based on the specific implementation]

Configuration

[Configuration details will be added based on the specific implementation]

API Documentation

The Aida Controller provides a comprehensive REST API for:

  • System configuration and management
  • Real-time data access
  • Historical data retrieval
  • Device control and automation
  • Integration with Aida Platform

[API documentation will be added based on the specific implementation]

Project Structure

For a detailed overview of the directory layout and organization, see the project structure document.

License

This project is licensed under the terms of the MIT License.

Support

For support and documentation, please refer to the Aida Platform documentation or contact your system administrator.


Note: This is the Aida Controller component. For cloud-based multi-site management, see the Aida Platform documentation.