[App] huABus - Huawei Solar Modbus to MQTT (SUN2/3/5/000 → MQTT → Home Assistant + Auto Discovery)

:wrench: huABus v1.8.1 Released - Fixes HA 2025.1+ Timeout Issue

Quick bugfix release for those experiencing timeouts with Home Assistant 2025.1 and later.

What was fixed:

  • Removed Slave ID 0 from auto-detection sequence
  • Slave ID 0 is a Modbus broadcast address (write-only, no responses)
  • HA 2025.1+ enforces this more strictly, causing timeouts during auto-detection

Changes:

python

# Before: [0, 1, 2, 100]
# After:  [1, 2, 100]

Benefits:

  • :white_check_mark: No more timeout errors on HA 2025.1+
  • :white_check_mark: Faster auto-detection (one less attempt)
  • :white_check_mark: Modbus specification compliant

Update: Standard addon update via Home Assistant UI

Workaround for older versions:

text

modbus:
  auto_detect_slave_id: false
  slave_id: 2  # or 1, depending on your inverter

Thanks to @HANT for the detailed bug report! :pray:

Changelog: GitHub

[Version 1.8.1]

Hi there,
I did the update, and it was fine w/ the auto-detection turned off. But as soon as it was turned off, it still missed the right ID, so the auto-detection does not work for me (it just restarts).

For me the proven ID to work is 2 (20KTL inverter, A04 SDongle).

2026-02-15T21:20:43 INFO: >> Starting Python application...
2026-02-15 21:20:43,711 - huawei.main - INFO - 📋 Logging initialized: DEBUG
2026-02-15 21:20:43,711 - huawei.main - DEBUG - External loggers: pymodbus=INFO, huawei_solar=INFO
2026-02-15 21:20:43,711 - huawei.main - INFO - 🚀 Huawei Solar → MQTT starting
2026-02-15 21:20:43,711 - bridge.config_manager - DEBUG - Modbus:
2026-02-15 21:20:43,712 - bridge.config_manager - DEBUG -   Host: 192.168.XXX.XXX
2026-02-15 21:20:43,712 - bridge.config_manager - DEBUG -   Port: 502
2026-02-15 21:20:43,712 - bridge.config_manager - DEBUG -   Auto-detect Slave ID: True
2026-02-15 21:20:43,713 - bridge.config_manager - DEBUG - MQTT:
2026-02-15 21:20:43,713 - bridge.config_manager - DEBUG -   Host: 192.168.XXX.XXX
2026-02-15 21:20:43,713 - bridge.config_manager - DEBUG -   Port: 1883
2026-02-15 21:20:43,713 - bridge.config_manager - DEBUG -   User: XXXXXXX
2026-02-15 21:20:43,713 - bridge.config_manager - DEBUG -   Password: ***
2026-02-15 21:20:43,713 - bridge.config_manager - DEBUG -   Topic: huawei-solar
2026-02-15 21:20:43,713 - bridge.config_manager - DEBUG - Advanced:
2026-02-15 21:20:43,714 - bridge.config_manager - DEBUG -   Log Level: DEBUG
2026-02-15 21:20:43,714 - bridge.config_manager - DEBUG -   Status Timeout: 180s
2026-02-15 21:20:43,714 - bridge.config_manager - DEBUG -   Poll Interval: 25s
2026-02-15 21:20:43,714 - huawei.slave_detector - INFO - 🔍 Auto-detecting Slave ID for 192.168.178.193:502...
2026-02-15 21:20:43,714 - huawei.slave_detector - DEBUG - Trying Slave ID 1...
2026-02-15 21:20:43,819 - huawei_solar.huawei_solar - INFO - Waiting for connection
2026-02-15 21:20:45,228 - backoff - INFO - Backing off _do_read(...) for 1.0s (huawei_solar.exceptions.SlaveFailureException)
2026-02-15 21:20:46,237 - backoff - INFO - Backing off _do_read(...) for 2.0s (huawei_solar.exceptions.SlaveFailureException)
2026-02-15 21:20:48,246 - backoff - INFO - Backing off _do_read(...) for 4.0s (huawei_solar.exceptions.SlaveFailureException)
2026-02-15 21:20:48,820 - huawei.slave_detector - DEBUG - Slave ID 1 timed out
2026-02-15 21:20:48,821 - huawei.slave_detector - DEBUG - Slave ID 1 failed
2026-02-15 21:20:48,821 - huawei.slave_detector - DEBUG - Trying Slave ID 2...
2026-02-15 21:20:53,930 - huawei.slave_detector - DEBUG - Slave ID 2 error: Modbus Error: [Input/Output] Request cancelled outside library.
2026-02-15 21:20:53,931 - huawei.slave_detector - DEBUG - Slave ID 2 failed
2026-02-15 21:20:53,932 - huawei.slave_detector - DEBUG - Trying Slave ID 100...
2026-02-15 21:20:59,040 - huawei.slave_detector - DEBUG - Slave ID 100 error: Modbus Error: [Input/Output] Request cancelled outside library.
2026-02-15 21:20:59,040 - huawei.slave_detector - DEBUG - Slave ID 100 failed
2026-02-15 21:20:59,041 - huawei.slave_detector - ERROR - ❌ Auto-detection failed! Tried: [1, 2, 100]
2026-02-15 21:20:59,041 - huawei.main - ERROR - ❌ Auto-detection failed. Please set 'modbus.auto_detect_slave_id: false' and configure 'modbus.slave_id' manually in the add-on configuration.
2026-02-15 21:20:59,041 - huawei.main - ERROR - ❌ Tested Slave IDs: [1, 2, 100] on 192.168.XXX.XXX:XXX

Turning auto-detection off in the configuration, put back the food on the table though.

Thanks,
HANT

To add to this the integration wlcrs/huawei GitHub - wlcrs/huawei_solar: Home Assistant integration for Huawei Solar inverters via Modbus also suffers from the same issue, when I try the ‘auto’ feature.

At least that is true for my set up.

Thanks,
HANT

:hammer_and_wrench: huABus v1.8.2 released — CI improvements & bug fixes

Hey everyone! Small but solid maintenance release:

v1.8.2 migrates the CI pipeline from pip to uv,
which cuts build times by ~40% and ensures fully reproducible
test environments. No changes to addon functionality —
everything works exactly as before.

:arrow_right: Update via Settings → Add-ons → huABus → Update