A native Home Assistant integration for Growatt solar inverters using direct Modbus RTU/TCP communication. Real-time data straight from your inverter — no cloud, no ShineWiFi, no dependency on Growatt's servers.
The documentation site covers supported models, sensor reference, inverter controls, energy dashboard setup, troubleshooting, and developer guides.
- Open HACS → ⋮ menu → Custom repositories
- Add URL
https://github.com/0xAHA/Growatt_ModbusTCP, category: Integration - Search "Growatt Modbus" in HACS → Download
- Restart Home Assistant
- Settings → Devices & Services → Add Integration → search "Growatt Modbus"
- Download the latest release and extract
- Copy
growatt_modbus/intoconfig/custom_components/ - Restart Home Assistant and add via Settings → Devices & Services
The setup wizard runs auto-detection automatically for VPP-capable inverters. For legacy models, select the profile manually based on your inverter's power range.
| Parameter | TCP | Serial |
|---|---|---|
| Host / Device | IP address (e.g. 192.168.1.100) |
Path (e.g. /dev/ttyUSB0) |
| Port / Baudrate | 502 |
9600 |
| Slave ID | 1 (usually) |
1 (usually) |
| Page | What it covers |
|---|---|
| Supported Models | Which profile matches your inverter |
| Auto-Detection | How the profile is chosen, and how to override it |
| Entity Reference | Every sensor and control, and what it means |
| Battery & Scheduling | Charge/discharge limits and time-of-use periods |
| RS485 Gateways | Which adapters work, and diagnosing one that doesn't |
| DTC Debugging | Device type codes and profile mappings |
| Raising an Issue | What to include so it can actually be diagnosed |
| Protocol Reference | Register maps for V1.39, VPP and off-grid |
- Issues & bug reports: GitHub Issues
- Community: Home Assistant Forum
MIT License — see LICENSE
This integration is built almost entirely on evidence from people's own hardware. Register maps get confirmed because someone ran a scan at two different times of day; wrong mappings get found because someone noticed a battery reading 0.0 °C and said so; whole model families get supported because someone asked Growatt for a protocol document and shared it.
Several of the most useful reports were people correcting their own earlier findings after measuring properly — which is what stopped working registers being "fixed" into broken ones.
Contributions are credited where they're used: in the release notes, in the issue each one came from, and in comments beside the registers they established. That keeps the credit attached to the thing it explains, rather than in a list that goes stale and quietly excludes whoever was added last.
If you have an inverter model or gateway that isn't well covered, a register scan is the single most useful thing you can contribute.
Made with ☀️ and ☕ by @0xAHA
