EOS Connect

Comprehensive energy management platform with a built-in optimizer and support for external backends

Evolved from a data gateway to a full-featured, self-contained optimization solution

What Does EOS Connect Do?

What EOS Connect does: Collects data from your devices, runs optimization (built-in by default — no external server needed), and controls your hardware automatically based on the results.

Optimization backends:

  • Local EVopt (default, built-in) — MILP optimizer, no external server needed. Learn more →
  • Akkudoktor EOS — Full-featured external engine — GitHub
  • EVopt — Lightweight external alternative — GitHub

EOS Connect handles:

  • Data collection from your devices (battery SOC, PV production, load, etc.)
  • Forecast integration (PV forecasts, electricity prices, weather)
  • Running optimization (in-process or via external 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 ships with a built-in optimizer and also supports external backends:

  • Local EVopt (default, built-in) — MILP optimizer, no external server required
  • Akkudoktor EOS — Full-featured external optimization engine
  • EVopt — Lightweight, very fast external 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