What is EOS Connect?

A comprehensive energy management platform — from data collection to intelligent control

The Evolution: From Gateway to Full Solution

EOS Connect has evolved. Originally designed as a "data gateway" to bridge hardware with external optimizers, it is now a complete energy management system (EMS). While it retains its open architecture and support for external backends, its core strength now lies in its fully integrated MILP optimizer (local_evopt) which provides a high-performance, self-contained solution for energy optimization.

Why a full solution?
  • Zero Dependency: No need for external servers, containers, or network connectivity beyond your local environment.
  • Performance: Tighter integration between data fetching and optimization means faster cycles and more reactive control.
  • Ease of Use: One setup, one configuration, one interface. The Setup Wizard handles everything from hardware connection to optimization tuning.
  • Privacy: All your energy data and optimization logic stays local on your system.

Optimization options:

  • Local EVopt (Recommended Default) — Built-in Linear Programming (MILP) optimizer. Based on the proven evcc-io/optimizer engine. Optimized specifically for the EOS Connect ecosystem.
  • Akkudoktor EOS — Full-featured external optimization engine - GitHub
  • EVopt — Lightweight external alternative - GitHub

How It Works

The Intelligent Control Cycle

EOS Connect acts as the central brain of your energy installation, operating in a continuous loop:

  1. Data Collection: Real-time monitoring of battery SOC, PV production, and household load.
  2. Forecast Integration: Aggregating PV generation forecasts and dynamic electricity prices for the next 24-48 hours.
  3. Integrated Optimization: Processing all variables locally (or delegating to a chosen server) to calculate the most cost-effective power strategy for every moment.
  4. Device Control: Executing the strategy by sending precise power commands to your inverters, batteries, and wallboxes.
  5. Monitoring: Visualizing the process and results in real-time through the web dashboard and MQTT.
EOS Connect Process Flow

Figure: EOS Connect process flow diagram

Timing: The optimization cycle runs every refresh_time minutes (default: 3 minutes) with configurable time frame granularity (15 minutes or hourly).

Core Features

Battery Management

SOC Monitoring

Real-time State of Charge tracking with remaining energy calculation

Charge/Discharge Control

Automated modes: grid charging, PV-only, discharge allowed, idle

Dynamic Charging Curve

SOC-based power reduction (100% → 5% as battery fills)

Temperature Protection

Automatic power reduction in extreme cold/heat (-30°C to +70°C)

Dynamic Price Calculation

Analyzes charging history to determine real cost of stored energy

Smart Sensor Detection

Automatically detects battery/grid sensor polarity to ensure correct PV vs Grid attribution

Efficiency Settings

Configurable charge/discharge efficiency for accurate calculations

Temperature-Based Protection Details

When a battery temperature sensor is configured, EOS Connect applies a generic temperature derating curve derived from BYD HVM battery thermal specifications. This manufacturer-validated approach ensures safe charging across all temperature ranges for any battery system:

Temperature Range Charging Power Purpose
< -10°C 0% (Locked) Cell damage protection - no charging allowed
-10°C to 0°C 7.5% → 50% Lithium-plating protection in extreme cold
0°C to 5°C 50% Moderate cold derating
5°C to 12°C 50% → 77% Light derating - battery warming gradually
12°C to 40°C 100% (SOC-based only) Optimal operating range - full charging capacity
40°C to 50°C 100% → 50% Thermal derating - heat protection begins
50°C to 60°C 50% → 0% Severe derating - critical heat protection
> 60°C 0% (Locked) Overheat protection - no charging allowed
Example: At 10.5°C with 30% SOC, a 3 kWh battery charges at ~71% power (2,136 W) according to BYD HVM specifications. Temperature derating and SOC curves work together to optimize both safety and charging speed.

Solar Forecasting

Multiple provider support for accurate PV generation predictions:

Provider Description Requirements
Akkudoktor Default, free, comprehensive forecasts Location, tilt, azimuth, power
Solcast High accuracy, commercial provider API key, resource ID (10 calls/day limit)
OpenMeteo Weather-based forecasting Location, system specs
Forecast.Solar Free solar forecasting Location, basic system info
EVCC Use existing EVCC forecasts Running EVCC instance

Multi-Installation Support

