CLI Commands
Global Options
Section titled “Global Options”These options apply to most commands:
| Option | Description |
|---|---|
-v, --verbose | Enable verbose logging |
-q, --quiet | Suppress non-essential output |
--json | Shorthand for JSON output where supported |
--compact | Emit compact JSON instead of pretty-printed JSON |
--no-color | Disable colored output |
--style <MODE> | Visual style: rich, minimal, plain |
-o, --output <FILE> | Write output to a file instead of stdout |
Common unit flags:
| Option | Description |
|---|---|
--fahrenheit / --celsius | Override temperature units |
--inhg / --hpa | Override pressure units |
--bq / --pci | Override radon units |
Discover nearby Aranet devices via Bluetooth.
aranet scan [OPTIONS]| Option | Description |
|---|---|
-t, --timeout <SECONDS> | Scan duration in seconds |
-f, --format <FORMAT> | Output format: text, json, csv |
--no-header | Omit the CSV header row |
-a, --alias | Interactively save aliases for discovered devices |
aranet scan --timeout 15aranet scan --aliasRead current sensor measurements from one or more devices.
aranet read [OPTIONS]| Option | Description |
|---|---|
-d, --device <ADDRESS> | Device address or alias; can be repeated or comma-separated |
-T, --timeout <SECONDS> | Connection timeout per device |
-f, --format <FORMAT> | Output format: text, json, csv |
--passive | Read from BLE advertisements without connecting |
--no-header | Omit the CSV header row |
aranet read --device AA:BB:CC:DD:EE:FFaranet read -d living-room -d bedroomaranet read --device living-room --passive --jsonstatus
Section titled “status”Show a one-line summary for a device.
aranet status [OPTIONS]| Option | Description |
|---|---|
-d, --device <ADDRESS> | Device address or alias |
-T, --timeout <SECONDS> | Connection timeout |
-f, --format <FORMAT> | Output format: text, json, csv |
--brief | Emit a compact single-line summary |
--no-header | Omit the CSV header row |
aranet status --device living-roomaranet status --device living-room --briefhistory
Section titled “history”Download historical measurements from a device, or read them from the local cache.
aranet history [OPTIONS]| Option | Description |
|---|---|
-d, --device <ADDRESS> | Device address or alias |
-T, --timeout <SECONDS> | Connection timeout |
-c, --count <N> | Number of records to retrieve (0 means all) |
-f, --format <FORMAT> | Output format: text, json, csv |
--since <DATE> | Filter records after this RFC3339 or YYYY-MM-DD timestamp |
--until <DATE> | Filter records before this RFC3339 or YYYY-MM-DD timestamp |
--cache | Read from the local cache instead of connecting to the device |
--no-header | Omit the CSV header row |
aranet history --device living-room --output history.csv --format csvaranet history --device living-room --since 2026-03-01 --until 2026-03-07aranet history --device living-room --cache --count 100 --format jsonDisplay device metadata such as model, firmware, and serial number.
aranet info [OPTIONS]| Option | Description |
|---|---|
-d, --device <ADDRESS> | Device address or alias |
-T, --timeout <SECONDS> | Connection timeout |
-f, --format <FORMAT> | Output format: text, json, csv |
--no-header | Omit the CSV header row |
aranet info --device living-roomModify supported device settings.
aranet set [OPTIONS] <SUBCOMMAND>| Subcommand | Description |
|---|---|
interval <MINUTES> | Set the measurement interval in minutes; valid values are 1, 2, 5, 10 |
range <MODE> | Set Bluetooth range mode; valid values are standard, extended |
smart-home <BOOL> | Enable or disable Smart Home BLE advertisements |
| Option | Description |
|---|---|
-d, --device <ADDRESS> | Device address or alias |
-T, --timeout <SECONDS> | Connection timeout |
-f, --force | Skip the confirmation prompt |
aranet set --device living-room interval 5aranet set --device living-room range extendedaranet set --device living-room smart-home onContinuously monitor a device, or all devices passively.
aranet watch [OPTIONS]| Option | Description |
|---|---|
-d, --device <ADDRESS> | Device address or alias |
-T, --timeout <SECONDS> | Connection timeout |
-i, --interval <SECONDS> | Poll interval |
-n, --count <N> | Stop after N samples (0 means unlimited) |
-f, --format <FORMAT> | Output format: text, json, csv |
--passive | Watch BLE advertisements instead of opening a connection |
--no-header | Omit the CSV header row |
aranet watch --device living-room --interval 30aranet watch --passivearanet watch --device basement --passive --count 10Manage friendly names for device addresses.
aranet alias <SUBCOMMAND>| Subcommand | Description |
|---|---|
list | List configured aliases |
set <NAME> <ADDRESS> | Create or update an alias |
remove <NAME> | Delete an alias |
aranet alias set living-room AA:BB:CC:DD:EE:FFaranet alias listaranet alias remove living-roomconfig
Section titled “config”Manage the CLI configuration file.
aranet config <SUBCOMMAND>| Subcommand | Description |
|---|---|
show | Print the full config |
get <KEY> | Print a single config value |
set <KEY> <VALUE> | Update a config value |
unset <KEY> | Remove a config value |
path | Print the config file path |
init | Create a default config file |
Supported keys: device, format, timeout, no-color, fahrenheit, inhg, bq.
aranet config initaranet config set device living-roomaranet config set format jsonaranet config showSync device history into the local SQLite cache.
aranet sync [OPTIONS]| Option | Description |
|---|---|
-d, --device <ADDRESS> | Device address or alias |
-T, --timeout <SECONDS> | Connection timeout |
-f, --format <FORMAT> | Output format: text, json, csv |
--full | Re-download all history instead of syncing incrementally |
--all | Sync all known devices from the database |
aranet sync --device living-roomaranet sync --device living-room --fullaranet sync --all --format jsonreport
Section titled “report”Generate summary reports from cached history.
aranet report [OPTIONS]| Option | Description |
|---|---|
-d, --device <ADDRESS> | Device address or alias |
--all | Report on every cached device |
-p, --period <PERIOD> | daily, weekly, or monthly |
-f, --format <FORMAT> | Output format: text or json |
aranet report --device living-roomaranet report --device living-room --period weekly --format jsonaranet report --all --period monthlyQuery and maintain the local SQLite cache directly.
aranet cache <SUBCOMMAND>| Subcommand | Description |
|---|---|
devices | List cached devices |
stats [--device <ADDRESS>] | Show cache statistics |
history --device <ADDRESS> | Query cached history records |
aggregate --device <ADDRESS> | Show min/max/avg aggregates |
export --device <ADDRESS> | Export cached history to CSV or JSON |
prune --older-than <DURATION> | Delete older cache records |
info | Show database path and size |
import | Import history from CSV or JSON |
aranet cache devicesaranet cache stats --device living-roomaranet cache history --device living-room --count 50 --format jsonaranet cache aggregate --device living-room --since 2026-03-01aranet cache export --device living-room --format csv --output living-room.csvaranet cache prune --older-than 90d --history-only --vacuumaranet cache import --format json --input export.jsonserver
Section titled “server”Launch the bundled HTTP API server and dashboard from the CLI.
aranet server [OPTIONS]| Option | Description |
|---|---|
-c, --config <PATH> | Path to the aranet-service configuration file |
-b, --bind <ADDR> | Bind address override |
--database <PATH> | Database path override |
--no-collector | Start the API without background polling |
--daemon | Detach and run in the background |
aranet server --bind 127.0.0.1:8080aranet server --config ~/.config/aranet/server.toml --no-collectorcompletions
Section titled “completions”Generate shell completions.
aranet completions <SHELL>Supported shells: bash, zsh, fish, powershell, elvish.
aranet completions zsh > ~/.zfunc/_aranetdoctor
Section titled “doctor”Run BLE diagnostics and permission checks.
aranet doctoraranet doctorexamples
Section titled “examples”Print a curated set of common command examples.
aranet examplesLaunch the interactive terminal dashboard.
aranet tuiThe default aranet-cli release includes the tui subcommand. If you install the standalone TUI package instead, use aranet-tui.