{"id":20033139,"url":"https://github.com/dbr/vedirect-rs","last_synced_at":"2025-10-24T02:15:05.381Z","repository":{"id":41906529,"uuid":"249900207","full_name":"dbr/vedirect-rs","owner":"dbr","description":"Victron Energy VE.Direct parser library","archived":false,"fork":false,"pushed_at":"2023-10-17T01:51:58.000Z","size":32,"stargazers_count":6,"open_issues_count":1,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-22T23:51:30.407Z","etag":null,"topics":["bmv","rust","solar","victron"],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dbr.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-03-25T06:06:15.000Z","updated_at":"2024-01-10T09:44:42.000Z","dependencies_parsed_at":"2023-12-13T05:32:24.837Z","dependency_job_id":"b13aac2e-dee6-49e5-92a6-64946e798756","html_url":"https://github.com/dbr/vedirect-rs","commit_stats":{"total_commits":39,"total_committers":2,"mean_commits":19.5,"dds":0.05128205128205132,"last_synced_commit":"cf4415c05737e7a3508d018e520398d78ef64603"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbr%2Fvedirect-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbr%2Fvedirect-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbr%2Fvedirect-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbr%2Fvedirect-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dbr","download_url":"https://codeload.github.com/dbr/vedirect-rs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252445779,"owners_count":21749114,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bmv","rust","solar","victron"],"created_at":"2024-11-13T09:44:37.640Z","updated_at":"2025-10-24T02:15:00.347Z","avatar_url":"https://github.com/dbr.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VE.Direct library for Rust\n\n[![crates.io badge][crate_badge]][crate]\n[![docs.rs badge][docs_badge]][docs]\n\nLibrary to parse the Victron Energy \"VE.Direct\" protocol and map the data to useful structs with clear units.\n\nCan 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.\n\n[crate_badge]: https://img.shields.io/crates/v/vedirect\n[crate]: https://crates.io/crates/vedirect\n[docs]: https://docs.rs/vedirect/\n[docs_badge]: https://docs.rs/vedirect/badge.svg\n\n## Details\n\nDeveloped 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)\n\nCross compiled to use on a Raspberry Pi Zero W.\n\nBased of the `VE.Direct-Protocol-3.27.pdf`.\n\nCurrently only implements the \"Text-mode\" (read only) interface,\n\n\u003e 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.\n\n## Testing\n\nThe project has tests which can be run by usual `cargo test`\n\nAdditionally there is a basic fuzzing setup for the parser which can be run easily using [`cargo-afl`](https://crates.io/crates/afl) - see `fuzz-target/run-fuzzer.sh`\n\n## Status\n\nFunctional and reasonably well tested. Main limitation is that not all devices are handled, only the BMV battery monitor and solar charge controllers\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdbr%2Fvedirect-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdbr%2Fvedirect-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdbr%2Fvedirect-rs/lists"}