OpenAmpere

Open source under the MIT License

Keep an eye on your solar system and battery, even without the manufacturer's cloud.

OpenAmpere reads the values directly from the inverter in your home network. You don't need an account or a server from the manufacturer. The app runs on a small computer in your home, for example a Raspberry Pi.

The demo shows a made-up system and runs only in your browser.

Who is OpenAmpere for?

Supported devices

  • FoxESS H3, H3 Smart, H3 Pro: monitoring and control. Both confirmed on an H3 with newer firmware, the other variants not yet
  • SAJ H2 and HS2: monitoring, not yet confirmed
  • Immersion heater from my-PV (AC ELWA-E, AC ELWA 2, AC THOR): continuously adjusted, not yet confirmed
  • Heat pump or other devices via a Shelly relay, not yet confirmed
  • Wallbox via evcc, not yet confirmed

The app detects which device you have during setup. It connects via Modbus TCP. “Not yet confirmed” means: built from manufacturer or community documentation and checked with tests, but not yet reported from a real system. If you have such a device, a device report with the diagnostics from the app helps. All details are in the device list.

Setup

You start OpenAmpere once with Docker. A wizard then finds the inverter, and you make all settings in the app. There are no configuration files to edit.

Your current app only works through the manufacturer's cloud? Then read the background and the frequently asked questions.

Features

Live view

What the roof is producing right now, what the house is using, whether the battery is charging and whether power is going to the grid.

Report

History per day, week, month and year with self-sufficiency, self-consumption and estimated savings.

Module strings and temperatures

Yield for each side of the roof separately, plus the temperatures of the inverter and the battery.

Battery and backup power

Set the backup reserve, charge limits and operating mode. You can try new values in test mode first.

Export limit

You state which rule applies to your system: 60 %, 70 % or a value set by your grid operator. The app does not allow more.

Electricity tariffs

Fixed price or dynamic spot-market price. With a dynamic tariff the battery can charge when power is cheapest. This feature is still experimental.

Immersion heater and heat pump

An immersion heater from my-PV takes exactly as much power as is left over. The app switches a heat pump or other devices via a Shelly relay.

Wallbox with evcc

Charge your car with solar power. evcc controls the wallbox, and you can operate it directly in OpenAmpere.

Home Assistant

All values live in Home Assistant, including the energy dashboard, and control of the battery from there if you want. Learn more

Alerts, diagnostics, export

A message on your phone via ntfy when something is wrong. A diagnostics check tests whether the app reads your device correctly. All values are available as a CSV file.

How it works

Inverterwith battery OpenAmpereDocker in your home network Phone or browserat home or via VPN Modbus TCP Web app The readings are stored on the computer in your home.

Installation

  1. Prepare a computer

    You need a Linux computer on the same network as the inverter, for example a Raspberry Pi with a 64-bit system, a NAS or a Proxmox server. Modbus TCP must be enabled on the inverter. This is already the case for the batteries sold by EKD; otherwise your installer can enable it.

  2. Install

    Run this command in the computer's terminal:

    curl -fsSL https://gr33ndev.github.io/OpenAmpere/install.sh | bash

    The script installs Docker if needed and asks whether you have a wallbox. If so, it sets up evcc as well. If you also want to use OpenAmpere on the go, it sets up Tailscale too. The app shows new versions and installs them at the push of a button, or automatically at night if you like.

  3. Set up in the browser

    Open the address the script shows at the end and choose a password. The wizard then looks for the inverter. You add an immersion heater under More → Connection, and connect the wallbox there step by step with evcc. On an iPhone you can add the page to your home screen.

Manual installation and remote access are described in the README on GitHub.

Home Assistant

With the OpenAmpere integration you see power, energy and state of charge live in Home Assistant, ready for the energy dashboard. If you allow it, you can control the battery, charging from the grid and the immersion heater from there, for example in automations.

Install OpenAmpere first (see Installation). The integration only connects to a running OpenAmpere and does not replace it. Only OpenAmpere talks to the inverter; Home Assistant talks to OpenAmpere.

  1. Install via HACS

    The button opens the repository in your Home Assistant (HACS must be installed). Download it there and restart Home Assistant.

    Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

  2. Pair

    In Home Assistant, add the OpenAmpere integration and enter the address of OpenAmpere. Both show the same 6-digit code. You compare it in OpenAmpere under More → Connected apps and allow the connection, either read-only or with control.

    Open your Home Assistant instance and start setting up a new integration.

The connection is encrypted, and each app gets its own access that you can remove at any time. The main switch, test mode and export limit stay in OpenAmpere. Guide and details

Security

Control is off at first

After installation, OpenAmpere only reads. If you want to change settings, you unlock control and try it out in test mode. The app checks values before writing, reads them back afterwards and records every change in the log.

Access

Anyone in your home network can view the values. Changing anything requires the password. On the go, you reach the app via Tailscale, set up with one tap in the app, or via a VPN such as the one in a FRITZ!Box. You should not set up port forwarding to the internet. Apps such as Home Assistant connect encrypted with their own access that you can remove at any time. OpenAmpere collects no usage data.

Get involved

You can help even without programming skills. A device report with the diagnostics from the app helps most, because it makes it possible to support and confirm more models. You can report bugs and ideas as an issue.