# VE.Direct library for Rust
[![crates.io badge][crate_badge]][crate]
[![docs.rs badge][docs_badge]][docs]
Library to parse the Victron Energy "VE.Direct" protocol and map the data to useful structs with clear units.
Can be used in conjuction with the `serial` library to pull battery status information from devices like the BMV 700, or solar charging data from the Victron's various MPPT solar charge controllers.
[crate_badge]: https://img.shields.io/crates/v/vedirect
[crate]: https://crates.io/crates/vedirect
[docs]: https://docs.rs/vedirect/
[docs_badge]: https://docs.rs/vedirect/badge.svg
## Details
Developed using a VE.Direct to USB interface cable to a BMV 700. Should work identically with any other connection method to the device (such as the VE.Direct to serial adapters)
Cross compiled to use on a Raspberry Pi Zero W.
Based of the `VE.Direct-Protocol-3.27.pdf`.
Currently only implements the "Text-mode" (read only) interface,
> The VE.Direct interface includes two modes: Text-mode and the HEX-mode. The purpose of the Text-mode is to make retrieving information extremely simple. The product will periodically transmit all run-time fields. The HEX-mode allows not only to read data but also write data, for example, change settings.
## Status
Functional and reasonably well tested. Main limitation is that not all devices are handled, only the BMV battery monitor and solar charge controllers