Files
bot_Tamiseur/docs/FREEBOX_LCD.md
Zachary Guénot ddd617317c
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 6m16s
Réécriture complète 4.0
2025-06-09 16:29:12 +02:00

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

  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