Configure multiple PV installations with different orientations:

  • South-facing roof (180°, 25° tilt, 5 kW)
  • East garage (90°, 15° tilt, 2.5 kW)
  • West carport (270°, 10° tilt, 3 kW)

EOS Connect aggregates all forecasts for total system prediction.

Cost Optimization

Dynamic Electricity Pricing

Supports multiple price providers for real-time market rates:

  • Tibber: Scandinavian/European dynamic pricing
  • smartenergy.at: Austrian market prices
  • Stromligning.dk: Danish electricity pricing
  • Fixed 24h: Custom hourly price array
  • Default: Uses Akkudoktor pricing data

Price Modifiers

  • Fixed Adder: Add fixed costs (grid fees, taxes) in ct/kWh
  • Relative Multiplier: Apply percentage markup (e.g., 5%)

Dynamic Feed-In Pricing

New: Optimize battery discharge timing based on dynamic export prices, not just purchase prices:

  • Fixed Feed-In: Configure a static export rate (simplest option)
  • Elpris DK: Real-time Danish spot prices for exports (DK1/DK2 zones)
  • EPEX-Spot: European spot market prices via Akkudoktor API (updated every 15 minutes)
  • Adjustments: Apply static adder (transport costs) and multiplier (discount/premium strategy)

Example: Instead of discharging to save €0.25/kWh purchase cost, EOS Connect now also considers you earn €0.40/kWh by exporting — leading to smarter discharge timing that increases your revenue.

Battery Price Calculation (LIFO)

EOS Connect can analyze your charging history to determine the real cost of energy stored in your battery:

  1. Scans last 48-96 hours of power data
  2. Identifies charging events (battery power > threshold)
  3. Attributes energy to either:
    • Grid charging at market price
    • PV surplus at €0 (free solar energy) — or optionally at the feed-in tariff rate as opportunity cost (see battery_price_include_feedin)
  4. Uses Last-In-First-Out (LIFO) valuation for current SOC
  5. Updates optimizer with real battery energy cost
Smart Decision: If you charged your battery from the grid at €0.30/kWh, the optimizer knows not to discharge it when prices are only €0.25/kWh.

Update Notifications

Docker Image Users: EOS Connect automatically checks for available updates from GitHub Container Registry (GHCR).

Docker Only: Update notifications are only available for Docker image installations. If you're using the Home Assistant Add-on, updates are managed by Home Assistant itself through the Supervisor.

Update System Features

  • Automatic Detection: Checks for updates every 12 hours in the background
  • Branch Awareness: Detects whether you're on stable or develop branch and only shows matching updates
  • Smart Notifications:
    • Blue dot notification on web interface menu
    • Slide-down banner showing version information
    • Dismissible per version (remembers your choice)
  • Zero Configuration: Works automatically without any setup
  • MQTT Integration: Publishes update status for Home Assistant automations
  • REST API: Check update status programmatically

