Skip to content

Roadmap

The Aranet project aims to be the definitive Rust ecosystem for Aranet environmental sensors, with feature parity to Aranet4-Python and beyond.

PhaseComponentStatusProgress
0FoundationDONEREADME, LICENSE, CI, CHANGELOG
1Core LibraryDONEFull BLE stack tested with hardware
2CLI ToolDONEAll commands implemented and tested
3TUI DashboardDONE44 features implemented
4GUI ApplicationDONEFull MVP with charts and multi-device
5Data Persistence & APIDONEaranet-store and aranet-service complete
6IntegrationsDONEPrometheus metrics, MQTT publisher

All CLI features implemented:

  • scan, read, status, info, history, set, watch, config, completions
  • doctor command for BLE diagnostics
  • alias command for friendly device names
  • Multi-device read with parallel connections
  • Interactive device picker when no device specified
  • Passive read mode from BLE advertisements
  • History date filters (--since / --until)
  • Progress bars for history download
  • Pressure unit conversion (--inhg / --hpa)

Full-featured terminal monitoring with ratatui (44 features implemented):

Live Readings

Auto-refresh with trend indicators and min/max/avg stats

Multi-Device

Monitor multiple sensors with filtering and comparison view

Sparklines

Historical charts with time axis, multiple metrics (T/H)

Alerts

Threshold alerts with severity levels and terminal bell

  • Navigation: Tab/Shift+Tab, vim-style j/k, mouse support
  • Views: Full-screen chart (g), comparison view (v), help overlay (?)
  • History: Time range filter (0-4), scrollable records, CSV export (e)
  • Settings: Edit interval, BLE range (B), Smart Home (I), thresholds (+/-)
  • Alerts: Alert history (a), sticky alerts (A), terminal bell (b)
  • Display: Light/dark theme (t), responsive layout, wider sidebar (])

Native desktop app with egui:

  • Device discovery UI - Scan button and device list sidebar
  • Real-time readings dashboard - Color-coded CO2/radon/radiation values
  • Historical data charts - CO2, radon, radiation, temperature, humidity trends
  • Time filtering - All/24h/7d/30d history views
  • Settings display - View device configuration
  • Multi-device support - Connect and monitor multiple devices
  • Cross-platform - Works on macOS, Windows, and Linux

Phase 5: Data Persistence & API (Complete)

Section titled “Phase 5: Data Persistence & API (Complete)”

Local data storage and HTTP API for integrations:

SQLite Storage

Persistent storage for readings and history with schema migrations

REST API

HTTP endpoints for devices, readings, and history queries

Background Collector

Automatic device polling with configurable intervals

WebSocket

Real-time streaming of sensor readings

  • aranet-store: SQLite database with readings, history, and device tracking
  • aranet-service: Background collector + HTTP REST API server
  • CLI integration: sync and cache commands for local data management
  • Service management: Install as system service (launchd/systemd)

External system integrations for monitoring and IoT:

Prometheus Metrics

/metrics endpoint with full sensor data for Grafana dashboards

MQTT Publisher

Broadcast readings to MQTT brokers for Home Assistant and IoT

Service Control

CLI commands for service install/start/stop management

Configuration API

Runtime configuration management via REST API

  • Prometheus: Sensor metrics, collector statistics, push gateway support
  • MQTT: Topic-based publishing, TLS support, configurable QoS
  • Service management: aranet-service service install/start/stop
  • Dynamic config: Add/remove devices without restart
  • All Python library features working in Rust
  • Single binary CLI with no runtime dependencies
  • TUI monitoring multiple devices simultaneously
  • GUI app installable on all platforms
  • Published to crates.io as aranet-cli
  • All dependencies on latest stable versions
  • Zero cargo audit warnings

We welcome contributions! Areas where help is especially appreciated:

  1. Testing with hardware — Help test with Aranet2, Radiation sensors
  2. GUI/TUI polish — UI/UX improvements
  3. Documentation — Examples, tutorials, translations
  4. Integrations — Home Assistant, InfluxDB, Grafana dashboards
  5. Device support — Aranet2 history, Radiation history download

Made with ❤️ by Cameron Rye