No description
Find a file
chris+watt42-operator@watt42.com a4656f4162
Some checks failed
Public to PyPi and TestPyPi / build-and-publish (push) Has been cancelled
fix: handle None values where I observed crashes while testing
2026-07-28 17:28:43 +01:00
.github/workflows Update deprecated githib actions parameters 2024-12-27 14:15:14 +01:00
.vscode Add vbattery2/ibattery2 sensors 2026-01-25 22:27:27 +01:00
goodwe fix: handle None values where I observed crashes while testing 2026-07-28 17:28:43 +01:00
tests Fix duplicate sensor registrations 2026-03-29 19:20:51 +02:00
.gitignore chore: add VERSION to .gitignore 2021-08-17 09:07:50 +02:00
LICENSE chore: update license 2021-08-16 11:42:04 +02:00
pylintrc Add read_sensor so inverter API 2024-07-05 17:36:34 +02:00
pyproject.toml ci: remove setuptools_scm and use own versioning method 2021-08-17 09:08:35 +02:00
README.md Add support for 50K KMT (KS-MT) inverters 2026-03-29 14:24:01 +02:00
setup.cfg DT Series Updates (#115) 2026-01-26 22:10:11 +01:00
VERSION DT Series Updates (#115) 2026-01-26 22:10:11 +01:00

GoodWe

PyPi Python Versions Build Status License

Library for connecting to GoodWe inverter over local network and retrieving runtime sensor values and configuration parameters.

It has been reported to work with GoodWe ET, EH, BT, BH, ES, EM, BP, DT, MS, D-NS, and XS families of inverters. It should work with other inverters as well, as long as they listen on UDP port 8899 or TCP port 502 and respond to one of supported communication protocols. In general, if you can connect to your inverter with the official mobile app (SolarGo/PvMaster) over Wi-Fi (not bluetooth), this library should work.

White-label (GoodWe manufactured) inverters may work as well, e.g. General Electric GEP (PSB, PSC) and GEH models are know to work properly.

Since v0.4.x the library also supports standard Modbus/TCP over port 502. This protocol is supported by the V2.0 version of LAN+WiFi communication dongle (model WLA0000-01-00P).

(If you can't communicate with the inverter despite your model is listed above, it is possible you have old ARM firmware version. You should ask manufacturer support to upgrade your ARM firmware (not just inverter firmware) to be able to communicate with the inverter.)

Usage

  1. Install this package pip install goodwe
  2. Write down your GoodWe inverter's IP address (or invoke goodwe.search_inverters())
  3. Connect to inverter and read all runtime data, example below
import asyncio
import goodwe


async def get_runtime_data():
    ip_address = '192.168.1.14'

    inverter = await goodwe.connect(ip_address)
    runtime_data = await inverter.read_runtime_data()

    for sensor in inverter.sensors():
        if sensor.id_ in runtime_data:
            print(f"{sensor.id_}: \t\t {sensor.name} = {runtime_data[sensor.id_]} {sensor.unit}")


asyncio.run(get_runtime_data())