Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Introduction

Welcome to the Exergy Documentation - your guide to the soverign smart building - maximzing efficiency and monetizing heat.

What is Exergy?

Exergy provides hardware, software, and services that make it easy to integrate bitcoin miners into building heating and solar systems. Our solutions connect:

  • Bitcoin Mining Hardware - Devices that convert electricity into heat & money
  • Smart Home Control Brains - Self-hosted, sovereign home servers that marry together miners, power generation, heating systems and more via IoT management software
  • Open Source Code - Applications, integrations, automations, and dashboards that marry bitcoin miners to your smart building control, with endlessly customizable automations and dashboards

Documentation Structure

SectionDescription
DIYBuild your own soverign system with Exergy integrations, blueprints, and templates
ReferenceReference specifications, troubleshooting, and FAQ

Getting Help

If you need assistance:

  • Review the documentation FAQ
  • Ask the community on our Support Forum
  • Contact Exergy for product and service inquiries

DIY Overview

The core piece of a sovereign smart home is a physical computer (home brain) that lives in your building, running 24/7 to manage all smart devices.

Hashrate heaters, small desktop bitcoin miners, thermostats, lights, alarms, blinds, etc… are all smart devices that need to connect to the home brain to talk to one another and operate as a cohesive system.

This section walks through our open-source documentation on how to build and run your own self-hosted smart home brain, integrate bitcoin miners and hashrate heaters into the broader home IoT network, and build automations and dashboards that help you take advantage of hashrate heating.

Why DIY?

  • Learn - Understand, inspect and verify every component of your system
  • Customize - Build exactly what you need, nothing more
  • Save - Use hardware you already own
  • Self-sovereign - No reliance on any specific vendor or service provider

Sovereign Smart Home Brains

1. Home Assistant

Home Assistant OS (HAOS) is a minimalistic, embedded operating system optimized for running the Home Assistant smart home platform, providing a robust, maintenance-free environment for local automation on devices like single-board computers or dedicated hardware.

SectionDescription
Build Your Own HA BrainBuild and set up your Home Assistant smart device control brain on various hardware systems
HA IntegrationsUse Exergy integration applications to connect bitcoin miners and more to your smart home
HA BlueprintsAutomation templates that define when things run, what they connect to, and more
HA DashboardsVisualize your sovereign smart home and control everything remotely

Home Assistant DIY Overview

Step 1: Set Up Home Assistant

Raspberry Pi

  • Build the required hardware and install Home Assistant. Complete the setup and configure get your home brain ready for hashrate heating.

Exergy Home Assistant Documentation for StartOS and Umbrel servers coming soon.

Step 2: Set Up Hashrate Heating Hardware
  • Choose your favorite bitcoin mining heater (Avalon Mini 3, Avalon Q, or Nano 3s), follow the initial device setup and connect it to your local network.
Step 3: Add Integrations

Exergy HA Integrations

  • Install the Exergy integrations (like applications on HA) to easily connect and manage your hashrate heaters in your soverign smart home, with real time control and data read outs.
Step 4: Configure Automations

Exergy HA Automation Blueprints

  • Use our blueprints as a starting point, or build your own automations from scratch. Tie together heat, thermostats, miners, temperature sensors, timing, and more.
Step 5: Build Your Dashboard

Exergy HA Dashboard Templates

  • Create a control interface using our templates or design your own. Visualize everything at a glance and control from anywhere.

GitHub

Find all open-source Exergy code on our Github:

github.com/exergyheat

Contributing

We welcome contributions:

  • Bug reports and fixes
  • New automation blueprints
  • Dashboard improvements
  • Documentation updates

See individual GitHub repositories for contribution guidelines.

Community

Home Assistant

Home Assistant is a free, open-source home automation platform that puts local control and privacy first. It’s an excellent foundation for hashrate heating and monetizing solar. Custom Exergy integrations enable bitcoin miners to easily become IoT devices that can interact with and be controled via a smart home interface.

Why Home Assistant?

Self-Hosted & Sovereign

  • Runs on your hardware - No cloud dependency
  • Your data stays local - Privacy by design
  • No subscriptions - One-time hardware cost, free software
  • Works offline - Internet outage doesn’t break your local device control

Powerful Automation

  • Create complex rules without coding
  • Trigger actions based on temperature, time, energy prices, and more
  • Combine multiple devices into unified control—not locked into any device ecosystem

Massive Ecosystem

  • 2,000+ integrations available
  • Works with virtually any smart home device—now including bitcoin miners
  • Active community with constant improvements—not reliant on Exergy for everything

What You’ll Find in This Section

This documentation covers running Home Assistant with Exergy integrations bitcoin mining and hashrate heating:

Learn More About Home Assistant

For deeper Home Assistant knowledge beyond hashrate heating:

Build Your Own Home Assistant Brain

Build or purchase your own Home Assistant controller to serve as the brain in your sovereign smart home.

Platform Options

PlatformBest ForGuide
Raspberry PiMost DIYers, dedicated HA device with a few extra featuresFull guide
StartOSSovereign focused home server with advanced networkingComing soon
UmbrelSovereign focused home serverComing soon

What You’ll End Up With

Raspberry Pi + Home Assistant OS

Best for: Dedicated HA device

This is the path our product kits use. You’ll end up with essentially the same system we sell, but built yourself.

Raspberry Pi Guide →

StartOS Server + Home Assistant (Container)

Best for: Users who want HA alongside their Bitcoin node and other StartOS services

Run Home Assistant in a container as a service on StartOS, integrated with your sovereign computing stack.

StartOS Guide → coming soon

Umbrel Server + Home Assistant (Container)

Best for: Users who want HA alongside their Bitcoin node and other Umbrel services

Run Home Assistant in a container as an application on Umbrel, integrated with your sovereign computing stack.

Umbrel Guide → coming soon

Where to Buy

  • Exergy Dedicated Home Assistant kits for Exergy systems
  • Home Assistant Plug and play Home Assistant brains
  • Start9 Labs Robust Bitcoin native home servers with advanced security and privacy
  • Umbrel Bitcoin native home servers with a focus on simplicity

Other Platforms

Home Assistant runs on many platforms:

  • Docker on any Linux system
  • Virtual machine on Windows/Mac
  • Old laptops or mini PCs
  • Proxmox, TrueNAS, Synology…

The Exergy integrations work on any Home Assistant installation. Our guides focus on common paths, but the concepts apply anywhere.

See the official Home Assistant installation guide for all options.

Raspberry Pi + Home Assistant

Build a Home Assistant controller on Raspberry Pi - the same platform used in Exergy kits.

Guide Overview

This guide walks you through building a Raspberry Pi-based Home Assistant “brain” - a small home server that controls your bitcoin mining heaters and monitors your home environment.

The guide is split into two parts:

  1. Hardware Setup - Assembling your Raspberry Pi and components
  2. System Configuration - Installing and configuring Home Assistant OS

Before diving into those tutorials, review this page to understand what you’ll need and why.


Required Components

ComponentDescription
Raspberry Pi 5A small single-board computer that runs Home Assistant OS. This is the “brain” of your smart home system. 4GB or 8GB RAM models both work.
Power SupplyPowers the Raspberry Pi. Use the official 27W USB-C power supply - inadequate power causes instability and crashes.
NVMe M.2 SSDWhere your data is stored. Home Assistant writes sensor data frequently, so solid-state storage is essential. 128GB-256GB recommended.
NVMe Expansion HATAn add-on board that connects the NVMe SSD to the Raspberry Pi. Required since the Pi doesn’t have a built-in M.2 slot.
Case with Cooling FanKeeps the Pi cool and quiet. Active cooling (a fan) is recommended since the Pi 5 runs warm under load.
Ethernet CableCat5e or better. Required for initial setup.

Optional Components

ComponentDescription
Zigbee CoordinatorA USB or radio-to-pi_hat antenna that listens for Zigbee radio signals (not WiFi). Enables communication with Zigbee sensors and devices like temperature sensors. Recommended to minimize Wi-Fi connected devices in the home and increase stability.

For Installing Home Assistant OS

You’ll need one of the following setups to flash Home Assistant OS onto your NVMe SSD. See System Configuration for details on each method.

Option A: Network Installer (Recommended)

ComponentDescription
HDMI CableTo connect Pi to a display. Some cases/expansion boards include full-size HDMI ports; otherwise you’ll need a Micro-HDMI to HDMI cable or adapter.
Monitor or TVAny display with HDMI input to see the installer GUI.
USB KeyboardTo navigate the Network Installer menus.

Option B: Raspberry Pi Imager

ComponentDescription
NVMe-to-USB AdapterAllows you to connect your NVMe SSD to a computer for flashing before installing it in the Pi case.
ComputerMac, Windows, or Linux computer to run Raspberry Pi Imager.

Important: Don’t Use MicroSD Cards

The Raspberry Pi has a microSD card slot, and Home Assistant OS can run from an SD card. However, this is not recommended.

Home Assistant continuously writes sensor data, logs, and database updates. This constant read/write activity wears out microSD cards quickly - often within months. When the card fails, you lose your configuration and automation history.

Always use an NVMe SSD for reliable, long-term operation. It’s faster and will last years instead of months.


Network Requirements

For initial setup: You must connect via Ethernet cable. Home Assistant OS needs a wired connection for first-time configuration.

After setup: You can switch to WiFi through Home Assistant settings if preferred.


Where to Buy Components

Here’s our Recommended Setup

ComponentRecommended ProductsWhere to Buy
Raspberry Pi 5 (8GB)Raspberry Pi 5Amazon, Micro Center, PiShop
Power SupplyOfficial 27W USB-CAmazon, Micro Center, PiShop
NVMe SSDSamsung 970 EVO Plus, WD Blue SN570Amazon, Micro Center, Newegg
NVMe Expansion Card + CaseArgon ONE V5 NVMe BaseAmazon
Zigbee CoordinatorArgon Industria / SonoffAmazon (Works With Argon One V5 Case Only), Amazon

Tools Needed

If you purchased a complete Raspberry Pi kit designed for Home Assistant, you likely have everything ready to assemble.

If you’re sourcing components separately, you may need:

  • Small Phillips screwdriver - For mounting the Pi in the case and attaching the NVMe HAT
  • Thermal paste or thermal pads - Often included with cases, but verify before assembly

Next Steps

Ready to build? Start with Hardware Setup to assemble your components. Just need to configure Home Assistant OS? Start with System Configuration to get things dialed in.

Hardware Setup

This guide walks through physically assembling and connecting your Raspberry Pi hardware in preparation for installing Home Assistant OS.

If you haven’t gathered your components yet, see Raspberry Pi + Home Assistant for the full list of required and optional hardware.


Pre-Assembled Brain

If you purchased a pre-assembled Raspberry Pi Home Assistant brain (or already have yours built), skip to Step 2: Connect to Ethernet.


Step 1: Assemble Your Hardware

There are many Raspberry Pi cases, NVMe expansion boards, and cooling solutions available. Assembly varies by kit, so follow the instructions that came with your specific components.

General assembly typically involves:

  1. Install the NVMe SSD into your expansion HAT or case’s M.2 slot
  2. Mount the Raspberry Pi into the case or onto the expansion board
  3. Attach cooling - install heatsinks, thermal pads, or connect the cooling fan
  4. Close the case and secure any screws

Tip: If your case includes a Zigbee module (like the Argon ONE V5 with Industria), install it now per the manufacturer’s instructions. USB Zigbee dongles can be plugged in later.


Step 2: Connect to Ethernet

Plug an Ethernet cable into:

  • The Ethernet port on your Raspberry Pi
  • An available port on your router or network switch

Ethernet is required for the initial Home Assistant setup. You can switch to WiFi later if needed.


Step 3: Connect Power

Plug the power supply into your Raspberry Pi.

Ensure your power supply is switched on if it has a switch.

The device will likely boot automatically - Many raspberry pi cases have no power button. If your case has a power button, press it once. You’ll see indicator lights come on, and the fan (if equipped) will spin up.

Wait 2-3 minutes for the initial boot to complete before proceeding.


Next Steps

Your hardware is ready. Continue to System Configuration to install and set up Home Assistant OS.

System Configuration

This guide walks through installing Home Assistant OS on your Raspberry Pi and configuring it for Exergy integrations.

Prerequisites:


Step 1: Flash Home Assistant OS

There are two methods to install Home Assistant OS on your NVMe SSD. Choose the one that fits your setup.

This method uses the Raspberry Pi’s built-in Network Installer. It’s simpler if you have a display and keyboard available.

What you need:

  • HDMI cable (some cases have full-size HDMI ports; otherwise use Micro-HDMI to HDMI)
  • Monitor or TV with HDMI input
  • USB keyboard
  • Ethernet connected to your router

Steps:

  1. Connect display and keyboard

    • Plug HDMI cable into your Pi and monitor/TV
    • Connect USB keyboard to Pi
    • Ensure Ethernet is connected
  2. Power on the Pi

    • If your NVMe SSD is blank (no OS installed), the Pi will automatically boot into the Network Installer
    • You’ll see the Raspberry Pi logo, then the installer interface
  3. Select Home Assistant OS

    • Use the keyboard to navigate the installer menu
    • Select Other specific-purpose OS
    • Select Home assistants
    • Select Home Assistant OS
    • Choose the version for your Pi model (e.g., Pi 5)
  4. Select your NVMe drive

    • Choose your NVMe SSD as the installation target
    • Confirm the selection
  5. Wait for installation

    • The installer will download and flash Home Assistant OS
    • This may take 5-15 minutes depending on your internet speed
  6. Reboot

    • Once complete, the Pi will reboot automatically
    • You can disconnect the HDMI and keyboard after this

Method B: Raspberry Pi Imager (Alternative)

This method flashes the NVMe SSD from your computer before installing it in the Pi case. Use this if you don’t have a display/keyboard, or prefer to flash beforehand.

What you need:

  • NVMe-to-USB adapter/enclosure
  • Computer (Mac, Windows, or Linux)

Steps:

  1. Connect NVMe to your computer

    • Insert the NVMe SSD into your USB adapter
    • Connect the adapter to your computer
  2. Download Raspberry Pi Imager

  3. Open Raspberry Pi Imager

  4. Select your device

    • Click Choose Device
    • Select your Raspberry Pi model (e.g., Raspberry Pi 5)
  5. Select the operating system

    • Click Choose OS
    • Select Other specific-purpose OS
    • Select Home assistants
    • Select Home Assistant OS
    • Choose the correct variant for your Pi
  6. Select storage

    • Click Choose Storage
    • Select your NVMe SSD (be careful to select the correct drive!)
  7. Write the image

    • Click Next
    • When asked to customize settings, select No (Home Assistant handles this)
    • Click Yes to confirm
    • Wait for the write and verification to complete
  8. Install the NVMe in your Pi

    • Safely eject the drive from your computer
    • Install the NVMe SSD into your Pi case/HAT
    • Connect Ethernet and power

Step 2: First Boot

After flashing, the first boot takes longer than normal. Home Assistant needs to:

  • Resize partitions to use the full SSD
  • Download and install updates
  • Initialize the database

Wait 10-20 minutes before attempting to access Home Assistant. The Pi’s activity LED will flash during this process.


Step 3: Access Home Assistant

Once the first boot is complete, you can access Home Assistant in several ways.

Option A: Home Assistant Companion App (Mobile)

  1. Download the Home Assistant app:

  2. Open the app and tap Continue

  3. The app will automatically search for Home Assistant instances on your network

  4. Select your Home Assistant when it appears

  1. Open a web browser on any device connected to the same network

  2. Navigate to: http://homeassistant.local:8123

  3. If that doesn’t work, try the IP address method below

Option C: IP Address (Fallback)

If homeassistant.local doesn’t resolve on your network:

  1. Find your Pi’s IP address using one of these methods:

    • Check your router’s admin panel for connected devices
    • Use a network scanner app like Fing (mobile) or Advanced IP Scanner (Windows)
    • Look for a device named “homeassistant” or the Pi’s MAC address
  2. Navigate to: http://[IP_ADDRESS]:8123

    • Example: http://192.168.1.100:8123

Step 4: Account Setup

When you first access Home Assistant, you’ll see the onboarding wizard.

1. Welcome Screen

Click Create my smart home to begin setup.

Welcome screen

2. Create Your Account

Enter your name, choose a username, and create a strong password. This is the main administrator account - keep these credentials safe.

Create user account

3. Set Your Home Location

Give your home a name, search for your location on the map, and set your timezone, unit system, and currency. Location is used for weather and sunrise/sunset automations.

Home location setup

4. Privacy Settings

Choose what anonymous data to share with Home Assistant analytics. All options are optional - you can leave them all off if you prefer.

Privacy settings

5. Discovered Devices

Home Assistant may find devices on your network. You can skip this for now - we’ll add Exergy integrations later. Click Finish.

Discovered devices

6. You’re In!

You’re now in the Home Assistant dashboard. From here, you can explore the interface before proceeding to install HACS.

Home Assistant dashboard


Step 5: Install HACS

HACS (Home Assistant Community Store) is required for installing Exergy custom integrations. HACS is not included with Home Assistant by default.

Prerequisites

Before installing HACS:

  • Home Assistant version 2024.4.1 or newer (Settings → About to check)
  • A GitHub account (free) - Sign up at github.com
  • Stable internet connection

