Skip to content

Releases: wlcrs/huawei_solar

1.6.0 beta 4

09 Sep 12:07
413d4d8
Compare
Choose a tag to compare
1.6.0 beta 4 Pre-release
Pre-release

This version introduces support for SCharger devices, which are the EV Chargers of Huawei.

Note that the available entities are rather limited (cfr. page 20 and 21 of the SmartHEMS Modbus Interface Definitions PDF): you can only read some basic values from the charger and it is not possible to change the behavior of the charger.

Improvements 🚀

  • Add support for SCharger entities (thank you @smoki3 !)

Fixes 🐛

  • Disable active power control entities when an EMMA is present (fixes #1088, #1093)

1.5.8

09 Sep 06:59
Compare
Choose a tag to compare

This is a small release which fixes some issues that are caused by bugs in pyModbus 3.11.1 .

Fixes 🐛

1.5.7

03 Sep 08:40
2f69953
Compare
Choose a tag to compare

Warning

This release is INCOMPATIBLE with HA 2025.08 and earlier
This release is REQUIRED for HA 2025.09 and later

This integration communicates with the Huawei inverters using the Modbus protocol. To achieve this, we use the popular pyModbus library. Sadly, the maintainer of this library frequently releases new versions which are slightly incompatible with each other, leading to stuff breaking all over the place for Home Assistant. As a stop-gap solution, Home Assistant is now pinning its monthly releases to a specific pyModbus version. As long as this integration keeps using pyModbus, this integration will need to tightly follow the pinned versions by Home Assistant. Every time Home Assistant changes the pinned pyModbus-version, you will need to upgrade this integration at exactly the moment you do your monthly HA upgrade.

I'm working on an alternative solution, but don't expect it to be ready for prime-time until the end of the year.

1.5.6

15 Aug 20:00
ed0e100
Compare
Choose a tag to compare

This is an emergency release because of compatibility issues with the native HA modbus integration in HA2025.08.2 which prevent this integration from loading.

Some background: both this integration and the native modbus integration use the same underlying Python library called "pyModbus". The maintainer of said library frequently makes small changes to the API, leading to subtly incompatible versions being released every few months. This release relaxes the version requirements of the pyModbus library so that it can be combined with a fixed version requirement set by the native modbus integration in 2025.08.2 .

Please be aware that breakage is already guaranteed when HA2025.9 will be released, as the pyModbus library maintainer has changed a parameter name affecting almost every function call without any backward compatibility. I will release a new version around the release day of HA2025.9

Keeping up with the frequent pyModbus API changes is a very tiring game of playing cat and mouse where little is gained. Sadly, there is currently no other Python library which is powerful enough to implement all the Huawei-specific calls. I'm considering creating my own Modbus library instead, but this will take time to get to a sufficiently stable and mature state. Hopefully something that will be ready for general usage by the end of the year.

1.5.5

05 Jul 11:48
138dd1f
Compare
Choose a tag to compare

This release is mainly relevant for installations containing an EMMA device. There are no notable changes for other users.

Improvements 🚀

Bug fixes 🐞

  • Fix state_class for RATED_ESS_CAPACITY by @stefanvogel in #1003
  • Create new entities for installations that don't support capacity control by @wlcrs in #1024

Full Changelog: 1.5.4...1.5.5

1.5.4

10 Feb 07:28
979f49c
Compare
Choose a tag to compare

Fixes 🐛

  • Force pyModbus version to "<3.8.5", as it contains a regression that breaks all communication with devices with slave-id 0 (cfr. #940)

Thank you! 💖

A big thank you to all my sponsors! Your support helps to keep this integration in great shape.

1.5.3

31 Jan 08:16
cfe930e
Compare
Choose a tag to compare

Improvements 🚀

This release adds:

  • support for Huawei EMMA devices (unstable)
  • auto-discovery of devices during initial setup, making it unnecessary to lookup the Modbus Slave ID's of each device.
  • Sensors for temperatures of individual battery packs (by @TomHarm in #830)
  • MPPT scan interval is now configurable (by @TomHarm in #830)

Fixes 🐛

  • Fix serial connection (was broken in v1.5.0 and v1.5.1, cfr: #901)
  • Update of some device_class and entity_class values to remove warnings in logs (by @peetersch in #817)
  • fix unit of reactive power (by @mpw96 in #804)
  • Fix writing TOU registers (cfr. #877 )
  • Fix support for Huawei-inverters that were rebadged by EDF (cfr. #902) and other brands (was broken in v1.5.2, cfr. #906)

Dependency upgrades 📦

This integration relies on the Python library 'pyModbus' to communicate with your Huawei Solar installation via the Modbus protocol. Other integrations, like the native modbus-integration of Home Assistant do the same. Recently, the pyModbus project released a series of releases containing breaking changes. When this integration is used in conjunction with other integrations which rely on an incompatible version, this breaks your installation as only one version of pyModbus can be installed at any one time. This led to issues in HA2025.1 (cfr. issue #873).

This release upgrades the pyModbus version used to v3.8.3, which is in line with the version used by the native modbus-integration of HA 2025.2, restoring compatibility.

Note

If you use other (custom) integrations which rely on incompatible pyModbus versions, then these compatibility problems will persist until the other integration also upgrades their pyModbus dependency. Please contact the author of that integration if that is the case.

Looking for translators 🔡

The new EMMA-sensors need translating!

Are you willing to help translate this integration? We now use Crowdin to make it easy to contribute translations.

Use this invitation link to get started!

Full Changelog: 1.4.1...1.5.3

1.4.1

16 Jun 12:28
Compare
Choose a tag to compare

Improvements 🚀

  • Add Active power control sensor: allows you to see current Active power control setting.

Fixes 🐛

  • Change unit of insulation resistance to MOhm by @olebowle in #734
  • Fix broken active power control services #736

Full Changelog: 1.4.0...1.4.1

1.4.0

15 Jun 16:08
Compare
Choose a tag to compare

This release is a large overhaul to further improve the efficiency of the integration, made possible by improvements in Home Assistant.

Most notably, the integration can now dynamically compute which registers must be queried from the inverter, depending if they are enabled or disabled in HA.

This has also made it possible to add more entities to the integration. While they have all been disabled by default for performance reasons/because they provide (almost) duplicate information, they might be of interest to some users.

Furthermore, the update cycle of inverter, power meter and battery entities have now been separated into three separate parts. This allows you to raise the update interval for only one of those three parts instead of all entities. This will be particularly useful for people wanting to update power meter values at high speed.

⚠️ If you have changed the polling frequency in the past, you will need to duplicate this into three separate automations now ⚠️

This release has been tested by 200 users for an extended time as an alpha-version. Thank you for testing! 🎉

Improvements 🚀

  • Add inverter active power derating entities (#683)
  • Add forcible charge status sensor (#731)
  • Add reconfigure flow (#689)
  • Add insulation resistance sensor (#727)

Fixes 🐛

  • Fix detection logic for power meters (#671)
  • Fix device_class and state_class of battery (dis)charge entities (#684)

Thank you! 💖

A big thank you to all my sponsors! Your support helps to keep this integration in great shape.

Full Changelog: 1.3.4b1...1.4.0

1.4.0 alpha 3

16 Apr 19:23
Compare
Choose a tag to compare
1.4.0 alpha 3 Pre-release
Pre-release

⚠️ Alpha release: expect that things can be broken ⚠️

This release is a large overhaul to further improve the efficiency of the integration, made possible by improvements in Home Assistant.

Most notably, the integration can now dynamically compute which registers must be queried from the inverter, depending if they are enabled or disabled in HA.

This has also made it possible to add more entities to the integration. While they have all been disabled by default for performance reasons/because they provide (almost) duplicate information, they might be of interest to some users.

Furthermore, the update cycle of inverter, power meter and battery entities have now been separated into three separate parts. This allows you to raise the update interval for only one of those three parts instead of all entities. This will be particularly useful for people wanting to update power meter values at high speed.

⚠️ If you have changed the polling frequency in the past, you will need to duplicate this into three separate automations now ⚠️

Improvements

  • Add inverter active power derating entities (#683)

Fixes 🐛

  • Fix detection logic for power meters (#671)
  • Fix device_class and state_class of battery (dis)charge entities (#684)

Full Changelog: 1.4.0a2...1.4.0a3