Skip to content

Data Flow

This document describes how data flows through the Voltimax IoT Platform across different scenarios.

Telemetry Flow (Edge to Cloud)

  1. Collection: Gateway polls asset via Modbus/HTTP (5-30s intervals)
  2. Transform: Convert device-specific format to platform metrics
  3. Publish: Send telemetry frame to Service Bus via MQTT
  4. Process: Azure Function validates and enriches data
  5. Store: Index to Elasticsearch for time-series queries
  6. Query: Platform API serves metrics to clients

Command Flow (Cloud to Edge)

  1. Request: Client sends command via Platform API
  2. Validate: API validates command and user permissions
  3. Dispatch: Send to gateway-commands session queue (SessionId = gatewayId, MessageType discriminator)
  4. Route: Gateway's polymorphic handler reads MessageType and dispatches to the correct handler
  5. Execute: Handler translates to device protocol and executes via Mediator command
  6. Reply: Handler sends typed response back through session-based reply queue

Available Commands

CommandEndpointDescription
PingGatewayRequestPOST /api/messaging/gateways/{gatewayId}/pingHealth check and latency measurement
SetBatterySetpointRequestPOST /api/messaging/gateways/{gatewayId}/batteries/{name}/setpointSet battery charge/discharge setpoint
RefreshConfigurationRequestPOST /api/messaging/gateways/{gatewayId}/refresh-configurationTrigger immediate configuration reload

Pricing Flow (External to Platform)

  1. Fetch: Azure Function calls ENTSO-E API (hourly)
  2. Parse: Extract day-ahead prices for configured zones
  3. Store: Save to PostgreSQL
  4. Optimize: Energy Advisor uses prices for strategy decisions
  5. Command: Generate charge/discharge commands for gateways