pysolarmanv5

pysolarmanv5 is a Python module to interact with Solarman (IGEN-Tech) v5 based solar inverter data loggers. Modbus RTU frames can be encapsulated in the proprietary Solarman v5 protocol and requests sent to the data logger on port tcp/8899. This module aims to simplify the Solarman v5 protocol, exposing both sync and async interfaces similar to that of the uModbus library.

pysolarmanv5 supports the following Modbus RTU function codes:

Modbus Function Code

Modbus Function Description

Width

R/W

pysolarmanv5 Function(s)

1

Read Coils

1 bit

Read

2

Read Discrete Inputs

1 bit

Read

3

Read Holding Registers

16 bits

Read

4

Read Input Registers

16 bits

Read

5

Write Single Coil

1 bit

Write

6

Write Single Holding Register

16 bits

Write

15

Write Multiple Coils

1 bit

Write

write_multiple_coils()

16

Write Multiple Holding Registers

16 bits

Write

write_multiple_holding_registers()

22 (see note)

Masked Write Register

16 bits

Write

N/A

Send Raw Modbus Frame

N/A

N/A

Dependencies

  • pysolarmanv5 requires Python 3.8 or greater.

  • pysolarmanv5 depends on uModbus.

Installation

To install the latest stable version of pysolarmanv5 from PyPi, run:

pip install pysolarmanv5

To install the latest development version from git, run:

pip install git+https://github.com/jmccrohan/pysolarmanv5.git

Projects using pysolarmanv5

Contributions

Contributions welcome. Please raise any Issues / Pull Requests via GitHub.

License

pysolarmanv5 is licensed under the MIT License.