EOS Connect

Open-source integration and control platform for intelligent energy optimization

Bridges your energy system with external optimization engines (EOS/EVopt)

What Does EOS Connect Do?

Important: EOS Connect is an integration and control platform that bridges your energy system with external optimization engines. It collects data from your devices (battery, inverter, sensors), sends it to an optimization backend (EOS or EVopt), receives the optimization results, and controls your devices accordingly.

The actual optimization calculations are performed by:

  • Akkudoktor EOS - Full-featured optimization engine (default) - GitHub
  • EVopt - Lightweight, very fast alternative - GitHub

EOS Connect handles:

  • Data collection from your devices (battery SOC, PV production, load, etc.)
  • Forecast integration (PV forecasts, electricity prices, weather)
  • Communication with optimization backend
  • Executing optimization results (controlling inverter, battery, EV charger)
  • Web dashboard for monitoring and manual control
  • API and MQTT interfaces for integration

At a Glance

Battery Management

Dynamic charging curves, temperature protection, SOC-based optimization

Solar Forecasting

Multiple providers: Akkudoktor, Solcast, OpenMeteo, Forecast.Solar

Cost Optimization

Dynamic electricity pricing (Tibber, smartenergy.at, Stromligning)

EV Charging

EVCC integration for intelligent electric vehicle charging

Smart Home

Home Assistant integration with MQTT auto-discovery; OpenHAB supports MQTT auto-discovery via MQTT binding, and uses item-based integration and MQTT publishing

Inverter Control

Fronius GEN24 support with automatic firmware detection

Web Dashboard

Real-time monitoring, manual controls, and system visualization

REST & MQTT API

Full programmatic control and data access

Key Features

Automated Energy Optimization

EOS Connect uses real-time and forecast data to maximize self-consumption and minimize grid costs. It supports two optimization backends:

  • Akkudoktor EOS - Full-featured optimization engine (default)
  • EVopt - Lightweight, very fast alternative

Dynamic Battery Management

  • SOC-Based Charging Control: Automatically reduces charging power as battery fills (exponential curve from 100% power at 50% SOC to ~5% power at 95% SOC)
  • Temperature Protection: Protects battery from damage in extreme temperatures (-30°C to +70°C)
  • Dynamic Price Calculation: Analyzes charging history to determine real cost of stored energy (LIFO inventory valuation)
  • Sensor Auto-Detection: Correctly attributes charging to PV vs Grid by auto-detecting sensor polarity

Flexible Integration

  • Works with Home Assistant, OpenHAB, EVCC, and MQTT
  • Supports multiple PV forecast providers
  • Dynamic electricity pricing from various providers
  • Direct inverter control (Fronius GEN24) or via EVCC
Tip: EOS Connect acts as a client and requires a running EOS or EVopt server for optimization calculations.

Quick Start

Choose your installation method and get running in minutes:

Home Assistant

Recommended for HA users

  1. Add ohAnd/ha_addons repository
  2. Install EOS (or EVopt) + EOS Connect add-ons
  3. Configure via HA UI
  4. Start both add-ons
HA Guide →

Docker

Works on any system

git clone ...
cd EOS_connect
docker-compose up -d

Requires running EOS/EVopt server

Docker Guide →

Local Python

For development/custom setups

git clone ...
pip install -r requirements.txt
python src/eos_connect.py

Requires Python 3.11+

Local Guide →
Prerequisite: All methods require a running EOS or EVopt server for optimization calculations. See EOS Server Setup.

Project Status

EOS Connect is actively developed and enhanced. Recent highlights:

  • Enhanced Fronius GEN24 interface with automatic firmware detection
  • Temperature-based battery protection system
  • Dynamic battery price calculation (LIFO)
  • 15-minute optimization intervals (quarterly mode)
  • Multiple PV forecast provider support
  • Home Assistant MQTT Auto Discovery
Note: This project is in active development. Always check the GitHub repository for the latest updates and breaking changes.

Community & Support

Join our community and get help:

Documentation

Comprehensive guides for users and developers

Contributing

PRs welcome! See our contribution guidelines