Skip to main content

Get information from Deye Microinverter

Project description

inverter

tests codecov inverter-connect @ PyPi Python Versions License GPL-3.0-or-later

Get information from Deye Microinverter

The whole thing is just a learning exercise for now. We will see.

screenshots

Example output of print-values call:

print-values


Example output of print-at-commands call:

print-at-commands


quickstart

Currently just clone the project and just start the cli (that will create a virtualenv and installs every dependencies)

e.g.:

~$ git clone https://github.com/jedie/inverter-connect.git
~$ cd inverter-connect
~/inverter-connect$ ./cli.py --help

The output of ./cli.py --help looks like:

Usage: ./cli.py [OPTIONS] COMMAND [ARGS]...

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────╮
│ --help      Show this message and exit.                                                          │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────────────────────────╮
│ check-code-style            Check code style by calling darker + flake8                          │
│ coverage                    Run and show coverage.                                               │
│ fix-code-style              Fix code style of all inverter source code files via darker          │
│ install                     Run pip-sync and install 'inverter' via pip as editable.             │
│ mypy                        Run Mypy (configured in pyproject.toml)                              │
│ print-at-commands           Print one or more AT command values from Inverter.                   │
│ print-values                Print all known register values from Inverter, e.g.:                 │
│ publish                     Build and upload this project to PyPi                                │
│ safety                      Run safety check against current requirements files                  │
│ test                        Run unittests                                                        │
│ tox                         Run tox                                                              │
│ update                      Update "requirements*.txt" dependencies files                        │
│ update-test-snapshot-files  Update all test snapshot files (by remove and recreate all snapshot  │
│                             files)                                                               │
│ version                     Print version and exit                                               │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯

most important commands

print-values

Help from ./cli.py print-values --help Looks like:

Usage: ./cli.py print-values [OPTIONS] IP

 Print all known register values from Inverter, e.g.:
 .../inverter-connect$ ./cli.py print-values 192.168.123.456

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────╮
│ --port                INTEGER RANGE [1000<=x<=65535]  Port of the inverter                       │
│                                                       [default: 48899; 1000<=x<=65535]           │
│ --debug/--no-debug                                    [default: no-debug]                        │
│ --help                                                Show this message and exit.                │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯

print-at-commands

Help from ./cli.py print-at-commands --help Looks like:

Usage: ./cli.py print-at-commands [OPTIONS] IP [COMMANDS]...

 Print one or more AT command values from Inverter.
 Use all known AT commands, if no one is given, e.g.:
 .../inverter-connect$ ./cli.py print-at-commands 192.168.123.456
 Or speficy one or more AT-commands, e.g.:
 .../inverter-connect$ ./cli.py print-at-commands 192.168.123.456 WEBVER .../inverter-connect$
 ./cli.py print-at-commands 192.168.123.456 WEBVER WEBU
 (Note: The prefix "AT+" will be added to every command)

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────╮
│ --port                INTEGER RANGE [1000<=x<=65535]  Port of the inverter                       │
│                                                       [default: 48899; 1000<=x<=65535]           │
│ --debug/--no-debug                                    [default: no-debug]                        │
│ --help                                                Show this message and exit.                │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯

credits

Others before me have done good work. In particular, I have learned a lot from the following projects:

The included definitions yaml files are from:

https://github.com/StephanJoubert/home_assistant_solarman/tree/main/custom_components/solarman/inverter_definitions

various 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

inverter-connect-0.0.1.tar.gz (45.2 kB view hashes)

Uploaded Source

Built Distribution

inverter_connect-0.0.1-py3-none-any.whl (20.5 kB view hashes)

Uploaded Python 3

Supported by

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