Node-Red e Home Assistant – “Alexa, posso dormire tranquillo?”

HassioHelp

Node-Red e Home Assistant – “Alexa, posso dormire tranquillo?”

Eccoci ad un nuovo appuntamento Node-red in Home Assistant.

Questa é una richiesta che vedo spesso nei gruppi.

“Sarebbe comodo avere un flusso d’automazione che mi dica quali luci sono rimaste accese, e quali finestre, porte, o tapparelle sono rimaste aperte…Magari chiedendolo ad Alexa. Lei controlla. E mi risponde con i loro nomi”

________

Capisco, la casa é grande e magari ci sono anche bambini piccoli. Dobbiamo avere tutto sotto controllo. Soprattutto prima di coricarsi a letto per dormire sonni tranquilli

Perciò ho creato questo flusso “universale” d’automazione che può essere gestito a vostro piacimento, per i device che desiderate controllare.

  • Questa é una automazione per chi utilizza Node-Red con Home Assistant, perché contiene nodi dedicati (per configurare Node-red come add-on segui la guida di Giovanni C. Lezione 1)
  • TRIGGER: Questo flusso d’automazione é universale, perciò inizia con un nodo “Inject” per triggerare. Se volete invece attivare il trigger di controllo chiedendolo ad Alexa (come ho spiegato in introduzione), dovrete configurare i nodi “Alexa Home” (vedi guida). 
  • AZIONE: La risposta di notifica call service, con Alexa, potrete utilizzarla solo se avete configurato Alexa come media player su Home Assistant.

PRIMA DI INIZIARE:

Importare automazioni Node-Red senza capirne il flusso d’automazione non é utile a nessuno. Node-Red ha un metodo tutto suo.

Consiglio di  iniziare dal Corso 1 Node-Red in italianoecco il link al MODULO per richiederlo. E’ gratuito.

Per qualsiasi domanda non esitate a contattarmi.
Telegram Manuel Del Gada

Iscrivetevi ai canali “Node-Red italia” : Gruppo Facebook – Canale Youtube – Gruppo Telegram 

Importazione

Nella prima fase, utilizziamo le potenzialità di Node-Red, per importare l’intero flusso che ho creato all’interno della vostra piattaforma con un semplice copia e incolla.

Ecco il link del codice flow da importare

Se non sapete ancora importare il codice di flusso, vi rimando alla Fase 2 di questa guida dove viene spiegato nel dettaglio.

Vi ritroverete un nuovo flow come da foto (spiegherò solo la parte in rosso dato che l’altra é identica e sono replicabili)

Spiegazione automazione

  • TRIGGER: Il trigger avviene con il nodo grigio “inject” ad iniezione manuale in questo caso, ma volendo potete programmarlo al suo interno con partenza in orario. Oppure sostituirlo con un nodo “Alexa Home” che azionerà il flusso.
  • CONDIZIONI: Quando il flusso si attiva, va a controllare la condizione di 3 luci (nel riquadro rosso, nodi blu “current state”). Se la condizione della luce é spenta il flusso si disperde. Mentre se é accesa il flusso prosegue dall’output sopra.
  • SCRITTURA FRASI: Tutti i flussi che proseguono (cioè di ogni luce accesa) entrano a loro volta in un nodo template (arancione) che scrive il nome che vogliamo farci notificare e che potete modificare a piacere. Inoltre il flusso aziona anche l’inizio della frase, nel nodo template in basso, “le luci accese sono”.
  • UNIONE FRASE: Ora abbiamo una serie di flussi (msg.payload) che portano con loro i nomi delle luci accese (in questo caso solo salotto, dato che é l’unica luce accesa) e la frase di intestazione (“le luci accese sono”). Queste frasi entrano nel nodo “join” che unisce i msg.payload in ingresso in un unico msg. E’ programmato per attendere 2 secondi prima di far uscire la frase. Perciò alla prima frase in ingresso, parte un timeout di 2 secondi. Dopo 2 secondi esce un unica frase con tutti i payload raccolti. La frase viene composta in base ai msg.payload che arrivano prima, per questo vedete il delay di 1 secondo. In modo che arriva prima “le luci accese sono” e poi la lista di luci accese… (il nodo edit trigger “passa 1”, serve per far arrivare solo 1 impulso al template della frase di intestazione, altrimenti al nodo join arriverebbe più volte la stessa frase)
  • AZIONE: Come azione ho messo una call service dinamica di Alexa che é programmata per notificare il msg.payload in ingresso (cioé la frase composta dal nodo join che in questo caso sarà “Le luci accese sono, salotto). Vedrete la frase composta sul nodo debug (verde).

Configurazione

Avendo importato il mio flow, importate anche la mia configurazione Home Assistant.

Perciò dovrete entrare all’interno di ogni nodo Home Assistant (nodo blu) e selezionare il vostro server, confermare con “done” poi “deploy”.

Noterete che sotto ai nodi apparirà il pallino “verde” con scrtto “connected”.

Chiaramente dovrete inserire anche le vostre entità.

Considerazioni finali

Come vedete, l’automazione é strutturata in 2 flussi identici. Flusso luci e flusso tapparelle. Questo perché cambia la frase di intestazione.

Il flusso luci ha “Le luci accese sono”, il flusso tapparelle ha “Le tapparelle aperte sono”.

Ora sta a voi replicare i flussi in base alle frasi di intestazione che volete. Luci, tapparelle, switch, finestre etc…

Dopodiché nel flusso di esempio ci sono solo 3 luci e 3 tapparelle. Anche in questo caso starà a voi aggiungerne altri.

Buon divertimento! 🙂

 

3 risposte

  1. Avatar Gianni ha detto:

    Complimenti.

  2. Avatar Sergio ha detto:

    Bello, si può fare anche con google assistant / home?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *