---
title: "Zendure RestAPI"
description: "Zendure RestAPI is a Marketplace integration for Home Assistant. It has 74 installs sharing analytics, works locally and was last updated November 14, 2026."
canonical: "https://vulpo.app/integrations/marketplace/windsurf-hassio-zendure-restapi"
url: "https://vulpo.app/integrations/marketplace/windsurf-hassio-zendure-restapi.md"
last-updated: "2026-11-13"
version: "1.4"
---

# Zendure RestAPI

> Zendure RestAPI is a Marketplace integration for Home Assistant. It has 74 installs sharing analytics, works locally and was last updated November 14, 2026.

Zendure RestAPI is a local integration for Zendure SolarFlow batteries that keeps the grid connection near zero. It talks to the battery directly, with no cloud account or MQTT broker, and is added in the UI with the battery's IP address and HTTP port. A control loop reads the grid meter every second, charging the battery with surplus solar and discharging it to cover house demand. The meter can be a HomeWizard, YouLess, or Shelly P1 device read over IP, or any Home Assistant power sensor. Price control plans charging and discharging from a price sensor for dynamic tariffs, and a fixed-price mode stores solar surplus without one. It adds sensors, numbers, selects, switches, buttons and binary sensors, plus a generated dashboard with Price Control and History views.

