Comparison
Which HEMS for Home Assistant? The options compared
Planning around prices, charging a car, making batteries from different brands work together: each tool answers a different question. Here is which one to choose for your installation.
In short
TED Energy Controller regulates in real time an installation that combines batteries and inverters from different brands, through Home Assistant, as if they were one battery. EMHASS and Predbat optimise a schedule from prices and forecasts, evcc is first an electric car charging manager, Omnibattery directly controls a list of supported batteries, and the manufacturer HEMS handles its own brand's devices.
Overview
| Solution | Main role | Device access | Several brands together | License |
|---|---|---|---|---|
| TED Energy Controller | Real-time grid regulation (zero export or another target) and power sharing across all batteries | Entities already exposed by each brand's Home Assistant integration | Yes: any brand present in Home Assistant, no software cap (FREE license: 2 controlled inverters) | Proprietary, free |
| Omnibattery | Zero-export regulation of home batteries | Direct link to supported models (Modbus TCP, local API) | Yes, among supported models (Marstek, Zendure, Anker SOLIX, Huawei, Hoymiles…), up to 10 batteries | Open source (GPL-3.0) |
| EMHASS | Schedule optimisation from solar forecasts, consumption and prices | Publishes optimised setpoints in Home Assistant; your automations apply them | Depends on the automations you write | Open source (MIT) |
| Predbat | Charge and discharge planning from tariffs and forecasts | Supported inverter profiles (GivEnergy, Solis, Huawei, SolarEdge, Fox, Sunsynk…) | Several inverters possible; mixing brands is not documented | Free for personal use, all rights reserved |
| evcc | Electric car charging from solar surplus | Its own connectors (chargers, meters, inverters) | Takes the home battery into account, without splitting a setpoint across several batteries | Open source (MIT) |
| Manufacturer HEMS | Managing its own brand's devices | Manufacturer app and link, often through its cloud | No: its own brand only | Comes with the hardware |
Information gathered on 2 October 2026 from each project's public documentation. These tools move fast: let us know about any mistake on Discord.
TED or Omnibattery?
Omnibattery (the successor of Marstek Venus Energy Manager) is an open-source Home Assistant integration that talks directly to a list of home batteries (Marstek Venus, Zendure SolarFlow, Anker SOLIX, Huawei LUNA2000, Hoymiles…) and keeps the grid exchange around zero, for up to 10 batteries. If all your batteries are on its list and open source matters to you, it is a good choice.
TED starts from a different principle: it does not talk to the batteries itself, it uses the entities each brand's integration already exposes in Home Assistant. Any inverter or battery that provides its state of charge, power values and a controllable setpoint can therefore join the control loop without waiting for dedicated support, including a hybrid inverter that keeps its own HEMS (assisted mode). TED adds monitored devices, automatic exclusion and retesting of a faulty device, inverter clusters and a complete interface, with an Android app.
TED or EMHASS?
EMHASS computes an optimal schedule (using linear programming) from solar production forecasts, expected consumption and electricity prices, then publishes the setpoints in Home Assistant: applying them with automations is up to you.
TED does not forecast: it regulates in real time from the meter reading, every few seconds, and sends the setpoints to each inverter itself, sharing them across all batteries. EMHASS answers "when should I charge?", TED answers "how do I share the power, right now, across all my batteries?".
TED or Predbat?
Predbat plans the charging and discharging of a battery system from tariffs (including dynamic ones) and solar forecasts, with profiles for many hybrid inverters. Its strength is cost optimisation; it is not presented as a tool for making batteries from different brands work together.
That is exactly TED's focus: heterogeneous devices brought into a single control loop, with scheduled off-peak charging as a complement.
TED or evcc?
evcc is the reference for charging an electric car from solar surplus. It takes the home battery into account (state of charge, discharge lock during fast charging, grid charging when prices are low), but its role is not to split a setpoint across several batteries.
If your priority is the car, start with evcc. If it is making your batteries work together, that is TED's job.
TED or the manufacturer HEMS?
A manufacturer's HEMS handles its own devices very well, but ignores other brands. TED can work alongside it (assisted mode: the original HEMS keeps control, the other devices come in as reinforcement) or regulate the whole installation as one (autonomous mode). See Go beyond the limits of your manufacturer's HEMS.
What about hand-written Home Assistant automations?
For a single battery, a blueprint or a few zero-export automations are often enough. Once you need to split a setpoint across several devices, respect each one's limits, avoid oscillations and handle failures, the YAML becomes a project of its own, to rework with every hardware change. See A local HEMS for Home Assistant, with no YAML to write.
How to choose
- A single brand, and its app is enough for you: keep the manufacturer HEMS.
- Optimising around prices and forecasts: EMHASS or Predbat.
- The electric car comes first: evcc.
- Batteries all supported by Omnibattery, and a preference for open source: Omnibattery.
- Several brands, a device present in Home Assistant that no tool handles directly, a manufacturer HEMS to keep while adding other batteries, or a ready-made interface: TED Energy Controller.
TED is free (FREE license with no time limit, ACCESS license offered to try everything) and installs in a few minutes. The live demo shows a real installation at work.
Frequently asked questions
Does TED replace EMHASS?
No, they do different things. EMHASS computes an optimal schedule from forecasts and prices; TED regulates in real time and shares the power across all batteries, whatever their brand.
What is the difference between TED and Omnibattery?
Omnibattery talks directly to a list of supported batteries. TED uses the entities already present in Home Assistant: any brand whose integration exposes state of charge, power values and a controllable setpoint can be regulated, and a manufacturer HEMS can be kept (assisted mode).
Is TED open source?
No. It is free proprietary software, distributed as a compiled Docker image and a Home Assistant app. It runs locally: measurements stay at home, and the Privacy page lists exactly what it sends over the Internet.
Can I mix several battery brands in Home Assistant?
Yes, as long as some software coordinates them: each integration brings its device into Home Assistant, and a multi-brand HEMS such as TED Energy Controller splits a shared setpoint between them all. See Make several battery and inverter brands work together.
Further reading
Make several battery and inverter brands work together
Each manufacturer app ignores other brands. Here, they all work together under one setpoint.
Read the solutionVirtual battery: control several batteries as one
One setpoint for all your batteries: they share the work instead of getting in each other's way.
Read the solutionA local HEMS for Home Assistant, with no YAML to write
No more dozens of automations: a local, ready-to-use HEMS configured from a web interface.
Read the solutionReady to make all your batteries work together?
Free download: your license is generated instantly, no credit card required.