Omnibattery
ffunes/Omnibattery · vv1.5.0
Custom integration to monitor and control Marstek Venus and Zendure batteries in Home Assistant.
In Apple Home through HomeKit Bridge
What HomeKit Bridge makes of each kind of entity this integration creates, read from its source code. A device only gets the ones that apply to it.
| Entity | Shows up as | Note |
|---|---|---|
switch | Switch or outlet | |
binary_sensor | Sensor (motion, contact, leak, smoke…) | |
sensor | Sensor (temperature, humidity, air quality…) | |
button | Button (as a switch) | |
select | Mode picker (as switches) |
What people report
Local Modbus control of home batteries (Marstek, Anker, Zendure, Huawei). Marstek Venus E v3 firmware 148/150 is unstable over local API; maintainers add brands quickly.
- Works4
- Not working1
- Requested2
| Device | In Home Assistant | In Apple Home | What they said | Source |
|---|---|---|---|---|
| Anker SOLIX E5000 Pro | Works Local | E5000 Pro support and Max Charge slider addedSaved copySummary - Stop re-forcing Anker Third-Party Control while Manual Mode is idle so Solix app modes stick (feedback on #134). - Add a real watt soft-max Max Charge/Discharge slider for Anker instead of binding the read-only sensor as a broken 0–100 control. - Advertise Solarbank 4 E5000 Pro on the shared Anker Modbus map with product-code model labels. Fixes #134 ## Test plan - [ ] Anker Max AC: enable Manual Mode, switch operating mode in official Anker Solix integration, mode should not snap back to Third-Party within ~10s - [ ] Anker Max AC: Control Options Max Charge slider stays in watts … Excerpt saved from GitHub on 2026-10-23. | PR #149 · 2026-07 | |
| Anker SOLIX Solarbank Max AC | Works Local | Controlled over Modbus TCP, added July 2026Saved copy… repository-owned branch avoids writing to the contributor's fork. Integration fixes added during maintainer review: - apply persisted SOC limits during Anker setup; - skip RS485 recovery calls for drivers without that capability; - invalidate the write-only Anker setpoint echo after reconnects or mode changes; - recognize Zendure inverse_max_power as its writable discharge limit; - add regression coverage for these driver-specific paths. Validation: - focused Anker/coordinator tests: 26 passed; - complete suite: 757 passed, 10 skipped. Excerpt saved from GitHub on 2026-10-23. | PR #122 · 2026-07 | |
| Huawei SUN2000 with LUNA2000 | Works Local | Driver built on live SUN2000-8K-MAP0 with EMMA-A02Saved copyAdds support for Huawei SUN2000 hybrid inverters with LUNA2000 storage. Everything here was developed against live hardware, a SUN2000-8K-MAP0 with 13.8 kWh of LUNA2000 behind an EMMA-A02, and every figure in the driver is a measurement rather than a datasheet value. The full write-up is in `site-docs/reference/driver-assessment-huawei.md`, filled in against the repository's own driver-requirements template. Verdict there: suitable with limitations, and the limitations are named. ## What it adds - `drivers/huawei.py`, the driver, and `infra/huawei_modbus_client.py`, a small FC03/FC16 … Excerpt saved from GitHub on 2026-10-23. | PR #327 · 2026-08 | |
| Marstek battery behind LilyGo RS485 bridge | Works Local | ESPHome driver reads RS485 bridge entitiesSaved copySupports the marstek-lilygo-rs485 firmware (whyisthisbroken): the ESP32 owns the battery's RS485 port and exposes the decoded v2 registers as ESPHome entities, so the driver reads hass.states and writes select/number services instead of Modbus. Reuses the Marstek logical keys verbatim (force_mode + set_charge/discharge_power, cutoffs, rs485_control_mode) so the existing entity, manual-mode and PD machinery work unchanged. - drivers/esphome.py: EsphomeEntityDriver + entity-name mapping table, resolved from the registry by slugified original_name (survives renames) - config flow: new "esphome" … Excerpt saved from GitHub on 2026-10-23. | PR #58 · 2026-07 | |
| Marstek Venus E v3 | Not working Local | Modbus timeouts and lost connection on firmware 148/150; downgrade to 149 fixesSaved copy… communication or availability ### Omnibattery version 1.3.0 ### Home Assistant version 2026.8.0 ### Installation details Battery brand and exact model: MarsTek Venus E 3.0 Battery firmware version: 150 Connection method or adapter: LAN Number of batteries: 1 Consumption sensor and update interval: ESPHome DSMR sensor with 2 second interval Installation type (single-phase or three-phase): connected to 1 phase of a three-phase connection ### What happened? I have a MarsTek Venus E 3.0 connected via LAN only and still get this: Any idea how to fix the regular “Not responding” which seem to last … Excerpt saved from GitHub on 2026-10-23. | Issue #387 · 2026-09 | |
| Fronius GEN24 with BYD battery | Requested | Open PR adds SunSpec float and int+SF layoutsSaved copySummary This PR adds Fronius GEN24 with BYD battery support and automatically detects both supported SunSpec register layouts: - `float` - `int+SF` The detected SunSpec model type is shown in the battery driver information panel. ## Changes - Added the Fronius GEN24/BYD driver. - Added automatic SunSpec Model 124 layout detection. - Uses the correct register addresses for the detected layout. - Added atomic FC16 writes for the adjacent `OutWRte` and `InWRte` registers. - Added a safe `0/0` idle power window. - Added a short idle period when changing between charging and discharging. - Added … Excerpt saved from GitHub on 2026-10-23. | PR #362 · 2026-08 | |
| Indevolt PowerFlex 2000 / SolidFlex 2000 / 3000 | Requested | Owners ask for support; maintainer welcomes a driverSaved copyRequested battery Manufacturer: Indevolt Model: PowerFlex 2000, SolidFlex 2000, SolidFlex 3000 https://www.indevolt.com/products/powerflex-2000-balcony-power-system-with-storage https://www.indevolt.com/products/solidflex-2000-balcony-power-system-with-semi-rixed-lifepo-batteries https://www.indevolt.com/products/indevolt-solidflex-3000-ac-with-semi-solid-batteries ### What kind of support are you requesting? Full control: charging, discharging, and monitoring ### Developer documentation https://docs.indevolt.com/docs/hardware/open-data/introduction ### Documentation access Publicly available … Excerpt saved from GitHub on 2026-10-23. | Discussion #491 · 2026-09 |
Gathered from GitHub issues, pull requests, discussions and docs, and from r/homeassistant. These are individual reports, so check the linked thread and the date before you buy.
How it connects
Local polling
Talks to the device on your network, asking it for updates every so often.
Found automatically over
- DHCP
- Bonjour (zeroconf)
Details
| Installs (analytics) | 817 (0.12%) |
|---|---|
| GitHub stars | 195 |
| Latest version | v1.5.0 (2026-10-13) |
| Set up in the UI | Yes |
| Maintainers | @ffunes |
| License | GPL-3.0 |
In ReReHome
Whatever HomeKit Bridge shares reaches Apple Home as normal HomeKit accessories behind your Home Assistant bridge, so ReReHome shows and controls them like any other.
Bridges get their own settings page listing the accessories behind them.
Sources
- Documentation: https://github.com/ffunes/omnibattery
- Source code: https://github.com/ffunes/Omnibattery
- Issues: https://github.com/ffunes/omnibattery/issues
- HACS: https://hacs.xyz