Skip to content

Commit 4c12cb6

Browse files
committed
v0.0.3
1 parent 31d1136 commit 4c12cb6

6 files changed

Lines changed: 873 additions & 447 deletions

File tree

README.md

Lines changed: 126 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Growatt Modbus Integration for Home Assistant ☀️
22

33
![HACS Badge](https://img.shields.io/badge/HACS-Custom-orange.svg)
4-
![Version](https://img.shields.io/badge/Version-0.0.2b-blue.svg)
4+
![Version](https://img.shields.io/badge/Version-0.0.3-blue.svg)
55
[![GitHub Issues](https://img.shields.io/github/issues/0xAHA/Growatt_ModbusTCP.svg)](https://github.com/0xAHA/Growatt_ModbusTCP/issues)
66
[![GitHub Stars](https://img.shields.io/github/stars/0xAHA/Growatt_ModbusTCP.svg?style=social)](https://github.com/0xAHA/Growatt_ModbusTCP)
77

@@ -22,26 +22,51 @@ Based on the official **[Growatt Modbus RTU Protocol V1.39](https://shop.franken
2222
- 🌡️ **Complete diagnostics** - Temperatures, fault codes, derating status
2323
- 💾 **No cloud dependency** - Local polling, your data stays yours
2424
- 🔄 **Grid power inversion** - Fix backwards CT clamp installations with one click
25-
- 🎛️ **Multi-model support** - Profiles for MIN, MID, MAX, SPH, and MOD series
25+
- 🎛️ **Multi-model support** - 14 profiles covering MIN, MID, MAX, SPH, MOD, TL-XH, MAC, MIX, SPA, and WIT series
2626

2727
---
2828

2929
## 🔌 Supported Inverter Models
3030

31-
The integration supports multiple Growatt inverter series with dedicated register maps:
31+
The integration supports **14 different Growatt inverter profiles** with dedicated register maps:
3232

33-
| Inverter Series | Model Range | Type | Phase | Tested | Notes |
34-
|----------------|-------------|------|-------|--------|-------|
35-
| **MIN 3000-6000TL-X** | 3000-6000TL-X | Grid-tied | Single | ⚠️ Untested | 2 PV strings, 3-6kW |
36-
| **MIN 7000-10000TL-X** | 7000-10000TL-X | Grid-tied | Single |**Tested** | 3 PV strings, 7-10kW |
37-
| **MID 15000-25000TL3-X** | 15000-25000TL3-X | Grid-tied | Three | ⚠️ Untested | Commercial, 15-25kW |
38-
| **MAX 50000-125000TL3-X** | 50000-125000TL3-X | Grid-tied | Three | ⚠️ Untested | Industrial, 50-125kW |
39-
| **SPH 3000-10000** | SPH 3000-10000 | Hybrid | Single | ⚠️ Untested | Battery storage, 3-10kW |
40-
| **MOD 6000-15000TL3-XH** | MOD 6000-15000TL3-XH | Hybrid | Three | ⚠️ Untested | 3-phase hybrid, 6-15kW |
33+
### Single-Phase Grid-Tied Inverters
34+
35+
| Inverter Series | Model Range | PV Strings | Tested | Notes |
36+
|----------------|-------------|------------|--------|-------|
37+
| **MIN 3000-6000TL-X** | 3000-6000TL-X | 2 | ⚠️ Untested | Grid-tied, 3-6kW |
38+
| **MIN 7000-10000TL-X** | 7000-10000TL-X | 3 |**Tested** | Grid-tied, 7-10kW |
39+
40+
### Single-Phase Hybrid Inverters (with Battery)
41+
42+
| Inverter Series | Model Range | PV Strings | Tested | Notes |
43+
|----------------|-------------|------------|--------|-------|
44+
| **TL-XH 3000-10000** | TL-XH 3000-10000 | 3 | ⚠️ Untested | Hybrid with battery, 3-10kW |
45+
| **TL-XH US 3000-10000** | TL-XH US 3000-10000 | 3 | ⚠️ Untested | US version hybrid, 3-10kW |
46+
| **SPH 3000-10000** | SPH 3000-10000 | 2 | ⚠️ Untested | Storage hybrid, 3-10kW |
47+
| **MIX Series** | Various | 2 | ⚠️ Untested | Legacy storage (merged into SPH) |
48+
| **SPA Series** | Various | - | ⚠️ Untested | AC-coupled storage |
49+
50+
### Three-Phase Grid-Tied Inverters
51+
52+
| Inverter Series | Model Range | PV Strings | Tested | Notes |
53+
|----------------|-------------|------------|--------|-------|
54+
| **MID 15000-25000TL3-X** | 15000-25000TL3-X | 2 | ⚠️ Untested | Commercial, 15-25kW |
55+
| **MAC 20000-40000TL3-X** | MAC 20000-40000TL3-X | 2 | ⚠️ Untested | Compact commercial, 20-40kW |
56+
| **MAX 50000-125000TL3-X** | MAX 50000-125000TL3-X | 3 | ⚠️ Untested | Industrial, 50-125kW |
57+
| **MAX 1500V Series** | MAX 1500V | 3+ | ⚠️ Untested | High-voltage, up to 150kW |
58+
| **MAX-X LV Series** | MAX-X LV | 3+ | ⚠️ Untested | Low-voltage, up to 125kW |
59+
60+
### Three-Phase Hybrid Inverters (with Battery)
61+
62+
| Inverter Series | Model Range | PV Strings | Tested | Notes |
63+
|----------------|-------------|------------|--------|-------|
64+
| **MOD 6000-15000TL3-XH** | MOD 6000-15000TL3-XH | 3 | ⚠️ Untested | Modular hybrid, 6-15kW |
65+
| **WIT TL3 Series** | WIT TL3 | 3+ | ⚠️ Untested | Business storage, up to 50kW |
4166

4267
**Legend:**
4368
-**Tested** - Confirmed working with real hardware
44-
- ⚠️ **Untested** - Profile created from documentation, needs validation
69+
- ⚠️ **Untested** - Profile created from official documentation, needs validation
4570

4671
> 💡 **Help us test!** If you have a model marked as untested and can confirm it works, please open an issue or PR to update the documentation!
4772
@@ -51,49 +76,49 @@ The integration supports multiple Growatt inverter series with dedicated registe
5176

5277
Different inverter models create different sensors based on their capabilities:
5378

54-
| Sensor | MIN 3-6k | MIN 7-10k | MID | MAX | SPH | MOD |
55-
|--------|:--------:|:---------:|:---:|:---:|:---:|:---:|
79+
| Sensor | MIN 3-6k | MIN 7-10k | TL-XH | MID/MAC | MAX | SPH | MOD/WIT |
80+
|--------|:--------:|:---------:|:-----:|:-------:|:---:|:---:|:-------:|
5681
| **Solar Input** |
57-
| PV1 Voltage/Current/Power |||||||
58-
| PV2 Voltage/Current/Power |||||||
59-
| PV3 Voltage/Current/Power |||||||
60-
| Solar Total Power |||||||
82+
| PV1 Voltage/Current/Power ||||||||
83+
| PV2 Voltage/Current/Power ||||||||
84+
| PV3 Voltage/Current/Power |||| | |||
85+
| Solar Total Power ||||||||
6186
| **AC Output (Single-Phase)** |
62-
| AC Voltage/Current/Power |||||||
63-
| AC Frequency |||||||
87+
| AC Voltage/Current/Power ||| | ||||
88+
| AC Frequency ||| | ||||
6489
| **AC Output (Three-Phase)** |
65-
| AC Phase A/B/C Voltage |||||||
66-
| AC Phase A/B/C Current |||||||
67-
| AC Phase A/B/C Power |||||||
68-
| AC Total Power |||||||
90+
| AC Phase R/S/T Voltage | |||||||
91+
| AC Phase R/S/T Current | |||||||
92+
| AC Phase R/S/T Power | |||||||
93+
| AC Total Power ||| | ||||
6994
| **Grid Power (Calculated)** |
70-
| Grid Export Power ||||| | |
71-
| Grid Import Power ||||| | |
72-
| Self Consumption ||||| | |
73-
| House Consumption ||||| | |
95+
| Grid Export Power ||||| | | |
96+
| Grid Import Power ||||| | | |
97+
| Self Consumption ||||| | | |
98+
| House Consumption ||||| | | |
7499
| **Grid Power (From Registers)** |
75-
| Power to Grid |||||||
76-
| Power to Load |||||||
77-
| Power to User |||||||
100+
| Power to Grid ||| | ||||
101+
| Power to Load ||| | ||||
102+
| Power to User ||| | ||||
78103
| **Battery (Hybrid Only)** |
79-
| Battery Voltage/Current/Power |||||||
80-
| Battery SOC |||||||
81-
| Battery Temperature |||||||
104+
| Battery Voltage/Current/Power ||| | ||||
105+
| Battery SOC ||| | ||||
106+
| Battery Temperature ||| | ||||
82107
| **Energy Totals** |
83-
| Energy Today/Total |||||||
84-
| Energy to Grid Today/Total |||||||
85-
| Load Energy Today/Total |||||||
108+
| Energy Today/Total ||||||||
109+
| Energy to Grid Today/Total ||||||||
110+
| Load Energy Today/Total ||||||||
86111
| **System & Diagnostics** |
87-
| Inverter Temperature |||||||
88-
| IPM Temperature |||||||
89-
| Boost Temperature |||||||
90-
| Status/Derating/Faults |||||||
112+
| Inverter Temperature ||||||||
113+
| IPM Temperature ||||||||
114+
| Boost Temperature ||||||||
115+
| Status/Derating/Faults ||||||||
91116

92117
**Legend:**
93118
- ✅ Available for this model
94119
- ❌ Not available (hardware limitation)
95120

96-
> 📝 **Note:** Hybrid models (SPH/MOD) have power flow measured directly from registers. Grid-tied models (MIN/MID/MAX) calculate power flow from solar production vs AC output.
121+
> 📝 **Note:** Hybrid models (TL-XH, SPH, MOD, WIT) have power flow measured directly from registers. Grid-tied models (MIN, MID, MAC, MAX) calculate power flow from solar production vs AC output.
97122
98123
---
99124

@@ -169,14 +194,37 @@ Growatt COM Pin 4 (B) ──────► Adapter RS485-B (or D-)
169194

170195
### Inverter Series Selection
171196

197+
Choose the profile that matches your inverter model:
198+
199+
#### Single-Phase Grid-Tied
172200
| Selection | When to Use |
173201
|-----------|-------------|
174202
| **MIN 3000-6000TL-X** | 2 PV string models (3-6kW single-phase) |
175203
| **MIN 7000-10000TL-X** | 3 PV string models (7-10kW single-phase) |
176-
| **MID 15000-25000TL3-X** | Commercial 3-phase grid-tied (15-25kW) |
177-
| **MAX 50000-125000TL3-X** | Industrial 3-phase grid-tied (50-125kW) |
178-
| **SPH 3000-10000** | Single-phase hybrid with battery (3-10kW) |
179-
| **MOD 6000-15000TL3-XH** | 3-phase hybrid with battery (6-15kW) |
204+
205+
#### Single-Phase Hybrid (with Battery)
206+
| Selection | When to Use |
207+
|-----------|-------------|
208+
| **TL-XH 3000-10000** | 3 PV string hybrid with battery (3-10kW) |
209+
| **TL-XH US 3000-10000** | US version 3 PV string hybrid (3-10kW) |
210+
| **SPH 3000-10000** | 2 PV string storage hybrid (3-10kW) |
211+
| **MIX Series** | Legacy storage system |
212+
| **SPA Series** | AC-coupled storage system |
213+
214+
#### Three-Phase Grid-Tied
215+
| Selection | When to Use |
216+
|-----------|-------------|
217+
| **MID 15000-25000TL3-X** | Commercial 3-phase (15-25kW) |
218+
| **MAC 20000-40000TL3-X** | Compact commercial 3-phase (20-40kW) |
219+
| **MAX 50000-125000TL3-X** | Industrial 3-phase (50-125kW) |
220+
| **MAX 1500V Series** | High-voltage commercial (up to 150kW) |
221+
| **MAX-X LV Series** | Low-voltage commercial (up to 125kW) |
222+
223+
#### Three-Phase Hybrid (with Battery)
224+
| Selection | When to Use |
225+
|-----------|-------------|
226+
| **MOD 6000-15000TL3-XH** | Modular 3-phase hybrid (6-15kW) |
227+
| **WIT TL3 Series** | Business storage 3-phase (up to 50kW) |
180228

181229
### TCP Connection Settings
182230

@@ -195,9 +243,9 @@ Access via **Settings** → **Devices & Services** → **Growatt Modbus** → **
195243
| **Device Name** | "Growatt" | - | Friendly name (appears before all sensor names) |
196244
| **Scan Interval** | 30 seconds | 5-300s | How often to poll inverter |
197245
| **Connection Timeout** | 10 seconds | 1-60s | How long to wait for responses |
198-
| **Invert Grid Power** 🆕 | OFF | ON/OFF | **Reverse import/export if CT clamp backwards** |
246+
| **Invert Grid Power** | OFF | ON/OFF | **Reverse import/export if CT clamp backwards** |
199247

200-
### 🔄 Invert Grid Power (New in v0.0.2!)
248+
### 🔄 Invert Grid Power
201249

202250
Got your CT clamp installed backwards? No problem! Just enable this option:
203251

@@ -233,9 +281,9 @@ Got your CT clamp installed backwards? No problem! Just enable this option:
233281
| `sensor.{name}_pv2_voltage` | PV2 Voltage | V | String 2 DC voltage |
234282
| `sensor.{name}_pv2_current` | PV2 Current | A | String 2 DC current |
235283
| `sensor.{name}_pv2_power` | PV2 Power | W | String 2 power output |
236-
| `sensor.{name}_pv3_voltage` | PV3 Voltage | V | String 3 DC voltage (MIN 7-10k, MID, MAX, MOD only) |
237-
| `sensor.{name}_pv3_current` | PV3 Current | A | String 3 DC current (MIN 7-10k, MID, MAX, MOD only) |
238-
| `sensor.{name}_pv3_power` | PV3 Power | W | String 3 power output (MIN 7-10k, MID, MAX, MOD only) |
284+
| `sensor.{name}_pv3_voltage` | PV3 Voltage | V | String 3 DC voltage (selected models) |
285+
| `sensor.{name}_pv3_current` | PV3 Current | A | String 3 DC current (selected models) |
286+
| `sensor.{name}_pv3_power` | PV3 Power | W | String 3 power output (selected models) |
239287
| `sensor.{name}_solar_total_power` | Solar Total Power | W | Combined PV power |
240288

241289
**Attributes:**
@@ -256,15 +304,15 @@ Got your CT clamp installed backwards? No problem! Just enable this option:
256304

257305
| Entity ID | Name | Unit | Description |
258306
|-----------|------|------|-------------|
259-
| `sensor.{name}_ac_voltage_a` | AC Voltage Phase A | V | Phase A voltage |
260-
| `sensor.{name}_ac_voltage_b` | AC Voltage Phase B | V | Phase B voltage |
261-
| `sensor.{name}_ac_voltage_c` | AC Voltage Phase C | V | Phase C voltage |
262-
| `sensor.{name}_ac_current_a` | AC Current Phase A | A | Phase A current |
263-
| `sensor.{name}_ac_current_b` | AC Current Phase B | A | Phase B current |
264-
| `sensor.{name}_ac_current_c` | AC Current Phase C | A | Phase C current |
265-
| `sensor.{name}_ac_power_a` | AC Power Phase A | W | Phase A power |
266-
| `sensor.{name}_ac_power_b` | AC Power Phase B | W | Phase B power |
267-
| `sensor.{name}_ac_power_c` | AC Power Phase C | W | Phase C power |
307+
| `sensor.{name}_ac_voltage_r` | AC Voltage Phase R | V | Phase R voltage |
308+
| `sensor.{name}_ac_voltage_s` | AC Voltage Phase S | V | Phase S voltage |
309+
| `sensor.{name}_ac_voltage_t` | AC Voltage Phase T | V | Phase T voltage |
310+
| `sensor.{name}_ac_current_r` | AC Current Phase R | A | Phase R current |
311+
| `sensor.{name}_ac_current_s` | AC Current Phase S | A | Phase S current |
312+
| `sensor.{name}_ac_current_t` | AC Current Phase T | A | Phase T current |
313+
| `sensor.{name}_ac_power_r` | AC Power Phase R | W | Phase R power |
314+
| `sensor.{name}_ac_power_s` | AC Power Phase S | W | Phase S power |
315+
| `sensor.{name}_ac_power_t` | AC Power Phase T | W | Phase T power |
268316
| `sensor.{name}_ac_power_total` | AC Total Power | W | Total 3-phase power |
269317
| `sensor.{name}_ac_frequency` | AC Frequency | Hz | Grid frequency |
270318

@@ -469,8 +517,9 @@ custom_components/growatt_modbus/
469517
├── __init__.py # Integration setup
470518
├── binary_sensor.py # Binary sensors (inverter connectivity)
471519
├── config_flow.py # Configuration UI with inverter series selection
472-
├── const.py # Register definitions for all models (V1.39)
520+
├── const.py # Register definitions for all 14 models (V1.39)
473521
├── coordinator.py # Data coordinator with night-time handling
522+
├── device_profiles.py # Inverter profile definitions
474523
├── growatt_modbus.py # Modbus communication (pymodbus 2.x & 3.x)
475524
├── manifest.json # Integration metadata
476525
├── sensor.py # Sensor platform with model-specific sensors
@@ -491,15 +540,21 @@ To view device information:
491540

492541
---
493542

494-
## 🆕 What's New in v0.0.2
543+
## 🆕 What's New in v0.0.3
544+
545+
- 🎛️ **Expanded Model Support** - Now supports 14 inverter profiles (up from 6)
546+
- 🔋 **Fixed SPH Register Map** - SPH models now include complete PV, AC, and battery sensors
547+
-**New Hybrid Series** - Added TL-XH, TL-XH US profiles for single-phase hybrid inverters
548+
- 🏭 **More Commercial Models** - Added MAC, MAX 1500V, MAX-X LV, WIT TL3 series
549+
- 💾 **Legacy Storage** - Added MIX and SPA series profiles
550+
- 📊 **Profile-Based Sensors** - Optimized sensor creation based on inverter capabilities
551+
- 🐛 **Bug Fixes** - Resolved config flow loading issues and type hint errors
495552

496-
- 🎛️ **Multi-Model Support** - Added profiles for MIN (3-6k & 7-10k), MID, MAX, SPH, and MOD series
553+
### v0.0.2 Features (Previously Released)
497554
- 🔄 **Invert Grid Power Option** - Fix backwards CT clamp installations via UI toggle
498555
- 📊 **Model-Specific Sensors** - Only relevant sensors created based on inverter capabilities
499556
-**Three-Phase Support** - Full support for MID, MAX, and MOD models
500-
- 🔋 **Battery Sensors** - Complete battery monitoring for SPH and MOD hybrid models
501557
- 🎨 **Enhanced Configuration UI** - Better inverter series selection with descriptions
502-
- 📝 **Improved Options Flow** - Device name, timeout, and grid power inversion settings
503558

504559
---
505560

@@ -526,13 +581,12 @@ Contributions welcome! Here's how:
526581

527582
### Help Us Test More Models! 🧪
528583

529-
We need community members with different inverter models to validate the untested profiles:
584+
We need community members with different inverter models to validate the untested profiles. Currently only **MIN 7000-10000TL-X** is tested with real hardware!
530585

531-
- MIN 3000-6000TL-X series
532-
- MID 15000-25000TL3-X series
533-
- MAX 50000-125000TL3-X series
534-
- SPH 3000-10000 series
535-
- MOD 6000-15000TL3-XH series
586+
**Profiles needing validation:**
587+
- All single-phase grid-tied (MIN 3-6k)
588+
- All hybrid models (TL-XH, SPH, MIX, SPA)
589+
- All three-phase models (MID, MAC, MAX variants, MOD, WIT)
536590

537591
If you successfully test any of these, please report back via GitHub Issues!
538592

@@ -548,7 +602,7 @@ MIT License - see [LICENSE](LICENSE) file for details.
548602

549603
- Based on [Growatt Modbus RTU Protocol V1.39](https://shop.frankensolar.ca/content/documentation/Growatt/AppNote_Growatt_WIT-Modbus-RTU-Protocol-II-V1.39-English-20240416_%28frankensolar%29.pdf) (2024.04.16)
550604
- Built for the Home Assistant community
551-
- Tested by solar enthusiasts worldwide 🌍
605+
- Tested by solar enthusiasts worldwide (soon, hopefully) 🌍
552606
- Special thanks to all hardware testers and contributors
553607
- MIN-10000TL-X validation by [@0xAHA](https://github.com/0xAHA)
554608

0 commit comments

Comments
 (0)