Skip to content

Latest commit

 

History

History
61 lines (42 loc) · 5.14 KB

README.md

File metadata and controls

61 lines (42 loc) · 5.14 KB

ve-direct-reader-service

branch CI build test coverage
master CircleCI codecov.io
develop CircleCI codecov.io

Service Description

The ve-direct-reader-service reads measurement and fault data from Victron Energy VE.Direct devices and pushes it to the Logreposit API.

The implementation has been tested with a BMV-700 battery monitor and a SmartSolar MPPT 100/50 solar charge controller along with a VE.Direct to USB cable.

It also has been tested and works nicely with Victron Energy devices with a TTL (serial) interface such as the BMV600S and the Victron Energy Blue Smart IP22 Charger. Just be sure to only connect the three pins TX, RX and GND when connecting a USB-to-TTL Adapter to those devices.

All Victron Energy devices which speak the VE.Direct port should be supported.

All measurement values described in the official VE.Direct text protocol documentation, as of beginning of about December 2021, have been implemented and can be found here.

The ve-direct-reader-service is a Spring Boot project and the library com.fazecast.jSerialComm is in use for the serial communication.

Configuration

This service ships as a docker image and has to be configured via environment variables.

Environment Variable Name default value
VEDIRECT_COMPORT /dev/ttyUSB0
LOGREPOSIT_APIBASEURL https://api.logreposit.com
LOGREPOSIT_DEVICETOKEN INVALID needs to be changed!
LOGREPOSIT_INCLUDELEGACYFIELDS false set to true to enable backwards-compatibility to bmv-reader-service
LOGREPOSIT_IGNOREDFIELDS empty comma separated list of logreposit field names to ignore / not report at all. The names are referring to the logrepositName of the VeDirectField in the file which can be found here.
LOGREPOSIT_MINIMUMUPDATEINTERVALINMILLIS 10000 minimum update interval in milliseconds, set to 0 to push on every VE.Direct Text update.
LOGREPOSIT_ADDRESS 1 set to some other value if you have multiple devices

Docker

The latest images can be found on Dockerhub.

Place the following docker-compose.yml file in a new folder, then run docker-compose up -d.

version: '2.4'

services:
  ve-direct-reader-service:
    container_name: logreposit-ve-direct-reader-service
    image: logreposit/ve-direct-reader-service:<VERSION>
    restart: always
    devices:
      - "/dev/ttyUSB0:/dev/ttyUSB0"
    environment:
      LOGREPOSIT_DEVICETOKEN: your-logreposit-device-token
      # uncomment the next line in order to prevent publishing rather static fields
      #LOGREPOSIT_IGNOREDFIELDS: "bmv_model,firmware_version_16,firmware_version_24,product_id,serial_number,bluetooth_cap"