Introduzione
Da qualche tempo si sente parlare di n8n, e anche io ho voluto provare questa piattaforma, soffermandomi in particolare sugli aspetti di integrazione con Home Assistant. Come puo n8n rendere la nostra casa ancora piu automatizzata e intelligente? In questo articolo approfondiremo proprio questo: n8n visto dal punto di vista dell'integrazione con Home Assistant, con esempi pratici e concreti.
Cos'e n8n e Perche si Sposa Bene con Home Assistant
Cos'e n8n
Ma facciamo un passo indietro: cos'e n8n? E uno strumento che, tramite un sistema a nodi visivi collegati tra loro, permette di costruire flussi di lavoro automatizzati — i cosiddetti workflow. Ogni nodo riceve un input, esegue un'azione (che puo essere una semplice trasformazione di dati o una chiamata a un servizio esterno) e passa il risultato al nodo successivo. In pratica, ogni pezzo del flusso fa la sua parte e alimenta quello che viene dopo.
Ma Serve Davvero se Ho Gia Home Assistant?
Parliamoci chiaro: Home Assistant e una piattaforma matura, ricca di integrazioni e con un sistema di automazioni native davvero potente. Molte cose si possono tranquillamente fare gia li. Quindi perche usare anche n8n?
La risposta e semplice: l'uno non esclude l'altro. Le due piattaforme convivono benissimo, e n8n rappresenta un livello aggiuntivo che ci permette di fare meglio alcune cose e di integrare servizi non ancora disponibili nativamente in Home Assistant.
Un esempio pratico, che vedremo piu avanti: tramite un messaggio Telegram riesco a interrogare Home Assistant e ottenere in risposta la temperatura di una stanza e un grafico — il tutto con pochi nodi visivi, integrando un servizio esterno per la generazione dei grafici.
Cloud o Self-Hosted?
n8n puo essere usato tramite la loro piattaforma cloud, ma puo essere anche installato in self-hosted su un server remoto o su un PC di casa tramite Docker. Questa, per me, e la soluzione migliore: ci permette di tenere tutto sotto controllo, nel pieno rispetto della nostra privacy.
Come si Collega a Home Assistant?
La connessione avviene in due modi principali: tramite l'integrazione nativa di n8n per Home Assistant, oppure tramite chiamate alle REST API e WebSocket API esposte da Home Assistant. In entrambi i casi sara necessario un Long-Lived Access Token, generato direttamente da Home Assistant. Il tutto funziona in modo fluido e veloce.
Una volta collegati, in n8n andremo a costruire il nostro workflow: una sequenza di nodi, ognuno con la sua azione, attivati da un trigger iniziale. Il trigger puo essere qualsiasi cosa: un orario, un messaggio, un evento esterno. Per esempio, possiamo far partire il riscaldamento di una stanza leggendo il nostro calendario Google e rilevando che abbiamo una riunione alle 8:00 — Home Assistant ricevera il comando e accendera il riscaldamento in automatico.
Come si vede dall'immagine, una serie di nodi compie azioni in sequenza: ognuno riceve un input dal nodo precedente, lo elabora e restituisce un output che verra processato dal nodo successivo, fino al raggiungimento dell'obiettivo.
Come Connettere n8n a Home Assistant
Prerequisiti
Prima di iniziare, assicuriamoci di avere tutto il necessario. Diamo per
scontato che n8n sia gia installato — che sia su Docker o su cloud —
altrimenti ti rimando alla guida dedicata all'installazione. Per quanto riguarda
Home Assistant, dobbiamo abilitare l'accesso API inserendo nel file
configuration.yaml
il seguente blocco:
api:
http:
use_x_forwarded_for: true
trusted_proxies:
- 172.30.33.0/24
- 127.0.0.1
- ::1
cors_allowed_origins:
- http://localhost:5173
- http://127.0.0.1:5173
Generare il Long-Lived Access Token
Per autenticarsi, n8n ha bisogno di un Long-Lived Access Token generato da Home Assistant. Per crearlo, vai in basso a sinistra dove compare il tuo nome utente, apri la scheda Security in alto, scorri fino in fondo e clicca su Create Token. Semplice e veloce.
Un Piccolo Prerequisito: il Bot Telegram
Per far funzionare questo workflow hai bisogno di un bot Telegram. Crearlo e piu semplice di quanto sembri.
Apri Telegram e cerca @BotFather — e il bot ufficiale di
Telegram per creare altri bot. Scrivi
/newbot, segui le istruzioni: scegli un nome e uno username per il tuo bot, e in pochi
secondi BotFather ti restituira un token API. Copialo e conservalo, e quello che
inserirai in n8n per collegare il nodo Telegram.
Creare la Connessione
Ora che abbiamo tutto, possiamo connettere Home Assistant. Prendiamoci il token e scriviamolo da qualche parte al sicuro — ci servira sia per l'integrazione nativa che per le chiamate REST API.
Andiamo in Overview → tab
Credentials → Create Credential (in alto
a destra). Nel popup che appare cerchiamo Home Assistant e inseriamo i dati. Mi
raccomando: se Home Assistant e ospitato nella rete locale inserire qualcosa
tipo
192.168.X.X:8123, se invece e in remoto usare il collegamento fornito da Home Assistant. Non
usate mai un indirizzo IP diretto esposto su internet — e estremamente
pericoloso. Usate sempre un tunnel Cloudflare.
Test della connessione e siamo dentro.
Esempio 1 – Recuperare la Temperatura e Visualizzarla in un Grafico
Ora facciamo la nostra primissima automazione — un workflow molto semplice: mandiamo "Temperatura" su Telegram e Home Assistant ci risponde con la temperatura della casa e un grafico.
Andiamo in Overview → Create Workflow. Al centro clicchiamo + e inseriamo il primo nodo: Telegram, con l'account gia configurato e il trigger su On Message. Poi aggiungiamo un nodo IF — opzionale, ma utile se vogliamo che il flusso si attivi solo a determinate parole. Io ho scelto "Temperatura". Il nodo successivo e Home Assistant: si apre la barra laterale, selezioniamo Get State e scegliamo il sensore da recuperare. Infine l'ultimo nodo: Send Message su Telegram, con la chat ID e il testo con il valore del sensore, come si vede nel video.
Per la seconda parte, aggiungiamo una deviazione sul ramo true del nodo IF. Da li una HTTP Request per recuperare lo storico del sensore temperatura, seguita da un nodo Code con questo script JavaScript:
const data = $input.first().json;
const otto_ore_fa = new Date(Date.now() - 8 * 60 * 60 * 1000);
const points = data
.filter(d => !isNaN(parseFloat(d.state)))
.filter(d => new Date(d.last_changed) >= otto_ore_fa)
.map(d => ({
t: new Date(d.last_changed).toLocaleTimeString('it-IT', { hour: '2-digit', minute: '2-digit', timeZone: 'Europe/Rome' }),
v: parseFloat(d.state)
}));
const labels = points.map(p => p.t);
const values = points.map(p => p.v);
const chartConfig = {
type: 'line',
data: {
labels: labels,
datasets: [{
label: 'Temperatura',
data: values,
borderColor: '#2563EB',
backgroundColor: 'rgba(37, 99, 235, 0.08)',
fill: true,
tension: 0.4,
pointRadius: 0,
borderWidth: 2
}]
},
options: {
legend: { display: false },
scales: {
xAxes: [{ gridLines: { display: false }, ticks: { fontColor: '#94A3B8', fontSize: 11 } }],
yAxes: [{ gridLines: { color: '#F1F5F9', drawBorder: false }, ticks: { fontColor: '#94A3B8', fontSize: 11 } }]
}
}
};
const url = 'https://quickchart.io/chart?c=' + encodeURIComponent(JSON.stringify(chartConfig)) + '&width=800&height=400&backgroundColor=white';
return [{ json: { chartUrl: url } }];
Lo script prende i dati storici delle ultime 8 ore, li formatta e costruisce l'URL di un grafico a linee tramite QuickChart. Niente server, niente configurazioni complesse — un link e il gioco e fatto.
Infine un nodo Send a Photo su Telegram: inseriamo la chat ID e il link restituito dal nodo precedente. Fine.
Esempio 2 – Controllare le Luci da n8n
Ora che abbiamo visto come recuperare dati da Home Assistant, facciamo il percorso inverso: inviamo un comando. E lo facciamo in modo molto semplice.
Riprendendo il workflow con Telegram, aggiungiamo semplicemente un nodo IF che controlla il testo del messaggio in arrivo: se qualcuno scrive "spegni luci", il flusso prende quella strada. Niente di complicato, e la stessa logica di prima.
A quel punto basta aggiungere un nodo HTTP Request configurato cosi:
- Method: POST
-
URL:
https://casa.tuodominio.com/api/services/light/turn_off - Authentication: Bearer Auth (il solito Long-Lived Token di Home Assistant)
- Body (JSON):
{
"entity_id": "light.luci_tutte"
}
E Home Assistant spegne tutte le luci. Fine.
Ecco perche mi piace questo approccio: con pochissimi nodi, senza toccare le automazioni native di Home Assistant, riesci a costruire qualcosa di funzionante in pochi minuti. E da qui puoi espandere quanto vuoi — spegnere solo una stanza, condizionare l'azione a un orario, o magari spegnere le luci automaticamente quando finisce una riunione sul tuo Google Calendar. Le possibilita sono tante, ma i concetti di base sono sempre gli stessi.
Idee per Andare Oltre
Ora che hai capito la logica di base, la cosa bella e che puoi davvero sbizzarrirti. Questi due esempi che abbiamo visto sono volutamente semplici — servivano per capire il meccanismo. Ma una volta che ti entra in testa come funziona il flusso, inizi a vedere possibilita ovunque.
Qualche idea per iniziare a sperimentare:
- Notifiche intelligenti — non solo "la temperatura e X", ma notifiche condizionate. Se la temperatura scende sotto una certa soglia di notte, ricevi un messaggio. Se un sensore non risponde da ore, vieni avvisato.
- Reazioni a eventi esterni — collegare il calendario Google per accendere il riscaldamento prima di una riunione lo abbiamo gia accennato. Ma puoi fare lo stesso con le previsioni meteo: se domani piove, n8n lo sa e puo agire di conseguenza su Home Assistant.
- Log e storico su Google Sheets — ogni volta che un sensore supera una soglia, n8n scrive una riga su un foglio Google. In pochi giorni hai uno storico completo senza aver configurato nulla di complicato.
- Integrazione con altri servizi — Slack, email, MQTT, webhook di qualsiasi tipo. Se un servizio ha una API, n8n ci puo parlare. E quindi puo parlare anche con Home Assistant.
Il mio consiglio e di partire da un problema reale che hai in casa — qualcosa che ti da fastidio fare manualmente — e costruire il workflow attorno a quello. E il modo migliore per imparare e per fare cose che hanno davvero senso per te.
Conclusioni
Abbiamo visto cos'e n8n e come puo connettersi a Home Assistant. Abbiamo esplorato 2 esempi semplicissimi, ma vi assicuro che e uno strumento molto potente — le integrazioni e le possibilita di creare nodi sono migliaia. Possiamo controllare e collegare qualsiasi cosa. Come dicevo all'inizio, l'uno non esclude l'altro. n8n e uno strumento in piu, non un sostituto. E una volta capita la logica di base — trigger, nodi, input e output — le possibilita diventano davvero tante. Vi lascio qui sotto i link utili per chi volesse approfondire.
Link Utili
Buona sperimentazione!
Hai costruito un workflow interessante con n8n e Home Assistant? Condividi la tua esperienza sui social taggando @wearesmartit!
Se hai domande o vuoi condividere le tue automazioni, lascia un commento qui sotto.