Home Assistant + LLM local : domotique privée, sans cloud
La domotique cloud — Google Home, Alexa, SmartThings — envoie en continu des bouts d'information sur ce qui se passe chez vous vers des serveurs distants. Un LLM local domotique vie privée renverse l'équation : votre serveur Home Assistant pilote vos lampes et thermostats, un modèle Ollama traduit vos demandes en actions, et rien ne sort du réseau local. Ce guide montre comment câbler concrètement Ollama à Home Assistant, quel modèle léger choisir pour rester sous les deux secondes de latence, et ce que vous gagnez vraiment en confidentialité.
#Pourquoi un LLM local pour la maison connectée ?
Sur une enceinte cloud classique, chaque phrase prononcée est envoyée à un serveur distant pour être transcrite, comprise et exécutée. La transcription est conservée, parfois écoutée par des sous-traitants pour entraîner les modèles, et le constructeur sait à quel moment vous rentrez chez vous, à quelle heure vous allumez la chambre, quand vous lancez votre playlist du soir. Pour beaucoup de foyers, c'est trop d'information donnée à trop de tiers.
Home Assistant adresse le problème à la racine : c'est une plateforme open source qui tourne sur votre matériel et parle aux objets connectés en local (Zigbee, Z-Wave, Matter, MQTT). En lui ajoutant un LLM local via Ollama, vous obtenez un assistant capable de comprendre des phrases libres (« baisse le chauffage du salon de deux degrés », « éteins toutes les lampes du rez-de-chaussée ») sans qu'aucun audio ni aucune commande ne quitte le LAN.
- Confidentialité réelle
- Aucune donnée d'usage envoyée à un tiers. Pas de profil publicitaire construit sur vos habitudes.
- Fonctionne hors-ligne
- Coupure Internet, panne d'un fournisseur cloud — votre maison continue de répondre aux commandes.
- Latence prévisible
- Plus de round-trip vers un datacenter ; la latence dépend uniquement de votre machine.
- Contrôle total
- Vous choisissez le modèle, vous le mettez à jour quand vous voulez, vous le remplacez quand un meilleur sort.
#Prérequis
Ton ChatGPT privé et gratuit sur ta machine en 1 heure — LM Studio, Ollama, Open WebUI, tes documents, sans cloud.
- Espace en ligne à vie
- PDF + fichiers
- Mises à jour à vie
- Home Assistant en place
- Utilisez Home Assistant OS ou Container sur une version actuelle. Home Assistant Supervised et Core ont perdu leur support avec la version 2025.12. L'intégration Ollama existe depuis 2024.4 ; le contrôle des appareils est une fonction expérimentale qui exige un modèle compatible avec les outils.
- Une machine pour Ollama
- Ollama peut tourner sur la même machine que HA si elle est assez musclée, ou sur un PC à part sur le LAN. Un Mac mini M4, un NUC i7 ou un PC avec GPU 8 Go+ font très bien le travail.
- Ollama installé
- Daemon actif sur le port 11434. Vérifiez avec curl http://localhost:11434 — la réponse doit être Ollama is running. Si rien n'est en place, suivez d'abord le guide d'installation Ollama du site.
- Réseau local stable
- Idéalement HA et Ollama sur le même VLAN, avec IP fixe pour le serveur Ollama. Le port 11434 doit être ouvert entre les deux.
- Un modèle adapté
- On y vient juste après. À ce stade, retenez qu'il faut un modèle qui sait faire du tool calling (appel d'outils).
#Modèles légers adaptés aux commandes domotiques
Le bon modèle pour la domotique n'est pas forcément le plus gros : il doit (1) supporter le tool calling correctement pour appeler les services Home Assistant, (2) bien parler français, (3) répondre vite. Les modèles 3B à 8B en Q4_K_M sont le sweet spot.
- Qwen 3.5 9B (Q4_K_M, ~6,6 Go VRAM)
- Le choix 8 Go de référence en 2026. Tool calling robuste, excellent français, vision et contexte 256k, latence raisonnable sur GPU. C'est le bon point de départ pour la domotique.
- Granite 4.2 8B (Q4_K_M, ~5,3 Go VRAM)
- IBM, Apache 2.0, très économe en tokens avec 128k de contexte. Tool calling fiable et sobre : bon choix alternatif si Qwen dérive sur vos commandes.
- Granite 4.2 3B (Q4_K_M, ~2,2 Go VRAM)
- Pour les setups modestes (Pi 5, NUC sans GPU). Très sobre, tool calling présent mais moins fiable sur des commandes complexes — restez sur des phrases courtes et explicites.
- Gemma 4 12B (Q4_K_M, ~7,6 Go VRAM)
- Si vous avez une RTX 3060 12 Go ou mieux. Multimodal, Apache 2.0, gain net sur les commandes ambiguës (« mets une ambiance cosy au salon ») et la compréhension contextuelle.
- Mistral Small 24B (Q4_K_M, ~14 Go VRAM)
- Très bon en français et généraliste, à réserver aux cartes 16 Go et plus. Confortable pour du dialogue riche en plus du pilotage strict de la maison.
#1. Brancher Ollama à Home Assistant
L'intégration Ollama est officielle depuis Home Assistant 2024.4. Elle se configure dans l'interface. Le contrôle des appareils utilise les outils du modèle et reste expérimental : commencez avec un périmètre réduit.
- 01Tirer le modèle côté OllamaSur la machine qui héberge Ollama, lancez la commande shell ci-dessous. Le téléchargement prend 3-5 Go selon le modèle choisi.
- 01Rendre Ollama accessible sur le LANPar défaut Ollama n'écoute que sur localhost. Pour que Home Assistant (potentiellement sur une autre machine) puisse l'appeler, exposez le service sur toutes les interfaces.
- 01Ajouter l'intégration dans Home AssistantParamètres > Appareils et services > Ajouter une intégration > rechercher « Ollama ».
- 02Renseigner l'URLURL : http://IP-DU-SERVEUR-OLLAMA:11434 (ex: http://192.168.1.42:11434). Si Ollama tourne sur la même machine que HA Container, utilisez http://host.docker.internal:11434.
- 03Choisir le modèleHome Assistant interroge automatiquement Ollama et affiche la liste des modèles disponibles. Sélectionnez qwen3.5:9b.
- 04Activer le contrôle (Control Home Assistant)Dans les options de l'intégration, cochez « Control Home Assistant ». C'est ce qui autorise le LLM à appeler des services (allumer, éteindre, régler température). Sans cette case, il ne fait que discuter.
#2. Exposer les bonnes entités à l'assistant
Home Assistant gère parfois des centaines d'entités (capteurs, prises, ampoules, vues, automatisations…). Les envoyer toutes au LLM saturerait le contexte et embrouillerait le modèle. L'astuce : exposer uniquement ce que l'assistant doit réellement contrôler.
- 01Paramètres > Voix > ExposerListe de toutes les entités. Activez celles que l'assistant doit piloter : lumières, thermostats, prises, volets. Désactivez les capteurs internes (RAM du Pi, signal Zigbee, etc.) qui ne servent à rien à un humain.
- 02Renommer en langage naturelUne entité light.salon_lampe_principale_zigbee_3 est illisible. Renommez-la en « Lampe principale du salon ». Le LLM choisit la bonne entité bien plus fiablement à partir d'un nom humain.
- 03Grouper par zoneAssignez chaque entité à une zone (Salon, Cuisine, Chambre…). Le LLM peut alors comprendre « éteins le salon » sans lister manuellement chaque lampe.
- 04TesterDans Paramètres > Voix > Assistants, cliquez sur l'icône chat de votre pipeline Ollama, et essayez : « Quelle est la température de la chambre ? » puis « Allume la lampe principale du salon ».
#3. Pipeline vocale 100 % locale (en option)
Si vous voulez parler à voix haute (au lieu de taper dans l'app HA), Assist permet de chaîner reconnaissance vocale → LLM → synthèse vocale, tout en local. Aucune dépendance Google ou Amazon.
- Wake word — openWakeWord
- Détection locale du mot d'activation. Sous Home Assistant OS, installez l'application openWakeWord disponible pour votre matériel. Sous Container, hébergez séparément le service vocal et reliez-le via Wyoming.
- STT (speech-to-text) — Whisper
- Reconnaissance vocale locale, disponible comme application sous Home Assistant OS ou comme service séparé avec Container. Choisissez le modèle sur un test de transcription en français ; le débit dépend de la machine.
- LLM — Ollama (déjà configuré)
- Reçoit la transcription, appelle l'outil HA approprié, renvoie une phrase de confirmation.
- TTS (text-to-speech) — Piper
- Synthèse vocale locale, avec des voix françaises. OS peut utiliser l'application Piper ; Container nécessite un service externe. Mesurez la latence de la voix choisie au lieu de supposer une durée fixe par phrase.
Une fois les quatre add-ons installés et démarrés, Paramètres > Voix > Assistants permet d'assembler le pipeline : sélectionnez Whisper en STT, votre intégration Ollama en agent conversationnel, Piper en TTS. C'est le moment où votre maison devient pilotable à la voix, sans aucune connexion sortante.
#Latence : local vs cloud
Le local supprime la dépendance au trajet vers un service IA distant, mais ne garantit pas une réponse plus rapide. Le délai comprend la transcription, la génération, l'action et la synthèse vocale. Les anciens chiffres de cette section n'étaient pas accompagnés de mesures ; voici les points à tester pour chaque configuration.
- Cloud (Google/Alexa)
- Latence non mesurée dans ce guide. Chronométrez la même commande depuis la fin de la parole jusqu'au début de la réponse, puis répétez avec un modèle déjà chargé. Notez séparément transcription, génération et synthèse si les logs le permettent.
- Local — Pi 5 + LLM 3B CPU
- Latence non mesurée dans ce guide. Chronométrez la même commande depuis la fin de la parole jusqu'au début de la réponse, puis répétez avec un modèle déjà chargé. Notez séparément transcription, génération et synthèse si les logs le permettent.
- Local — PC + LLM 8B GPU 8 Go
- Latence non mesurée dans ce guide. Chronométrez la même commande depuis la fin de la parole jusqu'au début de la réponse, puis répétez avec un modèle déjà chargé. Notez séparément transcription, génération et synthèse si les logs le permettent.
- Local — Mac mini M4 24 Go
- Latence non mesurée dans ce guide. Chronométrez la même commande depuis la fin de la parole jusqu'au début de la réponse, puis répétez avec un modèle déjà chargé. Notez séparément transcription, génération et synthèse si les logs le permettent.
#Vie privée : vérifier ce qui sort du réseau local
Vérifions concrètement le périmètre des données. Sur un setup HA + Ollama + Whisper + Piper bien configuré :
- Audio capté par le micro
- Traité par Whisper local. Aucun audio quitte le réseau.
- Texte transcrit de votre commande
- Envoyé à Ollama local. Aucune transcription quitte le réseau.
- Liste de vos appareils et zones
- Partagée avec Ollama local pour qu'il appelle la bonne entité. Reste sur le LAN.
- Décision et action HA
- Exécutée par HA, qui parle directement à Zigbee/Z-Wave/Matter/MQTT en local.
- Réponse vocale Piper
- Audio synthétisé localement. Aucune voix de synthèse fetchée en ligne.
Les étapes IA décrites peuvent fonctionner sur le LAN après téléchargement des modèles. Les autres intégrations de Home Assistant, les appareils et les outils peuvent toutefois utiliser des services distants. Vérifiez chaque composant avant de couper Internet : une configuration locale du LLM ne garantit pas que toute la maison fonctionne hors ligne.
#Astuces et dépannage
- Le LLM répond en anglais
- Ajoutez un prompt système dans l'intégration Ollama : « Tu es l'assistant domotique de la maison. Réponds toujours en français, en une phrase courte. » Cette consigne suffit avec Qwen 3.5 ou Granite 4.2.
- Il invente des entités inexistantes
- Symptôme d'un modèle trop petit ou d'un nom d'entité ambigu. Renommez les entités en langage naturel, réduisez le nombre exposé, ou passez à Gemma 4 12B si VRAM disponible.
- Il appelle le bon service mais sur la mauvaise zone
- Vérifiez que chaque entité a bien une « area » assignée dans HA. Sans zone, le modèle devine et se trompe sur les noms proches.
- Latence qui s'effondre après quelques heures
- Vérifiez Keep alive dans les options de l'intégration (-1 pour garder le modèle chargé), la mémoire disponible et les logs d'Ollama. Une variable globale du service ne suffit pas si la requête impose une autre durée.
- Connection refused depuis HA
- Ollama écoute encore sur 127.0.0.1. Vérifiez OLLAMA_HOST=0.0.0.0:11434 dans l'unit systemd, redémarrez, et testez avec curl depuis la machine HA.
- Pi 5 qui chauffe en CPU
- Le LLM en CPU sollicite les 4 cœurs à 100 %. Ajoutez un ventilateur actif (ou un Pi 5 case Argon ONE V3) si vous tenez à tout faire tourner sur le Pi. Sinon, déportez Ollama sur un autre hôte.
- Voulez confiner Ollama au LAN seulement
- Vous pouvez écouter sur l'IP LAN précise plutôt que sur toutes les interfaces, puis limiter les connexions au pare-feu. Ce choix d'adresse ne remplace pas les règles réseau et ne constitue pas, seul, une authentification.
#Sources et vérification du 14 octobre 2026
Documentation officielle vérifiée le 14 octobre 2026. Les exigences peuvent évoluer : consultez ces sources avant une installation.
- Home Assistant : intégration Ollama et options
- 2025.12 : fin du support Core et Supervised
- Pipeline vocal local officiel
#Pour aller plus loin
Vous avez un assistant domotique LLM local fonctionnel. Quelques pistes pour aller plus loin :
- Installer Ollama sur Linux
- Si vous voulez dédier une machine Linux à Ollama (le scénario le plus propre pour de la domotique 24/7), le guide d'install Linux couvre systemd, GPU NVIDIA/AMD, et la configuration réseau.
- LLM sur Raspberry Pi 5
- Pour évaluer concrètement ce qui passe en CPU pur sur un Pi 5 8 Go, avec benchmarks tokens/sec et choix de modèles 1-3B.
- Choisir sa quantification (Q4, Q5, Q8)
- Pour comprendre pourquoi Q4_K_M est le sweet spot domotique, et quand monter en Q5_K_M ou descendre en Q3 a du sens.
Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.