Skip to main content

Add a short description here!

Project description

This library is used to read real time data from Sungrow inverters with the WiNet module that expose the websocket interface.

Known supported inverters:

  • SH8.0RT (SH6.0RT and SH10.0RT likely too)

To check if your inverter is supported, simply try it out!

Installation

Installation is straight forward:

pip install sungrow-websocket

Command line interface

The command line interface is quite simple:

sungrow-websocket <host>

<host> is the hostname or IP address of the inverter. Check your home router for the inverter (maybe registers as espressif).

You will then get a table with the live data:

+---------------------------------------+-----------+
| Item                                  | Value     |
+---------------------------------------+-----------+
| Device Status                         | Standby   |
| Bus Voltage                           | 16.0 V    |
| Internal Air Temperature              | 28.6 ℃    |
| Array Insulation Resistance           | 997 kΩ    |
| Daily Self-consumption Rate           | 23.8 %    |
| ...                                   | ...       |

API

Using the library is easy:

>>> from sungrow_websocket import SungrowWebsocket
>>> host = "your-ip-or-hostname"
>>> sg = SungrowWebsocket(host)
>>> data = sg.get_data()

data is a dict of identifiers mapping to InverterItem entries:

>>> from pprint import pprint
>>> pprint(data)
{'air_tem_inside_machine': InverterItem(name='I18N_COMMON_AIR_TEM_INSIDE_MACHINE', desc='Internal Air Temperature', value='28.5', unit='℃'),
 'bus_voltage': InverterItem(name='I18N_COMMON_BUS_VOLTAGE', desc='Bus Voltage', value='16.0', unit='V'),

The name entry is the internal name of the item, while desc is the clear description. This is loaded according to the locale (en_US by default) and can be set as parameter to the class:

>>> from sungrow_websocket import SungrowWebsocket
>>> host = "your-ip-or-hostname"
>>> sg = SungrowWebsocket(host, locale="zh_CN")
>>> data = sg.get_data()
>>> from pprint import pprint
>>> pprint(data)
{'air_tem_inside_machine': InverterItem(name='I18N_COMMON_AIR_TEM_INSIDE_MACHINE', desc='机内空气温度', value='28.5', unit='℃'),
 'bus_voltage': InverterItem(name='I18N_COMMON_BUS_VOLTAGE', desc='母线电压', value='16.0', unit='V'),

If your locale is not supported, it will fall back to en_US.

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

sungrow-websocket-0.2.2.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

sungrow_websocket-0.2.2-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file sungrow-websocket-0.2.2.tar.gz.

File metadata

  • Download URL: sungrow-websocket-0.2.2.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for sungrow-websocket-0.2.2.tar.gz
Algorithm Hash digest
SHA256 036c30efa18335511c4838565b2a36b6d991579231882dabb1f630e78824468f
MD5 0335a74fb49a8d73f69fdb6fc9849f5b
BLAKE2b-256 8c94f8a1c8e4e0e8ecc56bfc8d2c8c06c914742ca300c675207810dcdbcec756

See more details on using hashes here.

File details

Details for the file sungrow_websocket-0.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for sungrow_websocket-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 90e4a6c51695cd8b8054b9a3c15f7e1ac833bc78c558c2d721f0b372b4f1eae1
MD5 73e0f3c5fd3ef1b53580c9fd09fa7416
BLAKE2b-256 615c4f9900a7a228cae697152bfd285b36626f7aed3ca90d8970caeb48116e55

See more details on using hashes here.

Supported by

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