Releases: Zendure/Zendure-HA
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
Edit Update Power distribution and SolarPower🌞
Patch version 1.1.4 --- pre-release 6
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 since pre5
- this warning
- Discharge order
Updates since pre4
- 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 since pre3
- 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
Version 1.1.3
Update release strategy
We are very happy to see that the Zendure Integration is being used by so many (different) users. And all the feedback you give us is much appreciated!! The update to version 1.1.0, also made it clear that the impact of a 'problem' in a release, due to the many people relying on the integration, is getting bigger and bigger. You could call that 'growing pains', which is true, but on the other hand it calls for an update of our release strategy. So in the future:
- The pre-releases are for beta-testers and early-adopters only. Do not use it in your production environment if you are not 100% sure.
- For each release, we will create a pre-release, so that versions are actually 'stable', with the exception of critical errors
- We will add a template to the issues, in order to collect the necessary information for an issue, including if it relates to a stable or pre-release
Patch release ✨ what's Changed
Changes in 1.1.3
- Fixed critical error: in smart mode devices where not used, if they were totally empty or full
- Fixed error: aggregate sensors being reset to zero after restart
- Improved multiple descriptions of entities
- Fixed initializing the manual power setpoint when switching back to Manual Power
Changes in 1.1.2
- Fixed problem with P1 sensor in 1.1.1
- initialize socLimit
Changes in 1.1.1
- Fixed version number 😄
- Fixed for distribution mode, switching between devices in steps of 0.5 kWh instead of 1 kWh
- Fixed FuseGroup limits, and added a Group 2000kWh
- Improved entity creation, some users reported uninitialized errors using the smart mode
- Updated readme and documentation. Please read it if you have problems 😉
- Updated several sensors
- Updated German translation
- (Re)Added MqttReset for legacy devices, can be used to reset the device
- Fix configflow initialization error. Wrong tokens did not give an error. More specific error should be added in future release
- Fix for batteries which were competely empty, were not charged.
- Missing entities added. German translation updated. by @z-master42 in #594
- OutputPower Entities for ACE1500 added by @z-master42 in #605
- Update manager.py by @harrymayr in #612
Version 1.1.2
Patch release ✨ what's Changed
- Fixed server bug with P1 sensor in 1.1.1
- initialize socLimit
Changes in 1.1.1
- Fixed version number 😄
- Fixed for distribution mode, switching between devices in steps of 0.5 kWh instead of 1 kWh
- Fixed FuseGroup limits, and added a Group 2000kWh
- Improved entity creation, some users reported uninitialized errors using the smart mode
- Updated readme and documentation. Please read it if you have problems 😉
- Updated several sensors
- Updated German translation
- (Re)Added MqttReset for legacy devices, can be used to reset the device
- Fix configflow initialization error. Wrong tokens did not give an error. More specific error should be added in future release
- Fix for batteries which were competely empty, were not charged.
- Missing entities added. German translation updated. by @z-master42 in #594
- OutputPower Entities for ACE1500 added by @z-master42 in #605
- Update manager.py by @harrymayr in #612
Version 1.1.1
Patch release ✨ what's Changed
- Fixed version number 😄
- Fixed for distribution mode, switching between devices in steps of 0.5 kWh instead of 1 kWh
- Fixed FuseGroup limits, and added a Group 2000kWh
- Improved entity creation, some users reported uninitialized errors using the smart mode
- Updated readme and documentation. Please read it if you have problems 😉
- Updated several sensors
- Updated German translation
- (Re)Added MqttReset for legacy devices, can be used to reset the device
- Fix configflow initialization error. Wrong tokens did not give an error. More specific error should be added in future release
- Fix for batteries which were competely empty, were not charged.
- Missing entities added. German translation updated. by @z-master42 in #594
- OutputPower Entities for ACE1500 added by @z-master42 in #605
- Update manager.py by @harrymayr in #612
Version 1.1.0
Version 1.1.0
This is the first release of the Zendure Integration 😄 . Zendure has spend a lot of time supporting this new version. Together we have added a whole new API with improved security, and an authorization token ㊙️, which you can retrieve in the Zendure App.
A very special thanks to all the users who have spend a lot of time in testing, it is much appreciated!!
Overview Zendure Integration
-
Configuration:
- Fuse Group
- Zendure Manager
- Local Mqtt
- Home Assistent Energy Dashboard
-
Supported devices:
- Ace1500
- Aio2400
- Hyper2000
- Hub1200
- Hub2000
- SF800
- SF800 Pro
- SF2400 AC
- SuperBase V6400
1.1.0-pre3
Read release notes carefully befor installing!!! 😟 (fixed version number + Hyper2000 communication parameter)
This the first release where Semantic versioning is used!!
New functionality
- Serial_number Zendure Manager is the same as the Integration Version number
- Added two operations to the Zendure Manager:
- Smart_discharging => only discharge is possible, even if there is enough Solar power available
- Smart_charging => only charging is possible, even if there is insufficient Solar power available
- Add ACE 1500 MQTT users
- Improve fast reaction to energy peaks
- Get the SF800/2400 BLE Mac address from device, should make local MQTT easier
Hyper2000
Second try to solve the Hyper2000 communication issue. No extra risk for your device, just another way of controlling the Hyper2000. In order to detect if it is working, the automatic reset has been switched off This also means that if you want to use/change local MQTT you have to do it manually by using the MqttRest switch. If the Hyper2000 'freezes' you can use the same MqttReset to unfreeze. NOTICE that the communication issue used to popup after 2-3 days!**
What's Changed
- Add hyperTemp for 2400AC by @Pat28 in https://github.com/FireSon/Zendure-HA/pull/351
- Update solarflow2400ac.py by @harrymayr in https://github.com/FireSon/Zendure-HA/pull/361
- Smart mode: Take empty battery and Bypass ON into account by @harrymayr in https://github.com/FireSon/Zendure-HA/pull/298
