Node-RED: automazione visuale per la tua smart home

Pubblicato il 14/05/2026 IoT

Home Assistant e' potente ma le automazioni via YAML/UI spaventano molti. Node-RED offre un editor visuale a "nodi" collegati con fili: comprensibile a colpo d'occhio, potente quanto codice.

1. Installazione (metodo 1: dentro Home Assistant)

Se hai gia' HA, aggiungi l'add-on Node-RED dallo store add-on. 30 secondi, autoconfigurato.

2. Installazione (metodo 2: standalone via Docker)

docker run -d --name nodered 
    -p 1880:1880 
    -v ~/node-red-data:/data 
    --restart unless-stopped 
    nodered/node-red

Apri http://IP:1880. Interfaccia con palette a sinistra (nodi) e workspace centrale (drag-drop).

3. Concetti chiave (5 minuti)

  • Nodo: un box che fa una cosa (leggere MQTT, chiamare API, HTTP request, if-else, ecc.)
  • Filo: collega output di un nodo all'input del prossimo
  • Messaggio: oggetto JS che scorre tra i nodi. Ha almeno msg.payload
  • Flow: un insieme di nodi collegati, come una funzione
  • Deploy: bottone in alto a destra, attiva le modifiche

4. Primo flow: notifica quando temperatura > soglia

Trascina 4 nodi:

  1. mqtt in: topic casa/salotto/temp
  2. function: if (parseFloat(msg.payload) > 25) return msg; return null;
  3. change: imposta msg.payload = "Salotto: " + msg.payload + "°C"
  4. telegram sender: chatId destinatario

Collegali con fili, Deploy. Ogni volta che la temp supera 25° ricevi Telegram. Fatto.

5. Palette utili da installare

Menu > Manage palette > Install:
- node-red-contrib-home-assistant-websocket (nodi per HA)
- node-red-contrib-telegrambot
- node-red-node-email
- node-red-contrib-cron-plus (schedulazione avanzata)
- node-red-dashboard (dashboard web autonoma)
- node-red-contrib-influxdb
- node-red-contrib-google-smarthome (se vuoi controllare da Google Home)

6. Dashboard integrata

Con node-red-dashboard puoi disegnare pannelli con grafici, slider, gauge, chart senza codice HTML. Trascini un nodo gauge, imposti range, colleghi al valore, ed e' online su http://IP:1880/ui.

7. Esempi di flow tipici

  • Presence detection: se nessuno in casa da 30 minuti (WiFi ping) > abbassa termostato
  • Meteo > irrigazione: se pioggia prevista domani, salta ciclo irrigazione oggi
  • Bollette: leggi contatore Shelly, calcola consumo mensile, invia mail il 1° del mese
  • Sveglia adattiva: 15 min prima dell'alba d'inverno, alba di primavera, alza tapparelle gradualmente
  • Sicurezza: se movimento rilevato in giardino di notte + tutti in casa > accende luce esterna + Telegram

8. Funzioni JavaScript custom

Il nodo function accetta codice JS. Esempio: calcola punto di rugiada da temp+umidita':

const T = msg.temp;
const RH = msg.humidity;
const b = 17.625;
const c = 243.04;
const alpha = Math.log(RH/100) + (b*T)/(c+T);
const dew = (c * alpha) / (b - alpha);
msg.payload = Math.round(dew*10)/10;
return msg;

9. Debug: capire cosa scorre nei fili

Trascina un nodo debug in mezzo al flow, collega output di un nodo al debug. Nel pannello destro (icona insetto) vedi ogni messaggio che passa, in JSON completo. Fondamentale per capire "cosa arriva".

10. Backup delle configurazioni

# La cartella /data (nel container Docker) contiene TUTTO
tar -czf nodered-backup-$(date +%F).tgz ~/node-red-data/

Puoi anche esportare singoli flow: Menu > Export > Selected nodes/Current flow e ottieni un JSON copiabile su un altro Node-RED.

Quando NON usare Node-RED: per automazioni banali (accendi luce a orario X) Home Assistant nativo basta. Node-RED brilla su logiche complesse con molti input, condizioni annidate, integrazione con API esterne. Non complicare inutilmente.