python vedirect-m8: communicate with your Victron solar devices

Énergie Solaire - vedirect-m8 python
Table of Contents

The python vedirect-m8 library offers you a solution to communicate with your Victron Energy solar devices. It allows you to know their status and performance in real time. In addition, it offers you the possibility to integrate them into your home automation system or monitor them remotely.

What is the python vedirect-m8 library?

It is a library that allows you to decode the VE.Direct text protocol of Victron Energy. This protocol is used by the MPPT solar charge controllers and battery monitors of the brand. It transmits information about voltage, current, power, temperature, charge level, etc.

The python vedirect-m8 library is a modified version of a package originally created by Janne Kario VeDirect. It adds features such as automatic connection to the serial port, simulation of the data sent by the devices, or the possibility to test the validity of the serial port.

How to use this library?

To use the python vedirect-m8 library, you must have Python 3.6 or higher installed on your system. You can install the python vedirect-m8 library with the command:

python3 -m pip install vedirect-m8

or directly from GitHub with the command:

python3 -m pip install “git+https://github.com/mano8/vedirect_m8”

Once installed, you can import the Vedirect or VedirectController class into your Python code. The first one implements the decoder of the VE.Direct protocol. It takes as parameter the name of the serial port and a callback function that will be called every time a data block is received. The second one extends the first one and adds the possibility to connect automatically to the serial port corresponding to the Victron Energy device. It takes as parameter a configuration dictionary that contains tests to perform on the data received to validate the serial port.

In addition, the python vedirect-m8 library contains examples of scripts in the examples directory. You can run them to test the decoder or simulate the data sent by the devices. For example, to display the data received in the console, you can run the script vedirect_print.py with the name of the serial port as parameter. Similarly, to send the data from the file to the serial port, you can run the script vedirectsim.py with the name of the serial port and the name of the data file as parameter.

What are the advantages of this library?

The python vedirect-m8 library has several advantages:

  • First of all, it is compatible with all Victron Energy devices that use the VE.Direct protocol, such as MPPT solar charge controllers or battery monitors.
  • Secondly, it is easy to install and use, thanks to its complete documentation and its examples of scripts.
  • Moreover, it is modular and adaptable, thanks to its open source code and its MIT license.
  • Finally, it is useful to integrate Victron Energy devices into your home automation system, or to monitor them remotely via a computer, a Raspberry Pi, etc.

How to contribute to the python vedirect-m8 library?

If you are interested in the python vedirect-m8 library, you can contribute in different ways:

  • By reporting bugs or improvement suggestions on GitHub.
  • By proposing modifications or additions of code via pull requests on GitHub.
  • By sharing your experience or questions on Victron Energy forum.
  • By making known the python vedirect-m8 library around you.

The python vedirect-m8 library is a powerful and practical tool to communicate with your Victron Energy solar devices. Do not hesitate to try it and give us your feedback!