Skip to main content

pygoodwe

A command line tool and Python library to query GoodWe SEMS+ live readings.

API Docs

Auto-generated documentation is here: https://yaleman.github.io/pygoodwe/

Installation

You need to have Python 3 and pip installed. Then:

python -m pip install pygoodwe

Find the station ID in your SEMS+ station URL. Existing Classic station IDs can also be used if the station was migrated. For example, a Classic URL contained the ID here:

https://www.semsportal.com/powerstation/powerstatussnmin/11112222-aaaa-bbbb-cccc-ddddeeeeeffff

Then the Station ID is 11112222-aaaa-bbbb-cccc-ddddeeeeeffff.

SEMS+ behavior

API and SingleInverter keep their existing constructor and reading methods. Live readings use SEMS+ Web only. SEMS+ combines station flow, device status, telemetry, and energy counters into the existing data layout. The info.time value is the local retrieval time because the sampled flow response does not provide a station timestamp. Missing or permission-restricted fields are left absent; they are not replaced with zero. In particular, station location, income, and some inverter measurements may be unavailable to existing getters. SEMS+ authentication or reading errors are reported directly without attempting the retired Classic backend.

The api_url and user_agent constructor arguments remain accepted for source compatibility but do not override SEMS+ routing or headers. SEMS+ uses its own login URL and the gateway URL returned by login. getPowerStationPowerReportByMonth, getDayDetailedReadingsExcel, and the old route-level call method remain callable but raise NotImplementedError immediately; SEMS+ equivalents are outside the current live-readings update.

SEMS+ is an undocumented GoodWe API. A read-only account can retrieve available monitoring values; no remote-control permission is required by this library.

To use example.py or the other examples, copy config.py.example to config.py and add your details.

Contributions

Please feel free to lodge an issue or pull request on GitHub.

Thanks

Disclaimer

GOODWE access is based on the undocumented API used by mobile apps. This could break at any time.

Example Code

Please check out example.py or the examples folder in the project repository for some simple example code.

Metadata

Release files for pygoodwe 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pygoodwe 0.2.0
File Size Uploaded
pygoodwe-0.2.0.tar.gz 104.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pygoodwe 0.2.0
File Interpreter ABI Platform
pygoodwe-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 115.6 kB

Release files / pygoodwe-0.2.0.tar.gz

Download URL pygoodwe-0.2.0.tar.gz
Size 104.8 kB
Tags Source
SHA-256 checksum
How to use checksums
02b624478e4edac494c08d54ac07ed1c879abaf9e6928ff15b304a0117672546
BLAKE2b-256 checksum
How to use checksums
cfdd1bafa6863333bc27a83e5c76e6b11735c679fd98f83b73bf97a0f9a286ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / pygoodwe-0.2.0-py3-none-any.whl

Download URL pygoodwe-0.2.0-py3-none-any.whl
Size 10.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2f59257e539684577b15d972bc0f097b6308bfe8faa9e2196d52b6f726dd1993
BLAKE2b-256 checksum
How to use checksums
fa52a1c7c516f4446dd0e2e44b7678ad8e7c527280e58e727be4e8e3f951670a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.0

2 release files

0.0.18

2 release files

0.0.13

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page