CLI Commands
Discover nearby Aranet devices via Bluetooth.
aranet scan [OPTIONS]Options
Section titled “Options”| Option | Default | Description |
|---|---|---|
-t, --timeout <SECONDS> | 10 | Scan duration in seconds |
Example
Section titled “Example”$ aranet scan --timeout 15
Scanning for Aranet devices (timeout: 15s)...
Found 2 devices: Aranet4 17C3C AA:BB:CC:DD:EE:FF RSSI: -45 dBm AranetRn+ 306B8 11:22:33:44:55:66 RSSI: -52 dBmRead current sensor measurements from one or more devices.
aranet read [OPTIONS]Options
Section titled “Options”| Option | Default | Description |
|---|---|---|
-d, --device <ADDRESS> | interactive | Device address(es), can be specified multiple times or comma-separated |
-f, --format <FORMAT> | text | Output format: text, json, csv |
--passive | - | Read from BLE advertisements without connecting |
--inhg | - | Display pressure in inches of mercury |
--hpa | - | Display pressure in hPa (default) |
--fahrenheit | - | Display temperature in Fahrenheit |
Example
Section titled “Example”$ aranet read --device AA:BB:CC:DD:EE:FF
CO₂: 847 ppm [GREEN]Temperature: 22.4°CHumidity: 45%Pressure: 1013.2 hPaBattery: 87%$ aranet read -d living-room -d bedroom
-- living-room --CO₂: 847 ppm [GREEN]Temperature: 22.4°C...
-- bedroom --CO₂: 523 ppm [GREEN]Temperature: 20.1°C...# Read from advertisements without connecting$ aranet read --device AA:BB:CC:DD:EE:FF --passive$ aranet read --device AA:BB:CC:DD:EE:FF --format json
{ "co2": 847, "temperature": 22.4, "humidity": 45, "pressure": 1013.2, "battery": 87, "status": "green", "interval": 300, "age": 135}history
Section titled “history”Download historical measurements from a device.
aranet history [OPTIONS]Options
Section titled “Options”| Option | Default | Description |
|---|---|---|
-d, --device <ADDRESS> | interactive | Device address |
-c, --count <N> | 0 (all) | Number of records to retrieve |
-f, --format <FORMAT> | text | Output format: text, json, csv |
--since <DATE> | - | Filter records since this date (RFC3339 or YYYY-MM-DD) |
--until <DATE> | - | Filter records until this date |
-o, --output <FILE> | - | Write output to file |
Example
Section titled “Example”$ aranet history --device AA:BB:CC:DD:EE:FF --output history.csv --format csv
Downloading history...[==========] 100% Download completeDownloaded 1440 records to history.csv# Download only records from a specific date range$ aranet history --device AA:BB:CC:DD:EE:FF --since 2026-01-15 --until 2026-01-16Display device information.
aranet info [OPTIONS]Options
Section titled “Options”| Option | Default | Description |
|---|---|---|
-d, --device <ADDRESS> | auto-detect | Device address |
Example
Section titled “Example”$ aranet info --device AA:BB:CC:DD:EE:FF
Device Information╭──────────────┬─────────────────╮│ Property │ Value │├──────────────┼─────────────────┤│ Name │ Aranet4 17C3C ││ Model │ Aranet4 ││ Serial │ 12345678 ││ Firmware │ v1.4.19 ││ Hardware │ v1.0 ││ Software │ v1.0 ││ Manufacturer │ SAF Tehnika │╰──────────────┴─────────────────╯status
Section titled “status”Quick one-line reading with colored CO2 status indicator.
aranet status [OPTIONS]Options
Section titled “Options”| Option | Default | Description |
|---|---|---|
-d, --device <ADDRESS> | auto-detect | Device address (MAC or UUID) |
--brief | - | Super-compact single-line output |
Example
Section titled “Example”$ aranet status --device AA:BB:CC:DD:EE:FF
Aranet4 17C3C: 847 ppm [GREEN] 22.4C 45% 1013 hPa
# Brief mode for scripts$ aranet status --device AA:BB:CC:DD:EE:FF --brief
Aranet4 17C3C: 800 ppm [GREEN] | 22.5C | 45% | 85%Modify device settings.
aranet set [OPTIONS] <SETTING> <VALUE>Settings
Section titled “Settings”| Setting | Values | Description |
|---|---|---|
interval | 1, 2, 5, 10 | Measurement interval in minutes |
range | standard, extended | Bluetooth range |
smart_home | on, off | Smart Home integration |
Example
Section titled “Example”# Set measurement interval to 2 minutesaranet set --device AA:BB:CC:DD:EE:FF interval 2
# Enable extended Bluetooth rangearanet set --device AA:BB:CC:DD:EE:FF range extended
# Enable Smart Home integrationaranet set --device AA:BB:CC:DD:EE:FF smart_home onContinuously monitor sensor readings with auto-reconnect.
aranet watch [OPTIONS]Options
Section titled “Options”| Option | Default | Description |
|---|---|---|
-d, --device <ADDRESS> | all devices | Device address (MAC or UUID) |
-i, --interval <SECONDS> | 60 | Polling interval in seconds |
-n, --count <N> | unlimited | Number of readings before exiting |
--passive | false | Read from BLE advertisements (requires Smart Home enabled) |
Examples
Section titled “Examples”Watch a specific device (active connection):
$ aranet watch --device AA:BB:CC:DD:EE:FF
Watching: AA:BB:CC:DD:EE:FFInterval: 60s | Press Ctrl+C to stop--------------------------------------------------[10:00:00] 847 ppm | 22.4 C | 45% | 95%[10:05:00] 823 ppm | 22.5 C | 44% | 95%Watch all devices passively (no connection required):
$ aranet watch --passive
Watching: all devices (passive)Interval: 60s | Press Ctrl+C to stop------------------------------------------------------------[10:00:00] [Aranet4 17C3C] [GREEN] 523 ppm 22.1C 45% 1013.2 hPa BAT 87%[10:00:00] [AranetRn+ 306B8] [AMBER] 101 pCi/L 14.6C 32% 981.4 hPa BAT 95%[10:01:30] [Aranet4 17C3C] [GREEN] 518 ppm 22.2C 44% 1013.1 hPa BAT 87%Watch a specific device passively:
$ aranet watch --passive --device "AranetRn+ 306B8"config
Section titled “config”Manage the configuration file (~/.config/aranet/config.toml).
aranet config <SUBCOMMAND>Subcommands
Section titled “Subcommands”| Subcommand | Description |
|---|---|
show | Display current configuration |
get <KEY> | Get a configuration value |
set <KEY> <VALUE> | Set a configuration value |
unset <KEY> | Remove a configuration value |
path | Print the config file path |
init | Initialize default configuration |
Example
Section titled “Example”# Show current configuration$ aranet config show
device = "AA:BB:CC:DD:EE:FF"format = "text"no_color = falsefahrenheit = false
# Print config file path$ aranet config path
/Users/you/.config/aranet/config.tomlConfiguration Options
Section titled “Configuration Options”# Default device addressdevice = "AA:BB:CC:DD:EE:FF"
# Default output format: text, json, csvformat = "text"
# Disable colored outputno_color = false
# Use Fahrenheit for temperaturefahrenheit = false
# Use inHg for pressureinhg = false
# Use Bq/m³ for radon (instead of pCi/L)bq = false
# Device aliases[aliases]living-room = "AA:BB:CC:DD:EE:FF"bedroom = "11:22:33:44:55:66"completions
Section titled “completions”Generate shell completion scripts.
aranet completions <SHELL>Shells
Section titled “Shells”bash, zsh, fish, powershell, elvish
Example
Section titled “Example”# Generate and install zsh completionsaranet completions zsh > ~/.zfunc/_aranetManage device aliases (friendly names for device addresses).
aranet alias <SUBCOMMAND>Subcommands
Section titled “Subcommands”| Subcommand | Description |
|---|---|
list | Show all saved device aliases |
set <name> <address> | Create or update an alias |
remove <name> | Delete an alias |
Example
Section titled “Example”# Create an alias$ aranet alias set living-room AA:BB:CC:DD:EE:FFAdded alias 'living-room' -> AA:BB:CC:DD:EE:FF
# List all aliases$ aranet alias list╭─────────────┬───────────────────╮│ Alias │ Device Address │├─────────────┼───────────────────┤│ bedroom │ 11:22:33:44:55:66 ││ living-room │ AA:BB:CC:DD:EE:FF │╰─────────────┴───────────────────╯
# Use alias instead of address$ aranet read -d living-room
# Remove an alias$ aranet alias remove bedroomRemoved alias 'bedroom'Download device history to the local database for offline access.
aranet sync [OPTIONS]Options
Section titled “Options”| Option | Default | Description |
|---|---|---|
-d, --device <ADDRESS> | required | Device address or alias |
--full | false | Re-download all history (instead of incremental) |
Example
Section titled “Example”# Incremental sync (only new records since last sync)$ aranet sync --device AA:BB:CC:DD:EE:FF
Syncing history from Aranet4 17C3C...[==========] 100% Downloaded 42 new recordsSync complete. Total cached: 1482 records
# Full sync (re-download everything)$ aranet sync --device living-room --full
Syncing history from Aranet4 17C3C (full)...[==========] 100% Downloaded 1482 recordsSync complete.Query cached data from the local database without connecting to a device.
aranet cache <SUBCOMMAND>Subcommands
Section titled “Subcommands”| Subcommand | Description |
|---|---|
devices | List all cached devices |
stats | Show cache statistics |
history | Query cached history records |
info | Show database path and size |
Examples
Section titled “Examples”List cached devices:
$ aranet cache devices
Cached Devices:╭─────────────────┬───────────────────┬──────────────┬─────────────╮│ Name │ Address │ Last Sync │ Records │├─────────────────┼───────────────────┼──────────────┼─────────────┤│ Aranet4 17C3C │ AA:BB:CC:DD:EE:FF │ 2 hours ago │ 1482 ││ AranetRn+ 306B8 │ 11:22:33:44:55:66 │ 1 day ago │ 720 │╰─────────────────┴───────────────────┴──────────────┴─────────────╯Show cache statistics:
$ aranet cache stats
Cache Statistics: Devices: 2 Readings: 156 History: 2202 Database: 1.2 MBQuery cached history:
$ aranet cache history --device AA:BB:CC:DD:EE:FF --count 10
# With date filters$ aranet cache history --device living-room --since 2026-01-15 --until 2026-01-16Show database info:
$ aranet cache info
Database Path: /Users/you/Library/Application Support/aranet/data.dbDatabase Size: 1.2 MBLaunch the interactive terminal dashboard for real-time monitoring.
aranet tuiFeatures
Section titled “Features”The TUI dashboard provides a full-featured monitoring interface with:
- Multi-device monitoring with auto-refresh
- Sparkline charts with min/max labels and time axis
- Threshold alerts with severity levels and terminal bell
- Light/dark theme toggle
- Mouse support for device and tab selection
- Export history to CSV
- Comparison view for side-by-side readings
Key Bindings
Section titled “Key Bindings”| Key | Action |
|---|---|
Tab / Shift+Tab | Next/Previous tab |
j / k / ↑ / ↓ | Navigate devices |
Enter | Connect/Disconnect or edit setting |
s | Scan for devices |
r | Refresh reading |
g | Full-screen chart |
v | Comparison view |
e | Export history to CSV |
t | Toggle theme |
? | Show help |
q | Quit |
Example
Section titled “Example”$ aranet tui
┌─ Aranet Monitor ─────────────── *2/3 CO2:847 !1 ─┐│ ┌─ Devices ───────┐ ┌─ Readings ─────────────────┤│ │ * Aranet4 17C3C │ │ CO2 847 ppm -> ││ │ AranetRn+ 306 │ │ Temperature 22.4 C ││ └─────────────────┘ └────────────────────────────┤└──────────────────────────────────────────────────┘See the aranet-tui README for the complete keyboard reference.
doctor
Section titled “doctor”Run BLE diagnostics and permission checks to troubleshoot connectivity issues.
aranet doctorExample
Section titled “Example”$ aranet doctor
Aranet Doctor - BLE Diagnostics
Running diagnostics...
Results:------------------------------------[PASS] Bluetooth Adapter: Found and accessible[PASS] BLE Scanning: Found 2 device(s): Aranet4 17C3C, AranetRn+ 306B8
All checks passed! Your system is ready to use Aranet devices.If there are issues, the doctor will provide platform-specific troubleshooting tips:
- macOS: Bluetooth permissions in System Settings
- Linux: BlueZ installation, bluetooth group membership
- Windows: Bluetooth drivers and settings
Made with ❤️ by Cameron Rye