A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

solax

Read energy usage data from the real-time API on Solax solar inverters.
https://github.com/squishykid/solax

Category: Renewable Energy
Sub Category: Photovoltaics and Solar Energy

Keywords

home-automation iot photovoltaic raspberry-pi solar solax

Keywords from Contributors

varta varta-storage

Last synced: about 12 hours ago
JSON representation

Repository metadata

🌞 Solax Inverter API Wrapper

README.md

Solax

Build Status
PyPI - Downloads

Read energy usage data from the real-time API on Solax solar inverters.

  • Real time power, current and voltage
  • Grid power information
  • Battery level
  • Temperature and inverter health
  • Daily/Total energy summaries

Usage

pip install solax

Then from within your project:

import solax
import asyncio

async def work():
    r = await solax.real_time_api('10.0.0.1')
    return await r.get_data()

loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
data = loop.run_until_complete(work())
print(data)

This will try all the inverter classes in turn until it finds the first one that works with your installation. You can see the list of inverter implementation classes in the entry points configured in setup.py.

If you want to bypass the inverter discovery code and use a specific inverter class, you can invoke discover specifying directly the class. In this example, the X1 Hybrid Gen4 implementation is used:

from importlib.metadata import entry_points
import solax
import asyncio

INVERTERS_ENTRY_POINTS = {
   ep.name: ep.load() for ep in entry_points(group="solax.inverter")
}

async def work():
    inverter = await solax.discover("10.0.0.1", 80, "xxxxx", inverters=[INVERTERS_ENTRY_POINTS.get("x1_hybrid_gen4")], return_when=asyncio.FIRST_COMPLETED)
    return await inverter.get_data()

loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
data = loop.run_until_complete(work())
print(data)

Confirmed Supported Inverters

These inverters have been tested and confirmed to be working. If your inverter is not listed below, this library may still work- please create an issue so we can add your inverter to the list 😊.

  • SK-TL5000E
  • X1 Hybrid Gen4

You can get the list of supported inverters by looking up the solax.inverter entry points:

for ep in entry_points(group="solax.inverter"):
    print(ep)

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 7 days ago

Total Commits: 85
Total Committers: 29
Avg Commits per committer: 2.931
Development Distribution Score (DDS): 0.518

Commits in past year: 23
Committers in past year: 15
Avg Commits per committer in past year: 1.533
Development Distribution Score (DDS) in past year: 0.87

Name Email Commits
Robin Wohlers-Reichel r****l@g****m 41
Vadim Kraus 3****s 5
Dos Moonen d****r@g****m 4
Petru Paler p****u@p****t 4
Jakub Darmach j****b@s****m 3
Niclas Kühnapfel n****u 2
Th3Link m****r@g****m 2
rnauber 7****r 2
Khalid Eldehairy k****d@e****m 2
Robin Wohlers-Reichel me@r****m 1
Adam Bogocz 5****z 1
Arne Mauer a****r@g****m 1
Bo Biene 2****e 1
Daniel Weeber m****l@d****e 1
DarkerCz j****f@g****m 1
Derek Kaye g****b@d****k 1
Fabian Affolter m****l@f****h 1
JJ Macalinao j****o@g****m 1
Jesse Hills 3****z 1
Martin Beran m****n@m****z 1
Martin Richtarsky s@m****e 1
Nazar Mokrynskyi n****r@m****m 1
Pedro Simoes p****s@g****m 1
Renaud Bruyeron b****n@g****m 1
Rupert Nash r****t@n****k 1
Sebastian Stäubert s****t@u****e 1
Szilárd Kálosi k****z 1
dickinsonrob r****n@c****t 1
Joel Ekström j****l@e****v 1

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 80
Total pull requests: 99
Average time to close issues: 10 months
Average time to close pull requests: 3 months
Total issue authors: 55
Total pull request authors: 45
Average comments per issue: 6.31
Average comments per pull request: 2.63
Merged pull request: 63
Bot issues: 0
Bot pull requests: 0

Past year issues: 14
Past year pull requests: 24
Past year average time to close issues: 4 months
Past year average time to close pull requests: 30 days
Past year issue authors: 12
Past year pull request authors: 17
Past year average comments per issue: 3.29
Past year average comments per pull request: 1.54
Past year merged pull request: 15
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/squishykid/solax

Top Issue Authors

  • squishykid (11)
  • matthewjporter (4)
  • nazar-pc (3)
  • sommo (3)
  • rupertnash (3)
  • rwg0 (2)
  • DanielWeeber (2)
  • petgriffin (2)
  • VadimKraus (2)
  • emichel11 (2)
  • adambogocz (2)
  • shockerchocker (1)
  • horamarques (1)
  • Elliottmonaghan (1)
  • cheikemate (1)

Top Pull Request Authors

  • squishykid (25)
  • VadimKraus (6)
  • Darsstar (5)
  • ppetru (4)
  • brew-your-own (3)
  • rnauber (3)
  • niclasku (3)
  • darmach (3)
  • rowinho (3)
  • BoBiene (3)
  • nazar-pc (2)
  • arnemauer (2)
  • kdehairy (2)
  • Th3Link (2)
  • DarkerCz (2)

Top Issue Labels

  • inverter:x3 (1)
  • inverter:xhybrid (1)
  • inverter:x1 (1)

Top Pull Request Labels

  • inverter:xhybrid (2)
  • inverter:x3 (1)

Package metadata

pypi.org: solax

Solax inverter API client

  • Homepage: https://github.com/squishykid/solax
  • Documentation: https://solax.readthedocs.io/
  • Licenses: MIT
  • Latest release: 3.2.3 (published 4 months ago)
  • Last Synced: 2025-04-25T14:05:37.864Z (1 day ago)
  • Versions: 30
  • Dependent Packages: 0
  • Dependent Repositories: 631
  • Downloads: 4,779 Last month
  • Docker Downloads: 757,208,562
  • Rankings:
    • Docker downloads count: 0.168%
    • Dependent repos count: 0.554%
    • Downloads: 4.405%
    • Average: 4.431%
    • Forks count: 6.199%
    • Dependent packages count: 7.299%
    • Stargazers count: 7.963%
  • Maintainers (1)

Dependencies

.github/workflows/publish.yml actions
  • actions/checkout master composite
  • actions/checkout v1 composite
  • actions/setup-python v1 composite
.github/workflows/tests.yaml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
setup.py pypi
  • aiohttp >=3.5.4,
  • async_timeout >=4.0.2
  • voluptuous >=0.11.5

Score: 28.695254266414693