🔋 Windows application · Modbus RTU · Home Assistant

HES Controller

Feeds electricity meter data into HES battery storage over Modbus RTU. The storage then knows how much is being drawn from or fed into the grid, and can control charging and discharging accordingly.

What it does

HES battery storage on its own cannot see what happens at the main breaker. HES Controller supplies exactly that.

Reads all three phases

From Home Assistant over the REST API, or straight from MQTT from a Shelly Pro 3EM — Home Assistant is not a requirement. Current is derived from power and voltage, so grid draw and grid feed-in are told apart.

Writes to HES over Modbus RTU

Currents go into the ExtGridCurrL1–L3 registers over an RS485 converter. Battery state, MPPT and storage status are read back.

Sends state back to Home Assistant

Battery SOC, battery current, spot level, mode and status. They land in HA as ordinary entities you can build automations on.

Survives unavailable hardware

A disconnected converter or a dead data source will not take the app down — both keep reconnecting on their own. While the converter is down, control cannot be switched on: claiming to control over a dead bus is worse than admitting it.

Stale data is never written

When the meter stops reporting, writing to HES halts after the configured timeout. Writing a stale current is worse than writing nothing.

Settings changes without a restart

On save the Modbus client, threads and data source are rebuilt, the window stays and the selected mode is kept. Control of a running installation is not interrupted.

What you need

A Windows machine

Running continuously next to the storage. The app can start itself after Windows login and switch control on right away.

An RS485 converter

A USB/RS485 converter between the computer and the HES storage. The COM port is picked in the settings.

A consumption meter

A Shelly Pro 3EM over MQTT, or any meter whose phase power readings are visible in Home Assistant.

Installation and licence

Run the installer

Download the latest version below and walk through the installer. Nothing else needs installing.

Request a licence key

On first launch an activation window shows this machine's ID. Send the ID to the address shown and you will get a key back.

Set the port and data source

In Settings pick the converter's COM port and choose Home Assistant or MQTT on the Data source tab. Changes take effect immediately.

A licence is valid for the machine it was issued for. Reinstalling Windows or swapping the mainboard means requesting a new key. Settings and licence live in %APPDATA%\HES Controller\ and uninstalling does not remove them, so reinstalling on the same machine needs no new key.

Download

HES Controller 1.0.0 28 Jul 2026 · 27.5 MB · Windows
Download installer

Version history

1.0.0

28 Jul 2026 Download 27.5 MB
  • First public release.
  • Reads L1–L3 power from Home Assistant or directly from MQTT (Shelly Pro 3EM).
  • Writes currents to HES over Modbus RTU, reads battery state, MPPT and status back to Home Assistant.
  • GUI settings applied without restarting the application.
  • MQTT diagnostics — live broker traffic and broker log.
  • Optional automatic start after Windows login.
  • Licence activation tied to the machine ID.

Got a HES and stuck on the deployment?

Write to me — I can help with the converter, Home Assistant and the setup. And if you need something similar for different hardware, it can be built.

Get in touch