Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 6m16s
3.5 KiB
3.5 KiB
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
- Module Freebox activé :
/database edit guildFbx.enabled true - Hôte configuré :
/database edit guildFbx.host <ip_freebox> - Version API configurée :
/database edit guildFbx.version <version> - 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 :
- Désactiver le timer sur le bot actuel :
/freebox lcd timer action:disable - 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
- Vérifier que la Freebox est accessible sur le réseau
- S'assurer que l'application est autorisée dans l'interface Freebox
- 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 LCDPUT /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