Python 3 parser for Victron VE.Direct protocol.
This project is designed to run on raspberry pi connected to the VE.Direct port of an MPPT device and then post the data to an influx DB instance.
Raspberry pi serial port is GPIO 14 + 15 and is available at /dev/ttyAMA0
.
- Clone this repository on your raspberry-pi to
/home/pi/ve.direct-pyton
- Copy
.env.example
to.env.installed
- Configure
INFLUX_HOST
andINFLUX_DB
in.env.installed
- Run the
setup.sh
.
cp .env.example .env.installed
./install.sh
Detailed install commands
sudo cp ./lib/systemd/system/vedirect.service /lib/systemd/system/
sudo chmod 644 /lib/systemd/system/vedirect.service
sudo systemctl daemon-reload
sudo systemctl enable vedirect.service
sudo systemctl start vedirect.service
sudo reboot
/usr/bin/python3 -u -m vedirect --influx=pi.hole --database=solar --port=/dev/ttyAMA0
[
{
"time": "2019-10-27T01:48:32.729954+00:00",
"tags": {
"sensor": "victron",
"location": "outdoors"
},
"fields": {"IL": 600, "PPV": 9, "V": 25.7, "I": -270, "VPV": 33.55},
"measurement": "power"
},
{
"time": "2019-10-27T01:48:32.729954+00:00",
"tags": {
"sensor": "victron",
"location": "outdoors"
},
"fields": {
"H21": 25, "H20": 0.07
},
"measurement": "today"
},
{
"time": "2019-10-27T01:48:32.729954+00:00",
"tags": {
"sensor": "victron",
"location": "outdoors"
},
"fields": {
"MPPT": 2,
"CS": 3,
"LOAD": 1,
"ERR": 0
},
"measurement": "status"
}
]
Victron Manuals/VE.Direct-Protocol-3.27.pdf
VE.Direct parser inspired by https://github.com/karioja/vedirect/blob/master/vedirect.py
- https://medium.com/@kevalpatel2106/monitor-the-core-temperature-of-your-raspberry-pi-3ddfdf82989f
- https://elinux.org/RPI_vcgencmd_usage