====== Open source ====== Victron Energy has committed itself to make certain of its projects open source. On this page you'll find more information about available sources and projects. Below some of our own projects, you'll also find a list of other people's open source projects that work with Victron equipment. See bottom of this page. Note that all this information is made available as is, for free, without any warranty and we do not commit to giving support. Although ofcourse we like to help out where possible. Looking for Victron protocol documentation? Read our [[https://www.victronenergy.com/upload/documents/Whitepaper-Data-communication-with-Victron-Energy-products_EN.pdf|Data communication whitepaper]] as well. Also, see our [[https://community.victronenergy.com/spaces/31/index.html|Modifications forum]]. ===== 1. Venus OS: the software on our GX product range and also for the Raspberry Pi===== Venus OS is the Victron Energy Unix like distro with a linux kernel. It's the software that runs on our [[venus-os:start|GX Product range]]: central and remote monitoring systems. While being a very successful project for us in its standard configuration, the Venus OS, and compatible hardware platforms can also be the perfect platform for many other projects. Such as: * Add drivers for certain products, if interesting enough we will add transmission and readout of that data on the [[https://vrm.victronenergy.com/|VRM Portal]]. Adding generators readout and start/stop, and also temperature sensors for example would be very interesting! * Add logic on the product, for example to control the relay, or do other things. Full information about Venus OS; and compatible hardware as well as how to install on a Raspberry P is here: https://github.com/victronenergy/venus/wiki ==== 1.1 Dockerised Influx database & Grafana dashboard for Venus OS / GX Devices ===== See https://github.com/victronenergy/venus-docker-grafana. ===== 2. VRM Portal (https://vrm.victronenergy.com/) ===== While in itself not being an open source project, the VRM Portal database can be queried using the [[https://vrmapi.victronenergy.com/v2/docs|VRM JSON REST API]]. Also, you can interface to the GX product range using MQTT, see the [[https://github.com/victronenergy/dbus-mqtt|dbus-mqtt]] readme for more information. ===== 3. Signal K ===== Signal K is a modern and open data format for marine use. Built on standard web technologies including JSON, WebSockets and HTTP, Signal K provides a method for sharing information independently of the underlying communications protocol (e.g. NMEA0183, NMEA2000, SeaTalk, I2C, 1-Wire, ZigBee, etc) in a way that is friendly to WiFi, cellphones, tablets, and the Internet. More information at [[http://signalk.org/]]. * Signal K Node Server plugin: [[https://github.com/sbender9/signalk-venus-plugin]] * Raspberry Pi Venus image: [[https://github.com/victronenergy/venus/wiki/raspberrypi-install-venus-image]] * Signal K plugin for VE.Direct Serial to USB interface: [[https://github.com/SignalK/vedirect-serial-usb]] * Blog - Sailing with Signal K: [[https://www.victronenergy.com/blog/2019/06/13/sailing-with-signal-k/]] * Blog - Signal K: Embracing connectivity with Victron Energy: [[https://www.victronenergy.com/blog/2018/05/28/signal-k-embracing-connectivity-with-victron-energy/]] ===== 4. Other Victron related open source projects ===== Many, many people all over the world are writing code to integrate Victron products and protocols into their systems. Below a list of public projects, aiming to help each other. Tip: make sure to search for 'Victron' on Github and other open source hubs, or for 'Victron git' in Google. That is how I found below links :-D. Want to list your project here? Please go ahead and change this page yourself! See Login on upper right. ==== 4.1 Multis / Quattros / MK2 ==== * https://github.com/hpdvanwyk/invertergui: A primitive HTTP based monitor for a Victron Multiplus inverter. Uses https://github.com/ncthompson/inverter_monitor as a data source. * Fabien Fleutot made a monitoring system for his beautiful old [[http://fab13n.github.io/elorn/genese/2014/04/11/genese.html|Belgian barge called Elorn]] * [[https://github.com/fab13n/elorn_energy|Github source]] for controlling Victron BMV and inverters on a raspberry pi. * [[http://fab13n.github.io/elorn/|Blog, with posts outlining all the details of the project]] * Michel Kuenemann transformed his house, using 1 X RPi B and 4 X LPC1769 Cortex M3 : * [[https://www.youtube.com/watch?v=Iu1INv3LYm0|MyPV 2 minute presentation video]] * [[http://km-services.hd.free.fr:443/jour.html|MyPV website (Raspberry pi hosted)]] * [[http://hackaday.io/project/2333-my-off-grid-solar-system-monitoring|Project description]] * [[https://drive.google.com/folderview?id=0B8X1ITc5xR0eVGp4NmFvcnhWS2M&usp=sharing|Source code]] * [[https://github.com/izak/ib.victron|Python library for MK2]] (Izak Burger) * EMDO can do! Energy manager to increase self-consumption quote, switch loads when energy is available. Programmable over BASIC interpreter (MM-BASIC). * [[https://www.kickstarter.com/projects/1983254852/emdo-can-do-your-energy-manager-for-renewable-ener/description|EMDO101 on kickstarter,swissEmbedded GmbH ]] * [[https://github.com/swissembedded/em|Open Source BASIC programs on github ]] want to list your project here? Please go ahead and change this page yourself! ==== 4.2 VE.Direct (MPPT Solar Chargers and BMV Battery Monitors) ==== Arduino: * [[http://caravanersforum.com/viewtopic.php?t=63614|Victron on Arduino - Caravaners Forum]] * https://github.com/physee/Victron.Arduino-ESP8266 * [[https://community.victronenergy.com/questions/21377/basic-lightweight-vedirect-reading-library-for-ard.html|VE.Direct reading library for Arduino]] * [[https://github.com/cterwilliger/VeDirectFrameHandler | Arduino VE.Direct library based on Victron's reference implementation]] * [[https://github.com/giacinti/VeDirectFrameHandler | Arduino & ESP32 VE.Direct library supporting HEX protocol (fork of previous project, see below for ESPHOME sensor)]] Battery/BMS: * [[https://github.com/Louisvdw/dbus-serialbattery|Serial battery driver for GX devices]] supporting multiple BMS/Battery types. Other: * Use VE.Direct compatible Victron equipment with EMON (Open Energy Monitor) https://github.com/openenergymonitor/emonhub/tree/emon-pi/conf/interfacer_examples/vedirect * PvMonit : small real-time web interface and export to emonCMS for history (Brick from [[https://openenergymonitor.org/emon/emoncms|OpenEnergyMonitor]]) * https://github.com/kepon85/PvMonit/ (fr) * http://pvmonit.zici.fr (fr) * https://david.mercereau.info/pvmonit/ (fr) * PvMonit now knows how to exploit the solar surplus when you are not using it with the "home automation" module : * https://david.mercereau.info/pvmonit-v2-0-domotique-gestion-surplus-electrique-solaire-en-autonomie/ (fr) * https://vimeo.com/385514728 (fr) * https://pypi.python.org/pypi/BMV/0.2.1 * https://github.com/karioja/vedirect * https://github.com/mano8/vedirect_m8 * https://github.com/jepefe/bmvmonitor * Nodejs monitor Raspberry PI https://github.com/Moki38/vedirect * http://www.deszynski.com/victron-bmv-700-lan-port/ * pgf's client/server bash script for access to VE.Direct: https://github.com/foxharp/ve.direct * [[http://www.deszynski.com/victron-bmv-700-lan-port/|BMV-700 with LAN port]] * Raspberry Pi / PHP Victron Data Logger (Text-Mode) Open Source: [[https://github.com/oekoluk/Victron-Data-Reader-and-Logger|https://github.com/oekoluk/Victron-Data-Reader-and-Logger]] * SignalK: https://github.com/sbender9/vedirect * victronPi: a Raspberry Pi driven graphical display of data from Victron equipment installed in a campervan [[http://www.chronicle.me.uk/victronPi]] * Victron Blog about the victronPi above: [[https://www.victronenergy.com/blog/2018/04/11/homemade-pi-open-source-raspberry-flavour/]] * velog: Serial log application for VE.Direct devices [[https://github.com/ullman/velog]] * [[https://github.com/giacinti/vedirect | ESPHOME VE.Direct sensor]] ===== Bluetooth Protocol ===== * https://community.victronenergy.com/questions/187303/victron-bluetooth-advertising-protocol.html ===== DISQUS ===== ~~DISQUS~~