--- id: goodwe version: "0.4.10" license: MIT license_treatment: permissive maintenance: active --- # goodwe — Read data from GoodWe inverter via local network License: permissive · Maintenance: active · Downloads: 78.1K/mo ## 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 above — 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 pip install goodwe uv add goodwe 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_current - Install friction: low - Maintenance: active - Downloads: 78.1K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags goodwe inverter communication, solar inverter data reading, local network inverter control, modbus tcp solar, goodwe sensor monitoring, photovoltaic inverter api, solar panel inverter library, solar-energy, inverter-control, home-automation [View on SkillFed](https://skillfed.io/packages/goodwe) · [View on PyPI](https://pypi.org/project/goodwe/)