Upstream development version of the Growatt Server integration for Home Assistant.
This repository serves as an upstream testing ground for improvements to the Growatt Server integration before they are submitted to Home Assistant Core. From version 1.5.0 it should be compatible with the Growatt BESS (Battery Energy Storage System) Manager.
See CHANGELOG.md for the full version history.
Note: Remove the core Growatt Server integration first to avoid conflicts.
- Open HACS in Home Assistant
- Go to "Integrations"
- Click the 3-dot menu → "Custom repositories"
- Add repository URL:
https://github.com/johanzander/growatt_server_upstream - Select category: "Integration"
- Click "Add"
- Search for "Growatt Server Upstream" in HACS
- Click on it and select "Download"
- Restart Home Assistant
- Go to Settings → Devices & Services
- Click "Add Integration"
- Search for "Growatt Server Upstream"
- Follow the configuration steps
- Download the
custom_componentsfolder - Copy to your Home Assistant
config/custom_components/directory - Restart Home Assistant
Contributions welcome! Create feature branch, implement changes, test thoroughly, submit PR. All contributions considered for submission back to Home Assistant Core.
To enable debug logging for troubleshooting issues, add the following to your Home Assistant configuration.yaml:
logger:
default: info
logs:
custom_components.growatt_server: debugAfter adding this configuration:
- Restart Home Assistant
- Reproduce the issue
- Check the logs in Settings → System → Logs or in your
home-assistant.logfile - Include relevant log entries when reporting issues
If you see this error when trying to add the integration, it means a config entry with the same plant ID already exists. This commonly happens if you previously had the built-in Home Assistant Growatt Server integration configured — even if you removed it from the UI, a stale entry can remain in the config storage.
To check for a stale entry, create a Long-Lived Access Token from your HA profile, then run:
curl -s \
-H "Authorization: Bearer YOUR_TOKEN" \
http://YOUR_HA_ADDRESS:8123/api/config/config_entries/entry \
| python3 -m json.tool | grep -B 5 -A 10 growatt_serverIf a stale entry is found, delete it using the entry_id from the output:
curl -X DELETE \
-H "Authorization: Bearer YOUR_TOKEN" \
http://YOUR_HA_ADDRESS:8123/api/config/config_entries/entry/THE_ENTRY_IDAlternatively, you can inspect the file directly via the File Editor or Terminal & SSH add-ons:
grep -i growatt /config/.storage/core.config_entriesAfter removing the stale entry, try adding the integration again.
- 🐛 Issues: GitHub Issues
- 📖 Documentation: Home Assistant Docs