Réécriture complète 4.0
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 6m16s
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 6m16s
This commit is contained in:
103
docs/FREEBOX_LCD.md
Normal file
103
docs/FREEBOX_LCD.md
Normal file
@@ -0,0 +1,103 @@
|
||||
# Système de Contrôle des LEDs Freebox
|
||||
|
||||
Ce module permet au bot de contrôler automatiquement les LEDs de l'écran LCD de la Freebox avec des timers programmables.
|
||||
|
||||
## Fonctionnalités
|
||||
|
||||
### Contrôle Manuel des LEDs
|
||||
- Allumer/éteindre les LEDs instantanément via commande Discord
|
||||
- Récupérer la configuration actuelle de l'écran LCD
|
||||
|
||||
### Timer Automatique
|
||||
- Programmation d'extinction automatique la nuit
|
||||
- Programmation d'allumage automatique le matin
|
||||
- Gestion par bot unique par serveur (évite les conflits)
|
||||
- Persistance des paramètres en base de données
|
||||
|
||||
## Configuration Prérequise
|
||||
|
||||
1. **Module Freebox activé** : `/database edit guildFbx.enabled true`
|
||||
2. **Hôte configuré** : `/database edit guildFbx.host <ip_freebox>`
|
||||
3. **Version API configurée** : `/database edit guildFbx.version <version>`
|
||||
4. **Authentification** : `/freebox init` (suivre le processus d'autorisation)
|
||||
|
||||
## Commandes Disponibles
|
||||
|
||||
### Récupération de configuration
|
||||
```
|
||||
/freebox get lcd
|
||||
```
|
||||
Récupère et affiche la configuration actuelle de l'écran LCD.
|
||||
|
||||
### Contrôle manuel des LEDs
|
||||
```
|
||||
/freebox lcd leds enabled:true # Allumer les LEDs
|
||||
/freebox lcd leds enabled:false # Éteindre les LEDs
|
||||
```
|
||||
|
||||
### Gestion du timer
|
||||
```
|
||||
# Activer le timer avec horaires
|
||||
/freebox lcd timer action:enable morning_time:08:00 night_time:22:30
|
||||
|
||||
# Vérifier le statut du timer
|
||||
/freebox lcd timer action:status
|
||||
|
||||
# Désactiver le timer
|
||||
/freebox lcd timer action:disable
|
||||
```
|
||||
|
||||
## Fonctionnement du Timer
|
||||
|
||||
### Programmation
|
||||
- Le timer est programmé automatiquement au démarrage du bot
|
||||
- Seul le bot configuré comme "gestionnaire" peut contrôler les LEDs d'un serveur
|
||||
- Les horaires sont vérifiés et formatés (HH:MM, 24h)
|
||||
|
||||
### Exécution
|
||||
- **Matin** : Les LEDs s'allument à l'heure programmée
|
||||
- **Soir** : Les LEDs s'éteignent à l'heure programmée
|
||||
- **Reprogrammation** : Le cycle se répète automatiquement chaque jour
|
||||
|
||||
### Logs
|
||||
Les opérations sont loggées dans la console :
|
||||
- Programmation des timers
|
||||
- Exécution des commandes d'allumage/extinction
|
||||
- Erreurs de connexion ou d'authentification
|
||||
|
||||
## Gestion Multi-Bot
|
||||
|
||||
### Système de Verrouillage
|
||||
- Un seul bot peut gérer les LEDs par serveur Discord
|
||||
- L'ID du bot gestionnaire est stocké en base de données
|
||||
- Les autres bots reçoivent un message d'erreur s'ils tentent d'utiliser les commandes
|
||||
|
||||
### Changement de Bot Gestionnaire
|
||||
Pour changer de bot gestionnaire :
|
||||
1. Désactiver le timer sur le bot actuel : `/freebox lcd timer action:disable`
|
||||
2. Activer le timer sur le nouveau bot : `/freebox lcd timer action:enable`
|
||||
|
||||
## Dépannage
|
||||
|
||||
### Erreurs Communes
|
||||
- **"Module Freebox désactivé"** : Activer avec `/database edit guildFbx.enabled true`
|
||||
- **"Hôte non configuré"** : Définir avec `/database edit guildFbx.host <ip>`
|
||||
- **"Token d'app manquant"** : Refaire l'initialisation avec `/freebox init`
|
||||
- **"Géré par un autre bot"** : Désactiver sur l'autre bot d'abord
|
||||
|
||||
### Vérification de Configuration
|
||||
1. Vérifier que la Freebox est accessible sur le réseau
|
||||
2. S'assurer que l'application est autorisée dans l'interface Freebox
|
||||
3. Vérifier les logs de la console pour les erreurs détaillées
|
||||
|
||||
## API Freebox Utilisée
|
||||
|
||||
- `GET /api/v8/lcd/config/` : Récupération de la configuration LCD
|
||||
- `PUT /api/v8/lcd/config/` : Modification de la configuration LCD
|
||||
- Propriété `led_strip_enabled` : Contrôle de l'état des LEDs
|
||||
|
||||
## Sécurité
|
||||
|
||||
- Les tokens d'authentification sont gérés automatiquement
|
||||
- Les sessions sont créées à la demande
|
||||
- Les erreurs d'authentification sont loggées mais les tokens ne sont pas exposés
|
||||
Reference in New Issue
Block a user