Automatic summary of the README and code of windsurf/hassio-zendure-restapi. Something wrong, or are you the maintainer and want your own text here? [Get in touch](https://vulpo.app/support)

[Open in My Home Assistant](https://my.home-assistant.io/redirect/marketplace_repository/?owner=windsurf&repository=hassio-zendure-restapi&category=integration)

On Home Assistant 2026.10 or older? [Open it in HACS](https://my.home-assistant.io/redirect/hacs_repository/?owner=windsurf&repository=hassio-zendure-restapi&category=integration)

## Supports

- **Works locally**: Talks to your devices on your own network. No vendor cloud in between.
- **Found by itself**: Home Assistant spots it on the network and offers to add it.
- **From the Marketplace**: Installed through the Marketplace, formerly HACS.
- **Actively maintained**: Its author released or pushed a change in the last six months.

## Setting it up

Install it from the Marketplace and restart Home Assistant, then add it under Settings, Devices and services.

### Check the meter

- **The meter reads export as positive (invert the sign)**

### Zendure device

- **IP address**
- **HTTP port**
- **Create the Zendure RestAPI dashboard (battery only)**

### Zendure device found

- **Create the Zendure RestAPI dashboard**

### External grid meter over IP

- **Meter type**
- **IP address**
- **Milliseconds between polls (100-1000; below 1000 only for YouLess)**

### Home Assistant sensor

- **Power sensor (import positive)**
- **Export sensor (optional, export positive)**
- **The meter reads export as positive (invert the sign)**

### Price control

- **Battery or cluster**
- **Price sensor (price per kWh)**: Fixed prices: any sensor with the current price. Day plan: a sensor with a price list — Nord Pool (HACS), EPEX Spot (HACS), Zonneplan, ENTSO-e or Frank Energie.
- **The price sensor holds**: For the day plan. Nord Pool (HACS) with VAT on and no additional costs: spot price incl. VAT. With VAT off: spot price. With your whole tariff in its additional costs: import price. EPEX Spot: Market price sensor: spot price; Total price sensor: import price. Zonneplan: import price.

### Meter device

- **Device**

### Virtual cluster (simulated)

- **Battery to copy**: The copies take its model, maxima, SOC limits and tuning; the first copy starts on its state of charge.

### After setup

- **Seconds between polls (1-60)**
- **Solar power from outside the battery (optional, for the dashboard)**: A smart plug on a micro inverter or a second inverter. The dashboard's PV series show it: instead of the battery's own PV when that is not in use, beside it otherwise. Control does not need it, the grid meter already sees this power.
- **Solar energy from outside the battery (optional, for the dashboard)**: Its kWh counter, for the daily totals on the History tab.
- **Reset settings: the controller settings back to their defaults**: Buffers and start thresholds 5 W, Stop charging below 50 W, Stop discharging below 50 W, Stop after 30 s, Start after 30 s, Min charge power and Min discharge power 0 W, Mode threshold 10 W, Trim threshold 40 W, Trim strength 80 %, Direction change delay 10 s. Operation mode, Max charge power and Max discharge power, SOC protection, the meter and Price Control stay as they are. In a cluster the group's settings apply.
- **Rebuild dashboard (your own changes to it are lost)**
- **IP address**
- **Milliseconds between polls (100-1000; below 1000 only for YouLess)**
- **Power sensor (import positive)**
- **Export sensor (optional, export positive)**
- **The meter reads export as positive (invert the sign)**
- **Price sensor (price per kWh)**: Fixed prices: any sensor with the current price. Day plan: a sensor with a price list — Nord Pool (HACS), EPEX Spot (HACS), Zonneplan, ENTSO-e or Frank Energie.
- **The price sensor holds**: For the day plan. Nord Pool (HACS) with VAT on and no additional costs: spot price incl. VAT. With VAT off: spot price. With your whole tariff in its additional costs: import price. EPEX Spot: Market price sensor: spot price; Total price sensor: import price. Zonneplan: import price.
- **The meter reads export as positive (invert the sign)**
- **External meter**
- **Rebuild dashboard (your own changes to it are lost)**
- **Reset copies: every copy still and started again around your battery's state of charge**: The copies stop, both limits go to 0, and each starts again at your battery's state of charge plus its SoC offset.
- **Reset settings: every setting of the Virtual cluster and its copies back to its default**: Copies 3, Load factor 1, SoC offsets 0 / -20 / 15 %, extra response time 0 / 1 / 3 s, Max share 0, Operation mode Follow source, buffers and start thresholds 5 W, Stop charging below 50 W, Stop discharging below 50 W, Stop after 30 s, Start after 30 s, Concentrate below 300 W, Redistribute every 30 s. The copies keep running; tick Reset copies as well to start them with the new offsets. Your own battery and Price Control are not touched.
- **Rebuild dashboard (your own changes to it are lost)**

Texts from the code of [windsurf/hassio-zendure-restapi](https://github.com/windsurf/hassio-zendure-restapi).

## Entities

- **Binary sensors**: Data ready, Dry contact, Fan, Grid connected, Heating, HV battery control, Error, Lamp, Pass-through, PV-AC coupling, Reverse flow, SOC compensation, and 1 more
- **Buttons**: Reset, Rebuild dashboard
- **Numbers**: Calibration interval, Charge buffer, Charge efficiency, Charge power limit, Cheap price, Direction change delay, Discharge buffer, Discharge efficiency, Expected house load, Expensive price, Export factor, Export surcharge, and 30 more
- **Selects**: Meter source, Converter mode, Backup mode, PV export, Fan speed mode, External meter, Decision, Cheap price mode, Expensive price mode, Grid standard, In-between mode, Operation mode, and 1 more
- **Sensors**: Fan speed step, Battery state, AC state, DC state, PV state, SOC limit status, SOC calibration status, Controller status, Status, Plan, Phase A apparent power, AC coupling status, and 78 more
- **Switches**: Fan forced on, Net metering (export = import price), Skip flash write, Trace recording, Take part

## Troubleshooting

- **Diagnostics**: Downloads a diagnostics file to attach to a bug report.
- **Repair notices**: Notices it can show in Settings, Repairs:
  Restarted holding a limit, Reports new properties

## From the README

> Your Zendure SolarFlow battery in Home Assistant, 100% local, in three steps. No cloud account, no MQTT broker, no YAML packages to copy. Install it from HACS, add your battery, pick a mode — the battery holds your grid at zero, once a second.
>
> ⚖️ Zero export, once a second. The battery holds your grid connection at zero (Dutch: nul op de meter, NOM). A fast loop reads your meter every second and corrects evenly on both sides of zero: what your solar panels would send to the grid goes into the battery, and what the house would take from the grid comes out of it, without swinging from one to the other.

From the README of [windsurf/hassio-zendure-restapi](https://github.com/windsurf/hassio-zendure-restapi#readme), [Apache License 2.0](https://spdx.org/licenses/Apache-2.0.html). Shortened.

## At a glance

- Kind: Marketplace integration
- Category: [Energy](https://vulpo.app/integrations/category/energy.md), Solar and batteries
- Brand: [Zendure](https://vulpo.app/integrations/zendure.md)
- Number: 74 installs sharing analytics; 14 GitHub stars
- Connection: Works locally
- Upkeep: Updated in the last 6 months
- Needs: Needs the Marketplace (HACS on 2026.10 and older)
- Latest version: v1.7.6, last updated November 14, 2026
- Domain: `zendure_restapi`
- Source: <https://github.com/windsurf/hassio-zendure-restapi>
- Issues: <https://github.com/windsurf/hassio-zendure-restapi/issues>
- Screenshot: https://vulpo.app/integrations-img/86e95e8af2ba70fb.webp (from windsurf/hassio-zendure-restapi's README)
- Screenshot: https://vulpo.app/integrations-img/0f91fa6decb72199.webp (from windsurf/hassio-zendure-restapi's README)

In Vulpo: Quick Toggle card, Button card, Select card, Chart card, Apple Watch, Control Center

## Other ways in for Zendure

| Name | Kind | Installs or stars | Connection | Upkeep |
| --- | --- | --- | --- | --- |
| [Zendure Home Assistant Integration](https://vulpo.app/integrations/marketplace/zendure-zendure-ha.md) | Marketplace integration | 4.5k installs sharing analytics | Works locally | Updated in the last 6 months |

Independent directory, made by the developer of Vulpo. Not affiliated with Home Assistant or the Open Home Foundation. [About these numbers](https://vulpo.app/integrations/about)

Last updated 2026-11-13. Source: https://vulpo.app/integrations/marketplace/windsurf-hassio-zendure-restapi

---

- HTML version of this page: https://vulpo.app/integrations/marketplace/windsurf-hassio-zendure-restapi
- Site index for agents: https://vulpo.app/llms.txt
- Everything in one document: https://vulpo.app/llms-full.txt
- All pages: https://vulpo.app/sitemap.xml