Install the Get HACS Add-on

  1. Open the add-on repository link

    • Click this link from your Home Assistant browser session: Add HACS Repository
    • Or manually: Go to Settings → Add-ons → Add-on Store (three dots menu) → Repositories → Add: https://github.com/hacs/addons
  2. Install the Get HACS add-on

    • In the Add-on Store, search for Get HACS
    • Click on it, then click Install
  3. Start the add-on

    • After installation, click Start
    • Click the Log tab to see the output
    • Follow any instructions shown in the log
  4. Restart Home Assistant

    • Go to Settings → System → Restart
    • Click Restart and wait for Home Assistant to come back online

Configure HACS

  1. Add the HACS integration

    • Go to Settings → Devices & Services
    • Click + Add Integration (bottom right)
    • Search for HACS and select it
    • If HACS doesn’t appear, clear your browser cache and try again
  2. Accept the terms

    • Read and check all the acknowledgment boxes
    • Click Submit
  3. Authenticate with GitHub

    • You’ll see a device code (e.g., ABCD-1234)
    • Click the link or go to: github.com/login/device
    • Sign in to GitHub if needed
    • Enter the device code
    • Click Authorize HACS
  4. Complete setup

    • Back in Home Assistant, the setup will complete automatically
    • Assign HACS to an area if desired
    • Click Finish

HACS is now installed. You’ll see it in the sidebar menu.


Next Steps

Your Home Assistant is configured and ready for Exergy integrations.

Continue to Exergy HA Integrations to connect your bitcoin miners.

Home Assistant Integrations

Integrations are how Home Assistant connects to your devices. Every smart device in your home - thermostats, lights, security cameras, and now bitcoin miners - uses its own platform or protocol. Integrations bring them all together into one system.

What Are Integrations?

Your smart thermostat has its own app. Your lights have another. Your security system has a third. Each device lives in its own silo with its own interface.

Home Assistant integrations solve this by acting as connectors. Each integration:

  • Discovers or connects to a specific device or service
  • Creates entities (sensors, switches, controls) you can use in Home Assistant
  • Keeps data in sync between the device and Home Assistant

Integrations handle the connection. Once your devices are connected, automations handle the smart logic (when to turn things on, what triggers what), and dashboards provide your control interface.

Official vs Custom Integrations

Official Integrations

Home Assistant includes over 2,000 official integrations out of the box. These are:

  • Built into Home Assistant core
  • Maintained by Home Assistant team or Meet Home Assistant team criterea for offical integrations
  • Configured through Settings → Devices & Services

Common examples: Google Cast, Philips Hue, MQTT, Zigbee (ZHA), weather services.

Custom Integrations (HACS)

HACS (Home Assistant Community Store) extends Home Assistant with community-developed integrations not included in the core.

  • Community-built - Developers create integrations for devices not officially supported
  • Easy installation - HACS provides a store-like interface for discovery and updates
  • Where Exergy integrations currently live - Our bitcoin miner integrations are available through HACS

To use custom integrations, you first install HACS, documented here, then browse and install the integrations you need.

Common Integrations

People add integrations for all their smart devices:

CategoryExamples
ClimateNest, Ecobee, Honeywell thermostats
LightingPhilips Hue, Lutron, LIFX
SecurityRing, Arlo, Wyze cameras
MediaSonos, Roku, Apple TV
EnergySense, Emporia, utility meters
ProtocolsZigbee (ZHA), Z-Wave, Matter
WeatherOpenWeatherMap, Met.no, NWS

Browse all official integrations at home-assistant.io/integrations.

Browse all custom HACS integrations on the HACS Github.

Exergy Integrations

We built integrations to bring bitcoin miners into the smart home ecosystem. Connect, control, and monitor your home mining hardware just like any other IoT device.

Miner Integrations

IntegrationPurpose
Canaan Avalon HomeControl & monitor Canaan Avalon miners (Mini 3, Q, Nano 3s)
BitaxeMonitor & control Bitaxe open-source miners
StealthMiner / LuxOSMonitor & control miners with LuxOS firmware

Pool & Infrastructure Integrations

IntegrationPurpose
Ocean Mining PoolMonitor Ocean pool earnings and statistics
Public PoolMonitor self-hosted Public Pool instances
DATUM GatewayMonitor DATUM Gateway block template proxy

See a full list of Exergy Integrations here:

Index of Exergy’s Home Assistant Integrations

GitHub

All Exergy integrations are open source:

github.com/exergyheat

Contributions welcome—bug reports, feature requests, and code contributions.

Canaan Avalon Home - Exergy Home Assistant Integration

This integration connects Canaan Avalon home miners to Home Assistant, giving you full control and monitoring through the same interface you use for your other smart home devices.

What This Integration Does

Once installed, your miner becomes a controllable device in Home Assistant with:

  • Power control - Turn your miner on and off
  • Operating modes - Switch between Heating, Mining, and Night modes
  • Performance levels - Toggle between Eco and Super
  • Real-time monitoring - Temperatures, hashrate, power consumption, fan speeds
  • Automation support - Control your miner based on temperature, time, electricity rates, or any trigger

Supported Hardware

MinerHashrateHeat OutputBest For
Avalon Mini 3~37 TH/s~2,900 BTU/hrSingle room heating
Avalon Q~90 TH/s~5,100 BTU/hrLarger spaces, HVAC integration
Avalon Nano 3s~6 TH/s~500 BTU/hrDesktop/office warming

Click each model for detailed specifications, available sensors, and control options.

Installation

Prerequisites

  • Home Assistant with HACS installed - HACS is the Home Assistant Community Store where custom integrations are distributed. See our system configuration guide if you need to install it.
  • Miner on the same network - Your miner and Home Assistant need to communicate over your local network.
  • Miner’s IP address - See Finding Your Miner’s IP Address below.

Step 1: Install via HACS

  1. Open Home Assistant
  2. Navigate to HACS → Integrations
  3. Click + Explore & Download Repositories
  4. Search for “Exergy Canaan”
  5. Click Download
  6. Restart Home Assistant

Step 2: Add Your Miner

  1. Go to Settings → Devices & Services
  2. Click + Add Integration
  3. Search for “Exergy Canaan”

Search for Exergy Canaan integration

  1. Enter your miner’s IP address and click Submit

Add IP Address

  1. Configure your miner’s connection settings:

Configure Miner

SettingDefaultDescription
NameHow this miner appears in Home Assistant
Port4028CGMiner API port. Leave at default unless you’ve changed it on the miner.
Scan Interval15 secHow often Home Assistant polls the miner for updates
  1. Give your device a friendly name (like “Upstairs Office Heater”) and optionally assign it to an area.

Device Created

Step 3: Verify

Open the device page to see all available entities:

Device Interface

You should see:

  • Controls - Power switch, work mode selector, work level selector
  • Sensors - Temperatures, hashrate, power, fan speed, device state
  • Buttons - Manual update, reboot

Finding Your Miner’s IP Address

Method 1: Router Admin Panel

  1. Log into your router’s admin interface
  2. Look for “Connected Devices” or “DHCP Leases”
  3. Find the device named “Avalon” or similar
  4. Note the IP address

Method 2: Avalon Home App

  1. Open the Avalon Home app
  2. Connect to your miner
  3. Find IP address in device settings

Method 3: Network Scanner

Use a network scanning app:

  • Fing (iOS/Android)
  • Advanced IP Scanner (Windows)
  • nmap (Linux/Mac)

Tip: Set a static IP or DHCP reservation for your miner to prevent the address from changing.

Multiple Miners

Add each miner separately through the integration setup. Each appears as its own device with distinct entities. Name them to distinguish locations (e.g., “Office Mini 3” vs “Basement Mini 3”).

What’s Next?

Learn Your Miner’s Capabilities

Set Up Automated Heating

Build a Dashboard

Troubleshooting

