Intelligent Battery Energy Storage System (BESS) management and optimization for Home Assistant.
💰 Maximize your battery savings by automatically optimizing your battery storage system with real-time price data, solar integration, and adaptive scheduling.
The BESS Battery Manager is a sophisticated Home Assistant add-on that automatically optimizes battery storage systems using dynamic programming algorithms and electricity market pricing. It supports Growatt (MIC/MIN/MOD/MID and SPH) and SolaX inverters. It continuously analyzes published electricity prices, solar production forecasts, and consumption predictions to determine optimal charge/discharge schedules that minimize your electricity costs.
The system requires a supported inverter integration (Growatt Server or SolaX Modbus), a price source (Nordpool or Octopus Energy), and optionally a solar forecast (e.g., Solcast) Home Assistant integration. InfluxDB is recommended for historical data storage. Unlike simple timer-based systems, BESS Manager makes intelligent decisions by weighing multiple factors: current battery state, published electricity prices, solar weather forecasts, consumption estimates, and battery degradation costs. The system updates its optimization strategy every hour as new sensor data becomes available, ensuring your battery always operates in the most economically beneficial way while respecting technical constraints like charge rates and depth-of-discharge limits.
Dynamic Programming Optimization: Solves 24-hour battery scheduling as an optimization problem, considering electricity prices, solar forecasts, consumption patterns, and battery constraints to find the globally optimal charge/discharge schedule.
Electricity Market Integration: Supports Nordpool (Nordic markets, 15-min resolution) and Octopus Energy Agile tariff (UK market, 30-min resolution with separate import/export rates).
Battery Wear Economics: Incorporates battery degradation costs (cycle cost) into optimization calculations to balance immediate savings against long-term battery life.
Continuous Re-optimization: Recalculates the optimal schedule every 15 minutes for as long as electricity prices are available, updating as predicted values become actual.
Adaptive Consumption Forecasting: Builds a time-of-day consumption profile directly from Home Assistant's built-in Recorder statistics — captures your daily patterns (morning/evening peaks, overnight baseline) using a trimmed mean that filters out outlier spikes like EV charging. No external database required. Also supports InfluxDB, live sensor, and fixed-value strategies with a built-in comparison view to see which strategy best matches your actual usage.
Comprehensive Energy Tracking: Tracks all energy flows (solar production, grid import/export, battery charge/discharge, home consumption) with detailed cost analysis and savings calculations.
Power Monitoring & Fuse Protection: Monitors grid current to prevent overloading electrical fuses by limiting battery charging when household consumption is high.
The BESS Manager provides a comprehensive web interface organized into focused pages:
Dashboard: Real-time system overview with live energy flows, current battery optimization decisions, and today's performance summary.
Savings: Financial analysis with daily savings breakdown, cost comparisons between grid-only vs solar-only vs optimized battery scenarios, and detailed hourly cost analysis.
Inverter: Detailed information about your inverter including current status, active schedule, operating modes, and configuration settings.
Insights: Understand the economic reasoning behind every battery decision - why the system chose to charge, discharge, or remain idle at any given time.
System Health: Component status monitoring with sensor validation, integration health checks, and system diagnostics.
AI Analyst: Built-in AI chat assistant that can answer questions about your battery system's performance, explain optimization decisions, and investigate issues. It has full access to the running system's state (sensor data, schedules, logs) and can read its own source code to give accurate, code-backed explanations. Requires a Claude API key configured in Settings.
- ✅ Growatt MIC/MIN/MOD/MID — TOU schedule control via Growatt Server integration (cloud)
- ✅ Growatt MIC/MIN/MOD/MID — TOU schedule control via homeassistant-solax-modbus Growatt plugin (local Modbus)
- ✅ Growatt SPH — Charge/discharge period control via Growatt Server integration
- ✅ SolaX — VPP active-power control via homeassistant-solax-modbus integration
- 📊 Nordpool or Octopus Energy integration for electricity prices
- 🏠 Growatt Server or SolaX Modbus integration for battery control and energy monitoring
- ☀️ Solar forecast integration (e.g., Solcast) for production predictions (optional)
- 📈 InfluxDB integration - recommended to preserve historical data during server restarts
- ⚡ Tibber integration - optional for power monitoring and fuse protection
Beautiful energy flow visualization with real-time optimization results
Detailed savings breakdown with battery actions and ROi calculations
Intelligent scheduling showing charge/discharge decisions with price predictions
Compare Grid-only, Solar-only and Solar+Battery scenarios to see where your savings come from
Built-in AI analyst answers questions about your battery performance, savings and optimization decisions
- 🔧 Installation Guide - Complete setup instructions
- 📚 User Guide - Understanding the interface and results
- 🏗️ Software Architecture - Technical design and system architecture
- 👨💻 Development Guide - Contributing and development setup
- 🐛 Issues: GitHub Issues
- 💬 Community: Home Assistant Community Forum
- 📢 Updates: Follow repository for latest features
- ⭐ Like it? Star the repository to support development!
This project is licensed under the MIT License - see the LICENSE file for details.