9e77d961f5
- Capture SIGTERM et SIGINT via libc::signal → AtomicBool RUNNING - La boucle principale s'arrête proprement à la prochaine itération - Envoi d'un paquet status:offline via UDP avant de quitter - MQTT : publish status offline + disconnect() pour déconnexion gracieuse (le last_will reste actif pour les déconnexions brutales) - payload.rs: #[serde(default)] sur version pour compatibilité descendante Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>