SolOptXMR: (half a) milestone 3: Vendor independent measurements

SolOptXMR: (half a) milestone 3: Vendor independent measurements

SolOptXMR is a project fully funded by the CCS. For those who don't know it yet, here's a brief description:

The goal is to create open-source software that aids people mining Monero with excess solar power (as well as other supplementing renewables) in the most profitable way. It will accommodate for issues such as:

  • Time of day
  • Weather fluctuations
  • Opportunistic scooping during network difficulty reductions
  • Avoiding depleting batteries below a threshold, that would damage them
  • Avoiding overheating of the mining rig
  • Leaving enough power for your daily use

In this article, I'd like to present my part of the Milestone 3: The vendor independent measurements. We agreed with u/endorxmr, that he'd introduce more user-friendly version of measuring hardware at the cost of potential vendor lock-in. For this reason, I swore to provide a workaround, that's equally functional, yet requires a bit more effort to setup and is less exciting for some maybe.

Here are the release notes of the tag, that represents my complete part of this milestone. I'll very briefly describe the advancements and provide screenshots, that are shown in the release notes only under hyperlinks.

Below is a copy-paste of the intro section from the release notes:

"This pre-release is one step before being able to automate the act of switching the mining on and off. It deals with supplying all the necessary measurements, yet still without the "Home Assistant" hardware, but rather the bare metal ones. It automates the part of acquiring the initial battery state – the only part that had to be supplied by hand to perform the simulation. Moreover, by adding a few more parameters to the battery.json, described in the configuration documentation, the required conversions from voltage to charge percentage are being performed."

And now for some screenshots:

Voltage modelling

Voltage modelling allows to convert the non-linear voltage readouts to linear % of charge, that simplifies the calculations.

Voltage to State of Charge at discharge

Voltage to State of Charge at charge


Playground, borrowed and adapted from an external project, where you interactively find the optimal parameters to be able to fix them in your own OCR module:

OCR playground

Other examples of supported images

"passive" LCD display

Backlit LCD display

Low quality picture from a cheap webcam, yet still being able to deliver the battery state (directly)

The whole OCR story wouldn't be possible without the GasPumpOCR project, that I extended on my fork. Since I'm not a leech, I contributed 3 stability patches so far to the upstream project.


Please keep in mind, that I'll most probably separate my part of the milestone on the CCS to receive my part of the payment for the already completed work. This means, that I'd ask you to treat this article as material for a community review.


submitted by /u/mjxmr
[link] [comments]

Leave a Reply

Your email address will not be published. Required fields are marked *