AI Connector est un plugin Jeedom multimodal qui intègre les principaux moteurs d’Intelligence Artificielle du marché :
sudo bash /var/www/html/plugins/ai_connector/resources/install.sh
Cela installe :
Durée : 5-10 minutes (selon vitesse internet et CPU)
sudo bash /var/www/html/plugins/ai_connector/resources/check_installation.sh
Doit afficher ✅ pour tous les éléments critiques.
sudo systemctl restart jeedom
AIza...)Gratuit : 60 requêtes/min, illimitées en requêtes/jour
Gratuit : 60 minutes STT/mois, 1 million caractères TTS/mois
sk-...)Payant : ~0.005$ par 1K tokens (gpt-4o-mini)
bHd...)Gratuit : 50 requĂŞtes/jour (tier gratuit)
Gratuit : 1 modèle personnalisé
Nom : Ma IA Gemini
Objet parent : Cuisine
Moteur : Google Gemini
Clé API : AIza... (copié plus haut)
Modèle : (laisser vide ou gemini-3-flash-preview)
Actif : ✓ Coché
Visible : ✓ Coché
Les commandes sont créées automatiquement :
Poser une question (action, type message)Dernière réponse (info, type string)Ajouter les paramètres :
TTS activé : ✓ Coché
Clé Google Cloud : (copier du JSON ou API Gemini)
Langue TTS : fr-FR
Voix TTS : fr-FR-Neural2-A (ou autre)
Périphérique audio : hw:2,0 (détecté automatiquement)
STT activé : ✓ Coché
Moteur STT : google (ou whisper pour local)
Langue STT : fr-FR
Dispositif audio : 1 (voir arecord -L)
Wakeword activé : ✓ Coché
Clé Picovoice : (copier d'AccessKey)
Wakewords : picovoice (ou autres)
Sensibilité : 0.95 (0.0 min, 1.0 max)
Bloc d'action:
Action : #[Cuisine][Ma IA][Poser une question]#
Message : Quel est le meilleur moment pour faire cuire un gâteau?
Puis récupérer la réponse :
Bloc d'action suivant:
Afficher notification : #[Cuisine][Ma IA][Dernière réponse]#
Message : "La température extérieure est #[Terrasse][Sonde][Temp]#°C et l'humidité #[Terrasse][Sonde][Humidité]#%. \
Dois-je faire ma lessive aujourd'hui?"
L’IA reçoit les valeurs actuelles de Jeedom.
Configuration requise :
SI #[Salon][Mon IA][Dernière réponse]# contient "oui"
ALORS
#[Salon][Lumière salon][Allumer]#
FIN SI
Le plugin utilise 2 stratégies :
| Situation | Timeout | Raison |
|---|---|---|
| Appel manuel (scénario) | 30 secondes | Laisser le temps de tester |
| Appel STT (démon) | 10 secondes | Éviter les répétitions microphone |
Comment ça marche :
Cela évite les boucles infinies si un scénario déclenche lui-même l’IA.
Le plugin détecte automatiquement :
Recherche dans aplay -l:
- "Headphones" (Jack stéréo Raspberry Pi)
- "bcm2835" (Raspberry Pi onboard)
- "USB Audio" (Casque/Enceinte USB)
Si aucun détecté → hw:0,0 (fallback)
Vérifier votre périphérique :
aplay -l
# Exemple output:
# card 2: Headphones [Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
# Subdevices: 0/1
# Subdevice #0: subdevice #0
# → Utilisez hw:2,0
Plugin (/var/www/html/log/ai_connector) :
[2026-01-01 18:55:06] DEBUG Sending to Gemini...
[2026-01-01 18:55:10] DEBUG CURL HTTP Code: 200
[2026-01-01 18:55:10] INFO Réponse IA: Bonjour...
[2026-01-01 18:55:10] DEBUG TTS: Audio en cours de lecture
Démon (/var/www/html/log/ai_connector_daemon) :
[2026-01-01 18:54:09] INFO Démon lancé en mode Wakeword
[2026-01-01 18:54:15] INFO Démon STT response: {"results": [...]}
[2026-01-01 18:54:16] INFO Envoi Ă Jeedom : votre question
[2026-01-01 18:54:20] INFO Texte envoyé à Jeedom avec succès
Diagnostic :
# 1. Vérifier mpg123
which mpg123
# 2. Tester le son directement
speaker-test -t sine -f 1000 -l 1
# 3. Vérifier les droits
groups www-data | grep audio
# 4. Vérifier le fichier audio
file /tmp/ai_tts.mp3
# 5. Logs détaillés
tail -f /var/www/html/log/ai_connector | grep TTS
Solutions :
sudo apt-get install mpg123sudo usermod -aG audio www-data + redémarrageaplay -l et ajuster dans configDiagnostic :
# 1. Tester microphone
arecord -t wav -c 1 -r 16000 /tmp/test.wav
# Parlez puis Ctrl+C - doit avoir creé le fichier
# 2. Vérifier le modèle Whisper
ls /var/www/html/plugins/ai_connector/resources/whisper.cpp/models/
# Doit avoir ggml-tiny.bin
# 3. Vérifier si démon tourne
pgrep -a ai_connector_daemon
# 4. Vérifier les logs
tail -f /var/www/html/log/ai_connector_daemon | grep STT
Solutions :
arecord -L et ajuster device_idC’est normal si :
Diagnostic :
# Vérifier temps Gemini
grep "CURL\|Gemini" /var/www/html/log/ai_connector | tail -20
# Vérifier quota API
# → Panel Google Console, Graph API
# Vérifier charge Jeedom
uptime
Solutions :
Diagnostic :
# 1. Vérifier sensibilité (par défaut 0.95)
# Configuration > Sensibilité Picovoice
# 2. Tester micro en direct
arecord -t wav -c 1 -r 16000 -D hw:1,0 /tmp/test.wav
# Parlez "picovoice" clairement
# Vérifier le fichier a du contenu
# 3. Vérifier clé Picovoice
grep "porcupine_access_key" /var/www/html/log/ai_connector_daemon
# 4. Logs détaillés
tail -100 /var/www/html/log/ai_connector_daemon | grep -i porcupine
Solutions :
jeedom::daemon_stop() + restart JeedomDiagnostic :
# Vérifier réponse brute Gemini
grep "CURL Raw response\|Gemini response" /var/www/html/log/ai_connector
# Vérifier API key valide
# Vérifier quota
Solutions :
curl -I https://google.comDiagnostic :
# Vérifier si Jeedom répond
curl http://127.0.0.1/ping
# Vérifier logs démon
grep "HTTPConnectionPool" /var/www/html/log/ai_connector_daemon
Solutions :
sudo systemctl restart jeedomhtopGitHub : https://github.com/Yoann81/Jeedom-AI
Logs :
tail -f /var/www/html/log/ai_connectortail -f /var/www/html/log/ai_connector_daemonVersion : 2.0.0
Auteur : Yoann Joulia
Licence : AGPL v3.0