Releases: Zendure/Zendure-HA
READ CAREFULLY before you install 🚀🌞 ⚠️
Patch version 1.2.7-pre1
fix/investigate migration from 1.2.5
This release has additional error checking and logging to investigate the reported errors.
Please try it, the migration should work now, check the logging if/which file throws the error. It would help which file it is, and which exception is thrown.
You help is much appreciated!!
⚠️ ⚠️ ⚠️ You cannot revert back to 1.2.5 or any other older version without losing the history of your entities! ⚠️ ⚠️ ⚠️
Due to changes in HA2026.2 there were some problems with the entity unique_id and entity_id. We thought this was solved in version 1.2.5 but basically the entity_id was generated using the translation, another way as was done previously. Since the dependency on the translation is unwanted, we need to 'repair' the wrong ids. This has protentional risks for the entity history and other 'stored' data.
When you install version 1.2.6-pre all entities will be corrected automatically, by a migration. We have tested this multiple times, and noticed no problems with the history, automations , aggregation and usage in dashboards. Many thanks to @harrymayr for his efforts in this!!
There have not been many changes compared to version 1.2.5 as you can see below. We tested this thoroughly, but it is always possible that we missed something. Therefore we would like to ask beta-testers to check if their migration works smoothly. It is advised to create a full backup before you install it.
This migration also prepares the devices and entities for the "cloud free" 🌩️ version of this integration
Much work has already been done for this version. All devices, including the SF800/1600 and 2400 and the Zendure Smart meters will use the local MQTT server. The cloud key will be optional, and all devices in the local MQTT will automatically be added to Home Assistant. But more will follow on that.
Fixed in 1.2.6-pre2
- Removed trailing space in SF1600AC+ and SF2400AC+ name, causing them to not be recognized by @FireSon in #1120
What's Changed
- Update German translations for power limits by @Kieft-C in #1069
- Log exception name when handling HTTP API call errors by @cybe in #1086
- Smart charge only by @harrymayr in #1046
- Device fixes by @harrymayr in #1099
- Fix entity_id after HA2026.2 update by @FireSon in #1106
- Improve entity ID and unique ID handling during migration, adding err… by @FireSon in #1108
- Fix discharge state display when min SOC limit is reached by @eremid in #1114
- Update entity_ids, prepare for local only release by @FireSon in #1118
New Contributors
- @Kieft-C made their first contribution in #1069
- @cybe made their first contribution in #1086
- @eremid made their first contribution in #1114
Full Changelog: 1.2.5...1.2.6-pre2
READ CAREFULLY before you install 🚀🌞 ⚠️
Patch version 1.2.6-pre2
⚠️ ⚠️ ⚠️ You cannot revert back to 1.2.5 or any other older version without losing the history of your entities! ⚠️ ⚠️ ⚠️
Due to changes in HA2026.2 there were some problems with the entity unique_id and entity_id. We thought this was solved in version 1.2.5 but basically the entity_id was generated using the translation, another way as was done previously. Since the dependency on the translation is unwanted, we need to 'repair' the wrong ids. This has protentional risks for the entity history and other 'stored' data.
When you install version 1.2.6-pre all entities will be corrected automatically, by a migration. We have tested this multiple times, and noticed no problems with the history, automations , aggregation and usage in dashboards. Many thanks to @harrymayr for his efforts in this!!
There have not been many changes compared to version 1.2.5 as you can see below. We tested this thoroughly, but it is always possible that we missed something. Therefore we would like to ask beta-testers to check if their migration works smoothly. It is advised to create a full backup before you install it.
This migration also prepares the devices and entities for the "cloud free" 🌩️ version of this integration
Much work has already been done for this version. All devices, including the SF800/1600 and 2400 and the Zendure Smart meters will use the local MQTT server. The cloud key will be optional, and all devices in the local MQTT will automatically be added to Home Assistant. But more will follow on that.
Fixed in 1.2.6-pre2
- Removed trailing space in SF1600AC+ and SF2400AC+ name, causing them to not be recognized by @FireSon in #1120
What's Changed
- Update German translations for power limits by @Kieft-C in #1069
- Log exception name when handling HTTP API call errors by @cybe in #1086
- Smart charge only by @harrymayr in #1046
- Device fixes by @harrymayr in #1099
- Fix entity_id after HA2026.2 update by @FireSon in #1106
- Improve entity ID and unique ID handling during migration, adding err… by @FireSon in #1108
- Fix discharge state display when min SOC limit is reached by @eremid in #1114
- Update entity_ids, prepare for local only release by @FireSon in #1118
New Contributors
- @Kieft-C made their first contribution in #1069
- @cybe made their first contribution in #1086
- @eremid made their first contribution in #1114
Full Changelog: 1.2.5...1.2.6-pre2
READ CAREFULLY before you install 🚀🌞 ⚠️
Patch version 1.2.6-pre1
⚠️ ⚠️ ⚠️ You cannot revert back to 1.2.5 or any other older version without losing the history of your entities! Please let us know if you experience any loss of data. ⚠️ ⚠️ ⚠️
Due to changes in HA2026.2 there were some problems with the entity unique_id and entity_id. We thought this was solved in version 1.2.5 but basically the entity_id was generated using the translation, another way as was done previously. Since the dependency on the translation is unwanted, we need to 'repair' the wrong ids. This has protentional risks for the entity history and other 'stored' data.
When you install version 1.2.6-pre all entities will be corrected automatically, by a migration. We have tested this multiple times, and noticed no problems with the history, automations , aggregation and usage in dashboards. Many thanks to @harrymayr for his efforts in this!!
There have not been many changes compared to version 1.2.5 as you can see below. We tested this quite thoroughly, but it is always possible that we missed something. Therefore we would like to ask beta-testers to check if their migration works smoothly. It is advised to create a full backup before you install it.
This migration also prepares the devices and entities for the "cloud free" 🌩️ version of this integration
Much work has already been done for this version. All devices, including the SF800/1600 and 2400 and the Zendure Smart meters will use the local MQTT server. The cloud key will be optional, and all devices in the local MQTT will automatically be added to Home Assistant. But more will follow on that.
What's Changed
- Update German translations for power limits by @Kieft-C in #1069
- Log exception name when handling HTTP API call errors by @cybe in #1086
- Smart charge only by @harrymayr in #1046
- Device fixes by @harrymayr in #1099
- Fix entity_id after HA2026.2 update by @FireSon in #1106
- Improve entity ID and unique ID handling during migration, adding err… by @FireSon in #1108
- Fix discharge state display when min SOC limit is reached by @eremid in #1114
- Update entity_ids, prepare for local only release by @FireSon in #1118
New Contributors
- @Kieft-C made their first contribution in #1069
- @cybe made their first contribution in #1086
- @eremid made their first contribution in #1114
Full Changelog: 1.2.5...1.2.6-pre
Patch for new Devices, new entities, new distribution, new simulator and more... 🌞
Patch version 1.2.5
What's Changed
- Fix aggr sensors for gridoff by @harrymayr in #1031
- Stabilize local ZenSDK HTTP connection by @inqode-lars in #1062
- Modify power discharge handling for charging devices by @harrymayr in #1055
- Fix invalid entity ID error in HA 2026.02 by @mithomas in #1026
New Contributors
- @inqode-lars made their first contribution in #1062
- @mithomas made their first contribution in #1026
Full Changelog: 1.2.4...1.2.5
Patch for new Devices, new entities, new distribution, new simulator and more... 🌞
Patch version 1.2.4
What's Changed
Patch for new Devices, new entities, new distribution, new simulator and more... 🌞
Patch version 1.2.2
What's Changed
- Fix MATCHING_CHARGE by @harrymayr in #975
- Ace 1500 entities by @harrymayr in #989
- Log API errors by @harrymayr in #988
- Fix charging devices with offGrid Power by @harrymayr in #978
- Hyper satellite plug by @harrymayr in #955
Full Changelog: 1.2.1...1.2.2
Patch for new Devices, new entities, new distribution, new simulator and more... 🌞
Patch version
Fixes thanks to @harrymayr:
- #968 use produced power for discharge as well
- #971 default autoHeat to on
- #964 SF2400AC not switching to Discharge
- #958 Ac & dc switch
New devices:
- SF800 Plus
- SuperBase v4600
- AB2000X
New/updated entities:
- Zendure manager total active power
- Devices fan control
- Off-grid entities
- Autoheat
- HEMS status
Improved power distribution in combination with solar panels
- Improved bypass handling
- Improved solaronly discharge
- Optimize inverter working range
- Improved FuseGroup distribution
Simulator
Thanks to @harrymayr we can now analyse any logfile which contains the mqtt logging. This simulator gives great insight into the power of individual devices, solar production and electricLevel etc:

With this smilulator we have tried to implement a distribution which will let the devices work in the optimal range, as is shown in the picture below. Although the numbers are not 'exactly' the same as the inverters of Zendure, the general shape is the same.
New Contributors
- @Youpimatin made their first contribution in #685
- @blaubaer made their first contribution in #859
- @swissky made their first contribution in #870
Next developement steps
- Device discovery without the cloud (first step to become totally independent from cloud connection)
- Add Zendure and Shelly P1 meter
- Improve off-grid energy handling
New Devices, new entities, new distribution, new simulator and more... 🌞
What's Changed
New devices:
- SF800 Plus
- SuperBase v4600
- AB2000X
New/updated entities:
- Zendure manager total active power
- Devices fan control
- Off-grid entities
- Autoheat
- HEMS status
Improved power distribution in combination with solar panels
- Improved bypass handling
- Improved solaronly discharge
- Optimize inverter working range
- Improved FuseGroup distribution
Simulator
Thanks to @harrymayr we can now analyse any logfile which contains the mqtt logging. This simulator gives great insight into the power of individual devices, solar production and electricLevel etc:

With this smilulator we have tried to implement a distribution which will let the devices work in the optimal range, as is shown in the picture below. Although the numbers are not 'exactly' the same as the inverters of Zendure, the general shape is the same.
New Contributors
- @Youpimatin made their first contribution in #685
- @blaubaer made their first contribution in #859
- @swissky made their first contribution in #870
Next developement steps
- Device discovery without the cloud (first step to become totally independent from cloud connection)
- Add Zendure and Shelly P1 meter
- Improve off-grid energy handling
Multiple fixes and improvements, bypass handling and Power distribution
Patch version 1.1.4 --- pre-release 10
Only for beta testers and early adopters 😄
Fixes pre-release 10
Thanks for the logfiles of the scenario's which did not work. We have added them to the list of tests, so future versions will not have the same problem again.
- #888 should be fixed
- #887 should be fixed
- #885 should be fixed
- #884 should be fixed
- #883 manual setpoint limit increased to 12.000 watt
What's Changed
- Improved power distribution in combination with solar panels, thanks to Rene
- Improved bypass handling
- Improved solaronly discharge
- Optimize inverter working range
- Added AB2000X model identifier by @tmhrzgr in #857
- Added fan entities for SolarFlow 800 Pro and friendly names by @tmhrzgr in #853
- Fix and add aggr total sensors by @tmhrzgr in #855
- Added gridOffMode translations by @blaubaer in #859
- Fix: Improve exception handling to prevent silent failures by @swissky in #870
- Add support for SuperBase v4600 by @harrymayr in #881
Other pre-releases
- Zendure Manager Power entity, which is the sum of the power of all devices
- #731 and #703 Off Grid setting control
- #719 should be fixed
- #690 should be fixed
- #682 (Fusegroups) should be fixed
- #680 (Available Energy) should be fixed
- #677 (Cloud oder Lokal - Woran erkennt man das wirklich zuverlässig) Added additional information to connection status
- #631 ( LED is not working properly) should be fixed
- #586 (Remaining discharge time) and #516 1.1.0-pre13 funktioniert bei Hyper 2000 die Ladezeit nicht (999) The new SF-devices do not report two times for charging/discharging but only one. In order to make it transparent for all devices, only one (new) entity is added: "remainingTime" The 'old' entities have been removed, so if you use them, they should be updated. The remainingTime is adjusted for socMin/socSet!
- #683 (Battery drained while idle) This appears to be related to the smartmode, when this is enabled the SF2400 drains 14w per battery. For writing zero, the smartmode is now disabled
New Contributors
Power distribution
The testing of different setups, has proven itself quite difficult! Thanks to @harrymayr, who has developed a 'simulator' which can 'replay' generated logfiles, the testing and development has become much easier. This simulator gives great insight into the power of individual devices, solar production and electricLevel etc:

