This project provides tools for reading and displaying data from Victron Energy BlueSolar chargers (and others using the VE.direct protocol) and enhances the functionality by integrating Bitcoin miner control based on solar energy availability. It aims to optimize the use of excess solar energy by monetizing it through Bitcoin mining, thus creating a more efficient and sustainable energy system.
- mpptdump: Command line tool for reading out data from VE.direct chargers and displaying them in the shell. It supports single read-outs or continuous updates.
- mpptemoncms: Similar to mpptdump, this tool reads out and displays data from chargers and sends them to an emonCMS host for further processing and visualization.
- Director Script (
director.py
): Dynamically adjusts the Bitcoin miner's power target based on available solar power, ensuring the miner only uses excess energy not needed by the battery system. - Data Collection and Control: Utilizes
get_miner_data.py
,monitor_miner.py
, andget_panel_data.py
to collect data necessary for making informed decisions on miner power adjustments. - Enhanced Configuration and Setup: Streamlines the setup process for interacting with the charge controller and emonCMS, with additional scripts like
setup.sh
and configuration files likemppt_config.conf
andcronjob.sh
for scheduled operations.
- Clone the repository to your local machine.
- For integrating the Bitcoin miner control:
- Ensure you have
libconfig9
andlibconfig-dev
installed. - Run
setup.sh
to build and set up the necessary tools. - Copy
mpptemoncms.conf.default
tompptemoncms.conf
, then edit it with your specific configuration details. - Review and adjust
cronjob.sh
for scheduled operations of the director script.
- Ensure you have
- mpptdump: Run the tool from the command line to see real-time data from your VE.direct charger.
- mpptemoncms: Start the tool to continuously read out charger data and send it to your configured emonCMS host.
- Director Script: Automatically runs based on the schedule set in
cronjob.sh
to adjust the Bitcoin miner's power consumption.
- Use with FT232 USB-Serial Converter via
ttyUSB0
. - For native serial interface
ttyAMA0
, insert 2k2 series resistors into Tx and Rx lines for protection before use.
Contributions to enhance the project are welcome. Please follow the standard git workflow for contributions.
This project was enhanced for use at the Chaos Communication Camp in 2023, where I got to present a demand response laundry tumbler thanks to the generous support of fulmo and 21energy.