Integration not finding miner

  1. Verify miner is powered on and connected to network
  2. Confirm IP address is correct
  3. Try accessing miner’s web interface directly (http://[IP_ADDRESS])
  4. Check that HA and miner are on the same network/VLAN

Entities showing “Unavailable”

  1. Ping the miner’s IP to confirm it’s online
  2. Reload the integration: Settings → Devices & Services → Exergy Canaan → ⋮ → Reload
  3. Check Home Assistant logs for error messages

Slow updates

  • Default scan interval is 15 seconds
  • Commands execute within a few seconds
  • If persistently slow, check network connectivity

Source Code & Support

Canaan Avalon Mini 3 in Home Assistant

The Avalon Mini 3 is a compact bitcoin miner designed for home heating applications, producing ~2,900 BTU/hr at full power.

Before You Start

Two steps before adding this miner to Home Assistant:

  1. Set up your miner with the Avalon Home App - Configure WiFi and get your miner’s IP address. Download from Canaan.

  2. Install the Exergy Canaan integration - Follow the Canaan Avalon Home Integration guide to install via HACS and add your miner.

Once both are complete, your Mini 3 will appear in Home Assistant with the sensors and controls below.

Specifications

SpecValue
Hashrate (Super)~37 TH/s
Hashrate (Eco)~28 TH/s
Power (Super)~850W
Power (Eco)~450W
Heat Output (Super)~2,900 BTU/hr
Heat Output (Eco)~1,536 BTU/hr
Noise Level~50 dB (Eco mode)
Dimensions300 x 140 x 195mm
Weight~5.5 kg

Work Modes

The Mini 3 supports three operating modes:

Heating Mode

  • Optimized for heat output
  • Full fan speed for maximum air circulation
  • Consistent hashrate
  • Turns off at the temperature limit set in the Avalon Home App

Mining Mode

  • Optimized for hashrate/efficiency
  • Standard operation
  • Operates independent of temperature limit

Night Mode

  • Reduced noise operation
  • Lower fan speeds
  • Reduced hashrate and heat output
  • Turns off miner display screen

Work Levels

Eco

  • Reduced power consumption (~450W)
  • Lower heat output (~1,536 BTU/hr)
  • Quieter operation
  • Lower hashrate (~28 TH/s)

Super

  • Maximum performance
  • Full power consumption (~850W)
  • Maximum heat output (~2,900 BTU/hr)
  • Highest hashrate (~37 TH/s)

Home Assistant Entities

Sensors

SensorEntity ExampleDescription
Ambient Temperaturesensor.avalon_mini_3_ambient_temperatureIntake air temp
Output Temperaturesensor.avalon_mini_3_output_temperatureExhaust air temp
Hashboard Temperaturesensor.avalon_mini_3_hash_board_temperatureInternal chip temp
Hashratesensor.avalon_mini_3_hashrateCurrent TH/s
Powersensor.avalon_mini_3_powerCurrent wattage
Fan Speedsensor.avalon_mini_3_fan_speedFan RPM %
Device Statesensor.avalon_mini_3_stateOperating status (Idle/Initializing/Working/Fault)
Work Levelsensor.avalon_mini_3_work_levelCurrent level (Super/Eco)
Work Modesensor.avalon_mini_3_work_modeCurrent mode (Mining/Heating/Night)
WiFi Signalsensor.avalon_mini_3_wifi_signalWiFi signal strength (disabled by default)

Note: The WiFi Signal sensor is disabled by default. Enable it via Settings > Devices & Services > Exergy Canaan > [device] > Entities and click the disabled entity to enable.

Controls

ControlEntity ExampleOptions
Powerswitch.avalon_mini_3_powerOn/Off
Work Modeselect.avalon_mini_3_work_modeHeating, Mining, Night
Work Levelselect.avalon_mini_3_work_levelEco, Super
Updatebutton.avalon_mini_3_updateTrigger manual sensor update
Rebootbutton.avalon_mini_3_rebootTrigger reboot

Mini 3 in Home Assistant

Heating Capacity

The Mini 3 produces approximately 2,900 BTU/hr at full power, comparable to a medium-sized space heater.

Suitable for:

  • Single room heating (200-400 sq ft)
  • Supplemental heating in larger spaces
  • Home office or bedroom

Not suitable for:

  • Whole-home heating (single unit)
  • Spaces requiring silent operation

What’s Next?

Automate Your Heating

Build a Dashboard

Canaan Avalon Q in Home Assistant

The Avalon Q is a higher-performance bitcoin miner suitable for larger heating applications, producing ~5,630 BTU/hr at full power.

Before You Start

Two steps before adding this miner to Home Assistant:

  1. Set up your miner with the Avalon Home App - Configure WiFi or ethernet and get your miner’s IP address. Download from Canaan.

  2. Install the Exergy Canaan integration - Follow the Canaan Avalon Home Integration guide to install via HACS and add your miner.

Once both are complete, your Avalon Q will appear in Home Assistant with the sensors and controls below.

Specifications

SpecValue
Hashrate~90 TH/s (varies by level)
Power~1,650W
Heat Output~5,630 BTU/hr
Noise Level~65 dB
Dimensions400 x 200 x 290mm
Weight~12 kg

Work Levels

The Avalon Q supports three performance levels:

Super

  • ~1,700W power consumption
  • Maximum heat output
  • Full fan speed
  • Highest hashrate

Standard

  • ~1,300W power consumption
  • Balanced performance
  • Slightly reduced fan speed
  • Medium hashrate

Eco

  • ~800W power consumption
  • Reduced noise
  • Lower fan speeds
  • Lower hashrate and heat output

Home Assistant Entities

Sensors

SensorEntity ExampleDescription
Ambient Temperaturesensor.avalon_q_ambient_temperatureIntake air temp
Output Temperaturesensor.avalon_q_output_temperatureExhaust air temp
Hashboard Temperaturesensor.avalon_q_hash_board_temperatureInternal chip temp
Hashratesensor.avalon_q_hashrateCurrent TH/s
Powersensor.avalon_q_powerCurrent wattage
Fan Speedsensor.avalon_q_fan_speedFan RPM %
Device Statesensor.avalon_q_stateOperating status
WiFi Signalsensor.avalon_q_wifi_signalWiFi signal strength (disabled by default)

Note: The WiFi Signal sensor is disabled by default. Enable it via Settings > Devices & Services > Exergy Canaan > [device] > Entities and click the disabled entity to enable.

Controls

ControlEntity ExampleOptions
Powerswitch.avalon_q_powerOn/Off
Work Levelselect.avalon_q_work_levelEco, Standard, Super
Rebootbutton.avalon_q_rebootTrigger reboot

Avalon Q in Home Assistant

Heating Capacity

The Avalon Q produces approximately 5,630 BTU/hr at full power, comparable to a large space heater or small HVAC system.

Suitable for:

  • Large room heating (400-800 sq ft)
  • Basement or garage heating
  • HVAC duct integration

Considerations:

  • Requires 15A dedicated circuit
  • Higher noise level than Mini 3
  • Significant heat output

HVAC Integration

The Avalon Q is well-suited for integration with existing HVAC systems:

  • Output can be ducted into supply plenum
  • Acts as “Stage 1” heating with fossil fuel as “Stage 2”
  • Requires proper airflow management

See HVAC Integrated Thermostat Control for automation setup and HVAC Dashboard for a matching interface.

What’s Next?

Automate Your Heating

Build a Dashboard

Canaan Avalon Nano 3s in Home Assistant

The Avalon Nano 3s is a compact, low-power bitcoin miner designed for desktop or small space heating, producing ~500 BTU/hr.

Before You Start

Two steps before adding this miner to Home Assistant:

  1. Set up your miner with the Avalon Home App - Configure WiFi and get your miner’s IP address. Download from Canaan.

  2. Install the Exergy Canaan integration - Follow the Canaan Avalon Home Integration guide to install via HACS and add your miner.

Once both are complete, your Nano 3s will appear in Home Assistant with the sensors and controls below.

Specifications

SpecValue
Hashrate~6 TH/s (varies by mode)
Power~150W
Heat Output~500 BTU/hr
Noise Level~40 dB
Dimensions150 x 100 x 100mm
Weight~1 kg

Work Modes

The Nano 3s supports three operating modes:

High

  • Maximum performance
  • Standard fan operation
  • Highest heat output

Mid

  • Balanced performance
  • Standard operation

Low

  • Reduced noise
  • Lower fan speeds
  • Reduced hashrate

Home Assistant Entities

Sensors

SensorEntity ExampleDescription
Temperaturesensor.avalon_nano_3s_temperatureDevice temperature
Hashratesensor.avalon_nano_3s_hashrateCurrent TH/s
Powersensor.avalon_nano_3s_powerCurrent wattage
Device Statesensor.avalon_nano_3s_stateOperating status
WiFi Signalsensor.avalon_nano_3s_wifi_signalWiFi signal strength (disabled by default)

Note: The WiFi Signal sensor is disabled by default. Enable it via Settings > Devices & Services > Exergy Canaan > [device] > Entities and click the disabled entity to enable.

Controls

ControlEntity ExampleOptions
Work Modeselect.avalon_nano_3s_work_modeHigh, Medium, Low
Light Controllight.avalon_nano_3s_ledLED color selection
Light Effectslight.avalon_nano_3s_led_effectOff, On, Flash, Breath, Loop
Rebootbutton.avalon_nano_3s_rebootTrigger reboot

Note: The Nano 3s API doesn’t support power on/off control. We recommend pairing it with a smart outlet (WiFi or Zigbee) if you need remote power control.

Nano 3s in Home Assistant

Nano 3s LED Controls

Heating Capacity

The Nano 3s produces approximately 500 BTU/hr, similar to a small personal space heater.

Suitable for:

  • Desktop/workspace warming
  • Small enclosed spaces
  • Supplemental heat source
  • Learning/educational setups

Not suitable for:

  • Room heating (output too low)
  • Primary heating source

Use Cases

Personal Space Heater

  • Place under desk or near workspace
  • Low noise suitable for office environment
  • Warms immediate area

Entry-Level Mining

  • Low power requirements (standard outlet)
  • Quiet operation
  • Learn bitcoin mining basics

Multiple Unit Setups

  • Combine several Nano units for distributed heating
  • Each unit independently controlled

Electrical Requirements

The Nano 3s has minimal power requirements:

  • Standard 120V outlet
  • ~1.5A draw
  • No dedicated circuit needed
  • Can share circuit with other devices

What’s Next?

Add Power Control

The Nano 3s API doesn’t support power on/off. To enable automation, pair with a smart outlet (WiFi or Zigbee) and use the outlet switch in place of a miner power switch in automations.

Automate Your Miner

Build a Dashboard

Ocean Mining Pool - Exergy Home Assistant Integration

Monitor your Ocean mining pool earnings and statistics directly in Home Assistant.

Before You Start

Before installing this integration:

  1. Home Assistant with HACS installed - This is a custom integration distributed via HACS. See our system configuration guide if you need to set up Home Assistant and HACS.

  2. Already mining to Ocean - Your miners must be configured to mine to Ocean pool. The integration pulls data from Ocean’s API based on your wallet address.

  3. Your Ocean wallet address - The bitcoin address you configured in your miner’s pool settings.

What is Ocean?

Ocean is a bitcoin mining pool focused on decentralization and transparency. Key features:

  • Transparent - Block template selection visible (or build your own with DATUM)
  • No KYC - Privacy-respecting
  • TIDES payout - Fair reward distribution (similar to PPLNS)

Integration Features

The Exergy Ocean integration provides:

Sensors

SensorDescription
Mining Account Hashrate (60s)Current hashrate (60-second average) in TH/s
Mining Account Hashrate (300s)Current hashrate (300-second average) in TH/s
Mining Account Shares (60s)Shares submitted in last 60 seconds
Mining Account Shares (300s)Shares submitted in last 300 seconds
Mining Account Shares in TidesTotal shares in TIDES
Mining Account Estimated Earnings Next BlockEstimated BTC earnings for next block
Mining Account Estimated Bonus Next BlockEstimated bonus BTC for next block
Mining Account Estimated Total Earnings Next BlockTotal estimated earnings for next block
Mining Account Estimated Payout Next BlockEstimated payout for next block
Mining Account Unpaid BalanceUnpaid BTC balance
Mining Account Unpaid Balance USDUnpaid balance converted to USD (requires sensor.exchange_rate_1_btc)
Mining Account Last Share TimestampTimestamp of last submitted share
Mining Account Active WorkersCount of currently active workers
Mining Account Lifetime EarningsTotal lifetime BTC earnings (scraped from website)

Worker Specific Sensors

Workers are automatically discovered - if you have 3 workers, you’ll get sensors and binary sensors for each. Each worker appears as its own device under the main mining account device. For each worker detected, the following entities are created dynamically:

SensorDescription
{worker_name} Hashrate (60s)Worker’s hashrate (60-second average) in TH/s
{worker_name} Hashrate (300s)Worker’s hashrate (300-second average) in TH/s
{worker_name} Last ShareTimestamp of worker’s last submitted share
{worker_name} Estimated Earnings Next BlockWorker’s estimated BTC earnings for next block
{worker_name} Lifetime EarningsWorker’s total lifetime BTC earnings (scraped from website)

Worker Binary Sensors

Binary SensorDescription
{worker_name} OnlineWorker online/offline status (on = connected, off = disconnected)

Note: Entity IDs are automatically generated based on your wallet address. Find your actual entity IDs at Settings > Devices & Services > Exergy Ocean > [your device].

Installation

Step 1: Install via HACS

  1. Open Home Assistant
  2. Navigate to HACS → Integrations
  3. Click + Explore & Download Repositories
  4. Search for “Exergy Ocean”
  5. Click Download
  6. Restart Home Assistant

Step 2: Add Integration

  1. Go to Settings → Devices & Services
  2. Click + Add Integration
  3. Search for “Exergy Ocean”
  4. Enter your Ocean wallet address
  5. Click Submit

Step 3: Verify

The integration creates sensors for your mining statistics. Check the device page to see all available entities.

Dashboard Integration

Display your mining earnings alongside miner status:

type: entities
title: Mining Stats
entities:
  # Entity IDs vary based on your wallet address
  # Find yours at Settings → Devices & Services → Exergy Ocean
  - entity: sensor.ocean_mining_account_hashrate_60s
    name: My Hashrate
  - entity: sensor.ocean_mining_account_estimated_earnings_next_block
    name: Est. Earnings
  - entity: sensor.ocean_mining_account_unpaid_balance
    name: Unpaid Balance

Automation Ideas

Low Hashrate Alert

Notify when your pool hashrate drops (indicates miner issues):

automation:
  - alias: "Low hashrate alert"
    trigger:
      - platform: numeric_state
        entity_id: sensor.ocean_hashrate_24h
        below: 30  # TH/s threshold
        for:
          hours: 2
    action:
      - service: notify.mobile_app
        data:
          message: "Mining hashrate dropped below threshold"

Daily Earnings Summary

Send a daily summary of mining earnings:

automation:
  - alias: "Daily mining summary"
    trigger:
      - platform: time
        at: "20:00:00"
    action:
      - service: notify.mobile_app
        data:
          message: >
            Today's mining: ~{{ states('sensor.ocean_estimated_daily') }} sats
            Unpaid: {{ states('sensor.ocean_unpaid_balance') }} sats

Finding Your Ocean Wallet Address

Your Ocean wallet address is the bitcoin address you configured when setting up your miner to point to Ocean:

  1. This is the address in your miner’s pool configuration
  2. It’s also visible at ocean.xyz/[your-address]

Troubleshooting

No data appearing

  1. Verify wallet address is correct
  2. Ensure miners are actively mining to Ocean
  3. Wait for data to populate (can take a few hours for new setups)
  4. Check Ocean website directly to verify mining activity

Hashrate discrepancy

  • Pool-reported hashrate is averaged over time
  • Local miner hashrate is real-time
  • Some variation is normal
  • Significant differences may indicate connectivity issues

What’s Next?

Connect Your Miners

To mine to Ocean, you need miners connected to Home Assistant:

Use DATUM Gateway

Build your own block templates while mining to Ocean:

Build a Dashboard

Ocean sensors work great alongside miner stats:

Source Code & Support

Resources

DATUM Gateway - Exergy Home Assistant Integration

Monitor your DATUM Gateway bitcoin mining proxy directly in Home Assistant. Track hashrate, shares, pool status, and block template information.

Before You Start

Before installing this integration:

  1. Home Assistant 2023.1.0 or newer - This integration requires HA 2023.1.0+.

  2. HACS installed - This is a custom integration distributed via HACS. See our system configuration guide if you need to set up HACS.

  3. DATUM Gateway running - You need a DATUM Gateway instance running v0.4.0 or higher.

  4. Gateway URL - The URL where your DATUM Gateway is accessible.

What is DATUM Gateway?

DATUM Gateway is self-hosted mining proxy software that enables miners to construct their own block templates while still mining to a pool. Key features:

  • Block template construction - Build your own templates instead of relying solely on pool-provided ones
  • Decentralization - Reduces pool control over transaction selection
  • Transparency - Full visibility into block template details
  • Ocean integration - Works seamlessly with Ocean mining pool

DATUM stands for “Decentralized Alternative Templates for Universal Mining.”

Integration Features

The Exergy DATUM Gateway integration provides monitoring of your gateway operations:

Sensors

SensorEntity ExampleDescription
Combined Hashratesensor.datum_gateway_hashrateTotal hashrate from all connected miners
Thread Countsensor.datum_gateway_thread_countNumber of active mining threads
Shares Acceptedsensor.datum_gateway_shares_acceptedTotal accepted shares
Shares Rejectedsensor.datum_gateway_shares_rejectedTotal rejected shares
Acceptance Ratesensor.datum_gateway_acceptance_rateShare acceptance percentage
Pool Statussensor.datum_gateway_pool_statusConnection status to mining pool
Block Heightsensor.datum_gateway_block_heightCurrent block template height
Block Rewardsensor.datum_gateway_block_rewardCurrent block reward (BTC)
Transaction Countsensor.datum_gateway_tx_countTransactions in current block template
Uptimesensor.datum_gateway_uptimeGateway process uptime
Pool Endpointsensor.datum_gateway_pool_endpointConnected pool URL
Miner Tagsensor.datum_gateway_miner_tagConfigured miner tag

Per-Thread Sensors

For each connected mining thread, additional sensors are created:

SensorEntity ExampleDescription
Thread Hashratesensor.datum_gateway_thread_X_hashrateIndividual thread hashrate
Thread Sharessensor.datum_gateway_thread_X_sharesThread share count

Note: Entity IDs are generated based on your gateway configuration. Find actual IDs at Settings > Devices & Services > DATUM Gateway > [your device].

Installation

Step 1: Install via HACS

  1. Open Home Assistant
  2. Navigate to HACS > Integrations
  3. Click + Explore & Download Repositories
  4. Search for “DATUM Gateway” or “Exergy DATUM”
  5. Click Download
  6. Restart Home Assistant

Step 2: Add Integration

  1. Go to Settings > Devices & Services
  2. Click + Add Integration
  3. Search for “DATUM Gateway”
  4. Enter your configuration:
SettingDefaultDescription
Gateway URLFull URL to your DATUM Gateway
SSL VerificationOnToggle SSL certificate verification
  1. Click Submit

Step 3: Verify

The integration creates sensors for your gateway statistics. Check the device page to see all available entities.

Configuration

Gateway URL

The URL must include the protocol and port:

  • Local: http://192.168.1.100:7152
  • Remote with SSL: https://datum.example.com:7152
  • Docker: http://datum-gateway:7152

SSL Verification

Disable SSL verification only if using self-signed certificates. For production deployments, use valid certificates.

Dashboard Integration

Display your DATUM Gateway stats:

type: vertical-stack
cards:
  - type: entities
    title: DATUM Gateway Status
    entities:
      - entity: sensor.datum_gateway_hashrate
        name: Gateway Hashrate
      - entity: sensor.datum_gateway_pool_status
        name: Pool Status
      - entity: sensor.datum_gateway_acceptance_rate
        name: Acceptance Rate
      - entity: sensor.datum_gateway_thread_count
        name: Active Threads

  - type: entities
    title: Block Template
    entities:
      - entity: sensor.datum_gateway_block_height
        name: Block Height
      - entity: sensor.datum_gateway_block_reward
        name: Block Reward
      - entity: sensor.datum_gateway_tx_count
        name: Transactions

Automation Ideas

Block Height Change Notification

automation:
  - alias: "New block notification"
    trigger:
      - platform: state
        entity_id: sensor.datum_gateway_block_height
    action:
      - service: notify.mobile_app
        data:
          message: "New block! Height: {{ states('sensor.datum_gateway_block_height') }}"

Pool Disconnect Alert

automation:
  - alias: "DATUM pool disconnect alert"
    trigger:
      - platform: state
        entity_id: sensor.datum_gateway_pool_status
        to: "disconnected"
        for:
          minutes: 5
    action:
      - service: notify.mobile_app
        data:
          message: "DATUM Gateway lost pool connection"

Low Acceptance Rate Alert

automation:
  - alias: "DATUM low acceptance rate"
    trigger:
      - platform: numeric_state
        entity_id: sensor.datum_gateway_acceptance_rate
        below: 95
        for:
          minutes: 10
    action:
      - service: notify.mobile_app
        data:
          message: "DATUM acceptance rate below 95%: {{ states('sensor.datum_gateway_acceptance_rate') }}%"

Hashrate Drop Alert

automation:
  - alias: "DATUM hashrate drop"
    trigger:
      - platform: numeric_state
        entity_id: sensor.datum_gateway_hashrate
        below: 50
        for:
          minutes: 15
    action:
      - service: notify.mobile_app
        data:
          message: "DATUM Gateway hashrate dropped below 50 TH/s"

Troubleshooting

No data appearing

  1. Verify Gateway URL is correct and accessible
  2. Ensure DATUM Gateway is running v0.4.0 or higher
  3. Check Home Assistant logs for connection errors
  4. Try accessing the gateway status page directly in a browser

SSL Errors

  1. Verify the SSL certificate is valid
  2. Try disabling SSL verification temporarily to diagnose
  3. Ensure the URL protocol matches your setup (http vs https)

Dependency Issues

This integration requires BeautifulSoup4. If you encounter import errors:

  1. Check Home Assistant logs for specific error messages
  2. Restart Home Assistant to trigger dependency installation

Stale Data

  1. Check gateway is actively receiving work from miners
  2. Verify pool connection is healthy
  3. Reload the integration to force a refresh

What’s Next?

Connect Your Miners

Monitor Pool Stats

Build a Dashboard

Resources

Source Code & Support

Public Pool - Exergy Home Assistant Integration

Monitor your self-hosted Public Pool instance directly in Home Assistant. Compatible with Start9 and other self-hosted deployments.

Before You Start

Before installing this integration:

  1. Home Assistant with HACS installed - This is a custom integration distributed via HACS. See our system configuration guide if you need to set up Home Assistant and HACS.

  2. Self-hosted Public Pool running - You need a Public Pool instance running (self-hosted or Start9).

  3. Pool URL - The URL where your Public Pool instance is accessible.

  4. Your Bitcoin address - The address you’re mining to (for address-level stats).

What is Public Pool?

Public Pool is open-source mining pool software designed for self-hosting. Key features:

  • Self-sovereign - Run your own pool infrastructure
  • Start9 compatible - Easy deployment on Start9 servers
  • Privacy-focused - Your data stays on your infrastructure
  • Solo mining - Mine blocks directly to your wallet
  • No fees - You control everything

Integration Features

The Exergy Public Pool integration provides multi-level monitoring:

Pool-Level Sensors

SensorEntity ExampleDescription
Pool Hashratesensor.public_pool_hashrateTotal pool hashrate in TH/s
Miner Countsensor.public_pool_miner_countNumber of connected miners
Block Heightsensor.public_pool_block_heightCurrent block being worked on

Network-Level Sensors

SensorEntity ExampleDescription
Network Difficultysensor.public_pool_network_difficultyCurrent bitcoin network difficulty
Network Hashratesensor.public_pool_network_hashrateNetwork hashrate in EH/s
Blockchain Heightsensor.public_pool_blockchain_heightCurrent blockchain height

Address-Level Sensors

Sensors for your specific mining address:

SensorEntity ExampleDescription
Best Difficultysensor.public_pool_address_best_difficultyBest difficulty share found
Worker Countsensor.public_pool_address_worker_countNumber of workers for this address
Address Hashratesensor.public_pool_address_hashrateYour address hashrate in GH/s

Per-Worker Sensors

For each worker detected, these sensors are created dynamically:

SensorEntity ExampleDescription
Worker Hashratesensor.public_pool_worker_{name}_hashrateWorker hashrate in GH/s
Worker Best Difficultysensor.public_pool_worker_{name}_best_difficultyWorker’s best difficulty share
Worker Last Activitysensor.public_pool_worker_{name}_last_activityTimestamp of last activity

Note: Entity IDs are automatically generated. Find your actual entity IDs at Settings > Devices & Services > Public Pool > [your device].

Installation

Step 1: Install via HACS

  1. Open Home Assistant
  2. Navigate to HACS > Integrations
  3. Click + Explore & Download Repositories
  4. Search for “Public Pool” or “Exergy Public Pool”
  5. Click Download
  6. Restart Home Assistant

Step 2: Add Integration

  1. Go to Settings > Devices & Services
  2. Click + Add Integration
  3. Search for “Public Pool”
  4. Enter your configuration:
SettingDefaultDescription
Pool URLURL to your Public Pool instance
Bitcoin AddressYour mining address for address-level stats
Scan Interval60 secHow often to poll for updates
SSL VerificationOnToggle SSL certificate verification
  1. Click Submit

Step 3: Verify

The integration creates sensors at pool, network, address, and worker levels. Check the device page to see all available entities.

Configuration

Pool URL Examples

  • Local Start9: http://public-pool.embassy:3334
  • Local network: http://192.168.1.100:3334
  • Remote with SSL: https://pool.example.com
  • Tor (Start9): Use local embassy address for better performance

Bitcoin Address

Enter the address your miners are configured to mine to. This enables:

  • Address-specific hashrate tracking
  • Best difficulty monitoring
  • Per-worker statistics

Scan Interval

Default is 60 seconds. Range: 30-300 seconds.

  • Lower intervals = more responsive but more API load
  • Higher intervals = less load but delayed updates

Start9 Integration

If running Public Pool on Start9:

  1. Find your pool’s local address in Start9’s interface
  2. Use the local embassy address: http://public-pool.embassy:3334
  3. This avoids Tor latency for local access
  4. For remote access, configure Tor proxy settings

Dashboard Integration

Display your Public Pool stats:

type: vertical-stack
cards:
  - type: entities
    title: My Public Pool
    entities:
      - entity: sensor.public_pool_hashrate
        name: Pool Hashrate
      - entity: sensor.public_pool_miner_count
        name: Connected Miners
      - entity: sensor.public_pool_address_hashrate
        name: My Hashrate
      - entity: sensor.public_pool_address_best_difficulty
        name: Best Difficulty

  - type: entities
    title: Network Stats
    entities:
      - entity: sensor.public_pool_network_difficulty
        name: Network Difficulty
      - entity: sensor.public_pool_network_hashrate
        name: Network Hashrate
      - entity: sensor.public_pool_blockchain_height
        name: Block Height

Automation Ideas

Worker Offline Alert

automation:
  - alias: "Public Pool worker offline"
    trigger:
      - platform: template
        value_template: >
          {{ (now() - states.sensor.public_pool_worker_miner1_last_activity.last_changed).total_seconds() > 600 }}
    action:
      - service: notify.mobile_app
        data:
          message: "Worker miner1 appears offline - no activity for 10 minutes"

New Best Difficulty Celebration

automation:
  - alias: "New best difficulty found"
    trigger:
      - platform: state
        entity_id: sensor.public_pool_address_best_difficulty
    condition:
      - condition: template
        value_template: "{{ trigger.to_state.state | float > trigger.from_state.state | float }}"
    action:
      - service: notify.mobile_app
        data:
          message: "New best difficulty: {{ states('sensor.public_pool_address_best_difficulty') }}!"

Low Hashrate Alert

automation:
  - alias: "Public Pool low hashrate"
    trigger:
      - platform: numeric_state
        entity_id: sensor.public_pool_address_hashrate
        below: 100
        for:
          minutes: 30
    action:
      - service: notify.mobile_app
        data:
          message: "Public Pool hashrate dropped below 100 GH/s"

Daily Mining Summary

automation:
  - alias: "Daily Public Pool summary"
    trigger:
      - platform: time
        at: "20:00:00"
    action:
      - service: notify.mobile_app
        data:
          message: >
            Public Pool Stats:
            Hashrate: {{ states('sensor.public_pool_address_hashrate') }} GH/s
            Best Diff: {{ states('sensor.public_pool_address_best_difficulty') }}
            Workers: {{ states('sensor.public_pool_address_worker_count') }}

Solo Mining Considerations

Public Pool is designed for solo mining:

  • Variance is high - You may go long periods without finding a block
  • Best difficulty matters - Track your progress toward a block
  • Patience required - Small hashrate means low probability per block

Probability Calculations

Your chance of finding a block depends on:

  • Your hashrate vs network hashrate
  • Current network difficulty
  • Time

At 1 TH/s against ~600 EH/s network, expect very long times between blocks. Public Pool is best suited for users who:

  • Value sovereignty over consistent payouts
  • Have significant hashrate
  • Want to learn about mining without third-party pools

Troubleshooting

No data appearing

  1. Verify Pool URL is correct and accessible
  2. Check that your bitcoin address is actively mining
  3. Wait for workers to appear (they show after mining activity)
  4. Check Home Assistant logs for API errors

Workers not showing

  1. Workers appear dynamically based on mining activity
  2. Inactive workers may not appear immediately
  3. Verify workers are configured with the correct bitcoin address
  4. Check miner is actually submitting work

SSL/Certificate errors

  1. Start9 uses self-signed certificates by default
  2. Disable SSL verification if using self-signed certs
  3. Use local embassy address to avoid certificate issues

Stale data

  1. Check pool is receiving work from miners
  2. Verify scan interval isn’t too long
  3. Reload the integration to force refresh

What’s Next?

Connect Your Miners

Build a Dashboard

Resources

Source Code & Support

Bitaxe - Exergy Home Assistant Integration

Monitor AND control your Bitaxe mining devices directly in Home Assistant. Full local control with no cloud dependency.

Before You Start

Before installing this integration:

  1. Home Assistant 2024.1.0 or newer - This integration requires HA 2024.1.0+.

  2. HACS installed - This is a custom integration distributed via HACS. See our system configuration guide if you need to set up HACS.

  3. Bitaxe running ESP-Miner firmware - Your device must be running compatible ESP-Miner firmware.

  4. Bitaxe IP address - The local IP where your Bitaxe is accessible.

What is Bitaxe?

Bitaxe is an open-source, ASIC-based bitcoin miner designed for home use. Key features:

  • Open hardware - Fully open-source hardware design
  • Compact - Small form factor for desktop/home use
  • Local-only - No cloud services required
  • Customizable - Adjustable frequency, voltage, and fan settings

Integration Features

The Exergy Bitaxe integration provides comprehensive monitoring AND control:

Sensors

SensorEntity ExampleDescription
Hashratesensor.bitaxe_hashrateCurrent hashrate
Hashrate (1 min avg)sensor.bitaxe_hashrate_1m1-minute average hashrate
Hashrate (5 min avg)sensor.bitaxe_hashrate_5m5-minute average hashrate
Hashrate (1 hr avg)sensor.bitaxe_hashrate_1h1-hour average hashrate
Hashrate (24 hr avg)sensor.bitaxe_hashrate_24h24-hour average hashrate
Shares Acceptedsensor.bitaxe_shares_acceptedTotal accepted shares
Shares Rejectedsensor.bitaxe_shares_rejectedTotal rejected shares
Error Ratesensor.bitaxe_error_rateShare error rate percentage
Chip Temperaturesensor.bitaxe_chip_temperatureASIC chip temperature
VR Temperaturesensor.bitaxe_vr_temperatureVoltage regulator temperature
Input Voltagesensor.bitaxe_input_voltageInput voltage
Core Voltagesensor.bitaxe_core_voltageASIC core voltage (mV)
Powersensor.bitaxe_powerPower consumption (W)
Fan Speedsensor.bitaxe_fan_speedFan speed percentage
Uptimesensor.bitaxe_uptimeDevice uptime

Switches

SwitchEntity ExampleDescription
Auto Fan Speedswitch.bitaxe_auto_fanToggle automatic fan speed control
Overclock Enabledswitch.bitaxe_overclockToggle overclocking mode
Invert Screenswitch.bitaxe_invert_screenInvert display colors

Number Controls

ControlEntity ExampleRangeDescription
Core Voltagenumber.bitaxe_core_voltage1000-1400 mVASIC core voltage
Frequencynumber.bitaxe_frequency100-1000 MHzASIC clock frequency
Fan Speednumber.bitaxe_fan_speed0-100%Manual fan speed (when auto off)
Temp Targetnumber.bitaxe_temp_target30-100 CTarget temperature for auto fan
Display Timeoutnumber.bitaxe_display_timeout-1 to 240 minScreen timeout duration
Stats Frequencynumber.bitaxe_stats_frequency0-600 secStats update frequency

Select Controls

ControlEntity ExampleOptionsDescription
Screen Rotationselect.bitaxe_screen_rotation0, 90, 180, 270Display rotation angle

Buttons

ButtonEntity ExampleDescription
Update Firmwarebutton.bitaxe_updateTrigger OTA firmware update
Restartbutton.bitaxe_restartRestart the device
Identifybutton.bitaxe_identifyFlash screen/LED to identify device

Note: Entity IDs are generated based on your device name. Find actual IDs at Settings > Devices & Services > Bitaxe > [your device].

Installation

Step 1: Install via HACS

  1. Open Home Assistant
  2. Navigate to HACS > Integrations
  3. Click + Explore & Download Repositories
  4. Search for “Exergy Bitaxe”
  5. Click Download
  6. Restart Home Assistant

Step 2: Add Your Bitaxe

  1. Go to Settings > Devices & Services
  2. Click + Add Integration
  3. Search for “Bitaxe”
  4. Enter your configuration:
SettingDefaultDescription
IP AddressYour Bitaxe’s local IP address
Port80HTTP port (usually 80)
Scan Interval15 secHow often to poll for updates (5-300 sec)
  1. Click Submit

Step 3: Verify

The integration creates a device with all sensors and controls. Check the device page to see all available entities.

Finding Your Bitaxe IP Address

Method 1: Router Admin Panel

  1. Log into your router’s admin interface
  2. Look for “Connected Devices” or “DHCP Leases”
  3. Find the device named “Bitaxe” or similar
  4. Note the IP address

Method 2: Bitaxe Web Interface

If you’ve previously accessed your Bitaxe, check your browser history for the IP.

Method 3: Network Scanner

Use a network scanning app:

  • Fing (iOS/Android)
  • Advanced IP Scanner (Windows)
  • nmap (Linux/Mac)

Tip: Set a static IP or DHCP reservation for your Bitaxe to prevent the address from changing.

Dashboard Integration

Create a comprehensive Bitaxe control panel:

type: vertical-stack
cards:
  - type: entities
    title: Bitaxe Status
    entities:
      - entity: sensor.bitaxe_hashrate
        name: Hashrate
      - entity: sensor.bitaxe_chip_temperature
        name: Chip Temperature
      - entity: sensor.bitaxe_power
        name: Power
      - entity: sensor.bitaxe_shares_accepted
        name: Accepted Shares
      - entity: sensor.bitaxe_error_rate
        name: Error Rate

  - type: entities
    title: Bitaxe Controls
    entities:
      - entity: switch.bitaxe_auto_fan
        name: Auto Fan
      - entity: number.bitaxe_fan_speed
        name: Fan Speed
      - entity: number.bitaxe_frequency
        name: Frequency
      - entity: number.bitaxe_core_voltage
        name: Core Voltage

Automation Ideas

Temperature Protection

automation:
  - alias: "Bitaxe overheat protection"
    trigger:
      - platform: numeric_state
        entity_id: sensor.bitaxe_chip_temperature
        above: 75
    action:
      - service: number.set_value
        target:
          entity_id: number.bitaxe_frequency
        data:
          value: 400
      - service: notify.mobile_app
        data:
          message: "Bitaxe temperature high - reduced frequency"

Scheduled Performance Mode

automation:
  - alias: "Bitaxe night performance mode"
    trigger:
      - platform: time
        at: "23:00:00"
    action:
      - service: number.set_value
        target:
          entity_id: number.bitaxe_frequency
        data:
          value: 575

  - alias: "Bitaxe day efficiency mode"
    trigger:
      - platform: time
        at: "07:00:00"
    action:
      - service: number.set_value
        target:
          entity_id: number.bitaxe_frequency
        data:
          value: 450

Low Hashrate Alert

automation:
  - alias: "Bitaxe low hashrate alert"
    trigger:
      - platform: numeric_state
        entity_id: sensor.bitaxe_hashrate_1h
        below: 400
        for:
          minutes: 30
    action:
      - service: notify.mobile_app
        data:
          message: "Bitaxe hashrate dropped below 400 GH/s"

Tuning Your Bitaxe

The integration gives you full control over performance parameters:

Frequency vs Efficiency

FrequencyTypical HashratePowerNotes
400 MHz~400 GH/sLowMost efficient
500 MHz~500 GH/sMediumBalanced
575 MHz~575 GH/sHigherPerformance

Voltage Guidelines

  • Start at stock voltage
  • Increase in small increments (25mV) if unstable at higher frequencies
  • Monitor error rate - keep below 1-2%

Temperature Management

  • Auto fan mode maintains target temperature
  • Lower target = more noise, better stability
  • Recommended: 55-65C target

Troubleshooting

Integration not finding Bitaxe

  1. Verify Bitaxe is powered and connected to network
  2. Confirm IP address is correct
  3. Try accessing Bitaxe web interface directly (http://[IP_ADDRESS])
  4. Check that port 80 is not blocked

Controls not responding

  1. Some controls require firmware support
  2. Check you’re running compatible ESP-Miner firmware
  3. Reload the integration after firmware updates

High error rate

  1. Reduce frequency in small steps
  2. Increase core voltage slightly
  3. Improve cooling
  4. Check power supply stability

Entities showing “Unavailable”

  1. Ping the device to confirm it’s online
  2. Reload the integration: Settings > Devices & Services > Bitaxe > ⋮ > Reload
  3. Check Home Assistant logs for specific errors

What’s Next?

Monitor Pool Stats

Build a Dashboard

Set Up Automations

Source Code & Support

StealthMiner / LuxOS - Exergy Home Assistant Integration

Monitor and control miners running LuxOS firmware directly in Home Assistant. Full control over power, profiles, and mining operations.

Before You Start

Before installing this integration:

  1. Home Assistant 2024.1.0 or newer - This integration requires HA 2024.1.0+.

  2. HACS installed - This is a custom integration distributed via HACS. See our system configuration guide if you need to set up HACS.

  3. Miner running LuxOS firmware - Your miner must be flashed with LuxOS firmware.

  4. Miner IP address and port 4028 accessible - LuxOS API runs on port 4028.

What is LuxOS?

LuxOS is alternative firmware for bitcoin miners that provides:

  • Enhanced control - Granular power and performance settings
  • ATM (Auto-Tune Mode) - Automatic optimization for best performance
  • Multiple profiles - Switch between preset configurations
  • API access - Full control via HTTP API on port 4028

Supported Hardware

LuxOS firmware runs on various miner models including Antminer S19 series and other compatible hardware. Check LuxOS compatibility documentation for your specific model.

Integration Features

The Exergy StealthMiner/LuxOS integration provides comprehensive monitoring and control:

Sensors

SensorEntity ExampleDescription
Hashrate (5s)sensor.stealthminer_hashrate_5s5-second hashrate average
Hashrate (1m)sensor.stealthminer_hashrate_1m1-minute hashrate average
Hashrate (15m)sensor.stealthminer_hashrate_15m15-minute hashrate average
Hashrate (30m)sensor.stealthminer_hashrate_30m30-minute hashrate average
Hashrate (avg)sensor.stealthminer_hashrate_avgOverall average hashrate
Powersensor.stealthminer_powerCurrent power consumption (W)
Efficiencysensor.stealthminer_efficiencyEfficiency in W/TH
Board Temperaturesensor.stealthminer_board_tempHashboard temperature
Fan Speed (%)sensor.stealthminer_fan_percentFan speed percentage
Fan Speed (RPM)sensor.stealthminer_fan_rpmFan speed in RPM
Shares Acceptedsensor.stealthminer_shares_acceptedTotal accepted shares
Shares Rejectedsensor.stealthminer_shares_rejectedTotal rejected shares
Shares Stalesensor.stealthminer_shares_staleTotal stale shares
Active Poolsensor.stealthminer_poolCurrent pool URL
Active Profilesensor.stealthminer_profileActive profile name
Statussensor.stealthminer_statusMiner operational status

Binary Sensors

Binary SensorEntity ExampleDescription
Connectivitybinary_sensor.stealthminer_connectivityConnection to miner
Pool Connectedbinary_sensor.stealthminer_pool_connectedPool connection status
ATM Activebinary_sensor.stealthminer_atm_activeAuto-Tune Mode state
Mining Activebinary_sensor.stealthminer_miningMining activity status

Controls

ControlEntity ExampleTypeDescription
ATM Toggleswitch.stealthminer_atmSwitchEnable/disable Auto-Tune Mode
Sleep Modeswitch.stealthminer_sleepSwitchPut miner in sleep mode
Profile Selectorselect.stealthminer_profileSelectChoose operating profile
Power Limitnumber.stealthminer_power_limitNumberSet power consumption limit (W)
Rebootbutton.stealthminer_rebootButtonReboot the miner
Factory Resetbutton.stealthminer_resetButtonFactory reset (caution!)
Wakebutton.stealthminer_wakeButtonWake from sleep mode

Note: Entity IDs are generated based on your miner name. Find actual IDs at Settings > Devices & Services > StealthMiner > [your device].

Installation

Step 1: Install via HACS

  1. Open Home Assistant
  2. Navigate to HACS > Integrations
  3. Click + Explore & Download Repositories
  4. Search for “StealthMiner” or “Exergy StealthMiner”
  5. Click Download
  6. Restart Home Assistant

Step 2: Add Your Miner

  1. Go to Settings > Devices & Services
  2. Click + Add Integration
  3. Search for “StealthMiner”
  4. Enter your miner’s IP address
  5. Click Submit
SettingDefaultDescription
IP AddressYour miner’s local IP address
Port4028LuxOS API port

Step 3: Verify

The integration creates a device with all sensors and controls. Check the device page to see all available entities.

Understanding LuxOS Features

Auto-Tune Mode (ATM)

ATM automatically optimizes your miner for best performance:

  • Monitors chip health and temperatures
  • Adjusts frequency and voltage dynamically
  • Balances hashrate vs efficiency
  • Recommended for most users

Toggle ATM with switch.stealthminer_atm.

Profiles

LuxOS supports multiple operating profiles:

Profile TypeUse Case
DefaultStandard operation
EfficiencyMaximize W/TH efficiency
PerformanceMaximum hashrate
CustomUser-defined settings

Switch profiles via select.stealthminer_profile.

Sleep Mode

Sleep mode stops mining while keeping the miner responsive:

  • Fans spin down
  • Power consumption drops to idle
  • Quick wake-up compared to full power cycle
  • Useful for demand response or time-of-use optimization

Control with switch.stealthminer_sleep and button.stealthminer_wake.

Power Limiting

Set a maximum power draw with number.stealthminer_power_limit:

  • Miner adjusts performance to stay under limit
  • Useful for electrical capacity constraints
  • Combine with time-of-use automations

Dashboard Integration

Create a comprehensive miner control panel:

type: vertical-stack
cards:
  - type: entities
    title: StealthMiner Status
    entities:
      - entity: sensor.stealthminer_hashrate_15m
        name: Hashrate (15m)
      - entity: sensor.stealthminer_power
        name: Power
      - entity: sensor.stealthminer_efficiency
        name: Efficiency
      - entity: sensor.stealthminer_board_temp
        name: Temperature
      - entity: binary_sensor.stealthminer_mining
        name: Mining Active

  - type: entities
    title: Controls
    entities:
      - entity: switch.stealthminer_atm
        name: Auto-Tune Mode
      - entity: switch.stealthminer_sleep
        name: Sleep Mode
      - entity: select.stealthminer_profile
        name: Profile
      - entity: number.stealthminer_power_limit
        name: Power Limit

Automation Ideas

Thermostat Integration

Use your miner as a heater controlled by room temperature:

automation:
  - alias: "StealthMiner thermostat - wake on cold"
    trigger:
      - platform: numeric_state
        entity_id: sensor.room_temperature
        below: 68
    condition:
      - condition: state
        entity_id: switch.stealthminer_sleep
        state: "on"
    action:
      - service: button.press
        target:
          entity_id: button.stealthminer_wake

  - alias: "StealthMiner thermostat - sleep on warm"
    trigger:
      - platform: numeric_state
        entity_id: sensor.room_temperature
        above: 72
    condition:
      - condition: state
        entity_id: switch.stealthminer_sleep
        state: "off"
    action:
      - service: switch.turn_on
        target:
          entity_id: switch.stealthminer_sleep

Time-of-Use Power Limiting

Reduce power during peak electricity rates:

automation:
  - alias: "StealthMiner peak rate power limit"
    trigger:
      - platform: time
        at: "16:00:00"
    action:
      - service: number.set_value
        target:
          entity_id: number.stealthminer_power_limit
        data:
          value: 2000

  - alias: "StealthMiner off-peak full power"
    trigger:
      - platform: time
        at: "21:00:00"
    action:
      - service: number.set_value
        target:
          entity_id: number.stealthminer_power_limit
        data:
          value: 3500

Pool Disconnect Alert

automation:
  - alias: "StealthMiner pool disconnect alert"
    trigger:
      - platform: state
        entity_id: binary_sensor.stealthminer_pool_connected
        to: "off"
        for:
          minutes: 5
    action:
      - service: notify.mobile_app
        data:
          message: "StealthMiner lost pool connection"

Profile Switching Based on Conditions

automation:
  - alias: "StealthMiner efficiency mode during peak"
    trigger:
      - platform: time
        at: "14:00:00"
    action:
      - service: select.select_option
        target:
          entity_id: select.stealthminer_profile
        data:
          option: "Efficiency"

  - alias: "StealthMiner performance mode off-peak"
    trigger:
      - platform: time
        at: "22:00:00"
    action:
      - service: select.select_option
        target:
          entity_id: select.stealthminer_profile
        data:
          option: "Performance"

Troubleshooting

Integration not finding miner

  1. Verify miner is powered and connected to network
  2. Confirm IP address is correct
  3. Check port 4028 is accessible: telnet [IP] 4028
  4. Verify LuxOS firmware is installed and running

Controls not responding

  1. Some controls require specific LuxOS versions
  2. Check miner is not in a transitional state
  3. Reload the integration
  4. Check Home Assistant logs for API errors

ATM not working as expected

  1. ATM requires time to tune (hours to days for optimal results)
  2. Check chip health in LuxOS web interface
  3. Manual profile changes may override ATM settings

Entities showing “Unavailable”

  1. Check miner is online and reachable
  2. Verify port 4028 connectivity
  3. Reload the integration: Settings > Devices & Services > StealthMiner > ⋮ > Reload
  4. Review Home Assistant logs

What’s Next?

Monitor Pool Stats

Set Up Heating Automation

Build a Dashboard

Source Code & Support

Home Assistant Automations and Templates

Automations are the smart logic that makes your smart home actually smart. They connect your integrations together—triggering actions based on sensor readings, schedules, or device states. This is what transforms a bitcoin miner into a functional heater for your home.

What Are Automations?

Integrations connect your devices to Home Assistant. Automations make them work together.

Every automation follows the same pattern:

  • Trigger - What starts the automation (temperature drops, time of day, button press)
  • Condition - Optional checks before proceeding (only if home, only on weekdays)
  • Action - What happens (turn on miner, adjust power level, send notification)

Example: When room temperature drops below 68°F (trigger), and it’s between 6am-10pm (condition), turn on the miner in heating mode (action).

This is the special sauce that lets a bitcoin miner replace your space heater, tie into your whole-home thermostat, or only run when electricity is cheap.

Use cases we cover:

  • Space heater replacement - Miner maintains room temperature using a temp sensor
  • HVAC integration - Miner responds to your whole-home thermostat
  • Time-of-use optimization - Mine during cheap electricity, reduce during peak rates
  • Solar monetization - Use excess solar production for mining instead of selling back cheap
  • Scheduled operation - Run on custom schedules with different modes

These automations pair with Exergy hardware kits and installed systems, but work with any compatible setup.

Available Exergy Automation Templates

Template Use Case
Space HeaterRoom temperature control with miner as heat source
HVAC IntegrationWhole-home thermostat integration
Time-of-UseOptimize mining around electricity rates

See all Exergy Automations: github.com/exergyheat

Building Your Own Automations

Don’t see what you need? Build custom automations:

Visual Editor - Home Assistant’s built-in editor walks you through triggers, conditions, and actions without code.

YAML - Write automations directly for more control and easier version management.

Node-RED - Visual flow-based programming for complex logic. Install via the Node-RED add-on.

Home Assistant’s automation system is powerful. Start with our blueprints, then customize or build your own as you learn.

Contributing Blueprints and Automations

Created a useful automation for hashrate heating? Share it with the community:

  • Guides Forum - Post your automation for discussion
  • GitHub - Submit a PR to add your blueprint to the official collection

Learn More

Space Heater Thermostat Control - Exergy HA Blueprint

Control your bitcoin miner like a traditional space heater with thermostatic temperature control.

Before You Start

How It Works

This automation turns your miner on and off based on room temperature:

  1. Temperature drops below target → Miner turns ON
  2. Temperature rises above target → Miner turns OFF
  3. Repeat to maintain desired temperature

Just like a space heater with a thermostat, but earning bitcoin while heating.

Automation Installation

To use the YAML automation examples in this guide:

  1. Copy the desired YAML code from the examples below
  2. In Home Assistant, navigate to Settings → Automations & Scenes
  3. Click the three-dot menu (⋮) in the top right corner
  4. Select Edit in YAML
  5. Paste the copied YAML code at the bottom of your automations file
  6. Adjust the entity_id values to match your specific miner entities
  7. Click Save
  8. The new automation(s) will appear in your automations list

Alternatively, you can create each automation through the UI and manually configure the triggers, conditions, and actions based on the examples.

Configuration

Required Inputs

InputDescription
Miner EntityYour miner’s power switch (e.g., switch.avalon_mini_3_power)
Temperature SensorRoom temperature sensor (e.g., sensor.living_room_temperature)
Target TemperatureDesired room temperature

Note: This example uses the Avalon Mini 3 onboard input or ambient temperature sensors for reporting to the thermostat. You could instead use a different temperature sensor in the room such as a Zigbee Temperature sensor.

Optional Inputs

InputDefaultDescription
Hysteresis1.0°FTemperature band to prevent rapid cycling
Minimum On Time5 minPrevent short cycles
Minimum Off Time5 minAllow miner to cool down

Understanding Hysteresis

Hysteresis prevents the miner from rapidly turning on and off:

Example with 70°F target temperature and 1°F hysteresis:

  • Miner turns ON when temp drops to 69°F
    • This is the Cold Tolerance reference below
  • Miner turns OFF when temp rises to 71°F
    • This is the Hot Tolerance reference below
  • 2°F total swing (target ± hysteresis)

Increase hysteresis for longer, less frequent cycles. Decrease for tighter temperature control.

Creating a Climate Helper

The recommended approach is to create a Generic Thermostat climate entity that controls your miner. This gives you a native thermostat interface in Home Assistant.

Method 1: GUI Configuration

  1. Navigate to Settings → Devices & Services → Helpers
  2. Click + Create Helper
  3. Select Generic Thermostat
  4. Configure the following:
SettingValueDescription
NameExergy OfficeName for your thermostat
Heaterswitch.exergy_office_mini_3_powerYour miner’s power switch
Target Sensorsensor.exergy_office_sensor_temperatureRoom temperature sensor
Min Temp60Minimum temperature setting
Max Temp80Maximum temperature setting
Target Temp70Default target temperature (this is editable from the dashboard after being deployed)
Cold Tolerance1How far below target before turning on
Hot Tolerance1How far above target before turning off
Min Cycle Duration10 secondsMinimum time heater stays in one state
  1. Click Create

Method 2: YAML Configuration

Add this to your configuration.yaml file:

climate:
  - platform: generic_thermostat
    name: Exergy Office
    heater: switch.exergy_office_mini_3_power #Your Miner Power Switch
    target_sensor: sensor.exergy_office_mini_3_ambient_temperature #Or use an external sensor like: sensor.exergy_office_sensor_temperature
    min_temp: 60 #Set the lowest temp you'll allow this thermostat to be set
    max_temp: 80 #Set the highest temp you'll allow this thermostat to be set 
    ac_mode: false
    target_temp: 70 #Default starting temp
    cold_tolerance: 1
    hot_tolerance: 1
    min_cycle_duration:
      seconds: 10
    keep_alive:
      minutes: 3
    initial_hvac_mode: "heat" #Thermostat defaults to heating mode, can also be set to off
    precision: 0.5 #Amout you want to be able to set the thermostat. 0.5 = 70,70.5,80, etc.

After adding the YAML configuration:

  1. Go to Developer Tools → YAML
  2. Click Check Configuration
  3. If valid, click Restart under Server Controls

Understanding the Parameters

ParameterDescription
heaterThe switch entity that controls your miner
target_sensorTemperature sensor that measures room temperature
cold_toleranceTemperature drops this much below target before turning ON
hot_toleranceTemperature rises this much above target before turning OFF
min_cycle_durationPrevents rapid on/off cycling
keep_aliveSends periodic updates to the heater switch
initial_hvac_modeMode when Home Assistant starts (“heat” or “off”)
precisionTemperature adjustment increment (0.5 or 1.0)

Example: 70°F Target with 1° Tolerance

  • Miner turns ON when temperature drops to 69°F (70 - 1)
  • Miner turns OFF when temperature rises to 71°F (70 + 1)
  • Total swing: 2°F

Tips

External Sensor Placement

  • Place temperature sensor at “living height” (3-5 feet)
  • Keep away from direct miner exhaust
  • Avoid windows, exterior walls, or direct sunlight

Multiple Rooms

  • Create separate automations for each room/miner pair
  • Each automation tracks its own temperature sensor

Work Mode Considerations

  • Heating Mode: Full power, maximum heat output
  • Eco Mode: Reduced power, may not reach target temperature
  • Night Mode: Quieter but less heat

Consider automations that adjust work mode based on time of day.

Troubleshooting

Miner cycling too frequently

  • Increase hysteresis value
  • Increase minimum on/off times
  • Check sensor placement (may be too close to miner)

Room never reaches target temperature

  • Miner may not have enough heat output for space
  • Check for drafts or heat loss
  • Consider running in higher power mode

Temperature overshoots

  • Miner continues heating during shutdown
  • Increase hysteresis slightly
  • Normal behavior - mining hardware retains heat

Dashboard Integration

See Space Heater Digital Thermostat for a matching dashboard to control this automation visually.

Resources

HVAC Integrated Thermostat Control - Exergy HA Blueprint

Integrate your bitcoin miner into your home’s HVAC system as “Stage 1” heating, with your existing furnace as backup.

Before You Start

  • Miner connected to Home Assistant - Install the Canaan Avalon Home Integration first
  • Smart thermostat - Connected to HA (Z-Wave, Zigbee, or WiFi)
  • Home Assistant with HACS - See our system configuration guide if needed
  • Professional installation - Ducting and wiring modifications recommended

How It Works

This setup uses your miner as the primary heat source:

  1. Stage 1 (Miner): When heating is needed, miner turns on first
  2. Stage 2 (Furnace): If miner can’t keep up, furnace activates
  3. Miner produces bitcoin while providing base heating
  4. Furnace only runs when additional heat is needed

System Architecture

                    ┌─────────────────┐
                    │   Thermostat    │
                    │  (Smart/Multi)  │
                    └────────┬────────┘
                             │
         ┌───────────────────┼───────────────────┐
         │                   │                   │
         ▼                   ▼                   ▼
  ┌──────────────┐   ┌──────────────┐   ┌──────────────┐
  │  Stage 1     │   │  Stage 2     │   │  Cooling     │
  │  (Miner)     │   │  (Furnace)   │   │  (AC)        │
  │  via HA      │   │  Direct wire │   │  Direct wire │
  └──────────────┘   └──────────────┘   └──────────────┘

Automation Installation

To use the YAML automation examples in this guide:

  1. Copy the desired YAML code from the examples below
  2. In Home Assistant, navigate to Settings → Automations & Scenes
  3. Click the three-dot menu (⋮) in the top right corner
  4. Select Edit in YAML
  5. Paste the copied YAML code at the bottom of your automations file
  6. Adjust the entity_id values to match your specific miner entities
  7. Click Save
  8. The new automation(s) will appear in your automations list

Alternatively, you can create each automation through the UI and manually configure the triggers, conditions, and actions based on the examples.

Configuration

Required Inputs

InputDescription
Miner EntityYour miner’s power switch
Thermostat EntityYour HVAC thermostat
Stage SensorEntity that reports which heating stage is active

Optional Inputs

InputDefaultDescription
Stage 1 Delay30 secWait time before turning on miner after Stage 1 call
Shutdown Delay60 secWait time before turning off miner after call ends

Wiring Considerations

Traditional Thermostat Wiring

Note: Our recommended thermostat is a Venstar T7900 for its ability to be controlled via local APIs without the need for Cloud interface or third party servers

Standard HVAC wiring:

  • W1: Stage 1 heat (becomes miner via HA)
  • W2: Stage 2 heat (remains wired to furnace)
  • Y: Cooling
  • G: Fan
  • C: Common (power)

Modification Approach

  1. Disconnect W1 from furnace control board
  2. W1 now only signals Home Assistant (via smart thermostat)
  3. W2 remains connected to furnace
  4. HA controls miner based on W1 signal

This is just an example. Please consult an HVAC professional for your specific system.

Example Configuration

automation:
  - alias: Control switch based on upstairs thermostat heating
    description: Turn switch on/off based on active heating state
    triggers:
      - entity_id: climate.thermostat
        attribute: hvac_action
        to: heating
        id: heating_started
        trigger: state
      - entity_id: climate.thermostat
        attribute: hvac_action
        from: heating
        id: heating_stopped
        trigger: state
    conditions: []
    actions:
      - choose:
          - conditions:
              - condition: trigger
                id: heating_started
            sequence:
              - action: switch.turn_on
                data: {}
                target:
                  entity_id: switch.avalon_q_power
          - conditions:
              - condition: trigger
                id: heating_stopped
            sequence:
              - action: switch.turn_off
                data: {}
                target:
                  entity_id: switch.avalon_q_power
    mode: restart

Airflow Requirements

Duct Sizing

  • Match miner CFM output to duct capacity
  • Avalon Q: ~200 CFM typical
  • Ensure no backpressure on miner fans

Plenum Connection

  • Connect to supply plenum (after furnace heat exchanger)
  • Use insulated flex duct
  • Include damper for isolation when miner is off

Safety Considerations

  • Install high-limit safety switch
  • Ensure proper condensate drainage
  • CO detector near furnace (as always)

Performance Expectations

Typical Savings

With an Avalon Q (~5,630 BTU/hr):

  • Covers ~30-50% of heating needs in moderate climates
  • Furnace runs significantly less
  • Bitcoin earnings offset electricity costs

Best Results

  • Well-insulated homes
  • Moderate heating climates
  • Time-of-use electricity rates (mine during cheap hours)

Troubleshooting

Miner not turning on

  • Verify thermostat is reporting heating mode to HA
  • Check automation triggers are correct
  • Confirm miner is available in HA

Furnace activating too often

  • Miner may not provide enough heat
  • Increase target temperature differential
  • Consider additional miner or higher power mode

Short cycling

  • Add delays to automations
  • Increase thermostat hysteresis
  • Check airflow through miner

Dashboard Integration

See HVAC Integrated Wall+Digital Thermostat for a matching dashboard to monitor this setup.

Resources

Time of Use Control - Exergy HA Blueprint

Schedule your bitcoin miner to run during specific times based on electricity rates, daily schedules, or personal preferences.

Before You Start

How It Works

This automation controls when your miner operates:

  • Run during cheap electricity (off-peak hours)
  • Reduce or stop during expensive hours (peak rates)
  • Follow a weekly schedule for consistent operation
  • Combine with other automations for advanced control

Use Cases

Time-of-Use Electricity Rates

Many utilities charge different rates throughout the day:

  • Off-peak: Evenings, nights, weekends (cheapest)
  • Mid-peak: Morning, late evening
  • On-peak: Afternoon hours (most expensive)

Run your miner during off-peak hours to maximize profitability.

Noise Considerations

  • Run at full power when away from home
  • Reduce to eco/night mode during sleeping hours
  • Pause during important calls or meetings

Seasonal Adjustments

  • Run more during heating season
  • Reduce during summer months
  • Adjust based on weather conditions

Automation Installation

To use the YAML automation examples in this guide:

  1. Copy the desired YAML code from the examples below
  2. In Home Assistant, navigate to Settings → Automations & Scenes
  3. Click the three-dot menu (⋮) in the top right corner
  4. Select Edit in YAML
  5. Paste the copied YAML code at the bottom of your automations file
  6. Adjust the entity_id values to match your specific miner entities
  7. Click Save
  8. The new automation(s) will appear in your automations list

Alternatively, you can create each automation through the UI and manually configure the triggers, conditions, and actions based on the examples.

Configuration

Required Inputs

InputDescription
Miner EntityYour miner’s power switch
ScheduleTime periods and desired actions

Schedule Options

For each time period, choose:

  • Full Power: Mining mode at maximum
  • Eco Mode: Reduced power/noise
  • Night Mode: Quiet operation
  • Off: Completely powered down

Example Schedules

Basic Peak/Off-Peak (California TOU)

TimeActionReason
12:00 AM - 4:00 PMFull PowerOff-peak rates
4:00 PM - 9:00 PMEco ModePeak rates
9:00 PM - 12:00 AMFull PowerOff-peak rates

Work from Home

TimeDayActionReason
6:00 AM - 8:00 AMWeekdaysNight ModeMorning routine
8:00 AM - 6:00 PMWeekdaysEco ModeWorking hours (noise)
6:00 PM - 10:00 PMWeekdaysFull PowerEvening heating
10:00 PM - 6:00 AMAll daysNight ModeSleeping hours
All dayWeekendsFull PowerAway or flexible

Heating Season Focus

MonthDefault Mode
Oct - MarFull Power (heating needed)
Apr - MayEco Mode (mild weather)
Jun - SepOff or Eco (no heat needed)

Manual YAML Examples

Simple Peak/Off-Peak

automation:
  - alias: "Miner Off-Peak - Full Power"
    trigger:
      - platform: time
        at: "21:00:00"
    action:
      - service: switch.turn_on
        target:
          entity_id: switch.avalon_mini_3_power
      - service: select.select_option
        target:
          entity_id: select.avalon_mini_3_work_mode
        data:
          option: "Mining"
      - service: select.select_option
        target:
          entity_id: select.avalon_mini_3_work_level
        data:
          option: "Super"

  - alias: "Miner Peak - Eco Mode"
    trigger:
      - platform: time
        at: "16:00:00"
    action:
      - service: switch.turn_on
        target:
          entity_id: switch.avalon_mini_3_power
      - service: select.select_option
        target:
          entity_id: select.avalon_mini_3_work_mode
        data:
          option: "Heating"
      - service: select.select_option
        target:
          entity_id: select.avalon_mini_3_work_level
        data:
          option: "Eco"

Weekly Schedule with Conditions

automation:
  - alias: "Miner Weekday Work Hours - Quiet"
    trigger:
      - platform: time
        at: "08:00:00"
    condition:
      - condition: time
        weekday:
          - mon
          - tue
          - wed
          - thu
          - fri
    action:
      - service: select.select_option
        target:
          entity_id: select.avalon_mini_3_work_mode
        data:
          option: "Night"

  - alias: "Miner Weekend - Full Power"
    trigger:
      - platform: time
        at: "00:00:00"
    condition:
      - condition: time
        weekday:
          - sat
          - sun
    action:
      - service: select.select_option
        target:
          entity_id: select.avalon_mini_3_work_mode
        data:
          option: "Heating"
      - service: select.select_option
        target:
          entity_id: select.avalon_mini_3_work_level
        data:
          option: "Super"

Dynamic Rate Integration

If you have a utility rate sensor (via integration):

automation:
  - alias: "Miner Rate-Based Control"
    trigger:
      - platform: state
        entity_id: sensor.utility_rate_tier
    action:
      - choose:
          - conditions:
              - condition: state
                entity_id: sensor.utility_rate_tier
                state: "off_peak"
            sequence:
              - service: switch.turn_on
                target:
                  entity_id: switch.avalon_mini_3_power
          - conditions:
              - condition: state
                entity_id: sensor.utility_rate_tier
                state: "on_peak"
            sequence:
              - service: switch.turn_off
                target:
                  entity_id: switch.avalon_mini_3_power

Note: You can also make your own utility rate sensor via a helper entity

Combining with Temperature Control

Time-of-use works alongside thermostat control:

  1. Time-of-use sets the maximum allowed operation
  2. Thermostat control decides within those windows

Example:

  • Off-peak: Thermostat can control miner freely
  • Peak: Miner stays off regardless of temperature
automation:
  - alias: "Peak Hours - Override Thermostat"
    trigger:
      - platform: time
        at: "16:00:00"
    action:
      - service: climate.set_hvac_mode
        target:
          entity_id: climate.your_thermostat
        data:
          hvac_mode: "off"

  - alias: "Off-Peak - Enable Thermostat"
    trigger:
      - platform: time
        at: "21:00:00"
    action:
      - service: climate.set_hvac_mode
        target:
          entity_id: climate.your_thermostat
        data:
          hvac_mode: "heat"

Tips

Find Your Utility Rates

  • Check your utility bill for TOU schedule
  • Look for “Time of Use” or “TOU” rate plans
  • Some utilities offer APIs or integrations

Buffer Times

Add 15-30 minutes buffer before peak times:

  • Prevents running into peak rates
  • Allows miner to cool down gracefully

Seasonal Adjustments

Create separate automations for:

  • Winter (heating priority)
  • Summer (mining only when profitable)
  • Shoulder seasons (flexible)

Dynamic Control of TOU Times

Create separate ‘helper’ entities to edit on the fly such as:

  • Create a date and/or time helper to set the different TOU periods
    • Easier to edit this entity than the automation
  • Create a schedule helper to build out different triggers based on time periods

Troubleshooting

Miner not following schedule

  • Check automation triggers are correct
  • Verify time zone settings in HA
  • Look for conflicting automations

Overlapping automations

  • Review all miner-related automations
  • Use automation groups or modes
  • Consider a single “scheduler” automation

Resources

Home Assistant Dashboards

Dashboards are your custom interface to Home Assistant. They’re the screens where you see your data, control your devices, and monitor your systems—viewable from the companion mobile app or any web browser.

What Are Dashboards?

Integrations connect your devices. Automations make them work together. Dashboards let you see and control everything.

A dashboard is a customizable screen you design:

  • Cards display data (temperatures, hashrates, power consumption)
  • Buttons trigger actions (turn on miner, change work mode)
  • Gauges and graphs visualize trends over time
  • Controls adjust settings (target temperature, power levels)

Think of it as building your own app interface. You decide exactly what information appears and how it’s organized—like designing a custom control panel for your smart home.

What Are Dashboard Templates?

Dashboard templates are pre-built configurations you can import and customize.

Instead of designing from scratch, you:

  1. Import the template YAML
  2. Update entity IDs to match your devices
  3. Adjust layout and styling to your preference

Templates vs Dashboards: A template is a shareable starting point (YAML file). A dashboard is your running interface. One template can be customized into many different dashboards for different setups.

Why Exergy Makes Dashboard Templates

We design interfaces specifically for hashrate heating systems. Our templates show everything you need in one place:

Heating controls:

  • Thermostat-style display (target temp, current temp)
  • Heating status (active, idle, off)
  • Mode selection (heating, mining, eco)

Miner stats:

  • Real-time hashrate and power consumption
  • Temperature readings (intake, exhaust, hashboard)
  • Device status and work mode

Mining earnings:

  • Sats earned today/this month
  • Recent payout history
  • Pool statistics

It’s like a smart thermostat display—but with your bitcoin mining data alongside the temperature controls. One glance tells you if your room is warm, your miner is healthy, and how much you’ve earned.

Available Exergy Dashboard Templates

TemplateUse Case
Space HeaterThermostat-style interface for room heating with a miner
HVAC IntegrationWhole-home system monitoring and control

Live Demo: See a fully configured system at demo.exergyheat.com

All templates available on GitHub: github.com/exergyheat

Installing Dashboard Templates

Two methods to install any template:

Copy YAML (fastest)

  1. Go to Settings → Dashboards and create a new dashboard
  2. Open the raw configuration editor (three dots menu)
  3. Paste the template YAML and update entity IDs

Card by Card

  1. Use the template as a visual reference
  2. Add cards manually in the dashboard editor
  3. Configure each card with your entities

Each template’s dedicated page has detailed installation and customization steps.

Building Your Own Dashboards

Home Assistant’s dashboard editor is powerful and visual:

Visual Editor - Drag and drop cards, configure with forms, no code required.

YAML Mode - Direct YAML editing for precise control and easy sharing.

Custom Cards - Install community cards via HACS for advanced features:

  • mini-graph-card for compact history graphs
  • mushroom cards for modern, clean styling
  • button-card for highly customized controls

Design tips: Keep key info visible at a glance. Put common controls within easy reach. Test on both phone and desktop.

Contributing Dashboard Templates

Created a useful dashboard for hashrate heating? Share it with the community:

  • Guides Forum - Post screenshots and YAML
  • GitHub - Submit a PR to add your template to the official collection

Learn More

Upstairs Avalon Q + Furnace Hybrid Dashboard - Exergy HA Dashboard

A dashboard for monitoring and controlling a hybrid Avalon Q bitcoin heater integrated with a furnace backup system, featuring wall thermostat control and adjustable power modes.

Overview

This dashboard provides:

  • Venstar wall thermostat interface
  • Three-tier power mode control (Super, Standard, Eco)
  • Real-time temperature monitoring
  • Mining statistics and earnings tracking
  • Dual heating source coordination (Bitcoin heater + furnace)

Before You Start

This dashboard requires:

Equipment

  • Primary Heat: Avalon Q Bitcoin Heater
  • Backup Heat: Furnace (HVAC system)
  • Control: Venstar Wall Thermostat
  • Power Modes: Super (~1.7kW), Standard (~1.2kW), Eco (~0.8kW)

Required Integrations

  • Venstar: Thermostat integration (Optional to use the Generic Thermostat instead)
  • Exergy Avalon Home Miner: Miner Integration
  • OCEAN Mining Pool: Exergy Integration to pull in OCEAN Mining Pool Stats

Installation

Add to Existing Dashboard or Create new

  1. Copy the YAML below and add it as a new view to your existing dashboard or create a new one.
  2. Go to Settings → Dashboards
  3. Select an existing dashboard or create a new one
  4. Click three dots → Edit DashboardAdd View
  5. Switch to YAML mode and paste the view configuration below
  6. Update entity IDs to match your system
  7. Save

Dashboard YAML

Complete Upstairs View

- type: sections
  max_columns: 4
  title: Upstairs
  path: upstairs
  sections:
    - type: grid
      cards:
        - type: heading
          heading: Venstar Wall Thermostat Control
          heading_style: subtitle
        - type: thermostat
          entity: climate.upstairs_thermostat
          show_current_as_primary: false
          features:
            - style: icons
              type: climate-hvac-modes
              hvac_modes:
                - heat
                - 'off'
        - type: heading
          icon: ''
          heading: Mode Control
          heading_style: subtitle
        - type: horizontal-stack
          cards:
            - name: Super
              show_name: true
              show_icon: true
              type: button
              entity: sensor.avalon_q_hashrate
              icon: mdi:fire
              icon_height: 30px
              show_state: false
              hold_action:
                action: none
              tap_action:
                action: perform-action
                perform_action: select.select_option
                target:
                  entity_id: select.avalon_q_work_level
                data:
                  option: Super
            - name: Standard
              show_name: true
              show_icon: true
              type: button
              entity: sensor.avalon_q_hashrate
              icon: mdi:lightning-bolt
              icon_height: 30px
              show_state: false
              hold_action:
                action: none
              tap_action:
                action: perform-action
                perform_action: select.select_option
                target:
                  entity_id: select.avalon_q_work_level
                data:
                  option: Standard
            - name: Eco
              show_name: true
              show_icon: true
              type: button
              entity: sensor.avalon_q_hashrate
              icon: mdi:leaf
              icon_height: 30px
              show_state: false
              hold_action:
                action: none
              tap_action:
                action: perform-action
                perform_action: select.select_option
                target:
                  entity_id: select.avalon_q_work_level
                data:
                  option: Eco
    - type: grid
      cards:
        - type: heading
          heading: Stats
          heading_style: subtitle
        - graph: line
          type: sensor
          detail: 1
          icon: mdi:home-thermometer
          grid_options:
            columns: 12
            rows: 2
          name: Room Temperature
          entity: sensor.upstairs_thermostat_space_temperature
        - type: entities
          entities:
            - entity: sensor.avalon_q_state
              name: State
              icon: mdi:list-status
              secondary_info: last-updated
            - entity: sensor.avalon_q_work_level
              name: Heating Level
              icon: mdi:arrow-expand
              secondary_info: last-updated
            - entity: sensor.avalon_q_hashrate
              name: Hashrate
              secondary_info: last-updated
              icon: mdi:chart-timeline-variant
            - entity: sensor.avalon_q_power
              secondary_info: last-updated
            - entity: sensor.q_lifetime_earnings
              icon: mdi:bitcoin
              secondary_info: last-updated
              name: Lifetime Earnings
          footer:
            type: graph
            entity: sensor.q_lifetime_earnings
            detail: 1
            hours_to_show: 336
          show_header_toggle: false
          state_color: false
  header:
    card:
      type: markdown
      text_only: true
      content: |-
        **Hello {{ user }}**
        Welcome to your Hybrid Avalon Q + Furnace System
  badges:
    - type: entity
      show_name: true
      show_state: false
      show_icon: true
      name: Pool Dashboard
      tap_action:
        action: url
        url_path: https://ocean.xyz/stats/[YOUR OCEAN ADDRESS].[WORKER]
      icon: mdi:pickaxe
      entity: update.advanced_ssh_web_terminal_update #This can be anything, it's just a placeholder
    - type: entity
      show_name: true
      show_state: false
      show_icon: true
      entity: update.advanced_ssh_web_terminal_update #This can be anything, it's just a placeholder
      tap_action:
        action: url
        url_path: https://support.exergyheat.com
      icon: mdi:face-agent
      name: Support
    - type: entity
      show_name: true
      show_state: false
      show_icon: true
      entity: update.advanced_ssh_web_terminal_update #This can be anything, it's just a placeholder
      tap_action:
        action: url
        url_path: https://docs.exergyheat.com
      icon: mdi:book
      name: Documentation

Entity ID Reference

Update these placeholders with your actual entities:

PlaceholderDescriptionHow to Find
climate.upstairs_thermostatVenstar wall thermostatSettings → Devices → Venstar Thermostat
sensor.upstairs_thermostat_space_temperatureCurrent room temperatureSame device as thermostat
sensor.avalon_q_stateMiner operational stateSettings → Devices → Avalon Q
sensor.avalon_q_work_levelCurrent power modeSettings → Devices → Avalon Q
select.avalon_q_work_levelPower mode selectorSettings → Devices → Avalon Q
sensor.avalon_q_hashrateMining hashrateSettings → Devices → Avalon Q
sensor.avalon_q_powerPower consumptionSettings → Devices → Avalon Q
sensor.q_lifetime_earningsBitcoin earningsSettings → Integrations → OCEAN Mining Pool → Select Miner → Q → Lifetime Earnings

Power Mode Details

Super Mode

  • Power: ~1,700W
  • Hashrate: ~90 TH/s
  • Use Case: Maximum heat output, coldest days
  • Noise: Loudest
  • Earnings: Highest

Standard Mode

  • Power: ~1,200W
  • Hashrate: ~75-80 TH/s
  • Use Case: Normal heating needs
  • Noise: Moderate
  • Earnings: Medium

Eco Mode

  • Power: ~800W
  • Hashrate: ~50 TH/s
  • Use Case: Mild days, shoulder season
  • Noise: Quietest
  • Earnings: Lower

Customization

Change Power Mode Options

To add or modify power modes, update the button tap actions:

tap_action:
  action: perform-action
  perform_action: select.select_option
  target:
    entity_id: select.avalon_q_work_level
  data:
    option: Custom  # Add your custom mode here

Customize Temperature Graph

Adjust the temperature history graph display:

- graph: line
  type: sensor
  detail: 1  # Change detail level (1-2)
  icon: mdi:home-thermometer
  grid_options:
    columns: 12  # Adjust width (1-12)
    rows: 2      # Adjust height
  name: Room Temperature
  entity: sensor.upstairs_thermostat_space_temperature

Add Additional Temperature Sensors

Add more temperature monitoring to the stats section:

- type: tile
  entity: sensor.bedroom_temperature
  name: Bedroom Temp
  vertical: false
  features_position: bottom

Update the badge to point to your specific pool worker:

- type: entity
  show_name: true
  show_state: false
  show_icon: true
  name: Pool Dashboard
  tap_action:
    action: url
    url_path: https://ocean.xyz/stats/YOUR_WALLET.YOUR_WORKER_NAME
  icon: mdi:pickaxe
  entity: update.advanced_ssh_web_terminal_update #This can be anything, it's just a placeholder

Advanced: Temperature-Based Mode Automation

Automatically adjust power modes based on outdoor temperature:

automation:
  - alias: "Upstairs - Auto Adjust Power Mode"
    trigger:
      - platform: numeric_state
        entity_id: sensor.outdoor_temperature
        below: 20
    action:
      - service: select.select_option
        target:
          entity_id: select.avalon_q_work_level
        data:
          option: Super

  - alias: "Upstairs - Eco Mode When Mild"
    trigger:
      - platform: numeric_state
        entity_id: sensor.outdoor_temperature
        above: 40
    action:
      - service: select.select_option
        target:
          entity_id: select.avalon_q_work_level
        data:
          option: Eco

Individual Card Examples

Standalone Thermostat Card

type: thermostat
entity: climate.upstairs_thermostat
show_current_as_primary: false
features:
  - style: icons
    type: climate-hvac-modes
    hvac_modes:
      - heat
      - 'off'

Power Mode Buttons Only

type: horizontal-stack
cards:
  - name: Super
    type: button
    entity: sensor.avalon_q_hashrate
    icon: mdi:fire
    tap_action:
      action: perform-action
      perform_action: select.select_option
      target:
        entity_id: select.avalon_q_work_level
      data:
        option: Super
  - name: Standard
    type: button
    entity: sensor.avalon_q_hashrate
    icon: mdi:lightning-bolt
    tap_action:
      action: perform-action
      perform_action: select.select_option
      target:
        entity_id: select.avalon_q_work_level
      data:
        option: Standard
  - name: Eco
    type: button
    entity: sensor.avalon_q_hashrate
    icon: mdi:leaf
    tap_action:
      action: perform-action
      perform_action: select.select_option
      target:
        entity_id: select.avalon_q_work_level
      data:
        option: Eco

Mining Statistics Card

type: entities
title: Avalon Q Stats
entities:
  - entity: sensor.avalon_q_state
    name: State
    icon: mdi:list-status
  - entity: sensor.avalon_q_work_level
    name: Heating Level
  - entity: sensor.avalon_q_hashrate
    name: Hashrate
  - entity: sensor.avalon_q_power
    name: Power Draw
  - entity: sensor.q_lifetime_earnings
    name: Lifetime Earnings
    icon: mdi:bitcoin
footer:
  type: graph
  entity: sensor.q_lifetime_earnings
  detail: 1
  hours_to_show: 336

Troubleshooting

Thermostat Not Responding

  • Verify Venstar integration is configured
  • Check thermostat is online and connected to WiFi
  • Confirm entity ID matches your actual thermostat

Power Mode Buttons Not Working

  • Ensure Avalon Q integration is installed
  • Verify select.avalon_q_work_level entity exists
  • Check miner is online and accessible

Temperature Graph Not Displaying

  • Confirm sensor.upstairs_thermostat_space_temperature exists
  • Check sensor is reporting data
  • Verify entity has a history (may take a few minutes after setup)

Lifetime Earnings Showing 0

  • Ensure Ocean pool integration is configured
  • Verify template sensor is created in configuration.yaml
  • Check sensor.q_lifetime_earnings exists and has data

Badges Not Clickable

  • Verify URLs in tap_action are correct
  • Update pool worker name and wallet address
  • Use a real entity (like update.advanced_ssh_web_terminal_update) or create a dummy input_text

Mobile View

The dashboard automatically adapts to mobile screens:

  • Cards stack vertically
  • Power mode buttons remain side-by-side and scrollable
  • Temperature graph scales to screen width

Resources

Calculators

Exergy provides free online calculators to help you evaluate whether Bitcoin mining-powered heating makes sense for your situation. These tools let you model real-world scenarios using live Bitcoin network data, regional energy prices, and your specific circumstances.

Why We Built These

Hashrate heating economics depend on many variables: your electricity rate, local fuel prices, Bitcoin network conditions, and the mining hardware you choose. Rather than rely on rough estimates, our calculators let you plug in your actual numbers and see exactly what you’d save (or spend) compared to traditional heating.

What You Can Figure Out

  • Is hashrate heating right for me? Compare the effective cost of heating with a Bitcoin miner vs. your current fuel (natural gas, propane, heating oil, or heat pump).
  • How much will I save? See your potential monthly and annual savings in dollars.
  • What’s my break-even electricity rate? Find the maximum $/kWh where hashrate heating still beats your alternatives.
  • How do different miners compare? Evaluate space heater-class miners vs. HVAC-integrated units.
  • How sensitive are my results? Explore how changes in BTC price, electricity rates, or fuel costs affect your bottom line.

Available Calculators

Hashrate Heating Calculator

Our flagship calculator for evaluating Bitcoin mining as a heating strategy. Features include:

  • Live Bitcoin data - Real-time BTC price and network hashrate from public APIs
  • Regional pricing - Pre-loaded electricity and fuel prices for all 50 US states and 13 Canadian provinces
  • Multiple fuel comparisons - Natural gas, propane, heating oil, electric resistance, heat pump, and wood pellets
  • 8 miner presets - Popular heating miners with custom input option
  • Interactive charts - Sensitivity analysis showing how results change with different variables
  • Geographic heat map - Visual comparison across all regions

Open the Calculator


Solar Monetization Calculator

Evaluate whether Bitcoin mining is a better use of your solar energy than selling it back to the grid. Features include:

  • Three input modes - Estimate from location, enter your production data, or model excess solar
  • NREL PVWatts integration - Automatic solar production estimates by ZIP code
  • Net metering comparison - Compare mining against bill credits, net billing, or annual cash-out
  • kWh-based calculations - Only miner efficiency matters
  • Three-Knob Override System - Model different BTC prices, network conditions, and fee environments
  • Monthly breakdown charts - See seasonal variations in solar mining revenue

Open the Calculator


More calculators coming soon.

Hashrate Heating Calculator

The Hashrate Heating Calculator helps you determine whether Bitcoin mining is a cost-effective way to heat your home. By comparing the net cost of running a mining heater against traditional fuel sources, you can make an informed decision about whether hashrate heating makes sense for your situation.

Open the Calculator


Quick Start

  1. Select your location - Choose your country and state/province to auto-load regional electricity and fuel prices
  2. Enter your electricity rate - Use the direct input or bill calculator
  3. Choose a fuel to compare against - Select what you currently use for heating
  4. Select a miner - Pick from presets or enter custom specs
  5. Review your results - See COPe, subsidy %, and savings vs. your current fuel

The calculator uses live Bitcoin network data and updates results in real-time as you adjust inputs.


Understanding the Inputs

Bitcoin Network Data

The calculator fetches live data from public APIs:

MetricSourceDescription
BTC PriceCoinGeckoCurrent Bitcoin price in USD (converted to CAD for Canada)
Network HashrateMempool.spaceTotal computing power securing the Bitcoin network (EH/s)
HashpriceCalculatedRevenue earned per terahash per day ($/TH/day)
HashvalueCalculatedSatoshis earned per terahash per day (sats/TH/day)

The Three-Knob Override System

For “what-if” scenario analysis, you can override live data using three independent controls:

Knob 1 - Price Group:

  • Edit BTC Price and hashprice auto-calculates, OR
  • Edit Hashprice and BTC price auto-calculates
  • These two values are inversely implied—changing one recalculates the other

Knob 2 - Network Group:

  • Fee % anchors this group
  • Edit Network Hashrate and hashvalue recalculates (Fee % held constant), OR
  • Edit Hashvalue and network hashrate recalculates (Fee % held constant)

Knob 3 - Fee Percentage:

  • Slider from 0-99%
  • Models transaction fee environments
  • When adjusted, hashvalue recalculates (network hashrate held constant)
  • Higher Fee % = more miner revenue per block

How Fee % Affects Calculations:

The block reward miners compete for consists of two parts:

  1. Block subsidy (currently 3.125 BTC)
  2. Transaction fees (variable based on network demand)

Fee % represents transaction fees as a percentage of total block reward:

Total Block Reward = Block Subsidy / (1 - Fee %)

For example, at 20% fee environment:

Total Block Reward = 3.125 / (1 - 0.20) = 3.906 BTC

This means miners earn ~25% more than the base subsidy alone.

Example Scenarios:

  • “What if BTC hits $150,000?” → Adjust BTC Price (Knob 1)
  • “What happens when hashrate doubles?” → Adjust Network Hashrate (Knob 2)
  • “What if transaction fees spike during an ordinals frenzy?” → Increase Fee % (Knob 3)

Click “Reset to live data” to clear all overrides.


Location Selection

InputOptionsEffect
CountryUnited States, CanadaSets currency, units, and available regions
State/Province50 US states, 13 Canadian provinces, or “National Average”Auto-loads regional electricity and fuel prices

Selecting a region automatically populates default electricity and fuel rates based on regional averages. You can override these with your actual rates.

Unit differences by country:

FuelUS UnitsCanadian Units
Natural Gas$/therm$/GJ
Propane$/gallon$/litre
Heating Oil$/gallon$/litre
Wood Pellets$/bag$/bag

Electricity Rate

Your electricity rate is the single most important input for hashrate heating economics.

Direct entry: Enter your rate in $/kWh (or C$/kWh for Canada)

Bill calculator: If you don’t know your rate, enter:

  • Total bill amount ($)
  • kWh consumed

The calculator divides bill by kWh to determine your all-in rate (including delivery, taxes, and fees).

Tip: Use your winter bill for the most accurate heating season rate. Time-of-use customers should use their off-peak rate if running miners during off-peak hours.


Fuel Comparison

Select the fuel you want to compare hashrate heating against:

Fuel TypeBTU per Unit (US)BTU per Unit (CA)Default Efficiency
Natural Gas100,000/therm947,817/GJ92% AFUE
Propane91,500/gallon24,200/litre90% AFUE
Heating Oil138,500/gallon36,600/litre85% AFUE
Electric Resistance3,412/kWh3,412/kWh100%
Heat Pump3,412/kWh3,412/kWh300% (COP 3.0)
Wood Pellets330,000/bag330,000/bag80%

Inputs:

  • Fuel rate - Cost per unit (auto-populated from region, can override)
  • Efficiency - AFUE percentage for combustion fuels, or COP for heat pumps

Bill calculator: Similar to electricity, enter total fuel cost and units consumed to calculate your actual rate.


Miner Selection

Choose from 8 preset miners or enter custom specifications:

MinerPower (W)Hashrate (TH/s)Efficiency (J/TH)Use Case
Heatbit Trio4001040.0Small space heater
Heatbit Maxi1,5003938.5Medium space heater
Avalon Mini 38504021.3Compact space heater
Avalon Q1,7009018.9Large space heater
Whatsminer M645,00022821.9HVAC integration
Bitmain S19j Pro3,06810429.5HVAC integration
Bitmain S19k Pro2,76012023.0HVAC integration
Bitmain S91,40013.5103.7Legacy/budget option

Custom input: Enter any power (W) and hashrate (TH/s) combination. The calculator auto-switches to “Custom” if you modify a preset’s values.

Note: All Bitcoin miners are 100% efficient as heaters—every watt of electricity becomes heat. The J/TH efficiency only affects mining revenue, not thermal output.


Understanding the Calculations

Core Formulas

Hashvalue (sats/TH/day)

The number of satoshis a single terahash of mining power earns per day:

Hashvalue = (Blocks per Day × Total Block Reward × sats per BTC) / Network Hashrate

Where Total Block Reward accounts for transaction fees:

Total Block Reward = Block Subsidy / (1 - Fee %)
                   = 3.125 / (1 - Fee %)

At 0% fees (subsidy only):

Hashvalue = (144 × 3.125 × 100,000,000) / Network Hashrate (TH/s)
         = 45,000,000,000 / Network Hashrate (TH/s)

Example at 800 EH/s with 0% fees:

Hashvalue = 45,000,000,000 / 800,000,000 = 56.25 sats/TH/day

Example at 800 EH/s with 20% fees:

Total Block Reward = 3.125 / 0.80 = 3.906 BTC
Hashvalue = (144 × 3.906 × 100,000,000) / 800,000,000 = 70.31 sats/TH/day

Hashprice ($/TH/day)

The USD value of hashvalue:

Hashprice = Hashvalue × BTC Price / 100,000,000

Example: At 56.25 sats/TH/day and $100,000 BTC:

Hashprice = 56.25 × 100,000 / 100,000,000 = $0.05625/TH/day

Daily Bitcoin Earnings

Your share of the daily block rewards:

Daily BTC = (Your Hashrate / Network Hashrate) × Blocks per Day × Block Reward

          = (Your Hashrate TH/s / Network Hashrate TH/s) × 144 × 3.125

Example: 50 TH/s miner at 800 EH/s network:

Daily BTC = (50 / 800,000,000) × 144 × 3.125
          = 0.0000000625 × 450
          = 0.0000281 BTC (2,810 sats)

Daily Electricity Cost

Daily kWh = (Miner Power in Watts / 1000) × 24 hours

Daily Electricity Cost = Daily kWh × Electricity Rate ($/kWh)

Example: 1,000W miner at $0.12/kWh:

Daily kWh = (1000 / 1000) × 24 = 24 kWh
Daily Cost = 24 × $0.12 = $2.88

Daily Mining Revenue

Daily Revenue = Daily BTC × BTC Price

Example: 0.0000281 BTC at $100,000:

Daily Revenue = 0.0000281 × $100,000 = $2.81

Key Economic Metrics

Revenue Ratio (R) — “Heating Subsidy”

The percentage of electricity cost offset by mining revenue:

R = Daily Mining Revenue / Daily Electricity Cost

Example: $2.81 revenue / $2.88 electricity cost:

R = 2.81 / 2.88 = 0.976 (97.6%)

Interpretation:

  • R = 0%: No mining revenue (broken miner or offline)
  • R = 50%: Mining covers half your electricity cost
  • R = 100%: Mining covers all electricity cost (free heating)
  • R > 100%: Mining exceeds electricity cost (you profit while heating)

COPe (Coefficient of Performance - Economic)

A metric analogous to heat pump COP, measuring effective heating efficiency:

COPe = 1 / (1 - R)
R (Subsidy)COPeInterpretation
0%1.0Same as electric resistance heating
50%2.0Equivalent to a basic heat pump
75%4.0Equivalent to a high-efficiency heat pump
90%10.0Extremely efficient
100%Free heating
>100%NegativeYou’re being paid to heat

Why COPe matters: It lets you directly compare hashrate heating to heat pumps. If your COPe is 3.0 and your heat pump’s COP is 3.0, they cost the same to operate. If COPe > COP, the miner is cheaper.

Effective Cost per kWh

The net cost of heat after mining revenue offset:

Effective $/kWh = (Daily Electricity Cost - Daily Mining Revenue) / Daily kWh

Example: ($2.88 - $2.81) / 24 kWh:

Effective $/kWh = $0.07 / 24 = $0.0029/kWh

This can also be expressed in other units:

Effective $/therm = Effective $/kWh × 29.307 kWh/therm

Effective $/MMBTU = Effective $/kWh × 293.07 kWh/MMBTU

Break-even Electricity Rate

The maximum electricity rate where R = 100% (free heating):

Break-even Rate = Daily Mining Revenue / Daily kWh

                = (Daily BTC × BTC Price) / Daily kWh

If your actual rate is below the break-even rate, you heat for free (or profit).


Fuel Comparison Calculations

Traditional Fuel Cost per kWh

To compare against hashrate heating, we convert fuel costs to $/kWh equivalent:

Fuel $/kWh = (BTU per kWh / BTU per Fuel Unit) × Fuel Price × (1 / Efficiency)

           = (3,412 / Fuel BTU Content) × $/unit × (1 / Efficiency)

Example: Natural gas at $1.50/therm, 92% efficiency:

Fuel $/kWh = (3,412 / 100,000) × $1.50 × (1 / 0.92)
           = 0.03412 × $1.50 × 1.087
           = $0.0556/kWh

Savings Percentage

Savings % = (Fuel $/kWh - Hashrate $/kWh) / Fuel $/kWh × 100

Example: Fuel at $0.0556/kWh, hashrate at $0.0029/kWh:

Savings % = (0.0556 - 0.0029) / 0.0556 × 100 = 94.8%

Understanding the Results

Primary Metrics

MetricWhat It Means
COPeEconomic efficiency compared to electric resistance (1.0). Higher = better. Compare to heat pump COP.
Subsidy %How much of your electricity cost mining revenue covers. 100% = free heating.
Savings vs [Fuel]Percentage savings compared to your selected fuel. Positive = hashrate heating is cheaper.
Effective CostYour net cost per unit of heat after mining revenue. Lower = better.

Secondary Metrics

MetricWhat It Means
Break-even RateMaximum $/kWh for free heating. If your rate is lower, you profit.
Daily/Monthly BTCExpected Bitcoin earnings at current network conditions.
Monthly SatsSame as above, in satoshis.

Status Indicators

The calculator displays a status based on your results:

StatusConditionMeaning
ProfitableR ≥ 100%Mining revenue exceeds electricity cost. You profit while heating.
SubsidizedSavings > 0%Hashrate heating is cheaper than your alternative fuel.
LossSavings ≤ 0%Your alternative fuel is currently cheaper.

Interactive Features

Sensitivity Charts

Each major metric (Savings, COPe, Subsidy) has an expandable chart showing how results change when you vary different inputs.

Available X-axis variables:

  • Electricity rate - See how rate changes affect your economics
  • Fuel rate - See sensitivity to fuel price fluctuations
  • Miner efficiency - Compare different miner classes (J/TH)
  • Hashprice - Model different Bitcoin market conditions

Reading the charts:

  • The amber dot marks your current value
  • Reference lines show important thresholds (e.g., 100% subsidy, heat pump COP)
  • Steeper curves indicate higher sensitivity to that variable

Geographic Heat Map

The interactive map visualizes hashrate heating economics across all US states or Canadian provinces.

Features:

  • Color gradient from red (poor economics) to green (excellent economics)
  • Three metric views: Savings %, COPe, or Subsidy %
  • Click any region to populate the calculator with that region’s rates
  • Hover tooltip shows region name, rates, and all three metrics
  • “YOU” row compares your custom inputs against regional averages
  • Mobile-friendly table view with sortable columns

Using the map:

  1. Select which metric to display
  2. For Savings %, also select the fuel type for comparison
  3. Hover over regions to see details
  4. Click a region to model that location

Key Relationships & Sensitivity

What Has the Strongest Influence?

In order of impact:

  1. Electricity rate — The most sensitive variable. A $0.05/kWh difference can swing results from profitable to loss.

  2. Bitcoin price / Hashprice — Directly scales mining revenue. When BTC price doubles, mining revenue doubles.

  3. Miner efficiency (J/TH) — More efficient miners earn more per watt, improving economics. However, less efficient miners output more heat per dollar of hardware.

  4. Fuel rate and efficiency — Only affects the comparison to traditional heating, not absolute hashrate heating costs.

  5. Network hashrate — Inversely affects earnings. When network hashrate doubles, individual earnings halve. This is the variable most outside your control.

Important Trade-offs

Electricity rate vs. fuel rate: Even with expensive electricity, hashrate heating can win if your alternative fuel is also expensive (e.g., propane in rural areas).

Miner efficiency vs. heat output: More efficient miners (lower J/TH) have better economics but often produce less heat. A 400W space heater won’t warm a large room regardless of its COPe.

BTC price volatility: Results are highly sensitive to BTC price. A 50% price drop roughly halves your subsidy percentage. Consider modeling worst-case scenarios.

Network hashrate growth: Hashrate tends to increase over time, reducing per-TH earnings. This is partially offset by BTC price appreciation and block reward expectations.


Use Cases & Examples

Example 1: Am I Better Off With Hashrate Heating?

Scenario: You currently heat with propane at $2.80/gallon with a 90% efficient furnace. Your electricity rate is $0.14/kWh.

Steps:

  1. Select your state (or enter rates manually)
  2. Set electricity rate to $0.14/kWh
  3. Select “Propane” as fuel type, enter $2.80/gallon, 90% efficiency
  4. Choose a miner (e.g., Avalon Mini 3)

Interpreting results:

  • If Savings shows +45%, hashrate heating costs 45% less than propane
  • If COPe shows 3.2, your miner is as efficient as a 3.2 COP heat pump
  • If Subsidy shows 78%, mining covers 78% of your electricity cost

Example 2: What BTC Price Do I Need for Free Heating?

Scenario: You want to find the minimum BTC price for 100% subsidy (free heating).

Steps:

  1. Enter your actual electricity rate
  2. Select your miner
  3. In the Bitcoin Data section, manually adjust the BTC Price override
  4. Watch the Subsidy % metric
  5. Find the price where Subsidy reaches ~100%

Alternative method:

  • Note your Break-even Rate result
  • If your actual rate is below this, you already have free heating
  • If above, the ratio tells you how much BTC needs to rise

Example 3: Which Region Is Best for Hashrate Heating?

Scenario: You’re flexible on location and want to find the best state for hashrate heating.

Steps:

  1. Set your preferred fuel type for comparison
  2. Expand the Geographic Heat Map
  3. Select “Savings %” as the metric
  4. Look for the darkest green regions
  5. Click promising states to see full details

Best regions typically have:

  • Low electricity rates (< $0.10/kWh)
  • High alternative fuel costs (expensive propane/oil)
  • Cold winters (more heating demand)

Technical Notes

Data Sources

DataSourceUpdate Frequency
BTC PriceCoinGecko APIOn page load
Network HashrateMempool.space APIOn page load
Regional Fuel PricesInternal databasePeriodic updates
Block RewardHardcodedUpdates at halvings (next: ~2028)

Fallback Values

If APIs are unavailable, the calculator uses these defaults:

MetricFallback Value
BTC Price$100,000 USD
Network Hashrate800 EH/s
Block Reward3.125 BTC
Hashprice$0.05/TH/day

Currency Conversion

For Canadian users:

  • BTC price is converted at 1 USD = 1.40 CAD
  • All results display in CAD
  • Fuel units use metric (litres, GJ)

Glossary

TermDefinition
AFUEAnnual Fuel Utilization Efficiency. Percentage of fuel converted to heat.
Block SubsidyThe fixed BTC reward per block (currently 3.125 BTC). Halves approximately every 4 years.
COPCoefficient of Performance. Heat output divided by electricity input (for heat pumps).
COPeCoefficient of Performance - Economic. Exergy’s metric comparing hashrate heating to electric resistance.
EH/sExahashes per second. 1 EH = 1,000,000 TH. Measures Bitcoin network hashrate.
Fee %Transaction fees as a percentage of total block reward. Models periods of high/low network demand.
HashpriceMining revenue per terahash per day, in dollars.
HashvalueMining revenue per terahash per day, in satoshis.
J/THJoules per terahash. Measures miner efficiency. Lower = more efficient.
RRevenue ratio. Mining revenue divided by electricity cost. Same as Subsidy %.
TH/sTerahashes per second. Measures individual miner hashrate.
Total Block RewardBlock subsidy plus transaction fees. What miners actually earn per block.

Solar Monetization Calculator

The Solar Monetization Calculator helps you determine whether Bitcoin mining is a better use of your solar energy than selling it back to the grid. By comparing mining revenue against net metering compensation, you can make an informed decision about how to maximize the value of your solar production.

Open the Calculator


Quick Start

  1. Choose your input mode - Select how you want to provide solar production data
  2. Enter your solar details - ZIP code and system size, or your own production numbers
  3. Select a miner - Pick from presets or enter custom efficiency
  4. Compare against net metering - See how mining stacks up against your utility’s compensation
  5. Review your results - See annual revenue, per-kWh earnings, and recommendations

The calculator uses live Bitcoin network data and updates results in real-time as you adjust inputs.


Understanding Input Modes

The calculator offers three ways to model your solar production:

Mode 1: Estimate (Location-Based)

Use this mode if you’re planning a new solar installation or want a quick estimate.

InputDescription
ZIP CodeYour location for solar irradiance data
System Size (kW)DC capacity of your solar array

The calculator uses the NREL PVWatts API to estimate annual solar production based on:

  • Local solar irradiance (kWh/m²/day)
  • Typical system losses (14% default)
  • Fixed south-facing tilt (latitude-optimal)

Example: A 10 kW system in Phoenix, AZ might produce ~18,000 kWh/year, while the same system in Seattle, WA might produce ~12,000 kWh/year.

Mode 2: Production (User-Provided Generation)

Use this mode if you know your actual or expected solar production.

InputDescription
Annual ProductionTotal kWh your system generates per year
Monthly Breakdown (optional)Production by month for seasonal analysis

When to use this mode:

  • You have an existing system with historical data
  • You have a quote with production estimates
  • You want to model a specific scenario

Mode 3: Excess (Net Metering Comparison)

Use this mode to specifically compare mining your excess solar against net metering.

InputDescription
Excess SolarkWh you export to the grid (don’t self-consume)
Net Metering TypeHow your utility compensates exported solar
Compensation RateWhat you receive per kWh exported

This mode is ideal if you already offset your own usage and want to optimize what happens to the surplus.


Net Metering Comparison

Understanding Utility Compensation Types

Utilities compensate exported solar differently. The calculator models three common structures:

Bill Credits (Full Retail Rate)

How it works:

  • Each kWh exported earns a credit equal to your retail electricity rate
  • Credits offset future electricity purchases
  • Unused credits typically expire after 12 months

Typical rate: ~$0.12/kWh (varies by location)

Where it’s common: California (legacy NEM 2.0), many Northeast states, Colorado

Pros: Highest compensation rate Cons: Credits can expire; no cash value

Net Billing (Avoided Cost Rate)

How it works:

  • Each kWh exported is credited at a lower “avoided cost” or wholesale rate
  • Credits are applied instantly to your bill
  • Typically 30-50% of retail rate

Typical rate: ~$0.05/kWh (varies widely)

Where it’s common: California NEM 3.0, Arizona, Idaho, Nevada

Pros: Credits don’t expire Cons: Much lower compensation than retail

Annual Cash-Out

How it works:

  • kWh credits accumulate throughout the year
  • Annual excess is paid out at a low wholesale rate
  • Monthly credits may be at higher rate

Typical rate: ~$0.02-0.04/kWh for annual payout

Where it’s common: Xcel Energy territories, TVA utilities, some rural co-ops

Pros: Receive actual cash for excess Cons: Very low compensation rate

Comparison Table

TypeTypical RateAnnual Value (5,000 kWh)
Bill Credits$0.12/kWh$600 in credits
Net Billing$0.05/kWh$250 in credits
Annual Cash-Out$0.02/kWh$100 in cash

Understanding the Calculations

Core Mining Formula (kWh-Based)

The key insight: Only miner efficiency matters for solar mining economics—not power draw or hashrate individually.

Sats per kWh = (1000 / Efficiency_J_TH) × (Hashvalue / 24)

Where:

  • 1000 converts kWh to Wh
  • Efficiency_J_TH is miner efficiency in Joules per Terahash
  • Hashvalue is sats earned per TH per day
  • 24 converts daily hashvalue to hourly

Why this works:

A miner’s hashrate is directly proportional to its power consumption:

Hashrate (TH/s) = Power (W) / Efficiency (J/TH)

So for any amount of energy (kWh), the BTC earned depends only on efficiency:

Total Sats = kWh × 1000 × (1 / Efficiency) × (Hashvalue / 24)

Example:

  • Miner efficiency: 20 J/TH
  • Hashvalue: 60 sats/TH/day
  • Solar production: 1 kWh
Sats = 1 × 1000 × (1/20) × (60/24)
     = 1000 × 0.05 × 2.5
     = 125 sats per kWh

Daily/Monthly/Annual Revenue

Daily BTC = Daily kWh × Sats per kWh / 100,000,000

Monthly BTC = Monthly kWh × Sats per kWh / 100,000,000

Annual BTC = Annual kWh × Sats per kWh / 100,000,000

USD Value = BTC × BTC Price

Revenue per kWh

$/kWh (mining) = Sats per kWh × BTC Price / 100,000,000

Example: At 125 sats/kWh and $100,000 BTC:

$/kWh = 125 × 100,000 / 100,000,000 = $0.125/kWh

Net Metering vs Mining Comparison

Mining Advantage = Mining $/kWh - Net Metering $/kWh

Recommendation:
- If Mining $/kWh > Net Metering $/kWh → "Mine your excess solar"
- If Mining $/kWh < Net Metering $/kWh → "Keep net metering"
- If close (within 20%) → "Consider mining for BTC accumulation"

Bitcoin Network Data & Overrides

Live Data Sources

MetricSourceDescription
BTC PriceCoinGeckoCurrent Bitcoin price in USD
Network HashrateMempool.spaceTotal computing power securing the network (EH/s)
HashpriceCalculatedRevenue per TH/day in dollars
HashvalueCalculatedRevenue per TH/day in satoshis

The Three-Knob Override System

For “what-if” scenario analysis, you can override live data using three independent controls:

Knob 1 - Price Group:

  • Edit BTC Price and hashprice auto-calculates, OR
  • Edit Hashprice and BTC price auto-calculates

Knob 2 - Network Group:

  • Fee % anchors this group
  • Edit Network Hashrate and hashvalue recalculates, OR
  • Edit Hashvalue and network hashrate recalculates

Knob 3 - Fee Percentage:

  • Slider from 0-99%
  • Models transaction fee environments
  • When adjusted, hashvalue recalculates (network hashrate held constant)

Click “Reset to live data” to clear overrides.


Understanding the Results

Primary Metrics

MetricWhat It Means
Annual BTCTotal Bitcoin earned from mining your solar production
Annual USDDollar value of mining revenue at current BTC price
Sats per kWhSatoshis earned per kilowatt-hour of solar used
$/kWh (Mining)Dollar value earned per kWh when mining

Comparison Metrics (Excess Mode)

MetricWhat It Means
$/kWh (Net Metering)What your utility pays per kWh exported
Mining AdvantageDifference between mining and net metering $/kWh
Annual DifferenceTotal dollar difference over a year
RecommendationWhether to mine or stick with net metering

Monthly Breakdown

The calculator shows month-by-month projections:

  • Solar production (kWh)
  • BTC earned
  • USD value
  • Comparison to net metering

This helps visualize seasonal variations—summer months typically produce more solar and thus more mining revenue.


Miner Selection

For solar mining, efficiency (J/TH) is the only spec that matters. The calculator includes presets:

MinerEfficiency (J/TH)Category
Avalon Mini 321.3Space heater class
Avalon Q18.9Space heater class
Whatsminer M6421.9HVAC class
Bitmain S19k Pro23.0HVAC class
Bitmain S2117.5Latest generation
Antminer S9103.7Legacy/budget

Custom input: Enter any J/TH efficiency value directly.

Note: Lower J/TH = more efficient = more sats per kWh. A 20 J/TH miner earns ~5x more per kWh than a 100 J/TH miner.


Use Cases & Examples

Example 1: Should I Mine My Excess Solar?

Scenario: You have a 10 kW system producing 14,000 kWh/year. After self-consumption, 5,000 kWh goes back to the grid. Your utility offers net billing at $0.045/kWh.

Steps:

  1. Select “Excess” input mode
  2. Enter 5,000 kWh excess
  3. Select “Net Billing” at $0.045/kWh
  4. Choose a miner (e.g., Avalon Mini 3 at 21.3 J/TH)
  5. Review comparison

Possible result:

  • Net metering value: 5,000 × $0.045 = $225/year
  • Mining revenue: ~$400/year (at current network conditions)
  • Recommendation: Mine your excess solar

Example 2: New Solar Installation Planning

Scenario: You’re installing a 12 kW system and want to know if you should oversize for mining.

Steps:

  1. Select “Estimate” mode
  2. Enter your ZIP code
  3. Enter 12 kW system size
  4. Compare mining revenue to net metering options
  5. Model larger systems (15 kW, 20 kW) to see diminishing returns

Example 3: What BTC Price Makes Mining Beat Net Metering?

Scenario: Your utility offers generous $0.10/kWh bill credits. At what BTC price does mining become better?

Steps:

  1. Enter your solar production
  2. Set net metering to $0.10/kWh
  3. Use Knob 1 to adjust BTC price
  4. Find the price where Mining $/kWh exceeds $0.10

Key Relationships & Sensitivity

What Drives Solar Mining Economics?

In order of impact:

  1. Miner efficiency (J/TH) — The single most important variable. Upgrading from 100 J/TH to 20 J/TH increases revenue 5x.

  2. Bitcoin price — Directly scales USD revenue. When BTC doubles, dollar revenue doubles.

  3. Net metering rate — The lower your utility pays, the more attractive mining becomes.

  4. Network hashrate — Inversely affects earnings. Higher network hashrate = less BTC per TH.

  5. Fee % — Higher transaction fees increase miner revenue (when network is congested).

Important Considerations

Net metering is risk-free: Net metering compensation is guaranteed (at current rates). Mining revenue varies with BTC price and network conditions.

Mining accumulates BTC: Even if current USD value is similar, mining lets you accumulate Bitcoin—potentially valuable if price appreciates.

Utility rate changes: Net metering policies are changing rapidly. Many utilities are reducing compensation (NEM 3.0 trend). Mining provides optionality.

Miner efficiency improvements: New miner generations improve efficiency ~20-30% every 1-2 years. Future miners will earn more per kWh.


Technical Notes

Data Sources

DataSourceUpdate Frequency
BTC PriceCoinGecko APIOn page load
Network HashrateMempool.space APIOn page load
Solar EstimatesNREL PVWatts APIOn ZIP code entry
Block RewardHardcodedUpdates at halvings

PVWatts API Parameters

When using Estimate mode, the calculator queries NREL PVWatts with:

  • System capacity: User-provided kW
  • Module type: Standard (crystalline silicon)
  • Array type: Fixed (roof mount)
  • Tilt: Location latitude
  • Azimuth: 180° (south-facing)
  • System losses: 14%

Fallback Values

If APIs are unavailable:

MetricFallback Value
BTC Price$100,000 USD
Network Hashrate800 EH/s
Block Reward3.125 BTC

Glossary

TermDefinition
Avoided CostThe cost a utility avoids by not generating or purchasing power. Basis for net billing rates.
Bill CreditskWh credits that offset future electricity purchases, typically at retail rate.
Excess SolarSolar production exported to the grid (not self-consumed).
Fee %Transaction fees as a percentage of total block reward.
HashvalueSatoshis earned per terahash per day.
J/THJoules per terahash. Measures miner efficiency. Lower = better.
Net BillingCompensation for exported solar at avoided cost rate (lower than retail).
Net MeteringUtility programs that credit solar owners for exported electricity.
NEM 3.0California’s new net metering policy with reduced export compensation.
NRELNational Renewable Energy Laboratory. Provides PVWatts solar estimation API.
PVWattsNREL tool for estimating solar production based on location and system size.
Sats per kWhSatoshis earned per kilowatt-hour of energy used for mining.

Reference

Resources and support for your Exergy system.

Pages

PageDescription
SupportGet help through forums or contact us
FAQFrequently asked questions

External Resources

ResourceDescription
Support ForumCommunity support and discussions
GitHubOpen source integrations and code
Live DemoTry the Exergy dashboard

Support

Get help with your Exergy system through our community forums or contact us directly.

Community Forums

ForumDescription
Hardware SupportQuestions about miners, brains, and physical equipment
Software SupportHome Assistant, integrations, and configuration help
Services SupportQuestions about Exergy services and subscriptions

Contact

  • Contact Exergy directly for sales, partnerships, or private inquiries

FAQ

Frequently asked questions about Exergy systems.

Check out the FAQ page on our community forum to see answers to common questions or post your own.


Still Need Help?