- Structure complète du projet - Docker compose de production - Documentation organisée par thèmes - Guides d'installation et configuration - Section dépannage détaillée - Journal historique
9.4 KiB
9.4 KiB
🚀 Projet Futur : Intégration EFFi avec Homelab & Home Assistant
Date de création : 2026-02-23 Statut : À explorer (priorité moyenne) Responsable : Folzo
🎯 Objectif
Créer une couche conversationnelle intelligente pour gérer :
- Home Assistant (domotique, éclairage, chauffage, sécurité).
- Homelab (supervision des services, backup, monitoring).
- Automatisations familiales (rappels, gestion des tâches).
EFFi agit comme un hub central pour toutes les interactions vocales ou textuelles avec tes infrastructures.
🔧 Architecture Proposée
1. Couche Vocale (STT/TTS existant)
- Entrée : Commande vocale ou texte via Open WebUI.
- Traitement : STT (Whisper sur
folzo-Corp) → Analyse par EFFi → Action. - Sortie : Réponse vocale (XTTS sur
folzo-Corp) ou notification.
2. Couche d’Automatisation (n8n)
- Rôle : Traduire les commandes d’EFFi en actions pour HA/Homelab.
- Exemple de workflow :
[Commande vocale : "Eteins les lumières"] → STT → EFFi → n8n (appel API HA) → HA éteint les lumières → TTS "Fait !"
3. Couche Domotique (Home Assistant)
- Intégration : Utilisation de l’API REST de HA.
- Fonctionnalités clés :
- Contrôle des lumières, chauffage, volets.
- Scénarios (mode cinéma, sécurité, nuit).
- Alertes (portes ouvertes, mouvement détecté).
4. Couche Homelab (Supervision)
- Outils : Docker API, SSH,
systemctl. - Fonctionnalités :
- Vérification de l’état des services (
docker ps,systemctl status). - Redémarrage automatique en cas d’erreur.
- Mises à jour (
docker compose pull).
- Vérification de l’état des services (
🔄 Fonctionnalités Clés
A. Domotique avec Home Assistant
| Commande Vocale | Action d’EFFi | Technologie |
|---|---|---|
| "Allume la lumière du salon" | Envoie une requête à HA pour allumer light.salon. |
API REST HA + n8n. |
| "Quelle est la température ?" | Récupère les données du capteur sensor.temperature via HA. |
API Sensor HA. |
| "Active le mode cinéma" | Lance un scénario HA (lumière éteinte, projecteur allumé, volets fermés). | Automations HA. |
| "Alerte : la porte est ouverte" | Vérifie binary_sensor.porte_entree et envoie une notification. |
Events HA + n8n. |
Exemple de scénario complet :
- Commande : « Effi, bonne nuit. »
- Actions :
- HA éteint les lumières.
- HA baisse le chauffage à 18°C.
- HA active le mode « Nuit » (volets fermés).
- EFFi rappelle : « Bonne nuit ! Je surveille tout. »
B. Supervision Homelab
| Commande | Action | Technologie |
|---|---|---|
| "Vérifie l’état du NAS" | Exécute docker ps et renvoie les stats CPU/mémoire. |
Docker API. |
| "Redémarre le service Qdrant" | Exécute docker restart qdrant via SSH. |
SSH + mcpo. |
| "Fais un backup des fichiers" | Lance un script rsync ou borg. |
SSH + scripts. |
| "Quelle est la CPU de effi-server ?" | Récupère les stats via docker stats. |
Docker SDK. |
Exemple de workflow :
- Commande : « Effi, check les ressources. »
- Actions :
- EFFi exécute :
docker stats --format "{{.Name}}: {{.CPUPerc}}%". - Réponse : « effi-server : 12% CPU, qdrant : 3%. Tout est normal. »
- EFFi exécute :
C. Automatisations Familiales
| Fonctionnalité | Description | Intégration |
|---|---|---|
| Rappels de tâches | « Effi, rappelle-moi d’acheter du lait. » → Sync avec Nextcloud. | Nextcloud API + n8n. |
| Gestion des recettes | « Effi, quelle recette pour ce soir ? » → Intègre Jellyfin ou un wiki. | API Jellyfin ou Obsidian. |
| Calendrier partagé | « Qu’est-ce que j’ai prévu demain ? » → Sync avec Google/Nextcloud Calendar. | Calendar API. |
🛠️ Étapes de Mise en Œuvre
1. Prérequis Techniques
- Home Assistant :
- Activer l’API REST dans
Configuration > Long Live Options. - Créer un token d’accès pour EFFi.
- Activer l’API REST dans
n8n:- Configurer un node Home Assistant avec ton token.
- Créer un workflow de test (ex : allumer une lumière).
- Accès SSH :
- Configurer
mcpopour exécuter des commandes Docker/SSH.
- Configurer
2. Configuration d’EFFi
- Ajouter un plugin ou script pour HA dans
mcpo(Python). - Configurer le STT/TTS pour une boucle vocale complète.
- Documenter les commandes vocales dans une FAQ.
3. Tests Initiaux
- Tester les commandes basiques avec
n8n(ex : allumer/éteindre une lumière). - Vérifier la boucle vocale (STT → HA → TTS).
- Automatiser une tâche homelab (ex : vérifier l’état des services).
📝 Exemples de Commandes Vocales
Domotique
- « Allume la lumière dans la chambre. »
- « Baisse le chauffage à 20°C. »
- « Ferme les volets du salon. »
- « Quel est l’état des capteurs de mouvement ? »
Homelab
- « Vérifie l’état de mon NAS. »
- « Redémarre le service Docker qui plante. »
- « Fais un backup des fichiers importants. »
- « Quelle est la consommation CPU de effi-server ? »
Automatisations Familiales
- « Rappelle-moi d’appeler maman ce soir. »
- « Quelle recette puis-je faire avec des pommes de terre ? »
- « Qu’est-ce que j’ai dans mon calendrier pour demain ? »
📁 Ressources Utiles
Documentation
Scripts d’Exemple
# Exemple de script pour mcpo (Python)
def handle_ha_command(command):
import requests
ha_url = "http://192.168.1.50:8123/api/services/light/turn_on"
headers = {"Authorization": "Bearer <TON_TOKEN_HA>", "Content-Type": "application/json"}
data = {"entity_id": "light.salon"}
if "lumière salon" in command:
response = requests.post(ha_url, headers=headers, json=data)
return "Lumière allumée !" if response.ok else "Erreur."
return "Commande non reconnue."
Workflow n8n
1. **Trigger** : Webhook (ex : `http://effi-server:5678/webhook/ha`)
2. **Function Node** : Parse la commande (ex : extrait "light.salon").
3. **HTTP Request** : Appelle l’API HA.
4. **Webhook** : Renvoie la confirmation à EFFi pour TTS.
🔜 Prochaines Étapes (Quand tu auras le temps !)
- Priorité 1 :
- Configurer un workflow
n8npour HA (ex : allumer une lumière). - Tester la boucle vocale STT → HA → TTS.
- Configurer un workflow
- Priorité 2 :
- Automatiser la supervision d’un service Docker (ex :
qdrant). - Intégrer un rappels de tâches avec Nextcloud.
- Automatiser la supervision d’un service Docker (ex :
- Priorité 3 :
- Créer des scénarios complexes (ex : mode cinéma complet).
- Documenter toutes les commandes vocales possibles.
💡 Idées Avancées (Pour plus tard)
- Intégration avec Jellyfin : « Effi, lance mon dernier film vu en mode cinéma. »
- Voice Cloning : Utiliser des modèles vocaux personnalisés pour une voix plus naturelle.
- IA Contextuelle : EFFi se souvient de tes habitudes (ex : « D’habitude, tu éteins les lumières à 23h. »).
- Dashboard Vocale : « Effi, montre-moi les stats de mon homelab. » → Réponse vocale + affichage sur un écran.
📅 Journal des Mises à Jour
| Date | Action | Statut |
|---|---|---|
| 2026-02-23 | Création de cette note. | ✅ Terminé |
| À définir | Configuration initiale de n8n + HA. |
À faire |
🎯 Conclusion
Ce projet permettrait de centraliser toutes tes interactions avec ton homelab et ta domotique via une interface vocale naturelle. En démarrant par les bases (contrôle des lumières, supervision Docker), tu pourras progressivement ajouter des fonctionnalités plus avancées.
Prochaine action : Quand tu auras 30 minutes, lance-toi sur la configuration de n8n avec Home Assistant ! Je peux te guider étape par étape si besoin. 😊