This document provides a high-level overview of the integration between Enexa energy optimization and the Amperio Team IoT middleware. It is intended to:
What we are building and why
Optimize electricity procurement costs at EV charging sites with integrated battery storage through intelligent energy arbitrage:
Charging Battery
During cheap electricity price periods (night, high renewable generation)
Discharging Battery
During expensive periods (peaks) to serve EV demand from stored energy
Always Serve EVs
EV charging demand is never compromised - customer experience is priority
Phase 1: Procurement Control
The initial optimization focuses on State of Charge (SOC) management and price arbitrage. The system will schedule battery charging during low-price periods and discharge during high-price periods, reducing overall energy procurement costs.
Energy optimization, master data management, and operator interface.
Asset Registry
Master data
Configuration
Central repository
Optimizer
SOC / Arbitrage
Dashboards
Monitoring
REST API
Enexa calls Amperio API
for command dispatch
Centralized backend that handles communication with ADS-TEC ChargePost hardware. Exposes REST API for Enexa integration and translates commands to Modbus/TCP registers.
API Gateway
Enexa integration
Modbus/TCP
ChargePost control
Watchdog Mgmt
2-60s heartbeat
All-in-one ultrafast charging solution with integrated battery storage. Controlled via Modbus/TCP interface.
Grid Connection
Up to 87 kVA
2x Power Units
110 kW each (battery)
EV Charging
Up to 300 kW coupled
Modbus Interface
v2.6 / FW 1.10.2+
Amperio calls these APIs to fetch asset registry
Sites, controllers, equipment inventory
Battery capacity, charger limits, meter IDs
Which controller manages which assets
Amperio calls these APIs to fetch settings
Operating parameters, thresholds, timeouts
Min/max SOC, power limits, grid constraints
Expected versions, update availability
Enexa calls these APIs to dispatch commands
Battery setpoints, EV limits, schedules
Switch operational modes, emergency stops
Day-ahead and intraday optimization plans
Amperio calls these APIs to push telemetry data
Battery SOC, power, EV sessions, grid meter
Equipment faults, safety triggers, warnings
Online/offline, firmware version, heartbeat
Amperio calls these APIs during site setup and controller registration
Create site record, assign credentials
Register controller, fetch initial config
Controller confirms successful setup
Single Source of Truth: All configuration and firmware data is stored in Enexa. Amperio Middleware fetches the latest settings via API, ensuring consistency across all sites. Changes made in Enexa are automatically available to all controllers on their next sync.
Proposed system behaviors - requires Amperio Team confirmation
The following operational modes are proposed by Enexa. Amperio Team should review and confirm these behaviors align with their operational requirements and middleware capabilities.
Trigger: Active Modbus watchdog maintained
Trigger: Watchdog timer expires (no write for 60s)
Trigger: E-stop, crash sensor, BMS fault
Failure scenarios to be handled by each system
Important: Clear ownership of exception handling is critical for effort planning. The following outlines which system handles which failures. Full details in Exception Handling documentation.
Modbus/TCP Connectivity
ChargePost unreachable, reconnection, watchdog maintenance
Hardware Fault Detection
Monitor station.status.errors, charger.X.status.errors bitlists
Clearance Violation
Handle P_clearance_violation warnings (Bit 3 in station.status.warnings)
Telemetry Buffering
Store data during Enexa outage, flush on reconnection
Register Translation
Map REST API commands to correct Modbus holding registers
Middleware API Unavailable
Retry logic, queue commands, alert operators
Telemetry Gaps
Missing data interpolation, stale data warnings
Optimization Failures
Fallback to safe schedules, conservative dispatch
Configuration Errors
Validation, rollback to known-good config
Alerting & Monitoring
Dashboard alerts, operator notifications
Deployment timeline - requires Amperio Team confirmation
The following phases and timelines are proposed. Amperio Team should confirm feasibility and adjust based on their development capacity.
Enexa
Amperio Team
Enexa
Amperio Team
Enexa
Amperio Team
Enexa
Amperio Team