How It Works

  1. On startup, EOS Connect detects if running as Docker image or HA Add-on
  2. For Docker users, it queries GHCR every 12 hours for new releases
  3. Compares latest available version with your current version
  4. Shows notification banner and blue dot when update is available
  5. You can dismiss the notification per version (it won't show again for that version)
  6. Access detailed information via the Info page in the web interface
Example: Running v0.2.30 on stable branch? The system only checks for newer stable versions (0.2.31, 0.2.32, etc.), not develop versions.

Integration Capabilities

Smart Home Platforms

Home Assistant

  • MQTT Auto Discovery
  • Sensor integration
  • Control via entities
  • Native add-on available

OpenHAB

  • Item-based integration
  • MQTT publishing
  • MQTT Auto Discovery (via MQTT binding)
  • REST API access
  • Full sensor support

Inverter Control

Fronius GEN24 Support:

  • Enhanced Interface (Default): Automatic firmware detection, universal compatibility
  • Legacy Interface: Available for corner cases
  • Supported Actions:
    • Grid charge power setting
    • Discharge control
    • SOC monitoring
    • Real-time status

EVCC External Battery Control:

  • Universal interface for all EVCC-supported inverters
  • Battery management without direct inverter connection
  • Note: Dynamic max charge power not currently supported by EVCC

API-Only Mode:

  • Disable direct inverter control
  • Get optimization results via MQTT/REST API
  • Implement control in your own automation

Electric Vehicle Charging (EVCC)

Modes & Control

  • PV Mode: Charge only from solar surplus
  • Min+PV Mode: Minimum grid + solar surplus
  • Fast Charge: Maximum power from grid
  • Off: No charging

Multi-EVCC Support

Control multiple EVCC instances:

  • Home wallbox (main garage)
  • Guest wallbox (driveway)
  • Workshop charger

Integration with Optimization

EOS Connect coordinates battery and EV charging:

  • Prioritizes PV surplus distribution
  • Avoids simultaneous grid charging
  • Respects battery SOC limits
  • Considers electricity price forecasts

Optimization Backends

Local EVopt — Built-in (Default)

  • Built-in: Runs in-process — no external server to install or maintain
  • MILP solver: Uses PuLP/CBC to find the globally cost-optimal dispatch plan
  • Configurable strategies: Charging (charge before export, maximise self-consumption, attenuate grid peaks) and discharging (discharge before import, emergency reserve)
  • Hot-reloadable: Strategy changes take effect immediately and trigger a new optimization run
  • 15-minute resolution: Supports both 3600 s (hourly) and 900 s (15-minute) time frames
  • Based on: evcc-io/optimizer (MIT license)

Akkudoktor EOS Server

  • Full-featured: Complex optimization algorithms
  • Comprehensive: Considers all system parameters including temperature forecasts
  • Flexible: Highly configurable
  • Server: Runs on port 8503 (external process)
  • GitHub: Akkudoktor-EOS/EOS

EVopt (Lightweight External)

  • Fast: Very quick optimization calculations
  • Lightweight: Lower resource requirements
  • Simple: Easier to set up and maintain
  • Server: Runs on port 7050 (external process)
  • Source: Available via EVCC discussions
Choose Your Backend: Configure via eos.source in the web UI ( Settings → EOS). Options: local_evopt (default, built-in), eos_server, or evopt.

⏱️ Time Frame & Refresh Configuration

Time Frame (Optimization Granularity)

Backend-Specific Capabilities:

  • Local EVopt (built-in): Supports both 3600 (hourly) and 900 (15-minute). Runs in-process — no external calls during optimization.
  • EOS Server: Only supports 3600 seconds (hourly). 15-minute intervals are not available with this backend.
  • EVopt: Supports both 3600 (hourly) and 900 (15-minute). Use 900 for more precise, dynamic optimization.

Misconfiguration Handling: If you mistakenly set time_frame: 900 with EOS server, it will be automatically corrected to 3600 at startup with a warning message.

Refresh Time

How often EOS Connect sends optimization requests:

  • Default: 3 minutes
  • Recommended Range: 1-5 minutes
  • Considerations: More frequent updates = more solver runs (built-in) or API calls (external backends)
Note: Solcast users should use longer refresh times (15+ minutes) due to API rate limits (10 calls/day). EOS Connect automatically extends intervals to 2.5 hours when Solcast is configured.

Benefits Summary

Cost Savings

Minimize electricity bills by optimizing when to charge from grid and when to use battery

Self-Sufficiency

Maximize PV self-consumption, reduce grid dependency

Battery Health

Protect your investment with intelligent charging curves and temperature protection

Automation

Set it and forget it - automatic optimization every few minutes

Insights

Understand your energy system with detailed monitoring and analytics

Flexibility

Easy integration with existing smart home systems and custom automation

Web Dashboard

EOS Connect provides a comprehensive web interface for real-time monitoring and control:

EOS Connect Web Dashboard

Figure: EOS Connect web dashboard showing real-time energy management

Dashboard Features

Main Dashboard

Real-time overview of PV, Load, Battery, and Optimization states with dynamic charts

Battery Overview

Real-time battery status including charge power, temperature monitoring with thermal protection indicators, historical charging sessions, and cost analysis. Includes mobile-responsive temperature display with color-coded status indicators.

Log Viewer

Real-time application logs with component-based filtering

Manual Controls

Override system modes and set charging parameters directly

Next Steps

Ready to get started? Choose your path:

Installation Guide →

Install EOS Connect on your system

Configuration →

Learn how to configure all features

Advanced Features →

Explore API, MQTT, and automation