skillfed

goodwe

Read data from GoodWe inverter via local network

goodwe v0.4.10 78.1K downloads/30d#14,468 on PyPI178
Permissive license MIT Active released

What it is and what it does

goodwe is an async Python library for querying GoodWe solar inverters and compatible white-label models over a local network. It speaks the GoodWe proprietary protocol (UDP port 8899) and standard Modbus/TCP (port 502), letting you read real-time sensor values and configuration from inverters in the ET, EH, BT, BH, ES, EM, BP, DT, MS, D-NS, XS families and others that respond to these protocols.

The library is designed for home automation and monitoring integrations—it discovers inverters on the network, establishes a connection, and exposes sensor data as a dictionary keyed by sensor ID. It requires only Python 3.8+ and has no external dependencies, making it lightweight for embedded systems or Home Assistant integrations. Async-first design means it integrates cleanly with event loops and concurrent workloads.

Use it for:

  • Monitor real-time solar generation and inverter status in a home energy management dashboard.
  • Integrate GoodWe inverter telemetry into Home Assistant or other home automation platforms.
  • Poll multiple inverters on a local network to aggregate performance metrics for analysis.
  • Build custom logging or alerting for inverter faults, temperature, or power output thresholds.
  • Retrieve configuration parameters from inverters for diagnostic or reporting purposes.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Connects to GoodWe solar inverters over local network to retrieve runtime sensor data and configuration parameters via UDP or Modbus/TCP protocols.

Yes. The library is production-stable, actively maintained, has zero security vulnerabilities, no external dependencies, and works across modern Python versions. Install it if you own a GoodWe inverter or compatible model and need programmatic local-network access to its sensor data. The async API and low friction make it suitable for both standalone scripts and integration into larger home automation systems.

Install

goodwe on PyPI

pip

pip install goodwe

uv

uv add goodwe

poetry

poetry add goodwe

Installing goodwe

Before you install

Low friction install with no runtime dependencies. Actively maintained with recent commits and production-stable status across Python 3.8–3.13.

License in practice

MIT license permits unrestricted use, modification, and distribution with minimal legal friction for most projects.

Quickstart

pip install goodwe

import asyncio
import goodwe

async def main():
    inverter = await goodwe.connect('192.168.1.14')
    data = await inverter.read_runtime_data()
    for sensor in inverter.sensors():
        if sensor.id_ in data:
            print(f"{sensor.name}: {data[sensor.id_]} {sensor.unit}")

asyncio.run(main())

Requires network access to a GoodWe inverter listening on UDP port 8899 or TCP port 502 on the local network.

Verify before relying

  • Whether the library handles authentication or encryption for inverter communication beyond protocol support.
  • Performance characteristics when polling multiple inverters or high-frequency sensor reads.
  • Exact error handling and retry behavior for network timeouts or inverter unavailability.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 138 days since the last release
Last repo commit
First released
Downloads 78,106/month — #14,468 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: goodwe-0.4.10-py3-none-any.whl

Keywords: GoodWe, Solar Panel, Inverter, Photovoltaics, PV

Development Status :: 5 - Production/StableIntended Audience :: DevelopersProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries :: Python Modules

Tags

goodwe inverter communicationsolar inverter data readinglocal network inverter controlmodbus tcp solargoodwe sensor monitoringphotovoltaic inverter apisolar panel inverter library
solar-energyinverter-controlhome-automation

More Python Modules packages