With this smilulator we have tried to implement a distribution which will let the devices work in the optimal range, as is shown in the picture below. Although the numbers are not 'exactly' the same as the inverters of Zendure, the general shape is the same.
Hysteria
There been a few tries, and also a few suggestions to handle hysteria in a better way. Hysteria, in short, is the unwanted switching between charging/discharging and switching between devices. The reason is quite obvious, it will have a negative effect on the lifespan of the batteries and devices. At this moment the Integration uses an average value of the setpoint over the last minute, which should be smaller than -50 watt, before charging starts. As with the power distribution, this probably can be improved or extended in certains scenarios. If you encounter such a situation, please create a logfile, with the MQTT logging turned on, because so we can test that scenario with the simulator as well.
Edit Update Power distribution and SolarPower🌞
Patch version 1.1.4 --- pre-release 7
WITHOUT THINKING I have deleted previous pre-releases 😢 PLEASE CREATE your own backup before trying out this version!!!
Only for beta testers and early adopters 😄
Updates in pre7
- Improved solarMatching, devices should switch less often
- Fixed error in discharging, in certain situation a 'negative' value was sent to the device which caused eatic behaviour
- Added START_POWER to charging in order to prevent frequent starting
Updates in pre6
- this warning
- Discharge order
Updates in pre5
- Refactored the solar matching, since it did not work properly. We have tested with several setups, and it seems to work much better. Feedback on this is much appriciated, since there is enough room for fine-tuning 😉
- Added damping to the p1 meter value. When the value changes significantly, the last value is used
- Added damping to the start/stop of devices, to pevent frequent switching
- Solar matching, when the house requires power, first the available solar power is used
- Fixed fuse group limits
- #773 is added
Update in pre4
- Fix wrong capping of solar power
Power distribution
- Improved switching between devices, distribution waits until the device is active
- If possible, the devices are used in the optimal efficiency range
- In the above chart you can see the efficiency range, although the numbers are not 'exactly' the same as the inverters of Zendure, the general shape is the same
- In order to prevent frequent switching between devices, they are charged/discharged in steps of 0.5 kWh
- The order in which the devices are charged/discharged is the availablePower entity
- As a result of this distribution. more devices are used at the same time
- The distribution will stop using a device, if the available power drops below 10%
- The distribution will start using a device, if the available power is above 20%
- When there is Solar power available, this will always be used first in order to keep the zero export.
Solar power
If a device has solar power, it becomes more complicated to control. In the new version, the following entities are used:
- Discharge => packInputPower
- Charge => gridInputPower
- Solar => solarInputPower
In this way, the usage of the device is 'similar' as the P1 meter, discharging a device when there is Solar power, will first use the solar power, if more power is needed than the solar power, it will come from the battery. There have need many questions, and suggestions about this, so please try to understand this approach, it is easier for the smart matching.
New
- Zendure Manager Power entity, which is the sum of the power of all devices
To be validated/tested
- #719 should be fixed
- #690 should be fixed
- #682 (Fusegroups) should be fixed
- #680 (Available Energy) should be fixed
- #677 (Cloud oder Lokal - Woran erkennt man das wirklich zuverlässig) Added additional information to connection status
- #631 ( LED is not working properly) should be fixed
- #586 (Remaining discharge time) and #516 1.1.0-pre13 funktioniert bei Hyper 2000 die Ladezeit nicht (999) The new SF-devices do not report two times for charging/discharging but only one. In order to make it transparent for all devices, only one (new) entity is added: "remainingTime" The 'old' entities have been removed, so if you use them, they should be updated. The remainingTime is adjusted for socMin/socSet!
- #683 (Battery drained while idle) This appears to be related to the smartmode, when this is enabled the SF2400 drains 14w per battery. For writing zero, the smartmode is now disabled