Installation

clawhub install pietro395/bitaxe-monitor

Summary

Monitor and retrieve status information from Bitaxe Gamma (and compatible) Bitcoin miners via their HTTP API.

SKILL.md

Bitaxe Monitor

Monitor and retrieve status information from Bitaxe Gamma (and compatible) Bitcoin miners via their HTTP API.

Overview

Bitaxe Gamma is an open-source Bitcoin miner based on the BM1370 ASIC. It exposes a REST API at http://<ip>/api/system/info that returns real-time statistics including:

  • Hashrate (current, 1m, 10m, 1h averages)
  • Power consumption and voltage
  • Temperatures (ASIC, voltage regulator)
  • Fan speed and RPM
  • Share statistics (accepted/rejected)
  • Best difficulty found
  • WiFi status and signal strength
  • Pool connection info
  • Uptime and version info

Usage

Use the provided script to fetch and display miner status:

bash
python3 scripts/bitaxe_status.py [ip_address] [--format {json,text}] [--set-ip IP]

IP Configuration

The script looks for the Bitaxe IP in this order:

  1. Command line argument
  2. Config file (~/.config/bitaxe-monitor/config.json)
  3. BITAXE_IP environment variable
  4. Error (if none found)

Saving IP Configuration

Option 1: Save to config file (recommended)

bash
python3 scripts/bitaxe_status.py --set-ip 192.168.1.100

This saves the IP to ~/.config/bitaxe-monitor/config.json.

The config file is stored in a dedicated directory and does not modify your shell profile files.

Option 2: Set environment variable

bash
export BITAXE_IP=192.168.1.100
python3 scripts/bitaxe_status.py

Option 3: Set for a single command

bash
BITAXE_IP=192.168.1.100 python3 scripts/bitaxe_status.py

Checking Status

With IP configured:

bash
python3 scripts/bitaxe_status.py

Override with different IP:

bash
python3 scripts/bitaxe_status.py 192.168.1.105

Get raw JSON data:

bash
python3 scripts/bitaxe_status.py --format json

API Endpoints

The Bitaxe API provides these main endpoints:

  • GET /api/system/info - Complete system status (used by default)
  • GET /api/system/asic - ASIC-specific settings
  • GET /api/system/statistics - Historical statistics (requires data logging enabled)
  • GET /api/system/statistics/dashboard - Dashboard-formatted statistics

Key Status Fields

FieldDescriptionUnit
hashRateCurrent hashrateGH/s
hashRate_1m1-minute averageGH/s
hashRate_10m10-minute averageGH/s
powerPower consumptionWatts
tempASIC temperature°C
vrTempVoltage regulator temp°C
fanspeedFan speed percentage%
fanrpmFan RPMRPM
sharesAcceptedAccepted sharescount
sharesRejectedRejected sharescount
bestDiffBest difficulty foundnumber
wifiRSSIWiFi signal strengthdBm
uptimeSecondsSystem uptimeseconds

Resources

scripts/

  • bitaxe_status.py - Main script to fetch and display Bitaxe status
    • Supports both text (human-readable) and JSON output formats
    • Handles connection errors gracefully
    • Formats key metrics with emoji indicators
    • Reads IP from config file or BITAXE_IP environment variable
    • Saves IP to config file with --set-ip

Configuration

Config File Location

The script stores configuration in:

text
~/.config/bitaxe-monitor/config.json

This directory is created automatically when using --set-ip.

Environment Variables

VariableDescriptionRequired
BITAXE_IPIP address of your Bitaxe minerAlternative to config file

Error Handling

The script handles common errors:

  • Connection failures (wrong IP, device offline)
  • Invalid JSON responses
  • Network timeouts
  • Missing IP (prompts user to configure IP)

Command Reference

CommandDescription
bitaxe_status.pyCheck status using saved configuration
bitaxe_status.py <IP>Check status of specific IP (one-time)
bitaxe_status.py --set-ip <IP>Save IP to config file
bitaxe_status.py --format jsonOutput raw JSON
bitaxe_status.py --format textOutput formatted text (default)

Examples

Quick setup (do once):

bash
python3 scripts/bitaxe_status.py --set-ip 192.168.1.100

Daily usage:

bash
python3 scripts/bitaxe_status.py

Check multiple miners:

bash
python3 scripts/bitaxe_status.py 192.168.1.100
python3 scripts/bitaxe_status.py 192.168.1.101

References

For complete API documentation, see the official Bitaxe wiki: https://osmu.wiki/bitaxe/api/

The OpenAPI specification is available at: https://github.com/bitaxeorg/ESP-Miner/blob/master/main/http_server/openapi.yaml

Recommended skills

Browse all →