Goodwe Sems Home Assistant
Sensor for Home Assistant pulling data from the GoodWe SEMS API for solar panel production metrics.
Install / Use
npx skills add TimSoethout/goodwe-sems-home-assistantInstalls into whichever agent you are using.
README
GoodWe SEMS API integration for Home Assistant
<a href="https://www.buymeacoffee.com/TimSoethout" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" height="20"></a>
<a href="https://github.com/sponsors/timsoethout"><img alt="Sponsor" src="https://img.shields.io/badge/sponsor-30363D?&logo=GitHub-Sponsors&logoColor=#white" height="20"/></a>
Integration for Home Assistant that retrieves PV data from GoodWe SEMS API.
Setup
Easiest install method via HACS
The repository folder structure is compatible with HACS and is included by default in HACS.
Install HACS via: https://hacs.xyz/docs/installation/manual.
Then search for "SEMS" in the Integrations tab (under Community). Click HACS > Integrations > Explore and Download Repositories > search for SEMS > click the result > Download.
Manual Setup
Crude sensor for Home Assistant that scrapes from GoodWe SEMS portal. Copy all the files in custom_components/sems/ to custom_components/sems/ your Home Assistant config dir.
Configure integration
In the home assistant GUI, go to Configuration > Integrations and click the Add Integration button. Search for GoodWe SEMS API.
Log in with your Goodwe SEMS (Plus) credentials and it should find your inverters.
Optional: control the invertor power output via the "switch" entity
It is possible to temporarily pause the energy production via "downtime" functionality available on the invertor. This is exposed as a switch and can be used in your own automations.
Please note that it is using an undocumented API and can take a few minutes for the invertor to pick up the change. It takes approx 60 seconds to start again when the invertor is in a downtime mode.
Recommended: use visitor account if you do not need to control the inverter
In case you are only reading the inverter stats, you can use a Visitor (read-only) account.
Create via the official app, or via the web portal: Login to www.semsportal.com, go to https://semsportal.com/powerstation/stationInfonew. Create a new visitor account. Login to the visitor account once to accept the EULA. Now you should be able to use it in this component.
Screenies



Debug info
Enable debugging in the GUI, by going to the integration, and selecting "Enable Debug Logging" in the top right corner. [https://www.home-assistant.io/docs/configuration/troubleshooting/#enabling-debug-logging](See HA documentation for more info.)
Or add the last line in configuration.yaml in the relevant part of logger:
logger:
default: info
logs:
custom_components.sems: debug
Notes
- Sometimes the SEMS API is a bit slow, so time-out messages may occur in the log as
[ERROR]. The component should continue to work normally and try fetch again the next minute.
Development setup
- Setup HA development environment using https://developers.home-assistant.io/docs/development_environment
- clone this repo in config directory:
cd core/configgit clone git@github.com:TimSoethout/goodwe-sems-home-assistant.git
- go to terminal in remote VSCode environment
cd core/config/custom_componentsln -s ../goodwe-sems-home-assistant/custom_components/sems sems
Linting
Run the same lint checks as the CI workflow:
ruff check custom_components/
ruff format --check custom_components/
mypy custom_components/ --ignore-missing-imports --python-version 3.13
To fix lint issues locally:
ruff check --fix custom_components/
ruff format custom_components/
Credits
Inspired by https://github.com/Sprk-nl/goodwe_sems_portal_scraper and https://github.com/bouwew/sems2mqtt . Also supported by generous contributions by various helpful community members.
Related Skills
node-connect
385.5kDiagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.
blender-python-addon
40.5kBlender Python add-on rules for operators, panels, properties, registration, testing, and API-safe scripting
flutter-development-guidelines-cursorrules-prompt-file
40.5kCursor rules for Flutter development with MVVM architecture, Riverpod state management, Material widgets, and Dart style guidelines.
commit-push-pr
140.7kCommit, push, and open a PR
