gch1p / isv

Linux utility for controlling Voltronic hybrid solar inverters that use P18 protocol
7 stars 1 forks source link
infinisolar p18 voltronic voltronic-axpert-inverters

isv

IMPORTANT!

This project has been discontinued. It was rewritten in C++ and is called inverter-tools now. All further development will happen in the new project.


isv is utility for controlling Voltronic hybrid solar inverters that use P18 protocol. isv has full P18 support with all known methods implemented. It was written for use with InfiniSolar V 5kW inverter and it's the only inverter it has been tested with so far, but it should work with other inverters using P18 protocol as well. Adding support for other protocols (such as P16 or P17) by splitting them into separate modules is possible in future.

For now, only USB connection is supported and tested (I just don't have the RS-232 cable with this weird RJ-style plug lol), but RS-232 support will be added eventually.

It's written in pure C99 with almost zero dependencies. It uses libvoltronic for underlying device interaction, but you don't need to download and build it separately as isv comes with its own slightly modified libvoltronic version.

It can output data in different formats (human-readable tables, conveniently-parsable tables and even JSON) so you can easily integrate it in your project.

For now only Linux and macOS are supported and tested. Other operating systems will be supported later.

Requirements

Building

Just run make. If you want to install it, make install will do the job.

Usage

Run isv without arguments to see the full options list. For the sake of good readmes it's also written here.

Common options

Get options

Set options

Formats

Return codes

isv returns 0 on success, 1 on some input error (e.g. invalid argument) and 2 on communication failure (e.g. failed to read response from inverter, or response is invalid).

License

GPLv3