Skip to content

MVP: Optimization, weather, habits & hashrates

Pre-release
Pre-release
Compare
Choose a tag to compare
@mj-xmr mj-xmr released this 29 May 05:13
· 168 commits to master since this release
909cc9d

First release and an MVP

The 1st release concludes the 1st milestone described in the original description, plus a few very important features from the @endorxmr 's 2nd milestone, that also nears completition.

This together means, that except for the stub of the hashrate's seasonality, all the major components, that deal with physical properties of the system are being simulated and optimized. Additionally, the system helps in further leveraging the current hashrate situation, using Mean Reversion strategy, to further boost the collected hashes per unit of energy used for mining. The hashrate bonuses are a result of @endorxmr 's work, and my post-processing of what his module delivers. The post-processing is being done by tsqsim. Many further improvements can be still done on this front and this is what tsqsim is about: squeezing more from the publicly available data, that still is able to give you advantage over the careless type of competitors :)
Collectively, scooping the hashes this way also improves and stabilizes the network's security.

As far as the 1st milestone deals with optimization of collecting hashes while preventing battery's over-/undervoltage, the 2nd milestone will deal with profitability of the same act, measured in FIAT currency terms. Please note however, that this will be only a derivative of the collected hashes, and can thus be treated just as an additional layer for a User, who is dedicated to mine Monero and assumes being rewarded in FIAT later, at a higher price anyway.

Major achievements

As a starter, please see the Screenshots section. The individual achievements will be explained below. Here are the quickstart instructions, if you'd like to play around with the release.

Weather predictions

The output of a PV system is greatly influenced by weather conditions. The simulation takes this into account and whenever a cloudy weather is predicted, the system behaves much more conservatively.

Optimization

The optimizer is able to deliver multiple solutions and presents the User the one, which achieves the best score, measured by the sum of collected hashes. Whenever in a given solution the battery would be over-/undervolted, such solution becomes penalized and will thus not be taken into account. The horizon of such optimization is set to 4 by default but can be increased up to 8 days.
Obviously the longer the horizon, the poorer the weather predictions shall become. However, nothing prevents you from rerunning the simulation again with a state (battery charge) achieved in future, in order to correct any mistakes done earlier.

Extra documentation

I felt like I needed to let it all out, what I exactly think about safety and economy of the operation we're dealing with. Please see this section, if you like a quick blog-like read.

Habits

As explained in the economy article, many times it will make sense to rather use the electricity for domestic purposes, as the reward is immediate and without any competition. This is especially valid, if your PV system is of a tiny size. The habits configuration allows you to declare your predictable habits and mine when only these higher-priority needs (as defined by you), are satisfied and there's still enough power stored for mining.

Mining rig definition

Very related to habits are the mining rig definitions, with the difference, that they are assumed to be able to be started and switched off by the system on demand. More information can be obtained in this section.

Modeling solar arrays

Before even spending a dime, you might want to make a good plan how many panels to buy and where to place them. You might want to resist the mainstream idea of placing every panel with the same azimuth of 180° (exactly south) and tilt of 45°, for more diversification stabilizes your output across the day or even the whole year. The following section explains how to perform such experiments.

Console UI (almost done)

There's a console UI in works, whose prototype you may already execute with the src/ui_curses_menu.py script. In the future we'll present a GUI version of the UI, using exactly the same menu definitions, to avoid duplication, which are stored here.

What's Changed

New Contributors

Full Changelog: https://github.com/mj-xmr/SolOptXMR/commits/v0.1-beta