https://github.com/jessedc/ve.direct-python
VE.Direct to InfluxDB for Raspberry Pi
https://github.com/jessedc/ve.direct-python
python raspberry-pi raspberry-pi-zero-w solar-energy solar-system victron
Last synced: 5 months ago
JSON representation
VE.Direct to InfluxDB for Raspberry Pi
- Host: GitHub
- URL: https://github.com/jessedc/ve.direct-python
- Owner: jessedc
- License: mit
- Created: 2018-11-19T08:08:08.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2019-11-05T19:21:32.000Z (almost 6 years ago)
- Last Synced: 2025-04-19T21:25:51.802Z (6 months ago)
- Topics: python, raspberry-pi, raspberry-pi-zero-w, solar-energy, solar-system, victron
- Language: Python
- Homepage:
- Size: 16.6 KB
- Stars: 27
- Watchers: 7
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# VE.Direct Python
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`.
# Installation
- Clone this repository on your raspberry-pi to `/home/pi/ve.direct-pyton`
- Copy `.env.example` to `.env.installed`
- Configure `INFLUX_HOST` and `INFLUX_DB` in `.env.installed`
- Run the `setup.sh`.```bash
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.servicesudo systemctl daemon-reload
sudo systemctl enable vedirect.service
sudo systemctl start vedirect.servicesudo reboot
```# Running the parser directly
```bash
/usr/bin/python3 -u -m vedirect --influx=pi.hole --database=solar --port=/dev/ttyAMA0
```# Example InfluxDB Measurement
```json
[
{
"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"
}
]
```# References
## VE.Direct
Victron Manuals/VE.Direct-Protocol-3.27.pdf
VE.Direct parser inspired by https://github.com/karioja/vedirect/blob/master/vedirect.py
## vcgencmd
- https://medium.com/@kevalpatel2106/monitor-the-core-temperature-of-your-raspberry-pi-3ddfdf82989f
- https://elinux.org/RPI_vcgencmd_usage## Systemd
- https://www.raspberrypi-spy.co.uk/2015/10/how-to-autorun-a-python-script-on-boot-using-systemd/
- https://stackoverflow.com/questions/13069634/python-daemon-and-systemd-service## Python
- [Executing periodic actions in Python](https://stackoverflow.com/a/28034554/184130)