Registry / communication / pysolarmanv5

pysolarmanv5

JSON →
library3.0.6pypypi✓ verified 83d ago

A Python library for interacting with Solarman (IGEN-Tech) v5 based Solar Data Loggers. Version 3.0.6, requires Python >=3.8. Active development with breaking changes in v2-to-v3 transition.

pip install pysolarmanv5
INSTALL
IMPORT
SIG · PYSOLARMANV5
P
pysolarmanv5
communicationpythonv3.0.6
Install
1.7s avg
Import
—
Disk
17MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.9–3.13
musl
3.9–3.13
Install & Compatibility
Where this runs
tested against v3.0.6 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 18.9MB
glibc
py 3.10–3.95 runs
installs and imports cleanly · install 1.7s · import 0.000s · 19MB
17MB installed
● package 17MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

PySolarmanV5
✓ from pysolarmanv5 import PySolarmanV5
✗ from pysolarmanv5 import SolarmanV5
PySolarmanV5Async
✓ from pysolarmanv5 import PySolarmanV5Async
NoSocketAvailableError
✓ from pysolarmanv5 import NoSocketAvailableError

Connect to a Solarman v5 logger, read sensors and registers.

from pysolarmanv5 import SolarmanV5 import os inverter = SolarmanV5( host=os.environ.get('INVERTER_HOST', '192.168.1.100'), serial=int(os.environ.get('INVERTER_SERIAL', '123456789')), port=8899, mb_slave_id=1, verbose=False ) print(inverter.get_sensors()) data = inverter.read_holding_registers(register_addr=0, quantity=10) print(data) inverter.disconnect()
Debug
Known issues
breakingv2 to v3: The constructor no longer accepts 'inverter_address' or 'inverter_port' parameters; use 'host' and 'port'.
fix
Replace inverter_address with host, inverter_port with port.
affects: <3.0.0
breakingv2 to v3: 'get_sensors()' returns list of dicts, not list of InverterData objects.
fix
Adapt code to iterate over dict keys instead of object attributes.
affects: <3.0.0
gotchaInverter serial number must be passed as int, not str. Passing a string leads to TypeError.
fix
Cast to int: serial=int(os.environ.get('SERIAL'))
affects: all
gotchaDefault port is 8899 for TCP, but some loggers use 4196. Check your logger's manual.
fix
Explicitly set port=4196 if connection fails.
affects: all
Upgrade
Version history
3.0.6latest on PyPI · released Dec 11, 2024
Audit
Dependencies
umodbusrequiredModbus communication
paho-mqttoptionalMQTT support (optional)
Agent activity
21 hits · last 30 days
node
20
OpenAI (training)
1
Resources
pysolarmanv5 — pip install pysolarmanv5 · libregistry