WMTUI was designed as an alternative to WhatsminerTool to be used on the terminal of the local server of mining sites.
- View Whatsminers on a set ip range
- view: IP, Mac, Status, Error Codes, Uptime, GHs, Efficiency, Wattage, Set Power Limit, 1st pool URL
- Switch between multiple saved ip ranges
- Send command to one or many machines
- Sleep and Wake machines
- Set pools
- Set Power Limit
- Enable / Disable Fastboot
- Reboot
esc
- Quit↑
- Move up the miner list↓
- Move down the miner list'
- Sort miners, toggles between four modes, ip, mac, hash rate, and uptime. Ip sort is the default?
- Show help menutab
- Switch between the miner list pane and the selected miners paneenter
- Select or deselect a minera
- Enter the farm selection screenf
- Enable fastbootl
- Set power limitm
- Refresh the miner viewn
- Create a new farmo
- Disable fastbootp
- Set poolsq
- Quitr
- Reboots
- Sleepw
- Wake
esc
- Go back to the miner listtab
- Switch Between text fieldsenter
- Save new farm
esc
- Go back to the miner list↑
- Move up the farm list↓
- Move down the farm listenter
- Select farm
esc
- Go back to the miner listtab
- Switch Between text fieldsenter
- Send the new pools
enter
- Send the new power limit
- Add farm - Add a new farm to MWTUI with
n
, switch text fields withtab
and save the farm setting withenter
. - Select farm - After creating a new farm you'll be sent to the farm selection screen, otherwise press
a
.
Navigate the menu with↓ ↑
, select the desired farm withenter
and wait for the miner list to refresh. - Select miners - Use
enter
to multi select miners, presstab
to see all selected miners. Miners can be deselected withenter
as well. - Send command - press the key associated with the desired command to send.
w
- will wake machines.s
- will sleep machines.f
- will enable fastboot.s
- will disable fastboot.p
- will set pools - usetab
to switch text fields andenter
to send the command.l
- will set power limit -enter
sends the new value.
- Deselect miners - At the moment there is no way to unselect all selected miners, to avoid issues deselect all selected miners.
- Refresh miner list - After sending a command and giving time for the command to process, press
m
to refresh the miner list and see the updated machine info. - Commands can also be sent to a single machine by just having it highlighted and pressing a command key.
- The view will break if your terminal window is too small.
- The view will break if resizing the terminal window.
- Setting pools has no validation check on both the pool URL and worker name.
- Setting farms has no IP validation.
- Setting power limit has no validation.
- Farm IP ranges are only based on the last 2 octets of the IP address.
- API Errors are currently unhandled and may crash the program.
- No feedback on command success or failure.
- Scanning for miners will occasionally miss some.
- Selected miners can be sent back to the main page as duplicates if refreshing after selecting.
- Refresh again to get rid of them.
- There's currently no way to bulk remove selected machines
- Will always scan an IP range from 1 - 255
- WMTUI will occasionally lock up on launch requiring a force killing of the main process.
- WMTUI will occasionally crash on startup.
- When switching between farms the rescan doesn't always scan properly, requiring a restart to fully switch to the new farm.
- When scanning for miners API errors can occur marking the machine as off and setting errors to
API_ERROR
.- The issue is related to the version of firmware on the whatsminer, currently unknown if its due to being too old or too new.
Download the appropriate release version from the release page and unzip it.
Open a terminal and navigate to the newly created folder and run one of the following commands:
Windows:
.\WMTUI.exe
Mac/Linux:
./WMTUI
Download the file from the <> code
button in zip format and unzip it.
From the root directory of the project run the following:
go mod tidy
go build .
WMTUI comes preset with the 192.168.0.0/24
ip range and more can be added while running.
The FARMS.JSON
file can be manually edited as well if preferred,
farms are stored in the following JSON format:
{
"Farms": [{
"Name": "Name of farm"
"Start": "192.168.0.1"
"End": "192.168.0.255"
}]
}