Intermédiaire 11 minDomotique

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é.

Par Mohamed Meguedmi·Màj 2026-10-14·Testé sur Windows, macOS, Linux

#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.
i
Home Assistant en deux phrases
C'est un serveur (Python) qui agrège des centaines d'intégrations domotiques sous une seule interface. Il se déploie en quelques minutes sur Raspberry Pi, NUC, mini-PC ou conteneur Docker — et ne dépend d'aucun service en ligne pour fonctionner.

#Prérequis

Le kit IA Locale

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).
!
Le Raspberry Pi 5 seul, ça suffit ?
Un Pi 5 8 Go peut faire tourner Home Assistant ET un petit modèle 3B en CPU pour des commandes courtes — mais la latence grimpe vite (4-8 s par requête). Pour un usage fluide en famille, dédiez une machine à Ollama et gardez le Pi pour HA. Voir le guide LLM sur Raspberry Pi 5 si vous voulez tout réunir.

#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.
→
Quantization recommandée : Q4_K_M
Pour la domotique, Q4_K_M donne le meilleur compromis VRAM/qualité. Inutile de monter en Q5 ou Q8 : sur des commandes courtes et structurées, la différence est invisible. Réservez les hautes quantizations à du dialogue libre ou du RAG.

#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.

  1. 01
    Tirer le modèle côté Ollama
    Sur 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.
Terminal — machine Ollama
ollama pull qwen3.5:9b
ollama list  # vérifier que le modèle apparaît
  1. 01
    Rendre Ollama accessible sur le LAN
    Par 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.
Linux/macOS — exposer Ollama sur le LAN
# systemd (Linux)
sudo systemctl edit ollama
# ajouter dans le bloc [Service]
# Environment="OLLAMA_HOST=0.0.0.0:11434"
sudo systemctl restart ollama

# macOS (lancement manuel ou launchctl)
launchctl setenv OLLAMA_HOST "0.0.0.0:11434"
# puis relancer Ollama
  1. 01
    Ajouter l'intégration dans Home Assistant
    Paramètres > Appareils et services > Ajouter une intégration > rechercher « Ollama ».
  2. 02
    Renseigner l'URL
    URL : 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.
  3. 03
    Choisir le modèle
    Home Assistant interroge automatiquement Ollama et affiche la liste des modèles disponibles. Sélectionnez qwen3.5:9b.
  4. 04
    Activer 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.
!
Pas d'auth par défaut sur Ollama
Ollama n'a pas d'authentification intégrée. Si vous exposez le port 11434 sur le LAN, assurez-vous que votre routeur ne le route pas vers Internet. Pour un setup plus serré, mettez Ollama derrière un reverse proxy avec auth basique (Caddy, nginx) ou limitez par IP au firewall.

#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.

  1. 01
    Paramètres > Voix > Exposer
    Liste 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.
  2. 02
    Renommer en langage naturel
    Une 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.
  3. 03
    Grouper par zone
    Assignez chaque entité à une zone (Salon, Cuisine, Chambre…). Le LLM peut alors comprendre « éteins le salon » sans lister manuellement chaque lampe.
  4. 04
    Tester
    Dans 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 ».
→
Commencer avec moins de 25 entités
La documentation recommande moins de 25 entités pour commencer. Exposez seulement les appareils utiles, donnez-leur des noms distincts et validez plusieurs commandes connues avant d'élargir le périmètre.

#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.

i
Satellite vocal sans micro PC
Un ESP32-S3-BOX ou un M5Stack Atom Echo flashé avec ESPHome devient un satellite Assist : il capte le wake word, envoie l'audio à HA, joue la réponse TTS. Coût : 20-30 €. Plusieurs satellites peuvent cohabiter dans une même maison.

#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.
→
Garder le modèle chaud
Dans les options de l'intégration Ollama, Keep alive vaut -1 par défaut : le modèle reste chargé sans limite de durée après la requête. Le réglage 0 le décharge ; une valeur positive indique des secondes. Ce paramètre de la requête peut prendre le pas sur OLLAMA_KEEP_ALIVE. Vérifiez aussi Think before responding, désactivé par défaut, si vous cherchez à réduire la latence.

#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.

i
Pour le vérifier vous-même
Observez le trafic des hôtes Home Assistant, Ollama et des services vocaux pendant plusieurs commandes, par exemple sur le routeur ou avec tcpdump. Identifiez les destinations externes et les intégrations qui les appellent. L'absence de cloud doit être constatée dans votre configuration, pas déduite du seul nom des logiciels.

#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.

#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.
Ce guide vous a aidé ?

Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.