Inverter Controller - Reactive Power Balancing for Solar & Battery

:battery: Inverter Controller for Home Assistant

GitHub - MarcelWepper/Inverter-Controller

Stop using static timer-based scripts to manage your inverter limits. This integration provides reactive, event-drivenpower balancing logic that dynamically adjusts your inverter’s output based on real-time grid consumption, battery state of charge (SoC), and solar production.


:rocket: Key Features

  • Reactive Power Balancing: Listens for state changes and adjusts power limits instantly as your house load shifts.
  • Exponential Moving Average (EMA): Built-in smoothing for solar production to prevent “flapping” during cloudy days.
  • Safety Guard: Automatically forces the inverter to a safe minimum (100W) if solar production drops below a critical threshold.
  • High SoC Hard Boost: Intelligent hysteresis logic that ramps up output when the battery is nearly full (>96%) to prevent energy waste.
  • Advanced Statistics: Provides Estimated House Load, Solar Yield Ratio, and Logic State sensors.
  • Master Switch: Includes a dashboard toggle to instantly enable or disable the logic.

:hammer_and_wrench: Installation

1. Via HACS (Recommended)

This integration is available directly through HACS:

  1. Open HACS in your Home Assistant instance.
  2. Navigate to Integrations.
  3. Click Explore & Download Repositories in the bottom right.
  4. Search for Inverter Controller.
  5. Click Download, then Restart Home Assistant.

2. Manual Installation

  1. Download the inverter_controller folder from the GitHub repository.
  2. Copy it into your custom_components/ directory.
  3. Restart Home Assistant.

:gear: Configuration

Once installed and restarted, go to Settings > Devices & Services > Add Integration and search for Inverter Controller.

Step 1: Mandatory Entities

  • Grid Power Sensor: Net house power (Positive = Import, Negative = Export).
  • Battery SoC Sensor: Current battery percentage (0-100%).
  • Solar Production Sensor: Raw PV power.
  • Inverter Limit Control: The number or input_number entity that sets the inverter’s maximum output.

Step 2: Fine-Tuning

  • Min/Max Power: Absolute bounds (e.g., 100W - 800W).
  • Step Size: Watt adjustment per cycle (e.g., 50W).
  • EMA Alpha: Smoothing factor. 0.1 is slow/stable, 0.9 is fast/reactive.

:chart_with_upwards_trend: Status & Feedback

I’m looking for feedback on:

  1. Logic responsiveness during high-load spikes.
  2. EMA effectiveness in different weather.
  3. Any brand-specific inverter edge cases.

Check out the full documentation on GitHub!