Windows-GPU-UNLOCK
RTX3090 UEFI 포트, 한국어 무리셋 윈도우 부팅 가이드, 검증된 소스와 벤치마크 제공
Automatisches Übertakten, Benchmarken und 24/7-Überwachung für Bitaxe- und NerdAxe-Miner – Windows-App und Server für Raspberry Pi, Windows und Docker: Browser, Push (auch für Community-Miner), Protokoll, Sicherung, Home Assistant, E-Paper, Lüfter
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Automatisches Übertakten, Benchmarken und Überwachen für Bitaxe- und NerdAxe-Miner – als Windows-Programm (WPF) und als 24/7-Server für Raspberry Pi, Windows oder Docker mit Browser-Oberfläche. Automatic overclocking & benchmarking for Bitaxe and NerdAxe miners – English README.README 전문 보기 ↗
Automatisches Übertakten, Benchmarken und Überwachen für Bitaxe- und NerdAxe-Miner – als Windows-Programm (WPF) und als 24/7-Server für Raspberry Pi, Windows oder Docker mit Browser-Oberfläche. Automatic overclocking & benchmarking for Bitaxe and NerdAxe miners – English README.
BitaxeTuner erhöht Frequenz und Kernspannung deines Miners Schritt für Schritt, misst jede Kombination (Hashrate, Leistung, Effizienz, Temperaturen, Fehlerrate) und zeigt dir am Ende die beste Einstellung – wahlweise für maximale Hashrate, beste Effizienz (J/TH) oder einen Kompromiss aus beidem. Mehrere Geräte lassen sich parallel testen.
⚠️ Übertakten auf eigenes Risiko. Höhere Frequenz und Spannung erhöhen Leistungsaufnahme und Temperatur und können die Hardware beschädigen. Prüfe, ob Netzteil und Kühlung ausreichen.
Desktop-App, Browser-Oberfläche, Push-Meldungen, Tagesbericht, E-Paper-Anzeige und Home Assistant gibt es auf Deutsch, Englisch, Spanisch, Portugiesisch (Brasilien), Französisch und Niederländisch (ab 0.9.12; die vier neuen Sprachen sind maschinell übersetzt – Verbesserungen von Muttersprachlern gern als Issue oder Pull Request):
sim oder sim:<profil-id> eingeben (z. B. sim:nerdqaxe-plusplus) –
zum Ausprobieren ohne echte Hardware (läuft 30× schneller).history.db (Hashrate, Temperatur, Leistung, Effizienz J/TH).history.db wird einmal kompakt neu geschrieben (geprüft, erst dann getauscht), danach gibt
das Aufräumen leeren Platz laufend zurück.secrets.json.history.db (Tabelle tuning_events)
protokolliert, als Linie in allen Verlaufsdiagrammen markiert und im Tab Vorher/Nachher
(Ø 60 min davor/danach) verglichen.overclockEnabled wird nur gesetzt, wenn der Wert außerhalb der AxeOS-Auswahlliste liegt – mit Hinweis im Dialog.temptarget, NerdQAxe pidTargetTemp; 45 °C bis zur Chip-Grenze des Profils) oder fester Wert ab 20 % – mit Bestätigung
alt → neu und Eintrag im Protokoll.history.db, mindestens 30 Tage – jede
Frequenz-/Spannungsänderung mit Quelle (manuell, Benchmark, Automatik, Wiederherstellung …), Benchmark-Start/-Abbruch,
Dauertests, Automatik/Watchdog, Lüfterregelung (VR und Gehäuse), offline/online, Einstellungen und Server-Ereignisse.
Filter nach Zeitraum, Miner, Kategorie und Text, CSV-Export; läuft nach Neustarts und Updates weiter. Ein Klick auf
einen Eintrag erklärt, was er bedeutet und was du tun kannst.ws://<host>/api/ws) und als Puffer (/api/system/logs), mit Textfilter, Stufen,
Kategorien (Shares, Pool/Stratum, ASIC/Jobs, Temperatur/Lüfter/Strom, System/WLAN – mit Anzahl je Art) und Speichern;
Desktop und Browser gleich.snapshots\, automatisch vor
jedem Benchmark und jeder manuellen Änderung. Wiederherstellen feldweise mit Vorschau alt → neu, Profilgrenzen
werden geprüft, Frequenz/Spannung werden protokolliert. Pool-Passwörter liefert AxeOS nicht aus und bleiben unverändert.Einstellungen → Push-Benachrichtigungen (Desktop und Browser). Mehrere Dienste gleichzeitig sind möglich – z. B. ntfy für dich und Discord für eine Community-Gruppe. Je Dienst wählst du, welche Meldungen (offline, Blockfund, Tagesbericht …) und für welche Miner (alle oder einzelne) er bekommt; „Test“ prüft jeden Dienst einzeln. Ein bisher eingerichteter Dienst wird automatisch als erster übernommen.
| Dienst | Einzutragen |
|---|---|
| ntfy | Server (Standard https://ntfy.sh) und ein schwer zu erratendes Topic; App „ntfy“ auf dem Handy |
| Telegram | Bot-Token (von @BotFather) und Chat-ID |
| Discord | Webhook-URL eines Kanals (Kanal-Einstellungen → Integrationen → Webhooks) |
| Pushover | User-Key und App-Token (pushover.net) |
| Browser/App (ab 0.9.12) | nichts – im Browser Einstellungen → Push → „Dieses Gerät für Push anmelden …“. Meldungen kommen direkt im Browser bzw. in der installierten App an, ohne Fremd-App und Konto. Braucht ein gültiges Zertifikat (HTTPS ohne Warnung, siehe unten) oder localhost; auf dem iPhone/iPad (ab iOS 16.4) die Seite zuerst Teilen → Zum Home-Bildschirm hinzufügen und von dort öffnen. Die Nachricht ist Ende-zu-Ende verschlüsselt (Web Push, RFC 8291/8292); der Push-Dienst des Browsers (Google, Mozilla, Apple) sieht nur verschlüsselte Daten. Beendet der Browser die Anmeldung, schaltet BitaxeTuner das Ziel ab. |
| Eigener Webhook | URL; BitaxeTuner sendet POST mit JSON {"source":"BitaxeTuner","title":…,"message":…,"priority":"high","priorityLevel":4,"time":…} – z. B. an Home Assistant oder n8n |
Meldungsarten je Dienst: offline, Überhitzung, Blockfund/Zufluss, Watchdog/Automatik/Firmware, Rekorde, Log-Alarme, Pool, Smart Plugs, Gesundheit. Dazu Tagesbericht (Ø Hashrate, J/TH, Temperatur, Verfügbarkeit je Miner, Stromkosten, Best-Diff-Rekord, Tuning-Änderungen, lohnende Ratgeber-Vorschläge) und Monatsbericht am Monatsersten. Jede Meldung hat eine Sperrzeit, damit ein wackelnder Miner das Handy nicht flutet.
Tages- und Monatsbericht je Dienst: Hat ein Push-Dienst eine Miner-Auswahl (z. B. eine Community-Gruppe), enthalten die Berichte nur diese Miner – Summen und Kosten nur für sie, Zuflüsse aus dem Steuer-Bereich nie. Je Dienst lassen sich außerdem Stromkosten, Zuflüsse, Empfehlungen des Ratgebers, Best-Diff-Rekord, Tuning-Änderungen und Steckdosen-Details abwählen.
Einstellungen → Strom und Abfrage / Strompreis (Desktop) bzw. Einstellungen → Allgemein / Strompreis-Quelle (Browser):
Einstellungen → Smart Plugs (Desktop und Browser; in der Desktop-App führt auch Smart Plugs … direkt dorthin):
admin) und Passwort; das
Passwort liegt in secrets.json.
admin und Passwort (Tasmota schickt beides
unverschlüsselt im Heimnetz mit).fritz.box), die AIN der Steckdose (steht auf dem
Gerät bzw. in der FRITZ!Box unter Smart Home) und ein FRITZ!Box-Benutzer mit dem Recht Smart Home.Unterstützt: Shelly Gen1 (/status, z. B. Plug S) und Gen2+/Gen3 (RPC Shelly.GetStatus, z. B. Plus Plug S, PM Mini,
Pro EM-50), Tasmota mit Energiemessung (Status 8) und FRITZ!DECT über die AHA-Schnittstelle der FRITZ!Box. Push, wenn ein Plug 5 min nicht antwortet oder der Mehrverbrauch gegenüber der Vorwoche deutlich steigt
(z. B. alterndes Netzteil). Home Assistant bekommt je Plug Leistung und Energie (Energie-Dashboard).
BitaxeTuner schaltet die Plugs nie – auch nicht, wenn der Server selbst am Plug hängt.
Einstellungen → Pool-Konto (Desktop und Browser, im Browser auch Steuer → Pool-Konto): Laufen die Miner bei
Mining-Dutch auf einem Konto und wechselst du dort die Coins (auch automatischer
Profit-Wechsel), trägst du den API-Schlüssel ein (Mining-Dutch: Edit Account → API Key). Er kann am Pool nichts
ändern und liegt in secrets.json. Mindestens alle 10 Minuten fragt BitaxeTuner dann ab (mit Pausen zwischen den
Anfragen, damit der Pool nicht sperrt):
je Miner der Coin, den der Pool gerade gibt, mit Abrechnung (PPS) und Merged Mining – zugeordnet über den
Worker-Namen (Teil hinter dem Punkt im Pool-Benutzer, z. B. konto.werkbank). Zur Solo-Chance zählen sie nur im Modus
SOLO Mining (dann mit dem Coin laut Pool); bei PPS, PROP, PPLNS oder PARTY gehört ein gefundener Block nicht ihnen
allein – die Blockfund-Meldung sagt dazu, wohin die Belohnung geht,
Guthaben je Coin mit Wert, Gutschriften der letzten 24 h / 7 Tage, Auszahlungen der letzten 30 Tage,
Buchungen als Zuflüsse für die Steuer: wahlweise Gutschrift beim Pool (alle Gutschriften eines Coins an einem Tag als ein Zufluss, sobald der Tag vorbei ist – Standard) oder Auszahlung an die Wallet (jede Auszahlung einzeln). Beim Umschalten bleiben von Hand eingetragene Kurse erhalten; welche Sicht gilt, bitte mit der Steuerberatung klären.
Automatischer Umtausch in BTC (ab 0.9.13, Haken im Pool-Konto, Standard an): Bei Gutschrift zählt nur die Mining-Gutschrift als Ertrag; der Umtausch wird als Verkauf des Altcoins erfasst und die BTC dafür als Anschaffung („Tausch“, kein zweiter Ertrag, aber im Bestand für FIFO und Haltefrist). Bei Auszahlung zählen nur die BTC-Auszahlungen an die Wallet.
Weitere Coins (ab 0.9.13): Coins, die der Pool per Profit-Wechsel schürft (z. B. WOJAKCOIN/WJK), werden automatisch erkannt und in der Steuer mit ihrem Kürzel geführt. Ohne CoinGecko-Kurs gilt der Kurs des Pools beim Abruf (in US-Dollar, umgerechnet); er lässt sich von Hand ändern.
Meldungen (ab 0.9.14, Meldungsart Pool, je Push-Dienst abwählbar): jede Auszahlung vom Pool und Worker, die beim Pool keine Shares mehr abgeben, obwohl der Miner läuft (nach zwei Abfragen in Folge); auf Wunsch auch jeder Coin-Wechsel durch den Pool.
Alle je gesehenen Buchungen bleiben in tax\pool-ledger.json (der Pool liefert nur die jüngsten). Wallet-Abfragen über
die Blockchain gibt es weiter nur für BTC und BCH.
Browser Berichte bzw. Desktop Bericht …: Monat oder Jahr wählen. Je Miner Verfügbarkeit, Ø Hashrate, Temperatur,
Leistung, J/TH, kWh und Tuning-Änderungen; dazu Smart-Plug-Energie, Stromkosten (mit Stundenpreisen, wenn eingerichtet)
und Zuflüsse aus dem Steuer-Bereich. Ansehen / Drucken öffnet eine druckbare Seite (im Browser „Als PDF speichern“),
CSV für Excel. Abgeschlossene Monate werden in history.db abgelegt – Jahresberichte funktionieren auch, wenn
ältere Minutenwerte bereinigt sind. Im Steuer-Bereich stehen die Stromkosten je Monat neben den Zuflüssen
(keine Steuerberatung).
Einmal am Tag vergleicht BitaxeTuner je Miner die letzten 7 Tage mit den 4 Wochen davor und meldet nur deutliche Veränderungen (je Hinweis höchstens einmal pro Woche):
| Hinweis | Bedingung |
|---|---|
| Kühlung prüfen | Temperatur je Watt +10 % und mindestens +3 °C |
| Effizienz lässt nach | J/TH +5 % ohne Tuning-Änderung im Vergleichszeitraum |
| Lüfter verliert Drehzahl | Drehzahl je % Ansteuerung −15 % |
| Mehr abgelehnte Shares | mindestens +1 Prozentpunkt und doppelt so viele |
| Häufiger offline | unter 97 % statt vorher ab 99 % |
Die Werte stehen im Browser je Miner im Tab Gesundheit, in der Desktop-App in der Einzelansicht. Lüfter und abgelehnte Shares werden seit 0.7.0 aufgezeichnet – der Vergleich braucht einige Wochen Daten.
| Gerät | ASIC | Board / deviceModel | Firmware |
|---|---|---|---|
| Bitaxe Max | BM1397 | 2.2, 102 | AxeOS |
| Bitaxe Ultra | BM1366 | 0.11, 201–205, 207 | AxeOS |
| Bitaxe Supra | BM1368 | 400–403 | AxeOS |
| Bitaxe Gamma | BM1370 | 600–603 | AxeOS |
| Bitaxe Gamma Duo | 2× BM1370 | 650 | AxeOS |
| Bitaxe GT / Gamma Turbo | 2× BM1370 | 801 | AxeOS |
| Bitaxe Gamma Hex | 6× BM1370 | 1300 | AxeOS (Grenzen vorläufig) |
| Bitaxe Naja Duo | 2× BM1373 | 1201 | AxeOS (Grenzen vorläufig) |
| Bitaxe Hex / SupraHex | 6× BM1366 / BM1368 | 302–303 / 701–702 | AxeOS |
| NerdAxe / NerdAxe Gamma | BM1366 / BM1370 | NerdAxe / NerdAxeGamma | NerdQAxe-Firmware |
| NerdAxe Gaia | BM1373 | NerdAxeGaia | NerdQAxe-Firmware ≥ 1.1.0 |
| NerdQAxe+ / NerdQAxe++ | 4× BM1368 / BM1370 | NerdQAxe+ / NerdQAxe++ | NerdQAxe-Firmware |
| NerdHaxe-γ | 6× BM1370 | NerdHaxe-γ | NerdQAxe-Firmware |
| NerdOctaxe-γ / NerdOctaxe+ | 8× BM1370 / BM1368 | NerdOCTAXE-γ / NerdOCTAXE+ | NerdQAxe-Firmware |
| NerdEKO | 12× BM1370 | NerdEKO | NerdQAxe-Firmware |
| NerdQX | BM1370 | NerdQX | NerdQAxe-Firmware |
| Q1370 / Q1373 | 4× BM1370 / 4× BM1373 | Q1370 / Q1373 | NerdQAxe-Firmware (Grenzen vorläufig) |
Werte laut ESP-Miner main/device_config.h und NerdQAxePlus main/boards/*.cpp (Stand 09/2026); Quelle je Profil
steht in dessen Notiz. Meldet das Gerät Chipanzahl oder Small-Cores selbst, haben diese Angaben Vorrang.
Unbekannte Geräte mit AxeOS-kompatibler API laufen mit einem konservativen generischen Profil.
Alle Profile lassen sich am Desktop über „Profile bearbeiten“ und im Browser unter Einstellungen → Geräteprofile
anpassen, als eigene Kopie anlegen oder auf den eingebauten Stand zurücksetzen (gespeichert in profiles.json im
Datenordner, der vorige Stand bleibt als profiles.json.bak). Grenzen über dem eingebauten Profil werden nur nach einer
Rückfrage mit altem und neuem Wert übernommen; jede Änderung steht im Protokoll.
Beim ersten Start führt „Erste Schritte“ durch das Wichtigste (Miner, Strompreis, Push-Dienst, Sicherung bzw. 24/7-Server) – jeder Schritt hakt sich selbst ab und springt zur passenden Einstellung. Nach einem Update fragt BitaxeTuner einmal, ob du eine kurze Einführung nur in die neuen Funktionen möchtest.
BitaxeTuner-Setup-x.y.z.exe herunterladen.F:\Programme\BitaxeTuner), Installation ohne Adminrechte möglich.BitaxeTuner-x.y.z-portable-win-x64.zip entpacken und BitaxeTuner.exe starten.Es wird keine separate .NET-Installation benötigt.
Die Miner laufen ohne PC weiter – Verlauf, Push-Meldungen, Watchdog, Automatik-Regeln, Dauertests, Benchmarks, Tagesbericht und Steuer-Erfassung aber nur, solange BitaxeTuner läuft. Soll das rund um die Uhr passieren, ohne dass dein PC an ist, installierst du den BitaxeTuner-Server auf einem Gerät, das ohnehin durchläuft:
| Gerät | Paket | Aufwand |
|---|---|---|
| Raspberry Pi 3/4/5, Zero 2 W – fertiges SD-Image | BitaxeTuner-Server-x.y.z-pi-arm64.img.xz | Raspberry Pi Imager |
| Raspberry Pi 3/4/5 (Pi OS 64-bit) | BitaxeTuner-Server-x.y.z-linux-arm64.tar.gz | 2 Befehle |
| Raspberry Pi mit 32-bit-System | …-linux-arm.tar.gz | 2 Befehle |
| Linux-PC / Mini-PC (x64) | …-linux-x64.tar.gz | 2 Befehle |
| Zweiter Windows-PC / Mini-PC | BitaxeTuner-Server-Setup-x.y.z.exe (Windows-Dienst) | Setup |
| NAS / Home-Server mit Docker | ghcr.io/elemirus1996/bitaxetuner-server | docker compose up -d |
Der Server braucht wenig: ca. 100–150 MB RAM, kaum CPU; ein Pi 3B+ reicht. history.db schreibt höchstens einen Datensatz pro Minute und Miner (schont die SD-Karte).
Raspberry Pi – fertiges Image (am einfachsten)
…-pi-arm64.img.xz mit dem Raspberry Pi Imager schreiben („Eigenes Image“). Das Image basiert auf
Raspberry Pi OS Lite (64-bit) und enthält den vorinstallierten Server (kein offizielles Raspberry-Pi-Produkt). Der Imager bietet für eigene Images keine Einstellungen an –
Benutzer, WLAN und SSH trägt die Desktop-App ein (Schritt 2).user-data, network-config, ssh) und ein Einrichtungspaket auf die
Karte (alle Passwörter nur als Hash) und merkt sich Adresse und Token.Selbst bauen: sudo deploy/pi-image/build-image.sh BitaxeTuner-Server-x.y.z-linux-arm64.tar.gz (Linux/WSL; lädt das
offizielle Image und prüft dessen SHA-256). Ersteinrichtungs-Protokoll auf dem Pi: /var/log/bitaxetuner-firstboot.log.
Raspberry Pi / Linux (Paket)
tar xzf BitaxeTuner-Server-x.y.z-linux-arm64.tar.gz
cd bitaxetuner-server && sudo ./install.sh
install.sh legt einen Systembenutzer an, installiert nach /opt/bitaxetuner, Daten nach /var/lib/bitaxetuner
und richtet den systemd-Dienst bitaxetuner ein (Autostart, Neustart bei Absturz). Am Ende zeigt es die Adresse
und den Einrichtungs-Code. Protokoll: journalctl -u bitaxetuner -f. Entfernen: sudo ./install.sh --uninstall
(Daten bleiben) bzw. --purge. Eigene Einstellungen (Port, HTTPS) in /etc/default/bitaxetuner, z. B. BITAXETUNER_PORT=8484.
Windows (zweiter PC): BitaxeTuner-Server-Setup-x.y.z.exe ausführen. Es richtet den Dienst „BitaxeTuner“
(Autostart, Neustart bei Fehler) und eine Firewall-Regel nur für private Netzwerke ein. Daten:
C:\ProgramData\BitaxeTuner, Einrichtungs-Code in SETUP-CODE.txt dort. Der Ordner ist nur für
SYSTEM und Administratoren lesbar (Zugangsdaten); den Code also z. B. mit dem Editor „Als Administrator“ öffnen.
Docker: deploy/docker/docker-compose.yml herunterladen, docker compose up -d,
Einrichtungs-Code mit docker compose logs bitaxetuner. Daten im Volume /data.
Einrichten: Im Browser https://<IP>:8484/ öffnen (ab 0.9.4 starten neue Installationen verschlüsselt; die Warnung
wegen des selbst signierten Zertifikats einmal bestätigen), Einrichtungs-Code eingeben und ein Admin-Passwort festlegen.
Danach unter Einstellungen Geräte, Push-Dienst usw. einrichten – oder die Daten vom PC übertragen (siehe unten).
Ein Raspberry Pi Pico (2) per USB am Server regelt bis zu sechs 4-Pin-PWM-Lüfter (5 V oder 12 V): je Miner einen
VR-Lüfter (manuell oder automatisch nach VR-Temperatur) und eine Gehäuse-Gruppe (nach VR-, ASIC- oder
Temperaturfühlern). Mehrere DS18B20 (z. B. Netzteil, Miner-Raum) werden automatisch erkannt und bekommen
je einen Namen und eine eigene Warnschwelle. Optional zeigt ein 7,5"-E-Paper (rot/schwarz/weiß) die wichtigsten Werte,
vier Taster: Anzeige weiter/quittieren · Lüfter Automatik · 100 % (5 s halten: Lüfter aus) ·
Neustart Pi + Pico (3 s halten).
Das Pico-Programm spielt der Server selbst auf. Sicherheit: Miner offline oder Daten älter als 30 s → 100 %;
Pico ohne Befehl für 5 s → 100 %; ohne Pico läuft jeder Lüfter über die Schaltung mit voller Drehzahl.
Das E-Paper zeigt Seiten im Wechsel (Übersicht, Tagesbilanz – wahlweise mit Graph –, Verlauf 24 h, Dauertest,
Pool & Netzwerk; ab 0.9.7 außerdem je Miner-Gruppe, Monatsbilanz mit Balken je Tag, Kurs BTC/BCH mit Difficulty-Countdown,
Strompreis-Ampel, Temperaturfühler und QR-Code zur Oberfläche; Farben auf Wunsch umgekehrt) und
Sonderanzeigen als Vollbild: Blockfund (wählbar: bis Taste 1 oder nach einstellbaren Stunden, oder wie die Warnungen nur mit Taste 1), Warnungen (bis quittiert, neue Warnung zeigt
wieder), Best-Diff-Rekord (einmal) – alles einzeln schaltbar. Einstellungen und Vorschau jeder Seite:
Browser → Lüfter & Anzeige. Schaltplan, Steckbrett-Aufbau ohne Löten und Einkaufsliste
stehen in der Bauanleitung
docs/pico-luefter (Quelle: docs/pico-luefter/index.html).
Ohne Löten und ohne Steckbrett: die fertig bestückbare Lüfterplatine für den Pico 2 H mit Bestelldateien für JLCPCB
liegt in hardware/lueftersteuerung-v1 (Prototyp v1.0, vor dem Dauerbetrieb durchmessen).
Ab 0.9.11: Seite Neuigkeiten (Solo-Blockfunde, neue Firmware und Miner-Modelle, Difficulty-Anpassungen, BitaxeTuner-Versionen – gesammelt alle 6 Stunden von einer GitHub Action, der Server holt nur diese öffentliche Datei) und mehrere Anzeigen: bis zu acht weitere E-Paper mit eigenem Display-Pico, eigenen Seiten, eigenem Intervall und auf Wunsch nur für eine Miner-Gruppe. Das Pico-Programm 8 hat einen Hardware-Watchdog: hängt es, startet der Pico neu, die Lüfter laufen dabei mit 100 %.
Ab 0.9.12: Die Rolle des Pico (Lüfter oder Display) lässt sich auch ohne WLAN direkt per USB festlegen. Pico-Programm 8.1 wartet bei stummer BUSY-Leitung fest statt abzubrechen und meldet Neustart-Grund und Fehler ins Protokoll; 8.2 wertet die Tasten des Waveshare-Moduls aus (KEY0 Anzeige weiter, KEY1 sofort neu zeichnen, 3 s halten = Neustart).
Ohne Kabel zum Server (ab 0.9.7): Mit einem Pico 2 WH laufen Lüftersteuerung und Anzeige über WLAN – als Lüfter-Pico auf der Platine und/oder als Display-Pico, der einfach auf das Waveshare-E-Paper gesteckt wird. Einmal per USB am Server unter Lüfter & Anzeige → „… für WLAN einrichten“ vorbereiten, danach an ein eigenes Netzteil. Jede Zeile ist mit einem eigenen Schlüssel signiert, das WLAN-Passwort liegt nur auf dem Pico, der Ausfallschutz (100 %) bleibt. Anleitung: Pico über WLAN.
Einstellungen → Prometheus / Grafana (Browser): Export einschalten und ein Token erzeugen (wird nur einmal angezeigt).
Der Server liefert dann unter /metrics Hashrate, Soll-Hashrate, Leistung, Effizienz, Chip- und VR-Temperatur,
Frequenz, Spannung, Lüfter, Shares, Best Diff und Laufzeit je Miner, dazu Summen, Strompreis, Kosten pro Tag,
Smart Plugs, Zusatzlüfter und Temperaturfühler – ohne IP- und Wallet-Adressen. In prometheus.yml das Token als
bearer_token eintragen (Beispiel steht in der Oberfläche). Standardmäßig aus; ohne gültiges Token gibt es nichts.
Einstellungen → Home Assistant / MQTT (Browser): Broker-Adresse (z. B. das Mosquitto-Add-on von Home Assistant),
Benutzer, Passwort. BitaxeTuner sendet Hashrate, Leistung, Effizienz, Temperaturen, Frequenz/Spannung (nur lesend),
Best Diff, Dauertest, Zusatzlüfter, Temperaturfühler und Smart Plugs (Leistung, Energie fürs Energie-Dashboard,
Leistung an der Steckdose gesamt); Home Assistant legt je Miner und für den Server automatisch
Geräte an (MQTT-Discovery, Verfügbarkeit per Last Will). Aus Home Assistant schaltbar: „Anzeige aktualisieren“ und –
nur wenn freigegeben – der Zusatzlüfter-Modus (Automatik / 100 % / Aus). Frequenz und Spannung lassen sich über
MQTT nicht ändern. Das Passwort liegt getrennt in secrets.json und geht nie in Sicherungen oder Übertragungen.
Einmal täglich (Standard ab 3 Uhr) sichert BitaxeTuner Einstellungen, Verlauf (history.db), Steuerdaten, Benchmark-Ergebnisse und Miner-Sicherungen als geprüftes Archiv (SHA-256 je Datei, integrity_check, vor dem Ablegen einmal vollständig entpackt und geprüft). Ziele unter Einstellungen → Sicherung (Browser):
auto-backups, immer; Standard: die letzten 7),/media/bitaxetuner-usb eingebunden; auf einem bereits eingerichteten Pi einmalig
sudo sh /opt/bitaxetuner/current/install.sh --system ausführen,secrets.json, nie in Sicherungen),Dokumente\BitaxeTuner-Sicherungen). Nach dem ersten Verbinden fragt sie einmal danach; später oben
unter Sicherungen ▾ (jetzt holen, Ordner öffnen) bzw. Betriebsart ….Alte Sicherungen werden je Ziel aufgeräumt (nur eigene Dateien). Fehler kommen als Push-Meldung.
Vor jedem Server-Update entsteht automatisch eine geprüfte Sicherung auf allen eingerichteten Zielen (Datenordner, USB-Stick, NAS); schlägt sie fehl, wird nichts installiert. Mit „Sicherung vorher auf diesen PC herunterladen“ (Standard: an) lädt der Browser sie zusätzlich herunter – in der Desktop-App direkt in den Sicherungsordner der App.
Die Desktop-App im lokalen Betrieb sichert genauso täglich in ihren Datenordner (auto-backups); unter
Einstellungen → Sicherung kommt ein zweiter Ordner dazu (USB-Stick, zweite Festplatte oder NAS-Freigabe wie
\\nas\backup\BitaxeTuner), dazu „Jetzt sichern“ und „Sicherungsordner öffnen“.
Jede Sicherung wird vor dem Einspielen vollständig entpackt und geprüft; eine beschädigte Datei wird abgelehnt, ohne
dass sich etwas ändert. Der bisherige Stand bleibt als Ordner backup-<Datum> im Datenordner erhalten – ein
Einspielen lässt sich also rückgängig machen. Eingespielt werden Einstellungen, Geräte, Verlauf, Steuerdaten,
Benchmark-Ergebnisse und Miner-Sicherungen. Nicht verändert werden: Admin-Passwort und API-Tokens (die Desktop-App
bleibt verbunden), Sicherungsziele, MQTT, gespeicherte Passwörter und die Miner selbst (deren Einstellungen spielst du
bei Bedarf je Gerät unter Sicherungen zurück).
| Situation | So geht's |
|---|---|
| Server läuft, alter Stand gewünscht | Browser → Einstellungen → Sicherung → bei der Sicherung Einspielen … |
| SD-Karte/Server defekt | Neu aufsetzen (Pi-Image bzw. Installer), Admin-Passwort festlegen, dann Einstellungen → Sicherung → Hochladen und einspielen … mit der Datei vom USB-Stick, NAS oder PC (Dokumente\BitaxeTuner-Sicherungen) – oder in der Desktop-App Sicherungen ▾ → Sicherung auf den Server einspielen … |
| Desktop-App ohne Server | Einstellungen → Sicherung → Sicherung einspielen …; die App startet neu und spielt die Sicherung dabei ein |
Sicherungsdateien heißen bitaxetuner-backup-JJJJMMTT-HHMMSS.zip und sind zwischen Desktop-App und Server austauschbar.
| Desktop-App (lokal) | Server (Browser, Handy) | Desktop-App mit Server | |
|---|---|---|---|
| Läuft rund um die Uhr, ohne dass der PC an ist | – | ✓ | ✓ (der Server) |
| Bedienung | Windows-Fenster | Browser auf PC, Handy, Tablet | Windows-Fenster mit der Server-Oberfläche |
| Überwachung, Verlauf, Push, Tagesbericht | ✓ | ✓ | ✓ |
| Benchmark, Dauertest, Automatik, Watchdog | ✓ | ✓ | ✓ |
| Miner-Suche, Einstellungen übertragen | ✓ | ✓ | ✓ |
| Smart Plugs, Stromkosten, Monats-/Jahresbericht | ✓ | ✓ | ✓ |
| Gesundheits-Frühwarnung | ✓ (Push, Einzelansicht) | ✓ (Push, Tab Gesundheit) | ✓ |
| Vergleich mit Filtern, Vorher/Nachher, Effizienz-Ratgeber | Vergleich | ✓ | ✓ |
| Home Assistant / MQTT | – | ✓ | ✓ |
Prometheus / Grafana (/metrics) | – | ✓ | ✓ |
| Pico-Lüfter, E-Paper, Taster | – | ✓ | ✓ |
| Steuer: Zuflüsse erfassen | ✓ (solange der PC läuft) | ✓ rund um die Uhr | ✓ |
| Steuer: Wallets und Verkäufe bearbeiten | ✓ | ✓ im Browser (ab 0.9.6) | ✓ im Browser (ab 0.9.6) |
| Sicherung | täglich, zweiter Ordner/USB/NAS | täglich, USB-Stick, NAS |
Umsteigen geht jederzeit in beide Richtungen mit allen Daten (siehe Umstieg und Rückweg).
…/#/kiosk öffnen. Ohne Server: Handy-Ansicht der Desktop-App mit ?kiosk=1.
Kiosk-Designer: mehrere Designs mit Farbvorlagen oder eigenen Farben, Schriftgröße, Animationen (Werte zählen hoch,
Warnungen pulsieren, Einblenden, bewegter Hintergrund, Leuchten) und frei angeordneten Panels (Titel, Uhr, Kennzahlen,
Warnungen, Miner, Verlauf, Lüfter, Fühler, eigener Text) per Ziehen und Ablegen – je Kiosk-Link ein eigenes Design.Die Browser-Oberfläche des Servers lässt sich als App installieren – eigenes Symbol, Vollbild, Push direkt aufs Gerät, ohne App-Store und ohne Konto. Am einfachsten: im Benutzermenü oben rechts „Als App installieren …“ – BitaxeTuner öffnet dann den Installationsdialog des Browsers oder zeigt die passenden Schritte.
Die Oberfläche kommt immer frisch vom Server (nur ohne Netz die zuletzt geladene Fassung) – nach einem Update gibt es also nie eine veraltete App.
Betriebsart … in der Desktop-App:
config.json, history.db, Steuerdaten, Benchmark-
Ergebnisse und Sicherungen einmalig an den Server. Geprüft wird alles (SHA-256 je Datei, integrity_check,
Zeilenzahlen). Hat der Server schon Daten, wird nachgefragt und er sichert seinen Stand vorher (backup-…).
Deine lokalen Daten bleiben unverändert.BITAXETUNER_HTTPS=1 bzw. =0.meinminer.duckdns.org), bestätigt per DNS-01 – kein offener Port im Router,
der Server bleibt im Heimnetz. Der DuckDNS-Eintrag zeigt auf die Heimnetz-Adresse, erneuert wird automatisch 30 Tage vor
Ablauf, das Token liegt nur in secrets.json. Per Name kommt das Let's-Encrypt-Zertifikat, per IP weiter das selbst
signierte – die Desktop-App funktioniert mit beidem. Erst mit Testzertifikat ausprobieren; bei der FRITZ!Box den Namen
im DNS-Rebind-Schutz freigeben. Eigener ACME-Client ohne Fremdbibliothek./opt/bitaxetuner/versions). Windows: stilles Setup, der Dienst startet neu.
Docker: docker compose pull && docker compose up -d. Jede Datei wird gegen die veröffentlichte SHA-256-Prüfsumme geprüft;
ab 0.9.4 muss die Prüfsummenliste außerdem mit dem Release-Schlüssel des Projekts signiert sein (SHA256SUMS.txt.sig),
sonst installieren Desktop-App und Server nichts.Desktop-App im Modus „Server“: Ein Knopf oben („Update vX: Server + App“) aktualisiert beides nacheinander – geprüfte Sicherung auf den PC, Server-Update (der Server sichert zusätzlich auf USB/NAS), Warten auf den Neustart mit der neuen Version, danach die App. Schlägt ein Schritt fehl, wird nicht weitergemacht.
Alle Daten liegen in einem Ordner, Standard %AppData%\BitaxeMonitor\ (bisheriger BitaxeMonitor-Ordner):
config.json (Geräte und alle Einstellungen), history.db (Verlauf, Tuning-Ereignisse, Dauertests, Smart-Plug-Werte,
Strompreise, Monatsberichte, Frühwarnung), tax\*.json, tuning\results\*.json, tuning\profiles.json und
secrets.json (Passwörter für NAS, MQTT und Smart Plugs – unter Windows verschlüsselt, unter Linux nur für den
Dienst lesbar, nie in Sicherungen oder Übertragungen). Auch Tokens und API-Schlüssel (Push-Dienste, Tibber, Blockchair,
CoinGecko, Pool-Konto, Server-Token der Desktop-App) liegen dort; config.json enthält nur einen Verweis. Sicherungen enthalten sie
daher nicht – nach dem Einspielen auf einem anderen Rechner einmal neu eintragen. Übertragungen (Desktop ↔ Server,
Pi-Einrichtung) nehmen die Tokens mit.
backup-<datum>\ gesichert (history.db über die SQLite-Backup-API).%LocalAppData%\BitaxeTuner) werden einmalig
kopiert – nie verschoben, nie überschrieben.crash.log im Datenordner.Läuft der alte BitaxeMonitor noch, warnt das Programm beim Start (sonst doppelte Abfragen und Schreibzugriffe).
GET /api/system/info, GET /api/system/asic, PATCH /api/system (frequency, coreVoltage),
POST /api/system/restart – siehe ESP-Miner und
ESP-Miner-NerdQAxePlus.expectedHashrate bzw. Frequenz × Small-Cores × Chips) verglichen.
Stabil = mindestens 94 % der Soll-Hashrate und Fehlerrate unter dem Limit.Voraussetzungen: .NET 8 SDK, optional Inno Setup 6 (wird von build.ps1 bei Bedarf per winget installiert).
dotnet test # Tests
dotnet run --project src/BitaxeTuner.App
.\build.ps1 # Tests + Desktop (Exe, ZIP, Setup) + Server (Linux-Pakete, Windows-Setup) in .\artifacts
dotnet run --project src/BitaxeTuner.Server -- --data .\serverdaten --port 8484
docker build -f deploy/docker/Dockerfile -t bitaxetuner-server .
Ein Release entsteht automatisch per GitHub Actions, sobald ein Tag v* gepusht wird (git tag v0.1.0 && git push --tags).
src/BitaxeTuner.Core API-Client, Geräteprofile, Benchmark-Engine, Simulator, Speicherung, I18n (Texte DE/EN),
Host/MinerHub (der Motor: Abfrage, Verlauf, Meldungen, Watchdog, Automatik, Benchmarks),
Transfer (Datenübertragung, Server-Client)
src/BitaxeTuner.App WPF-Oberfläche (MVVM) – Betriebsart „Lokal“ (Motor im Prozess) oder „Server“
src/BitaxeTuner.Server ASP.NET-Core-Dienst: Motor + REST-API /api/v1 + Live-Ereignisse + Browser-Oberfläche (wwwroot)
deploy/ install.sh + systemd-Unit (Linux/Pi), Dockerfile + docker-compose.yml
tests/ xUnit-Tests (Engine, Hub, Server-API, Datenübertragung, Übersetzungen)
installer/ Inno-Setup-Skripte (Desktop, Server-Dienst)
The full English documentation is in README.en.md; the program itself is available in English (desktop: Settings → Language, browser: EN button). Website: elemirus1996.github.io/BitaxeTuner/en/.
SHA256SUMS.txt im Release) prüfen.SHA256SUMS.txt ist mit ECDSA P-256 signiert (SHA256SUMS.txt.sig, Base64). Die
öffentlichen Schlüssel stehen in src/BitaxeTuner.Core/Update/ReleaseSignature.cs;
die eingebauten Updates prüfen die Signatur vor jeder Installation. Alle GitHub Actions sind auf feste Commits gepinnt.
Ab 0.9.10 signiert ein eigener Schritt in der geschützten GitHub-Umgebung „release“, erst nach Freigabe durch den
Projektinhaber; der Dateiname in der signierten Liste muss zur angekündigten Version passen (kein Unterschieben eines
alten Pakets als neue Version).Copyright © 2026 BitaxeTuner contributors. Lizenz: GNU GPL v3.0 – siehe LICENSE.
Den Quelltext zu jeder veröffentlichten Version gibt es in diesem Repository (Tag vX.Y.Z bzw. „Source code“ auf der
Release-Seite). Enthaltene Komponenten anderer Urheber (u. a. .NET, SQLite, ImageSharp, SMBLibrary, MQTTnet,
QRCoder, DejaVu-Schriften, Lucide-Symbol, WebView2-SDK, Inno Setup) und Hinweise zum Raspberry-Pi- und Docker-Image: THIRD-PARTY-NOTICES.txt.
LICENSE und THIRD-PARTY-NOTICES.txt liegen jedem Paket bei.
| dazu tägliche Kopie auf den PC |
| Handy-Zugriff | nur ansehen (PIN) | voll (Admin) oder nur ansehen (PIN) | wie Server |
| Raspberry Pi vorbereiten, SSH-Terminal | ✓ | – | ✓ |