Major updates: - Complete Rust rewrite (pilot-v2/) with working MQTT client - Fixed MQTT event loop deadlock (background task pattern) - Battery telemetry for Linux (auto-detected via /sys/class/power_supply) - Home Assistant auto-discovery for all sensors and switches - Comprehensive documentation (AVANCEMENT.md, CLAUDE.md, roadmap) - Docker test environment with Mosquitto broker - Helper scripts for development and testing Features working: ✅ MQTT connectivity with LWT ✅ YAML configuration with validation ✅ Telemetry: CPU, memory, IP, battery (Linux) ✅ Commands: shutdown, reboot, sleep, screen (dry-run tested) ✅ HA discovery and integration ✅ Allowlist and cooldown protection Ready for testing on real hardware. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
171 lines
3.2 KiB
Markdown
171 lines
3.2 KiB
Markdown
# Aorus
|
|
|
|
## Description
|
|
|
|
installe un service qui creer des entites pour home assistant:
|
|
- etat de la batterie
|
|
- button pour eteindre le pc
|
|
- reboot
|
|
- eteindre l'ecran
|
|
- cpu
|
|
- memory
|
|
- adresse ip
|
|
- cpu frequency
|
|
|
|
## Prérequis
|
|
|
|
installation de python3 et de python-env:
|
|
```
|
|
sudo apt install python3-venv
|
|
```
|
|
|
|
```
|
|
python3 -m venv monenv
|
|
```
|
|
activation de l'environnement:
|
|
|
|
```
|
|
source monenv/bin/activate
|
|
```
|
|
|
|
## Installation
|
|
|
|
```
|
|
git clone http://10.0.1.200/pilot/aorus.git
|
|
```
|
|
|
|
```
|
|
cd aorus
|
|
```
|
|
Création de l'environnement:
|
|
|
|
```
|
|
python3 -m venv monenv
|
|
```
|
|
Activation de l'environnement:
|
|
```
|
|
source monenv/bin/activate
|
|
```
|
|
Installation des paquets additionnels:
|
|
```
|
|
pip install -r requirements.txt
|
|
```
|
|
## Test du programme
|
|
|
|
```
|
|
python3 main.py
|
|
```
|
|
Sortie de l'environnement:
|
|
```
|
|
deactivate
|
|
```
|
|
|
|
## Installation en temps que service
|
|
|
|
authorisation de shutdown: ajouter a la fin du fichier
|
|
|
|
```
|
|
sudo visudo
|
|
```
|
|
```
|
|
gilles ALL=(ALL) NOPASSWD: /sbin/shutdown
|
|
gilles ALL=(ALL) NOPASSWD: /sbin/reboot
|
|
gilles ALL=(ALL) NOPASSWD: /usr/bin/tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
|
|
```
|
|
Installation du service en manuel:
|
|
|
|
```
|
|
sudo cp mqtt_pilot.service /etc/systemd/system/
|
|
```
|
|
```
|
|
sudo systemctl daemon-reload
|
|
```
|
|
```
|
|
sudo systemctl enable mqtt_pilot.service
|
|
```
|
|
```
|
|
sudo systemctl start mqtt_pilot.service
|
|
```
|
|
```
|
|
sudo systemctl status mqtt_pilot.service
|
|
```
|
|
lancer l'installation du service:
|
|
```
|
|
sudo ./install.sh
|
|
```
|
|
|
|
## PILOT v2 (Rust) ✅ FUNCTIONAL
|
|
|
|
**Status**: Core implementation complete and tested. Ready for feature development.
|
|
|
|
### Quick Start
|
|
|
|
```bash
|
|
# Start MQTT broker (Docker required)
|
|
./scripts/start_mqtt_broker.sh
|
|
|
|
# Run pilot v2
|
|
./scripts/run_pilot.sh
|
|
|
|
# In another terminal, monitor messages
|
|
./scripts/monitor_mqtt.sh
|
|
|
|
# Send a test command
|
|
docker exec pilot-mosquitto mosquitto_pub -t "pilot/pilot-device/cmd/screen/set" -m "OFF"
|
|
```
|
|
|
|
### Documentation
|
|
|
|
- **[Implementation Status](docs/implementation_status.md)** - What's implemented and what's missing
|
|
- **[Development Roadmap](docs/development_roadmap.md)** - Planned features and priorities
|
|
- **[Testing Results](docs/testing_results.md)** - End-to-end test validation
|
|
- **[Architecture](docs/architecture_v2.md)** - MQTT contract and module structure
|
|
- **[Deployment Guide](docs/deploiement.md)** - Systemd service setup
|
|
- **[Usage Guide](docs/utilisation.md)** - How to use pilot v2
|
|
|
|
### Configuration
|
|
|
|
Example config: `config/config.example.yaml`
|
|
|
|
Key settings:
|
|
- MQTT broker connection
|
|
- Telemetry interval (default: 10s)
|
|
- Commands allowlist
|
|
- Dry-run mode (safety during development)
|
|
- Platform backends (power and screen control)
|
|
|
|
### Development
|
|
|
|
```bash
|
|
# Run tests
|
|
cd pilot-v2 && cargo test
|
|
|
|
# Build release
|
|
cd pilot-v2 && cargo build --release
|
|
|
|
# Check code
|
|
cd pilot-v2 && cargo check
|
|
```
|
|
|
|
### Features (v2)
|
|
|
|
**Working**:
|
|
- ✅ MQTT connectivity with LWT
|
|
- ✅ YAML configuration
|
|
- ✅ Telemetry (CPU, memory, IP, battery*)
|
|
- ✅ Power commands (shutdown, reboot, sleep)
|
|
- ✅ Screen control (on/off)
|
|
- ✅ Home Assistant auto-discovery
|
|
- ✅ Command allowlist and cooldown
|
|
- ✅ Dry-run mode for safe testing
|
|
|
|
_* Battery telemetry: Linux only, auto-detected_
|
|
|
|
**Planned** (see roadmap):
|
|
- CPU temperature
|
|
- Battery support for Windows
|
|
- GPU telemetry
|
|
- Windows backend implementation
|
|
- TLS/SSL support
|
|
- Integration tests
|