n8n connecté à Home Assistant permet de créer des workflows d'automatisation visuels no-code reliant vos capteurs à des centaines de services externes — Google Sheets, Gmail, Notion, Slack — et à des agents IA locaux, sans abonnement cloud. L'add-on HAOS hass-n8n s'installe en cinq minutes via un dépôt tiers. L'outil comble le vide entre les automations natives HA — puissantes mais locales — et les plateformes SaaS payantes comme Zapier ou Make. Ce guide couvre l'installation complète, la connexion bidirectionnelle HA ↔ n8n, et trois workflows IA avec leur automation YAML prêts à copier.
Est-ce que n8n est gratuit en auto-hébergement ?
Oui. n8n est publié sous licence "fair-code" : l'auto-hébergement est entièrement gratuit, sans limite de workflows ni d'exécutions. Seule la version cloud (n8n.cloud) est payante à partir de 24 €/mois. Sur HAOS, l'add-on hass-n8n tourne localement — aucune donnée ne quitte votre réseau.
Pourquoi utiliser n8n avec Home Assistant en 2026 ?
Les automations natives HA couvrent 90 % des besoins locaux, mais ne communiquent pas avec les APIs tierces sans bricolage YAML complexe. n8n comble ce vide : 400+ intégrations API disponibles, éditeur visuel drag-and-drop, et depuis 2024 un module "AI Agents" capable de connecter un LLM local (Ollama) à n'importe quel événement HA.
Exemples de ce que les automations HA natives ne font pas facilement sans n8n :
- Envoyer un résumé quotidien de consommation dans un Google Sheets
- Interroger Ollama pour contextualiser une alerte capteur avant d'envoyer la notification
- Créer automatiquement une tâche Notion quand une alerte fuite d'eau se déclenche
- Envoyer un email formaté avec les données de plusieurs entités HA après un événement
- Logger chaque déclenchement d'alarme dans un journal Airtable ou Google Sheets partagé
La combinaison n8n + HA est particulièrement pertinente en 2026 avec l'essor des agents IA locaux. Là où une automation HA envoie un message figé ("Mouvement détecté entrée"), n8n peut faire passer les données par Ollama pour générer une alerte contextuelle adaptée à l'heure, aux occupants détectés et à l'historique des événements.
n8n vs Node-RED : lequel choisir pour votre domotique ?
Node-RED et n8n sont complémentaires, pas concurrents. Node-RED est natif HAOS (add-on officiel), ultra-léger, idéal pour les automations MQTT et les flux domotiques temps réel. n8n cible les intégrations API externes et les agents IA. La plupart des installations avancées font coexister les deux : Node-RED pour la domotique locale, n8n pour connecter HA au reste du monde numérique.
Quelle est la différence entre n8n et Node-RED pour Home Assistant ?
Node-RED est un orchestrateur IoT temps réel : léger (~50 Mo RAM), natif MQTT, add-on officiel HAOS, avec des centaines de nodes HA-spécifiques. n8n est un orchestrateur de workflows API : 400+ intégrations, interface plus moderne, module AI Agents intégré depuis 2024. Node-RED excelle pour les flux locaux temps réel ; n8n pour connecter HA à des services externes ou à un LLM.
| Critère | Node-RED | n8n |
|---|---|---|
| Consommation RAM | ~50 Mo | ~300 Mo |
| Add-on officiel HAOS | Oui | Non (dépôt tiers hass-n8n) |
| Intégrations | ~4 000 nodes (dont HA natif) | 400+ intégrations API |
| AI Agents intégré | Non natif | Oui (Ollama, OpenAI, Claude) |
| Protocole MQTT natif | Oui | Via nœud HTTP uniquement |
| Licence | Apache 2.0 (open-source) | Fair-code (auto-hébergement gratuit) |
| Idéal pour | Automations locales, MQTT, temps réel | Intégrations API + agents IA |
Quand choisir n8n : vous voulez connecter HA à Gmail, Notion, Slack ou Google Sheets ; vous voulez un agent IA qui répond à des événements HA avec un LLM local (Ollama) ; vous avez besoin de boucles conditionnelles complexes ou de logique multi-étapes dans vos workflows.
Quand rester sur Node-RED : automations locales MQTT, traitement de flux Zigbee, déclencheurs temps réel sur entités HA avec latence sub-seconde. Les deux outils coexistent sans conflit sur la même installation.
Installer n8n sur Home Assistant OS (add-on hass-n8n)
L'add-on hass-n8n (dépôt communautaire maintenu par ITninja04) installe n8n directement dans le supervisor HAOS sans Docker externe ni machine secondaire. n8n démarre sur le port 5678 et s'administre via l'interface web intégrée. L'add-on ne nécessite aucune configuration réseau avancée pour démarrer — un mot de passe local suffit pour le premier lancement.
Faut-il un serveur séparé pour faire tourner n8n ?
Non, pas obligatoirement. L'add-on hass-n8n tourne directement sur HAOS — suffisant pour des workflows légers sans agent IA. Si vous ajoutez Ollama, prévoyez 4 à 6 Go de RAM supplémentaires selon le modèle LLM utilisé. Un mini PC N100 ou N150 dédié devient alors recommandé : n8n + Ollama y cohabitent sans réduire les performances de Home Assistant.
Si vous hébergez déjà Home Assistant sur un mini PC N100 — solution recommandée pour les installations avec agents IA en 2026 — n8n et Ollama peuvent cohabiter sans contrainte :
Beelink Mini S12 Pro (N100)
Intel N100 · 1x 2.5G LAN · 16 Go DDR4 · NVMe 512 Go · 6 W TDP
Étapes d'installation
- Dans Home Assistant : Paramètres → Modules complémentaires → Boutique des modules
- Cliquer le menu ⋮ → Dépôts en haut à droite
- Ajouter l'URL :
https://github.com/ITninja04/home-assistant-addons→ Valider - Rafraîchir la page — rechercher hass-n8n → Installer
- Dans l'onglet Configuration de l'add-on, définir un
basic_auth_password - Démarrer l'add-on — n8n est disponible via "Ouvrir l'interface web" ou sur le port 5678
- Au premier lancement, créer un compte local (e-mail + mot de passe) — aucune connexion au cloud n8n requise
L'add-on supporte les mises à jour via la boutique du supervisor. La version de n8n embarquée suit les releases du dépôt ITninja04, avec un décalage de quelques jours après chaque release upstream n8n.
Connecter n8n à Home Assistant (Long-Lived Access Token)
La connexion n8n → HA passe par l'API REST de Home Assistant, authentifiée par un Long-Lived Access Token (LLAT). Ce jeton donne à n8n un accès complet en lecture et en écriture sur toutes les entités et services HA. Il ne se renouvelle pas automatiquement — une fois stocké dans les credentials n8n, la connexion est permanente jusqu'à révocation manuelle.
Comment connecter n8n à Home Assistant ?
Dans HA : Profil → Sécurité → Jetons d'accès de longue durée → Créer (nommer "n8n-integration"). Copier le token affiché (visible une seule fois). Dans n8n : Credentials → Nouveau → Home Assistant API → renseigner l'URL (http://homeassistant.local:8123) et coller le token → Save and Test. Le message "Connection successful" confirme l'accès.
Étapes détaillées
- Dans HA : Profil (icône utilisateur bas à gauche) → Sécurité → Jetons d'accès de longue durée → Créer un token
- Donner un nom ("n8n-integration") et copier immédiatement le token — il n'est affiché qu'une fois
- Dans n8n : Credentials → Ajouter une credential → Home Assistant API
- Renseigner :
- Host URL :
http://homeassistant.local:8123(ou l'IP locale, ex.http://192.168.1.10:8123) - Access Token : coller le LLAT généré à l'étape précédente
- Host URL :
- Cliquer Save and Test — le message "Connection successful" confirme que n8n peut appeler les services HA
Déclencher n8n depuis une automation Home Assistant (webhook)
La direction HA → n8n s'effectue via un nœud Webhook dans n8n. Home Assistant appelle cette URL via un rest_command déclaré dans configuration.yaml. Vous pouvez transmettre des données dynamiques en JSON — état d'entité, valeur capteur, horodatage — que n8n exploite dans la suite du workflow pour déclencher des services externes ou des agents IA.
n8n peut-il déclencher des automatisations Home Assistant ?
Oui, dans les deux sens. HA peut appeler un webhook n8n via rest_command (HA → n8n). n8n peut déclencher des services HA via le nœud "Home Assistant" ou des requêtes HTTP vers l'API REST (n8n → HA). La connexion est entièrement bidirectionnelle et ne nécessite aucune exposition sur Internet — tout reste sur le réseau local.
Configuration côté n8n
- Dans un workflow n8n, ajouter un nœud Webhook comme déclencheur
- Sélectionner la méthode POST
- Copier l'URL de webhook générée (ex.
http://homeassistant.local:5678/webhook/abc123xyz) - Activer le workflow pour que le webhook soit en écoute
Configuration côté Home Assistant
Dans configuration.yaml (ou via l'éditeur de configuration HA) :
rest_command:
n8n_trigger:
url: "http://homeassistant.local:5678/webhook/abc123xyz"
method: POST
content_type: application/json
payload: >
{
"entity_id": "{{ entity_id | default('unknown') }}",
"state": "{{ state | default('') }}",
"timestamp": "{{ timestamp }}"
}
Le champ payload du rest_command utilise des variables nommées (entity_id, state, timestamp) — pas la variable trigger, qui n'est pas disponible dans ce contexte. Ces variables sont passées depuis l'automation via data: :
automation:
alias: "Capteur CO2 élevé → n8n"
trigger:
- platform: numeric_state
entity_id: sensor.co2_concentration
above: 1000
for:
minutes: 2
action:
- action: rest_command.n8n_trigger
data:
entity_id: "{{ trigger.entity_id | default('unknown') }}"
state: "{{ trigger.to_state.state | default('') }}"
timestamp: "{{ now().isoformat() }}"
Contrôler Home Assistant depuis n8n (appel de service et lecture d'état)
Le nœud natif "Home Assistant" de n8n expose 13 actions : appel de service (call_service), lecture d'état d'entité, rendu de template Jinja2, récupération d'historique, déclenchement d'événements personnalisés. Pour les cas non couverts, le nœud "HTTP Request" permet d'appeler directement l'API REST HA avec le LLAT en header d'autorisation.
Principales actions disponibles dans le nœud HA de n8n :
- Call Service : allumer/éteindre une lumière, envoyer une notification, déclencher un script HA
- Get Entity State : lire l'état actuel d'une entité (température, présence, consommation)
- Render Template : évaluer un template Jinja2 HA depuis n8n pour construire des messages dynamiques
- Fire Event : déclencher un événement HA personnalisé depuis n8n (utile pour piloter des automations HA)
Pour les appels de service avancés non disponibles dans le nœud natif, le nœud HTTP Request reste la solution :
POST http://homeassistant.local:8123/api/services/light/turn_on
Authorization: Bearer {votre-LLAT}
Content-Type: application/json
{
"entity_id": "light.salon",
"brightness": 200,
"color_temp": 4000
}
Connecter un agent IA local (Ollama) à n8n pour des automatisations intelligentes
n8n intègre depuis 2024 un module "AI Agents" qui connecte un LLM local (Ollama) ou externe (Claude, OpenAI) à n'importe quel nœud du workflow. Un capteur HA déclenche une automation → appelle n8n via webhook → l'agent IA interroge Ollama → interprète les données et renvoie une action HA contextuelle. Tout reste sur votre réseau local si vous utilisez Ollama.
Selon les retours de la communauté r/homeassistant et du forum HACF, la combinaison n8n + Ollama est particulièrement utile pour les alertes enrichies. Au lieu d'une notification générique "CO2 élevé", l'agent peut contextualiser la réponse selon l'heure, les pièces occupées et l'historique des mesures — une personnalisation que les automations HA natives ne permettent pas sans code Python.
Si Ollama est déjà installé sur votre installation (voir notre guide Ollama + Home Assistant), la connexion n8n ↔ Ollama se configure en quelques clics :
- Dans le workflow n8n, ajouter un nœud AI Agent
- Dans le sous-nœud "Chat Model", sélectionner Ollama Chat Model
- Renseigner l'URL Ollama :
http://homeassistant.local:11434(ou l'IP de la machine qui héberge Ollama) - Sélectionner le modèle (ex.
llama3.1:8boumistral:7bselon la RAM disponible)
Le nœud AI Agent reçoit les données du webhook HA transmises par les nœuds précédents, les envoie au LLM avec un prompt système, et renvoie la réponse au nœud suivant — qui appelle un service HA ou envoie une notification.
3 workflows pratiques complets
Trois automatisations end-to-end représentant les cas d'usage les plus demandés dans la communauté HA et sur le forum HACF. Chaque workflow inclut l'automation YAML côté Home Assistant et la description de la chaîne de nœuds n8n, prêts à adapter à votre installation. Les trois utilisent le même rest_command défini plus haut, en passant les valeurs dynamiques via data:.
Workflow 1 — Alerte CO2 enrichie par Ollama
Objectif : Quand le capteur CO2 dépasse 1 000 ppm, envoyer une notification rédigée par le LLM — contextuelle selon l'heure et la valeur mesurée — plutôt qu'un message figé.
Automation HA (YAML) :
automation:
alias: "CO2 élevé → n8n agent IA"
trigger:
- platform: numeric_state
entity_id: sensor.co2_concentration
above: 1000
for:
minutes: 2
action:
- action: rest_command.n8n_trigger
data:
entity_id: "{{ trigger.entity_id }}"
state: "{{ trigger.to_state.state }}"
timestamp: "{{ now().strftime('%H:%M') }}"
Chaîne n8n : Webhook → AI Agent (Ollama llama3.1:8b) → nœud HA "Call Service" (notify.mobile_app)
Prompt système de l'agent : "Tu es un assistant domotique concis. Rédige une notification de 1-2 phrases pour alerter l'occupant que le CO2 est trop élevé. Entité : {{$json.entity_id}}, valeur mesurée : {{$json.state}} ppm. Heure : {{$json.timestamp}}. Suggère une action simple."
Workflow 2 — Retour à la maison → multi-service automatique
Objectif : À l'arrivée d'une personne (device tracker passe en "home"), déclencher en parallèle : allumage des lumières HA, log dans Google Sheets (heure + prénom), message résumé dans Slack.
Automation HA (YAML) :
automation:
alias: "Retour maison → n8n multi-service"
trigger:
- platform: state
entity_id: person.alice
to: "home"
action:
- action: rest_command.n8n_trigger
data:
entity_id: "{{ trigger.entity_id }}"
state: "{{ trigger.to_state.state }}"
timestamp: "{{ now().isoformat() }}"
Chaîne n8n : Webhook → nœud HA "Call Service" (light.turn_on) → nœud Google Sheets (Append Row) → nœud Slack (Send Message)
Ce workflow illustre l'avantage principal de n8n sur les automations HA natives : une seule automation HA déclenche trois services externes en parallèle, sans aucune configuration YAML supplémentaire côté HA. n8n identifie la personne depuis entity_id (ex. person.alice) et consigne l'heure depuis timestamp. Ajouter ou retirer un service (remplacer Slack par Telegram, par exemple) se fait en modifiant uniquement le workflow n8n.
Workflow 3 — Log d'événements HA vers Notion
Objectif : Chaque déclenchement d'un capteur de mouvement est automatiquement enregistré dans une base Notion avec timestamp, zone et nom de l'entité — partageable avec tous les membres du foyer.
Automation HA (YAML) :
automation:
alias: "Mouvement détecté → log Notion"
trigger:
- platform: state
entity_id: binary_sensor.motion_entree
to: "on"
action:
- action: rest_command.n8n_trigger
data:
entity_id: "{{ trigger.entity_id }}"
state: "{{ trigger.to_state.state }}"
timestamp: "{{ now().isoformat() }}"
Chaîne n8n : Webhook → nœud Notion (Create Database Item) avec mapping des champs JSON reçus (entity_id → colonne "Capteur", timestamp → colonne "Horodatage")
Ce journal Notion est filtrable par zone, exportable en CSV et consultable sans accès à l'interface HA. La même logique s'applique à Airtable, Google Sheets ou tout autre service disposant d'un nœud n8n.
Pour aller plus loin
n8n et Home Assistant forment une combinaison solide pour les installations qui dépassent la domotique locale. Si vous cherchez d'autres façons de connecter une IA à HA, notre guide sur le MCP Server Home Assistant pour Claude Desktop couvre une approche complémentaire : piloter HA directement depuis une interface de chat IA sans webhooks. Et si vous avez besoin d'un mini PC pour héberger l'ensemble — HA, n8n, Ollama — notre comparatif Mini PC N100/N150 vs Raspberry Pi 5 détaille les options disponibles en 2026.