Zendure Home Assistant Integration
Zendure/Zendure-HA · v1.4.4
Zendure Home Assistant Integration
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
Zendure SolarFlow and Hyper batteries work, with local zenSDK/MQTT mode available, but local connections drop after firmware updates and when the cloud is unreachable.
- Works4
- Partly works2
| Device | In Home Assistant | In Apple Home | What they said | Source |
|---|---|---|---|---|
| Zendure Hyper 2000 (local mode, 4 units) | Works Local | Stable in local mode on v1.1.4 for one user; MQTT user setup neededSaved copyHome Assistant Version Latest ### Zendure Integration Version V1.2.5 ### Describe the bug I thought that firmware update 1.2.5 would fix the local mode issue on the Hyper2000, but unfortunately it did not. The problem is still present. To recap the issue: when I switch the integration from cloud mode to local mode, after a short time the Hyper2000 stops responding. It no longer reports any data in the Zendure integration, and even in the Zendure app it appears as not connected to Wi-Fi. At that point, I have to reset the Wi-Fi configuration of the Hyper2000 from the Zendure app to get it … Excerpt saved from GitHub on 2026-10-23. | Issue #1067 · 2026-02 | |
| Zendure SolarFlow 2400 AC / 1600 AC+ internal batteries | Works | Internal batteries support addedSaved copyThis Pull Request correctly identifies and adds support for the new internal batteries of the SolarFlow series (SF2400AC+, SF2400AC pro, and SF1600AC+). Based on community feedback (issue #1205 and user reports), the serial number prefix mappings have been updated and expanded: - JO4A & JO2A: Identified as the Internal Battery of the SF2400AC+ and SF2400AC pro respectively (named `I2400`, 2.4kWh). - CO4A: Identified as the Internal Battery of the SF1600AC+ (named `I1920`, 1.92kWh). - GO2A (prefix `G`): Now correctly identified as the `AB3000L` (2.88kWh). The names `I2400` (Internal 2.4kWh) … Excerpt saved from GitHub on 2026-10-23. | PR #1226 · 2026-03 | |
| Zendure SolarFlow 4000 AC+ | Works | Entity IDs changed after 1.4.0 rename; migration restored themSaved copyProblem (#1477, #1475) 1.4.0's snakecase `+` -> `_plus` change altered the `unique_id`s and `entity_id`s of every entity on devices whose name contains `+` (SolarFlow 2400 AC+, 1600 AC+, 4000 AC+). 1.4.1's `check_entities` fix converges the registry ids (no more `_2` duplicates), but it cannot move RestoreEntity state, which is keyed by `entity_id`. So on upgrade the device-level selects lost their restored values and fell back to defaults: - `connection` -> cloud (was local): device never reaches `CONNECTED`, so the manager reports *"No devices online"* - `fuse_group` -> unused: manager … Excerpt saved from GitHub on 2026-10-23. | PR #1482 · 2026-07 | |
| Zendure SolarFlow 800 Pro 2 | Works | Dedicated device class proposed for all four solar inputsSaved copySummary Adds a dedicated `SolarFlow800Pro2` device class with support for all 4 independent solar inputs (`solarPower1`–`solarPower4`). Previously the Pro 2 was mapped to `SolarFlow800Pro`, which only exposes 2 inputs, causing `solarPower3` and `solarPower4` to be missing in Home Assistant entirely. > This is PR 1 of 4. It is intentionally minimal: only the device class, its mapping and some tests. Local discovery, MQTT setup, and mDNS follow in subsequent PRs. ## Changes - `devices/solarflow800.py`: New `SolarFlow800Pro2` subclass with `solarPower3` + `solarPower4`; `SolarFlow800Pro` now … Excerpt saved from GitHub on 2026-10-23. | PR #1362 · 2026-05 | |
| Zendure Hyper 2000 | Partly works Local | Local MQTT unstable after Zendure update; power-cycle needed to recoverSaved copyHome Assistant Version 2026.8.1 ### Zendure Integration Version 1.2.5 ### Describe the bug Local Hyper 2000 connection unstable since Zendure update I'm experiencing unstable local MQTT connections across multiple Hyper 2000 devices since a recent update. The integration repeatedly logs payload decode failures (UTF-8 decode errors followed by JSON decode failures on the latin-1 fallback), affecting both local and cloud MQTT handlers. As a workaround, I had to revert from local MQTT to cloud-only connection, similar to the behavior described in #1455. ### To Reproduce Not fully deterministic, … Excerpt saved from GitHub on 2026-10-23. | Issue #1587 · 2026-08 | |
| Zendure SolarFlow 2400 AC+ | Partly works Local | Local zenSDK API degrades when cloud unreachable; many timeoutsSaved copyAnd what about the plugin ? I'am not sure to understand on my side timeout was emit by integration when it's try to contact Solarflow (zendure device), it solard flow does not respond . Adding local mqtt it's possible but don't fix the root cause of issue : device don't response because it is busy or restarting. Mqtt will hide the error but device will be busy anyway. For me this issue is on device firmware and need to be fix by Zendure itself. > Actually, the plugin use the mqtt from zendure to get datas . If you cut internet => the SF can't send to the zendure mqtt => the plugin doesn't get … Excerpt saved from GitHub on 2026-10-23. | Issue #1414 · 2026-06 |
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.
Details
| Installs (analytics) | 4,268 (0.6%) |
|---|---|
| GitHub stars | 432 |
| Latest version | 1.4.4 (2026-10-19) |
| Set up in the UI | Yes |
| Maintainers | @fireson |
| License | MIT |
Notable forks
Forks with stars, or with code pushed at least 90 days after the original’s last push. Useful when the original goes quiet.
| Fork | Stars | Last push | Description |
|---|---|---|---|
| FireSon/Zendure | ★ 11 | 2025-08-20 | Zendure Home Assistant Integration |
| Rolf-Smit/Zendure-HA | ★ 3 | 2026-09-02 | Zendure Home Assistant Integration |
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/zendure/zendure-ha
- Source code: https://github.com/Zendure/Zendure-HA
- Issues: https://github.com/zendure/zendure-ha/issues
- HACS: https://hacs.xyz