SolaX Inverter Modbus
wills106/homeassistant-solax-modbus · v2026.10.01
SolaX Power Modbus custom_component for Home Assistant (Supports some AlphaESS, Growatt, Sofar, Solinteg, Solis, SRNE, Swatten)
In Apple Home through HomeKit Bridge
What HomeKit Bridge makes of each kind of entity this integration creates, read from its source code. A device only gets the ones that apply to it.
| Entity | Shows up as | Note |
|---|---|---|
switch | Switch or outlet | |
sensor | Sensor (temperature, humidity, air quality…) | |
button | Button (as a switch) | |
select | Mode picker (as switches) |
What people report
Local Modbus support for SolaX, Growatt, Solinteg, Solis and Viessmann inverters is added quickly, but firmware register changes and dongle firmware updates can break setups.
- Works7
- Partly works2
- Not working1
- Requested1
| Device | In Home Assistant | In Apple Home | What they said | Source |
|---|---|---|---|---|
| Growatt MOD 8000TL3-HU | Works Local | DMS serial prefix recognised; support mergedSaved copyThe Growatt MOD 8000TL3-HU reports a serial number starting with `DMS` from holding register 3001. Since this prefix was not recognized, detection fell back to register 9, read the firmware version instead, and rejected the inverter. This adds the `DMS` prefix as `HYBRID | GEN4 | X3 | MPPT3`. A regression test covers the reported serial and firmware values. Fixes #2146 Excerpt saved from GitHub on 2026-10-23. | PR #2203 · 2026-07 | |
| Growatt SZG / TJ1 inverters | Works Local | Serial SZG and firmware TJ1 recognised as PV GEN2 X3Saved copySummary - Recognize Growatt inverters with serial prefix `SZG` and firmware prefix `TJ1` (e.g. serial `SZGDCL505K`, firmware `TJ1.0`). - Map both to `PV | GEN2 | X3` (3-phase PV, 2 MPPT), matching the local fix that cleared the `unrecognized Growatt inverter type` error. - Fixes #2261. ## Test plan - [ ] With an SZG / TJ1 Growatt on Modbus, confirm setup no longer logs unrecognized inverter type - [ ] Confirm 3-phase PV entities populate (grid L1/L2/L3, PV1/PV2 strings) - [ ] Review that classification as GEN2 remains appropriate if a named nameplate model is confirmed later Made with Cursor Excerpt saved from GitHub on 2026-10-23. | PR #2262 · 2026-08 | |
| SolaX X1-VAST | Works Local | pv_power_total regression on old firmware; fixed after SolaX firmware updateSaved copyBug Description After updating to `2026.05.2`, `sensor.pv_power_total` returns a constant 1W on a SolaX X1-VAST inverter. The individual string sensors (`pv_power_1`, `pv_power_2`) continue to work correctly. ## Root Cause Commit `fc0a7ee` changed `pv_power_total` from a calculated sum of string sensors to reading Modbus register `0x32` directly, with support limited to `HYBRID | GEN6` (with a note that *"GEN5 testing needed"*). On the X1-VAST, register `0x32` returns a constant 1W, it either does not exist or maps to a different value on this hardware. Prior to this commit, `pv_power_total` … Excerpt saved from GitHub on 2026-10-23. | Issue #2062 · 2026-05 | |
| Solinteg M2HT inverters | Works Local | Provisional support merged; shares existing register mapSaved copyThese should share the same register map as the existing inverters. Simply add model ID decoding for them to ensure the correct HYBRID/MPPT/X3 flags are set. This also corrects the MPPT decoding for inverters in the 30/31 high byte ID group. Fixes #2158. --- Furthermore this include a more complete population of the energy dashboard mappings. The dashboard mappings have been in a draft PR for a while. They've been added into this PR to allow testing alongside the new models and get them merged in. Excerpt saved from GitHub on 2026-10-23. | PR #2172 · 2026-07 | |
| Solis S6-EH3P10K02-NV-YD-L | Works Local | Support added and mergedSaved copyAdds support for Solis S6-EH3P10K02-NV-YD-L. This is a Hybrid Gen6 inverter 48V; 10KW with 2MPPTs Serial prefix: 103330 Manual: https://zonnigewinkel.nl/wp-content/uploads/2026/03/Handleiding-Solis-3-fase-laag-voltage-omvormer.pdf Excerpt saved from GitHub on 2026-10-23. | PR #2250 · 2026-08 | |
| TIGO TSI X3 (serial 63110) and X3-IES G | Works Local | Support added via serial prefix mapping, merged 2026-09Saved copyDescription Add support for two new SolaX inverter models: - TIGO TSI X3 (serial prefix 63110) - X3-IES G (serial prefix P35G1) ## Type of change - [x] New feature ## Inverter / plugin affected SolaX (plugin_solax.py) ## Changes - plugin_solax.py: add serial prefix 63110 → HYBRID|GEN4|X3 (X3-TIGO TSI) - plugin_solax.py: add serial prefix P35G1 → HYBRID|GEN5|X3 (X3-IES) - plugin_solax.py: add 63110 to MAX_CURRENTS (30A) and MAX_EXPORT (10000W) - plugin_solax.py: add P35G to MAX_CURRENTS (50A) and P35G04–P35G15 to MAX_EXPORT - manifest.json: bump version to 2026.09.4 ## Checklist - [x] I ran … Excerpt saved from GitHub on 2026-10-23. | PR #2350 · 2026-09 | |
| Viessmann Hybrid Inverter HINV6.0-B1 | Works Local | New plugin using GoodWe-compatible register map; validated on this modelSaved copySummary Adds a dedicated `plugin_viessmann` for Viessmann Hybrid Inverter B1 devices using the GoodWe-compatible Modbus register map. The implementation was validated with a Viessmann HINV6.0-B1 through Modbus TCP, using holding registers and Modbus device address 247. ## Changes - Adds sensors for PV, grid, load, battery, BMS, operating state, temperatures, voltages and power. - Uses meter registers `36015` and `36017` for cumulative grid export and import energy. - Adds a reusable daily-delta energy sensor which calculates daily import/export from the cumulative meter totals, persists its … Excerpt saved from GitHub on 2026-10-23. | PR #2126 · 2026-06 | |
| SolaX X3 G4 PRO 10K | Partly works Local | Battery current limited to 20A and export limit scaling off; needs plugin entriesSaved copyMax charging/discharging limit is 30A. MAX_CURRENTS = [ ("10K", 30), #Gen6 X3 G4 PRO MAX_EXPORT = [ ("10K0A", 11000), #X3 G4 PRO 10kW Excerpt saved from GitHub on 2026-10-23. | Issue #1582 · 2025-09 | |
| Solinteg M2HT-50K-150 / WH-WXG30ME8 | Partly works Local | Detected as unknown device; battery SoC entity missing, battery power 0 WSaved copyDescription ### Environment - Home Assistant: 2026.06.7 - SolaX Modbus: 2026.7.0 - Inverter: Solinteg M2HT-50K-150 ### Description While integrating my Solinteg inverter, I noticed that Battery SOC is defined in `plugin_solinteg.py`: - key: `battery_soc` - register: `33000` The debug log shows that the holding register block containing register 33000 is read successfully. However, no Battery SOC entity is created in Home Assistant. I verified that: - the entity does not exist - the entity is not disabled - communication with the inverter works correctly - Battery Power is available - other … Excerpt saved from GitHub on 2026-10-23. | Issue #2158 · 2026-07 | |
| SolaX Pocket WiFi+LAN V4 dongle | Not working Local | After dongle firmware update Modbus TCP server stops answering; reverse-connection workaroundSaved copyDescribe the bug After a firmware update, my Pocket WiFi+LAN dongle stopped serving Modbus TCP. Port 502 still accepts connections but never answers, no reply to MBAP or RTU framing, on either of the dongle's two interfaces, before or after a reboot. The dongle is otherwise healthy: cloud reporting works and its local web UI is fully responsive. The new firmware replaces the server with "Direct connection to third-party platforms", which reverses the direction, the dongle connects out to a host you configure and speaks ordinary MBAP-framed Modbus TCP over that outbound socket. Send a normal … Excerpt saved from GitHub on 2026-10-23. | Issue #2336 · 2026-09 | |
| Nord N34 inverter | Requested Local | Serial prefix N34 mapped to Gen4 X3 Hybrid profile in open PRSaved copyDescription Adds support for detecting Nord OEM N34 inverters by mapping the `N34` serial prefix to the existing Gen4 X3 Hybrid profile. The regression test covers both H34 and N34 serials, and the compatibility list documents the tested N34A10 model and Nord Solution. ## Type of change - [ ] Bug fix - [x] New feature - [ ] Refactoring - [x] Documentation - [ ] Other (please describe): ## Inverter / plugin affected SolaX (`solax_modbus`) ## Checklist - [x] I ran `make ci` locally and all checks pass (pre-commit, mypy strict, tests) - [x] I added or updated tests covering the new/changed … Excerpt saved from GitHub on 2026-10-23. | PR #2405 · 2026-10 |
Gathered from GitHub issues, pull requests, discussions and docs, and from r/homeassistant. These are individual reports, so check the linked thread and the date before you buy.
How it connects
Local polling
Talks to the device on your network, asking it for updates every so often.
Details
| Installs (analytics) | 3,007 (0.42%) |
|---|---|
| GitHub stars | 528 |
| Latest version | 2026.10.01 (2026-10-16) |
| Set up in the UI | Yes |
| Maintainers | @wills106 |
| License | Apache-2.0 |
Notable forks
Forks with stars, or with code pushed at least 90 days after the original’s last push. Useful when the original goes quiet.
| Fork | Stars | Last push | Description |
|---|---|---|---|
| PatrikTrestik/homeassistant-solax-modbus | ★ 4 | 2025-04-30 | SolaX Power Modbus custom_component for Home Assistant (Supports some Ginlong Solis, Growatt, Sofar Solar, TIGO TSI & Qcells Q.Volt Hyb) |
| fxstein/homeassistant-solax-modbus | ★ 3 | 2026-08-08 | SolaX Power Modbus custom_component for Home Assistant (Supports some Ginlong Solis, Growatt, Sofar Solar, TIGO TSI & Qcells Q.Volt Hyb) |
In ReReHome
Whatever HomeKit Bridge shares reaches Apple Home as normal HomeKit accessories behind your Home Assistant bridge, so ReReHome shows and controls them like any other.
Bridges get their own settings page listing the accessories behind them.