From cc8758d1527043c79c6c5962299548b136dd5c46 Mon Sep 17 00:00:00 2001 From: Johan Zander Date: Sun, 9 Nov 2025 22:03:39 +0100 Subject: [PATCH 01/11] Updated documentation with supported inverter types and updated troubleshooting guide. --- source/_integrations/growatt_server.markdown | 91 ++++++++++++++++++-- 1 file changed, 82 insertions(+), 9 deletions(-) diff --git a/source/_integrations/growatt_server.markdown b/source/_integrations/growatt_server.markdown index 1235d991c46b..8edd5f8093e7 100644 --- a/source/_integrations/growatt_server.markdown +++ b/source/_integrations/growatt_server.markdown @@ -47,12 +47,19 @@ Selecting the appropriate server for your region improves the reliability and pe Once configured, the integration connects to your Growatt account. If you have multiple plants, you can select which one to integrate. It will then create entities for your plant and inverters, allowing you to monitor energy production and control settings in Home Assistant. +## Prerequisites + +- Growatt account +- Login credentials or API token for your Growatt account, you will need them during setup of the integration + +{% include integrations/config_flow.md %} + ## Authentication The integration supports two authentication methods: - **Username and password**: Use your Growatt account credentials to authenticate. -- **API token**: Use an API token for more secure and stable authentication using the official Growatt API (only MIN/TLX inverters currently supported). +- **API token**: Use an API token for more secure and stable authentication using the official Growatt API (only certain MIN series inverters currently supported). ### Obtaining an API token @@ -63,14 +70,33 @@ To obtain an API token for your Growatt account: 3. Generate or retrieve your API token. 4. Use this token during the integration setup in Home Assistant. -Using an API token is recommended for MIN/TLX inverters as it uses the official Growatt API, which offers better stability, support and feature growth. +If your inverter supports API token, this authentication method is recommended as it uses the official Growatt API, which offers better stability, support and feature growth. -## Prerequisites +### Compatibility -- Growatt account -- Login credentials to that Growatt account, you will need them during setup of the integration +#### Classic API -{% include integrations/config_flow.md %} +When using username and password authentication the Growatt integration uses the same API as the ShinePhone app. Hence, if your inverter can be controlled via the ShinePhone app, the Growatt integation can access the same data. + +#### API token + +Authentication using API token is currently supported for the following inverters. For the integration to support additional models, they must first be supported by the [Growatt Python library](https://github.com/indykoning/PyPi_GrowattServer). + +**MIC 600-3300TL-X Series:** 600TL-X, 750TL-X, 800TL-X, 1000TL-X, 1500TL-X, 2000TL-X, 3000TL-X, 3300TL-X + +**MIN 2500-6000TL-X Series:** 2500TL-X, 3000TL-X, 3600TL-X, 4200TL-X, 4600TL-X, 5000TL-X, 6000TL-X + +**MIN 2500-6000TL-XE Series:** 2500TL-XE, 3000TL-XE, 3600TL-XE, 4200TL-XE, 4600TL-XE, 5000TL-XE, 6000TL-XE + +**MIN 2500-6000TL-XH Series:** 2500TL-XH, 3600TL-XH, 4200TL-XH, 4600TL-XH, 5000TL-XH, 6000TL-XH + +**MIN 2500-6000TL-XA Series:** 2500TL-XA, 3000TL-XA, 3600TL-XA, 4200TL-XA, 4600TL-XA, 5000TL-XA + +**MIN 3000-7600TL-XH US Series:** 3000TL-XH US, 3800TL-XH US, 5000TL-XH US, 6000TL-XH US, 7600TL-XH US, 8200TL-XH US, 9000TL-XH US, 10000TL-XH US, 11400TL-XH US + +**MOD 3-10KTL3-XH Series:** 3000TL3-XH, 4000TL3-XH, 5000TL3-XH, 6000TL3-XH, 7000TL3-XH, 8000TL3-XH, 9000TL3-XH, 10KTL3-XH + +**MID 11-30KTL3-XH Series:** 11KTL3-XH, 12KTL3-XH, 13KTL3-XH, 15KTL3-XH, 17KTL3-XH, 20KTL3-XH, 25KTL3-XH, 30KTL3-XH ## Known limitations @@ -78,12 +104,12 @@ Using an API token is recommended for MIN/TLX inverters as it uses the official The classic API (username/password authentication) has strict rate limits that can result in your account being locked out for up to 24 hours if exceeded. To avoid this issue: -- **For MIN/TLX inverter users**: Use API token authentication instead, which uses the official Growatt V1 API that does not have this limitation. +- **If you have an inverter that supports API token**: Use token authentication instead, as this uses the official Growatt V1 API that does not have this limitation. - **For all other users**: Avoid all unnecessary integration reloads, as a reload triggers re-login via Growatt classic API. ## Inverter controls -When using API token authentication with MIN/TLX inverters, the integration provides additional control entities: +When using API token authentication, the integration provides additional control entities: {% important %} These controls directly modify your inverter's operational settings. Only change these values if you understand their impact on your system. Incorrect settings may damage your battery, reduce system efficiency, or void your warranty. Use at your own risk. @@ -115,7 +141,7 @@ If you're experiencing authentication failures or account lockouts: 2. **Account locked due to rate limiting**: If you're using username/password authentication and your account has been locked due to rate limiting: - Wait for the lockout period to expire (up to 24 hours). - - Consider switching to API token authentication if you have a MIN/TLX inverter. + - Consider switching to API token authentication if you have a supported inverter. - Avoid frequent integration reloads, which can trigger rate limits. 3. **Prevent lockouts during Home Assistant restarts**: @@ -123,6 +149,53 @@ If you're experiencing authentication failures or account lockouts: - To disable: Go to {% my integrations title="**Settings** > **Devices & services**" %}, select the Growatt integration, click the three dots {% icon "mdi:dots-vertical" %} menu, and select **Disable**. - Re-enable after Home Assistant has fully restarted. +4. **Automate integration management during restarts**: If you continue experiencing account lockouts, you can create an automation to automatically disable and re-enable the integration during Home Assistant restarts: + + ```yaml + - id: growatt_integration_enable_disable + alias: Growatt integration enable and disable + description: "Temporarily disables the Growatt integration to prevent account lockouts." + triggers: + - trigger: homeassistant + event: start + id: ha_start + - trigger: homeassistant + event: shutdown + id: ha_shutdown + - trigger: event + event_type: homeassistant_stop + id: ha_restart + conditions: [] + actions: + - choose: + - alias: Enable Growatt integration + conditions: + - condition: trigger + id: ha_start + sequence: + - delay: + hours: 0 + minutes: 10 + seconds: 0 + milliseconds: 0 + - action: homeassistant.enable_config_entry + data: + config_entry_id: REPLACE-WITH-YOUR-CONFIG-ENTRY-ID + - alias: Disable Growatt integration + conditions: + - condition: trigger + id: + - ha_shutdown + - ha_restart + sequence: + - action: homeassistant.disable_config_entry + data: + config_entry_id: REPLACE-WITH-YOUR-CONFIG-ENTRY-ID + mode: single + ``` + + Replace `REPLACE-WITH-YOUR-CONFIG-ENTRY-ID` with your actual Growatt integration config entry ID. You can find this ID in **{% my integrations title="Settings > Devices & services" %}** by selecting your Growatt integration and checking the URL or developer tools. + ## Removing the integration {% include integrations/remove_device_service.md %} From 28cc4abd13f1cde5a90df232c21a5128b85e33af Mon Sep 17 00:00:00 2001 From: Johan Zander Date: Sun, 9 Nov 2025 22:12:25 +0100 Subject: [PATCH 02/11] small clarification on Growatt compatibility docs --- source/_integrations/growatt_server.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/growatt_server.markdown b/source/_integrations/growatt_server.markdown index 8edd5f8093e7..d56bb11b7737 100644 --- a/source/_integrations/growatt_server.markdown +++ b/source/_integrations/growatt_server.markdown @@ -59,7 +59,7 @@ Once configured, the integration connects to your Growatt account. If you have m The integration supports two authentication methods: - **Username and password**: Use your Growatt account credentials to authenticate. -- **API token**: Use an API token for more secure and stable authentication using the official Growatt API (only certain MIN series inverters currently supported). +- **API token**: Use an API token for more secure and stable authentication using the official Growatt API. This is the preferred method - check compatibility with your inverter below. ### Obtaining an API token From 1e46a461ae9c7a0ff0479273d36e78e98a17b448 Mon Sep 17 00:00:00 2001 From: johanzander Date: Mon, 10 Nov 2025 17:44:54 +0100 Subject: [PATCH 03/11] Update source/_integrations/growatt_server.markdown Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/growatt_server.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/growatt_server.markdown b/source/_integrations/growatt_server.markdown index d56bb11b7737..9ae1625d99dd 100644 --- a/source/_integrations/growatt_server.markdown +++ b/source/_integrations/growatt_server.markdown @@ -104,8 +104,8 @@ Authentication using API token is currently supported for the following inverter The classic API (username/password authentication) has strict rate limits that can result in your account being locked out for up to 24 hours if exceeded. To avoid this issue: -- **If you have an inverter that supports API token**: Use token authentication instead, as this uses the official Growatt V1 API that does not have this limitation. -- **For all other users**: Avoid all unnecessary integration reloads, as a reload triggers re-login via Growatt classic API. +- **Option 1: Your inverter supports API token**: Use token authentication instead, as this uses the official Growatt V1 API that does not have this limitation. +- **Option 2: Your inverter doesn't support API token**: Avoid all unnecessary integration reloads, as a reload triggers re-login via Growatt classic API. ## Inverter controls From ef2415de1ae3d27d11d0927fc3d0b709bbbad2da Mon Sep 17 00:00:00 2001 From: johanzander Date: Mon, 10 Nov 2025 17:45:23 +0100 Subject: [PATCH 04/11] Update source/_integrations/growatt_server.markdown Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/growatt_server.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/growatt_server.markdown b/source/_integrations/growatt_server.markdown index 9ae1625d99dd..810147ab2136 100644 --- a/source/_integrations/growatt_server.markdown +++ b/source/_integrations/growatt_server.markdown @@ -102,7 +102,7 @@ Authentication using API token is currently supported for the following inverter ### Rate limiting with username/password authentication -The classic API (username/password authentication) has strict rate limits that can result in your account being locked out for up to 24 hours if exceeded. To avoid this issue: +The classic API (username/password authentication) has strict rate limits that can result in your account being locked out for up to 24 hours if these limits are exceeded. To avoid this issue, use one of the following options: - **Option 1: Your inverter supports API token**: Use token authentication instead, as this uses the official Growatt V1 API that does not have this limitation. - **Option 2: Your inverter doesn't support API token**: Avoid all unnecessary integration reloads, as a reload triggers re-login via Growatt classic API. From 24ce44755cde6c1febb0ef30572c4529950fff8f Mon Sep 17 00:00:00 2001 From: Johan Zander Date: Mon, 10 Nov 2025 17:53:01 +0100 Subject: [PATCH 05/11] Fix formatting for inverter compatibility list in Growatt integration documentation --- source/_integrations/growatt_server.markdown | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/source/_integrations/growatt_server.markdown b/source/_integrations/growatt_server.markdown index 810147ab2136..0b5b146b45d5 100644 --- a/source/_integrations/growatt_server.markdown +++ b/source/_integrations/growatt_server.markdown @@ -82,21 +82,21 @@ When using username and password authentication the Growatt integration uses the Authentication using API token is currently supported for the following inverters. For the integration to support additional models, they must first be supported by the [Growatt Python library](https://github.com/indykoning/PyPi_GrowattServer). -**MIC 600-3300TL-X Series:** 600TL-X, 750TL-X, 800TL-X, 1000TL-X, 1500TL-X, 2000TL-X, 3000TL-X, 3300TL-X +**MIC 600-3300TL-X Series**: 600TL-X, 750TL-X, 800TL-X, 1000TL-X, 1500TL-X, 2000TL-X, 3000TL-X, 3300TL-X -**MIN 2500-6000TL-X Series:** 2500TL-X, 3000TL-X, 3600TL-X, 4200TL-X, 4600TL-X, 5000TL-X, 6000TL-X +**MIN 2500-6000TL-X Series**: 2500TL-X, 3000TL-X, 3600TL-X, 4200TL-X, 4600TL-X, 5000TL-X, 6000TL-X -**MIN 2500-6000TL-XE Series:** 2500TL-XE, 3000TL-XE, 3600TL-XE, 4200TL-XE, 4600TL-XE, 5000TL-XE, 6000TL-XE +**MIN 2500-6000TL-XE Series**: 2500TL-XE, 3000TL-XE, 3600TL-XE, 4200TL-XE, 4600TL-XE, 5000TL-XE, 6000TL-XE -**MIN 2500-6000TL-XH Series:** 2500TL-XH, 3600TL-XH, 4200TL-XH, 4600TL-XH, 5000TL-XH, 6000TL-XH +**MIN 2500-6000TL-XH Series**: 2500TL-XH, 3600TL-XH, 4200TL-XH, 4600TL-XH, 5000TL-XH, 6000TL-XH -**MIN 2500-6000TL-XA Series:** 2500TL-XA, 3000TL-XA, 3600TL-XA, 4200TL-XA, 4600TL-XA, 5000TL-XA +**MIN 2500-6000TL-XA Series**: 2500TL-XA, 3000TL-XA, 3600TL-XA, 4200TL-XA, 4600TL-XA, 5000TL-XA -**MIN 3000-7600TL-XH US Series:** 3000TL-XH US, 3800TL-XH US, 5000TL-XH US, 6000TL-XH US, 7600TL-XH US, 8200TL-XH US, 9000TL-XH US, 10000TL-XH US, 11400TL-XH US +**MIN 3000-7600TL-XH US Series**: 3000TL-XH US, 3800TL-XH US, 5000TL-XH US, 6000TL-XH US, 7600TL-XH US, 8200TL-XH US, 9000TL-XH US, 10000TL-XH US, 11400TL-XH US -**MOD 3-10KTL3-XH Series:** 3000TL3-XH, 4000TL3-XH, 5000TL3-XH, 6000TL3-XH, 7000TL3-XH, 8000TL3-XH, 9000TL3-XH, 10KTL3-XH +**MOD 3-10KTL3-XH Series**: 3000TL3-XH, 4000TL3-XH, 5000TL3-XH, 6000TL3-XH, 7000TL3-XH, 8000TL3-XH, 9000TL3-XH, 10KTL3-XH -**MID 11-30KTL3-XH Series:** 11KTL3-XH, 12KTL3-XH, 13KTL3-XH, 15KTL3-XH, 17KTL3-XH, 20KTL3-XH, 25KTL3-XH, 30KTL3-XH +**MID 11-30KTL3-XH Series**: 11KTL3-XH, 12KTL3-XH, 13KTL3-XH, 15KTL3-XH, 17KTL3-XH, 20KTL3-XH, 25KTL3-XH, 30KTL3-XH ## Known limitations From 2415b4ba79639f4143aa972a0a472be459c0233a Mon Sep 17 00:00:00 2001 From: Johan Zander Date: Thu, 13 Nov 2025 22:03:32 +0100 Subject: [PATCH 06/11] Add regional endpoints for Australia, New Zealand, and Atess Power in Growatt integration documentation --- source/_integrations/growatt_server.markdown | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/source/_integrations/growatt_server.markdown b/source/_integrations/growatt_server.markdown index 0b5b146b45d5..8166f939c370 100644 --- a/source/_integrations/growatt_server.markdown +++ b/source/_integrations/growatt_server.markdown @@ -31,6 +31,12 @@ The Growatt integration enables you to retrieve data from Growatt inverters. Dur https://openapi-us.growatt.com/ ``` +- For users in Australia and New Zealand: + + ```text + https://openapi-au.growatt.com/ + ``` + - For users in other regions: ```text @@ -43,7 +49,13 @@ The Growatt integration enables you to retrieve data from Growatt inverters. Dur http://server.smten.com/ ``` -Selecting the appropriate server for your region improves the reliability and performance of data collection. +- Era server (Atess Power): + + ```text + http://ess-server.atesspower.com/ + ``` + +Selecting the appropriate server for your region or service provider improves the reliability and performance of data collection. Once configured, the integration connects to your Growatt account. If you have multiple plants, you can select which one to integrate. It will then create entities for your plant and inverters, allowing you to monitor energy production and control settings in Home Assistant. From e3b72526fe835ad45233451a83a27a395293b124 Mon Sep 17 00:00:00 2001 From: johanzander Date: Sun, 16 Nov 2025 20:56:11 +0100 Subject: [PATCH 07/11] Update growatt_server.markdown Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- source/_integrations/growatt_server.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/growatt_server.markdown b/source/_integrations/growatt_server.markdown index 8166f939c370..124f406e1c26 100644 --- a/source/_integrations/growatt_server.markdown +++ b/source/_integrations/growatt_server.markdown @@ -206,7 +206,7 @@ If you're experiencing authentication failures or account lockouts: mode: single ``` - Replace `REPLACE-WITH-YOUR-CONFIG-ENTRY-ID` with your actual Growatt integration config entry ID. You can find this ID in **{% my integrations title="Settings > Devices & services" %}** by selecting your Growatt integration and checking the URL or developer tools. + Replace `REPLACE-WITH-YOUR-CONFIG-ENTRY-ID` with your actual Growatt integration config entry ID. You can find this ID in {% my integrations title="**Settings** > **Devices & services**" %} by selecting your Growatt integration and checking the URL or developer tools. ## Removing the integration From 013072bc063ddf4c094d8c565cedd99d40673cbc Mon Sep 17 00:00:00 2001 From: johanzander Date: Sun, 16 Nov 2025 20:57:06 +0100 Subject: [PATCH 08/11] Update growatt_server.markdown Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- source/_integrations/growatt_server.markdown | 3 --- 1 file changed, 3 deletions(-) diff --git a/source/_integrations/growatt_server.markdown b/source/_integrations/growatt_server.markdown index 124f406e1c26..99c24dd9b05c 100644 --- a/source/_integrations/growatt_server.markdown +++ b/source/_integrations/growatt_server.markdown @@ -186,10 +186,7 @@ If you're experiencing authentication failures or account lockouts: id: ha_start sequence: - delay: - hours: 0 minutes: 10 - seconds: 0 - milliseconds: 0 - action: homeassistant.enable_config_entry data: config_entry_id: REPLACE-WITH-YOUR-CONFIG-ENTRY-ID From 5422dca3977955df0cdab50f0cd18af4699d16eb Mon Sep 17 00:00:00 2001 From: johanzander Date: Sun, 16 Nov 2025 20:57:17 +0100 Subject: [PATCH 09/11] Update growatt_server.markdown Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- source/_integrations/growatt_server.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/growatt_server.markdown b/source/_integrations/growatt_server.markdown index 99c24dd9b05c..f7b8f42c02db 100644 --- a/source/_integrations/growatt_server.markdown +++ b/source/_integrations/growatt_server.markdown @@ -88,7 +88,7 @@ If your inverter supports API token, this authentication method is recommended a #### Classic API -When using username and password authentication the Growatt integration uses the same API as the ShinePhone app. Hence, if your inverter can be controlled via the ShinePhone app, the Growatt integation can access the same data. +When using username and password authentication the Growatt integration uses the same API as the ShinePhone app. Hence, if your inverter can be controlled via the ShinePhone app, the Growatt integration can access the same data. #### API token From 654c42e57926bc567a77233b6ec8aa3367206918 Mon Sep 17 00:00:00 2001 From: johanzander Date: Sun, 16 Nov 2025 20:59:32 +0100 Subject: [PATCH 10/11] Update source/_integrations/growatt_server.markdown Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- source/_integrations/growatt_server.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_integrations/growatt_server.markdown b/source/_integrations/growatt_server.markdown index f7b8f42c02db..bec984bbe318 100644 --- a/source/_integrations/growatt_server.markdown +++ b/source/_integrations/growatt_server.markdown @@ -193,9 +193,9 @@ If you're experiencing authentication failures or account lockouts: - alias: Disable Growatt integration conditions: - condition: trigger - id: - - ha_shutdown - - ha_restart + id: ha_shutdown + - condition: trigger + id: ha_restart sequence: - action: homeassistant.disable_config_entry data: From 141b6c5056ea2e0d35af21e4b91898f951418bdf Mon Sep 17 00:00:00 2001 From: Johan Zander Date: Sun, 16 Nov 2025 20:14:18 +0000 Subject: [PATCH 11/11] Refactor conditions for disabling Growatt integration to use logical OR --- source/_integrations/growatt_server.markdown | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/source/_integrations/growatt_server.markdown b/source/_integrations/growatt_server.markdown index bec984bbe318..d104236257c4 100644 --- a/source/_integrations/growatt_server.markdown +++ b/source/_integrations/growatt_server.markdown @@ -192,10 +192,12 @@ If you're experiencing authentication failures or account lockouts: config_entry_id: REPLACE-WITH-YOUR-CONFIG-ENTRY-ID - alias: Disable Growatt integration conditions: - - condition: trigger - id: ha_shutdown - - condition: trigger - id: ha_restart + - condition: or + conditions: + - condition: trigger + id: ha_shutdown + - condition: trigger + id: ha_restart sequence: - action: homeassistant.disable_config_entry data: