BTC Heizung

Hi, es geht darum einen Miner z.B. S19 Pro Wassergekühlt als Heizung Zuhause laufen zu lassen und dabei zu minen.
Dafür würde ich den Strom gerne selbst von einem Balkonkraftwerk nutzen ca. 800W
Daher meine Frage ob es Software gibt die den Miner Modulieren kann je nach Strombezug die Rechnenleistung anzupassen?

Sprich wenn das Kraftwerk vom Dach nur 200W hergibt, dass der Miner auch nur 200 W zum Rechnen benutzt.

Das wird mit hoher Wahrscheinlichkeit nicht funktionieren, da der Miner bei zu wenig Strom einfach ausgeht.

Das wird quasi bei fast jeder Wolke passieren. Dazu wird es sich vermutlich niemals auch nur ansatzweise rechnen, den Miner so zu betreiben.

Auch zum Spaß ist es eher unsinnig, da die meiste Heizkraft im Sommer landet.

Leider kenne ich auch keine Software dafür. Der Wechselrichter müsste die Watt in Echtzeit melden, dass man sie abgreifen kann. Die meisten Balkonkraftwerksrichter sind eher auf der günstigen Seite und haben wahrscheinlich keine Schnittstellen, zumindest keine offenen.

Tatsächlich ist es möglich einen Antminer Watt-genau zu drosseln.
Dafür muss man lediglich eine andere Software aufspielen. Ich selber habe es noch nicht verwendet, habe aber schon viel positivies von der Software Braiins OS+ | Autotuning mining firmware gelesen/gehört.
Schau dich da mal um…
:slightly_smiling_face:

Aber wie @GBC richtig schreibt, müsstest du trotzdem noch die aktuelle Leistung deiner PV-Anlage ermitteln, um dann die Firmware automatisiert umzustellen… wirklich einfach ist das nicht (außer man hat das technische knoff-hoff)

@Kirneh Ich kenne dein Balkonkraftwerk nicht. Mein Schwiegervater hat ein Balkonkraftwerk und auf seiner App sieht er die aktuell umgewandelte Leistung. Vielleicht könnte man die App auf einem Raspberry-Pi mit Android laufen lassen, welcher dann die notwendigen Werte aus der App ausliest und via USB-Interface den Antminer umstellt. Sollte eigentlich gehen… es hängt halt viel von der App ab. Wenn die App keine Schnittstellen anbietet, könnte der Raspi Screenshots von der App machen und an der Stelle, wo die aktuelle Leistung steht, eine Zeichenerkennung drüber laufen lassen. Bei Python gibt es sehr einfache neuronale Netzwerke, die sehr einfach zu bedienen sind. Diese lassen sich sehr schnell anlernen und sollten so einfache Zahlen problemlos erkennen.
xD So mal meiner allererste Gedankenschi**

2 „Gefällt mir“

BrainsOS+ hat eine API die das Powertuning zulässt, mehr hier:

Wenn du also evtl. mit einen Raspberry PI die Ausgangsleistung der PV-Anlage misst, dann könntest du mit etwas Code einen leicht darunterliegenden PowerState per API für die Miner setzen (kompatibel mit deinem Antminer ist BrainsOS+).

Was ich nicht herauslesen konnte auf die Schnelle, ob sich über die API auch einzelne Hashboards aktivieren und deaktivieren lassen würden. Mit BrainsOS+ sollten sich allerdings beliebige Intervalle der Leistungsregulierung setzen lassen und diese dynamisch regeln lassen: Dynamic Performance Scaling,

Ich selbst habe keine Progammiererfahrung, aber für jemanden der das hat dürfte das durchaus machbar sein.

Weitere Projekte, die mit BrainsOS+ umgesetzt wurden, sind hier gelistet:
(Braiins Blog | Bitcoin mining company)

Das geht rein logisch nicht. Der Raspi kann nur aufgrund des Stroms und der Spannung die aktuelle Leistungsaufnahme des Abnehmers ermitteln. Er kann nicht(!!) die mögliche Leistungsabgabe der Quelle messen!

Okay. Könnte man nicht indem man die Leistung über brainsOS inkrementell nach oben/unten moduliert, das Delta messen um das die Spannung von der Quelle einbricht/steigt, sodass die Versorgungsspannung möglichst über der Mindestversorgungsspannung des Miners bleibt?

Also eine indirekte Leistungsermittlung & regulierung orientiert an der Reaktion der Spannungsquelle.

Wenn der ganze Aufbau nur mit Gleichspannung funktionieren würde, dann würde es so tatsächlich recht easy funktionieren. Leider sind hier noch ein Wechselrichter und ein Gleichrichter/Trafo mit im Einsatz, was die ganze Sache deutlich komplizierter macht. Ich würde mich hier eher auf die Leistungsdaten der App verlassen - sofern es eine gibt!

Edit: wobei ich ehrlich gesagt glaube, dass hier die BrainsOS einen Strich durch die Rechnung macht… wenn der Antminer in seiner Leistungsaufnahme erhöht oder gerdosselt werden soll, wird mit Sicherheit die Software neustarten! Das ganze geht mit großer Wahrscheinlichkeit nicht On-The-Fly (also während des laufenden Betriebes)

2 „Gefällt mir“

Ja danke an ALLE
Was denkt ihr über die Möglichkeit mehrere kleine Miner zu nehmen 6-8 Stück und dann je nach Leistung die vom Dach kommt, die Miner nacheinander ein oder aus schalten.
Sprich bei 200 W laufen 2 bei 400W laufen 4.
Also ohne Software-.modulation sondern Physikalisch (analog) über einen Spannungsschütz.

Wegen den 100 W Schritten würde dann auch das Takten der einzelnen kleinen Minern etwas begrenzt sein, wobei es hier um ein Modell geht und später eventuell 10KWP eingesetzt werden sollen. Sprich dann Pro Miner 1KW Leistung bei 10 Minern.
Wäre dann ja ne 10 Stufenmodulation.

Warum denn keinen Akku mit einplanen?
Kann man da nicht sogar jede Autobatterie für nehmen?
Irgendwie scheinen mir Lösungen ohne Akku irgendwie unausgegoren.

Könnte aber selbst einen Schnellkurs in Solartechnik gebrauchen.

Was sollen das für Miner sein?
USB-Sticks?^^ Die kannste doch gleich vergessen…

Wie gesagt, diese von außen zu ermitteln, ist quasi nicht möglich! Das geht nur über eine Schnittstelle des Geräts. Von Außen kannst du nur deinen aktuellen verbrauch messen, aber nicht, was maximal möglich wäre.

Ein S19 Pro braucht übrigens 3,2kW… kleine Miner wären da besser geeignet, was aber deutlich zu Lasten der Effizienz geht.
Ich würde mal in den Raum werfen, dass sich bei einem Balkonkraftwerk mit so wenig Gesamtleistung ein derartiges Projekt nicht wirklich lohnt… da ist der Ertrag im Vergleich zum Aufwand zu gering.

Wenn du es jedoch allein zum Lernen aufbauen möchtest, dann go for it! Ich beteilige mich gerne bei den Planungen…

EDIT:
mal als Rechenbeispiel…
Ein Miner der 125W bzw. 200W (Boost-Modus) verbraucht, ist der Futurbit Apollo BTC Miner Serie 4.1. Das Ding kostet aber 900€ und liefert nur 3,2TH/s im Boost-Modus…
Zum Vergleich, ein Antminer S19 Pro liefert bei 1700€ Anschaffungspreis satte 110TH/s… die Kosten für den kleineren Miner sind einfach nicht sinnvoll!
Da lohnt es sich fast mehr, statt mehrerer kleiner Miner noch ein Balkonkraftwerk zu kaufen^^

Tatsächlich ist dies eine durchaus übliche Vorgehensweise… natürlich nicht mit handelsüblichen Autobatterien (das klingt so nach 1990^^)
Hier bieten sich neuere Speicherkonzepte an:
Beispiel https://de.ecoflow.com/pages/balkonkraftwerk

Interessante Aussage. Evtl. komme ich da mal drauf zurück.
Hier in Thailand ist sowas vermutlich effizienter. Wäre aber dennoch ein reines unwirtschaftliches Spaßprojekt.
Evtl. mache ich bei Gelegenheit mal einen Solartechnik Thread auf.

Sonne kostet nichts Gruß:)

Das ist so nicht ganz richtig. Natürlich scheint die Sonne auch, ohne dass wir die Energie nutzen.
Aber um die Energie nutzen zu können, brauchen wir zumindest ein Solarpanel. Das gibt es, Stand heute, nicht gratis :sweat_smile:

Alles hat am Ende irgendwelche Kosten.

Ist etwas komplexer mit braiins.

Diese Api wird z.B. erst ab braiins os => 22.x unterstützt.
Für z.B. S9 Miner gibts aber (aktuell) nichts mehr neueres als 21.x.

Bin mich auch gerade mit dem Thema am beschäfrigen. Bei Interesse gerne melden.

Moin, ich habe auch bei meinem Solar Projekt, was ich nun doch statt mit avanlon Miner, wo ich auch die fernsteuerung der Leistung nicht richtig hinbekommen habe, auf mit Antminer S9 neuen Anlauf versuche, die Sache mit der fehlenden API des Brains OS für S9 festgestellt. Ich habe glaube ich gerade einen Lösungsansatz:
Per SSH verbinden geht auf den S9.
Dann habe ich von dem bosminer, welcher auf dem BrainsOS auf dem Antminer S9 läuft, die Config gefunden: /etc/bosminer.toml
dann habe ich mal darin den Wert psu_power_limit im Config Block der Datei
[autotuning]
enabled = true
psu_power_limit = 400

verändert von z.B. 800 auf 400
anschließend Miner neu starten mit:
starten und killen
/etc/init.d/bosminer stop
/etc/init.d/bosminer start
und dann startet der Miner min der angegebenen Zielleistung neu.

Jetzt der Ansatz, das von einem anderem externen System an den Antminer übergeben per ssh. SSH ist wie gesagt frei und kann im Webinterface auch konfiguriert werden beim Antminer S9
Dann kann man vom externen System, in meinem Fall eine Home Assistant Installation, geht aber auch irgendein Raspberry, wenn man vielleicht mit Fhem arbeitet,
entweder einen Shell Befehl, zum testen auch in der Linux Konsole, vollständig mit den Antminer ssh Verbindungsdaten via Kennwort und dem auszuführenen Linux Befehl auf dem Antminer übergeben, oder vorher noch ssh Keys für Kennwortfreie Verbindung generieren und auf den Antminer übertragen und anschließend das SSH Kommando auch ohne ssh Zugangsdaten absetzen.
Neustart des entfernten S9 Miner von Homeassistant/Raspberry,etc: z.B: via
ssh root@192.168.0.81 „/etc/init.d/bosminer restart“

So habe ich einen Vorschlag, den ich gerade erfolgreich durchgefüht habe, um sozusagen per ssh mich auf Miner zu verbinden, dann in der bosminer.toml den eintrag wo die maximale Leistung in Watt definiert wird zu ändern und dann den miner neuzustarten.:
ssh root@192.168.0.81 „sed -Ei ‚/[autotuning]/,/^$/s/(psu_power_limit *= )./\1350/‘ /etc/bosminer.toml && /etc/init.d/bosminer restart“

In dem Beipiel wird auf 350 (nicht 1350 : * \1: Fügt die erfasste Gruppe 1 wieder ein (also psu_power_limit =).

  • 350: Hängt den neuen Wert direkt an.) gesetzt.

Und wie gesagt, den ssh connect / Befehl kann man vom entfernten System entweder mit SSH Username+Passwort im Klartext automatisiert übergeben (was wohl hier Roman und viele andere nicht gerne sehen ;-) und sshpass installiert sein muss ) z.B.:

sshpass -p „DEIN_PASSWORT“ ssh -o StrictHostKeyChecking=no root@192.168.0.xx „/etc/init.d/bosminer restart“

sshpass -p „DEIN_PASSWORT“ ssh -o StrictHostKeyChecking=no root@192.168.0.xx
„sed -Ei ‚/[autotuning]/,/^$/s/(psu_power_limit *= )./\1350/‘ /etc/bosminer.toml && /etc/init.d/bosminer restart“

Ansonsten bevorzugte Variante (auch mit home assistant getestet) einmalig vorab
ssh-keygen -t rsa -b 2048
Kopiere den öffentlichen SSH-Schlüssel auf den Braiins OS Miner:
ssh-copy-id root@192.168.0.xx
ssh Passwort vom Miner eingeben, um Schlüssel dorthin zu übertragen. Alternativ kann man auch den Schlüssel in den SSH Einstellungen im Webinterface des Braiins OS am Miner hinterlegen statt ihn zu kopieren.
Danach kann man die SSH Kommandos ohne Kennworteingabe von extern auf den Miner übertragen.

Für alle, die das mit Home Assistant nutzen wollen, möchte ich noch beiläufig bemerken, dass ich über HACS die Integration hass-miner installiert habe, die ja technisch beim Verbinden vor den gleichen Herausforderungen steht, dass die Schnittstelle per API mit der alten Braiins Version auf dem S9 Miner nicht wirklich zu gebrauchen ist, aber was damit zumindest auch klappt , ist das Miner starten/Stoppen, was ich nicht hinbekommen habe, seit dem ich mich gestern angefangen habe damit zu beschäftigen. Aber egal. Das wichtige ist ja für mich die Leistung in Echtzeit anzupassen.
Abschließend habe ich auch noch getestet, nach Anpassen der Konfigdatei den Miner auszuschalten (Strom trennen oder poweroff Befehl per SSH Kommando) und zu schauen, ob bei richtigen Neustart und automatischen Mining Beginn beim Neustart eventuell die Konfig überschreiben wird, aber nein, die manuell angepasste Konfig bleibt auch nach Neustart bestehen. Dafür ist für mich das Teil trotz alter Braiins OS Version ohne 2 Wege API noch nutzbar, um Leistungsanpassung in Echtzeit automatisiert vorzunehmen.

1 „Gefällt mir“

Ich habe von Mining keine Ahnung, aber mit einem 800W Balkonkraftwerk hast du leider vor allem in der Heizperiode viel zu wenig Leistung für dein Vorhaben zur Verfügung.
200W im Winter sind utopisch bei 800W-Anlage. Eher so 50-100W.

Weil du hier oft von Leistung Echtzeitanpassung sprichst.

Wäre interessiert, wie „Echtzeit“ ist das wirklich?
Miner Neustart braucht ja auch Zeit und nach Start macht Braiins ja auch noch Training.
Kann man das wirklich vernünftig so „dynamisch“ steuern?

Na ja ohne Akku und mit Braiins OS Versionen niedriger als 23, kann man mit dem S9, der bei Leistungsänderung immer einen Restart macht, keine richtige „Echtzeit“ erreichen.
Also einen sekundengenauen Shelly Stromüberschuss Wert abzufangen und als Zielleistung an den Miner übergeben, ist damit nicht praktikabel.
Mein Ansatz ist das Starten und Stoppen und ggf. auch „hin und wieder“ zwischendurch die Zielleistung zu ändern, lediglich etwas zeitversetzt zu machen: Beispielsweise mit einer Automation, die eben nach x Minuten Überschuss von mindenstens xyz Watt den Miner startet und auch wieder anhält. Somit könnte man zumindest lange Zeiten mit Sonne einigermaßen kompensieren. Das ist auch nicht mehr oder weniger, als vergleichsweise einen Elektroheizstaab zu steuern, den mag ich auch nicht alle paar Sekunden aus und wieder einschalten. Wenn der Miner den Restart nach Leistungsänderung macht, dann dauert das auch nur paar Sekunden plus kurzzeitig den Lärm der Lüfter. Aber zum Lüfter kurzzeitig auf 100 % beim Miner Start, gibt es, wems wichtig auch verschiedene Ansätze das zu unterbinden mit z.B: Lüftersteuerung in Linux. Alles in Allem mit einem alten S9 letztendlich nur ein Preis/Leistung Kompromiss. Neuere Miner mit neueren Braiins OS Versionen können ja scheinbar die Miner pause/Resume funktionen.

Zu dem Parameter in meinem Text möchte ich noch ergänzen, dass sich dieser je nach Braiins OS Version auf dem S9 noch unterschidlich sein kann:

/etc/bosminer.toml # bei installierter Braiins OS 2022-06-20-0-288861e4-22.05-plus

[autotuning]
enabled = true
psu_power_limit = 800

Um die Leistung zu reduzieren, ändere ich den Wert psu_power_limit auf den gewünschten Wert, z. B. 400 Watt:

psu_power_limit = 400

Es gibt von Braiins OS für den S9 Antminer noch eine etwas neuere Version v22.08.1
Mit der neueren Version kann auch statt dem Parameter psu_power_limit folgende Einträge erstellt werden:

[autotuning]
enabled = true
mode = „power_target“
power_target = 500