Skip to main content

Read data from GoodWe inverter via local network

Project description

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 on GoodWe ET, EH, BT, BH, ES, EM, BP, DT, MS, D-NS, and XS families of inverters. It may work on other inverters as well, as long as they listen on UDP port 8899 and respond to one of supported communication protocols.

(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 inveter via UDP.)

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

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())

or the old way (for XS inverters only), create a processor and inverter instance:

import asyncio
from goodwe import GoodWeInverter, GoodWeXSProcessor


async def get_data():
    ip_address = '192.168.200.100'
    processor = GoodWeXSProcessor()
    inverter = GoodWeInverter(inverter_address=(ip_address, 8899), processor=processor)
    data = await inverter.request_data()
    print(f'power is {data.power} at {data.date:%H:%M:%S}')


asyncio.run(get_data())

References and useful links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

goodwe-0.2.21.tar.gz (27.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

goodwe-0.2.21-py3-none-any.whl (32.2 kB view details)

Uploaded Python 3

File details

Details for the file goodwe-0.2.21.tar.gz.

File metadata

  • Download URL: goodwe-0.2.21.tar.gz
  • Upload date:
  • Size: 27.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for goodwe-0.2.21.tar.gz
Algorithm Hash digest
SHA256 7ee64a8db43ac98dfdc02b39537c9c28dc899851a138491b9c07e7e63290a1aa
MD5 ee618637383fc7d048761f7182cdc1fc
BLAKE2b-256 c7ea8bcbb252f5b387e9fa8b1f2aa7f9da993ca998ee25d54152c5faa35ee022

See more details on using hashes here.

File details

Details for the file goodwe-0.2.21-py3-none-any.whl.

File metadata

  • Download URL: goodwe-0.2.21-py3-none-any.whl
  • Upload date:
  • Size: 32.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for goodwe-0.2.21-py3-none-any.whl
Algorithm Hash digest
SHA256 7430ba8dd25972dd8534b9e95887611949ee1ade6588f82b34a5803b9020d7da
MD5 e06112a16dd026d1322b4fb444a6d612
BLAKE2b-256 3dda624d4e6f6e1c92bf9a074840c20a239b1ad4fa9a17bf531c1f12a4b0de17

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page