Skip to content

Core Components

The Voltimax IoT Platform consists of several interconnected components across cloud and edge layers.

Platform API

Technology: ASP.NET Core 10, Minimal APIs, Scalar OpenAPI

Responsibilities:

  • REST API for CRUD operations on locations, gateways, assets
  • Authentication/authorization via Keycloak
  • Metrics query endpoints
  • Gateway registration and management
  • Command dispatch to gateways

Key Features:

  • OpenAPI/Swagger documentation with Scalar UI
  • EF Core for entity persistence
  • Elasticsearch integration for metrics queries
  • FluentValidation for request validation
  • CQRS pattern with Mediator

Endpoints (examples):

  • GET /gateways - List all gateways
  • PUT /gateways/{id}/state - Update gateway state (command)
  • GET /gateways/{id}/metrics/assets/{assetId}/latest - Query latest asset metrics

PostgreSQL Database

Technology: PostgreSQL 16+, Entity Framework Core

Purpose: Persistent storage for entities and configuration

Schema:

  • Locations - Physical sites with GPS coordinates
  • Gateways - Edge devices registered with platform
  • Assets - Devices and their configuration
  • Users - User accounts (managed by Keycloak)
  • Audit Logs - Change tracking (planned)

Features:

  • EF Core migrations for schema versioning
  • Relational integrity constraints
  • Row-level security (planned for multi-tenancy)

Elasticsearch

Technology: Elasticsearch 8+

Purpose: Time-series storage for metrics and logs

Indices:

  • metrics-telemetry-* - Asset telemetry data (time-series)
  • logs-gateway-* - Gateway logs (structured logging)

Features:

  • Data streams for automatic index rollover
  • ILM policies (90-day retention, 7-day rollover)
  • Time-series optimized mappings
  • Fast aggregation queries (avg, min, max by time window)

Query Patterns:

  • Latest values for an asset
  • Time-series data over date range
  • Multi-asset queries
  • Statistical aggregations

Azure Functions

Technology: .NET 10, Azure Functions v4, Durable Functions

Functions:

Pricing Ingestion

  • Trigger: Timer (hourly)
  • Purpose: Fetch day-ahead electricity prices from ENTSO-E API
  • Output: Store prices in PostgreSQL for optimization algorithms

Telemetry Processing

  • Trigger: Service Bus queue (telemetry messages)
  • Purpose: Process and enrich telemetry frames
  • Output: Index to Elasticsearch, trigger alerts

Energy Advisor

  • Trigger: Timer or on-demand
  • Purpose: Evaluate optimization strategies
  • Output: Generate charge/discharge commands

Azure Service Bus

Technology: Azure Service Bus Premium

Purpose: Message broker for gateway-cloud communication

Topics/Queues:

  • telemetry - Inbound telemetry from gateways (high volume)
  • commands/{gatewayId} - Outbound commands to specific gateway
  • events - System events (gateway online/offline, alerts)

Features:

  • MQTT 5.0 support for gateways
  • Guaranteed message delivery
  • Dead-letter queues for error handling
  • Partitioning for scale

Gateway

Technology: .NET 10, Console Application

Deployment: On-premises at customer sites (Docker or native)

Responsibilities:

  • Poll assets via Modbus, HTTP, OCPP
  • Publish telemetry to cloud via MQTT
  • Receive and execute commands
  • Run local control strategies (Net-Zero, TOU)
  • Buffer data during network outages

Key Features:

  • Protocol abstraction layer
  • Pluggable strategy framework
  • Local SQLite for buffering
  • Health monitoring and diagnostics

See Gateway Management for details.

Web Application

Technology: Vue.js 3, TypeScript, Vite, VitePress (docs)

Features:

  • Asset and gateway management UI
  • Real-time metrics dashboards
  • Energy advisory insights
  • User authentication via Keycloak OIDC

Status: In development