Integrare gratuitamente Alexa su Home Assistant con Node-Red

Integrare gratuitamente Alexa su Home Assistant con Node-Red

Eccoci ad un nuovo appuntamento Node-Red

.

Argomento: Node-Red

Livello: Novizio (Novizio,Esperto, Pro)

Difficoltà: Media (Bassa, Media, Alta)

Eccoci in questo nuovo articolo, dove tramite skill e nodi dedicati, potremmo configurare Alexa all’interno di Node-Red per gestire i nostri device su Home Assistant.
In parole semplici andremo a configurare dei “device fittizi” su un sito esterno.
Questo sito comunica con la nostra app alexa tramite skill dedicata e con Node-Red tramite nodi dedicati. Chiamando vocalmente un “device fittizio”, il nodo dedicato emetterà un impulso che manipoleremo per far partire un’automazione su Node-Red. Questa automazione gestirà un device configurato su Home Assistant.

PRIMA DI INIZIARE:

Seguire guide 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 

Premessa

Questa é una guida per chi utilizza Node-Red come add-on di Home Assistant perché contiene nodi dedicati (per configurare Node-red come add-on segui la guida di Giovanni C. Lezione 1)

  • Le entità che fanno parte di questa automazione dovranno essere già configurate su Home Assistant (dovrete chiaramente sostituire le entità di esempio di questa guida con le vostre)
  • La configurazione di Alexa che verrà spiegata, ha le stesse potenzialità della configurazione tramite haaska gratuita, ma a differenza di quest’ultima, fa riferimento a un sito esterno di terze parti.

Cosa impariamo

  • A scaricare nuovi nodi dalle “palette”
  • A configurare Alexa su Node-Red tramite skill e nodi dedicati
  • Eseguire una call service “statica” e “dinamica”

In questa guida vi mostrerò come poter controllare con alexa la percentuale di apertura\chiusura di una veneziana e  l’accensione\spegnimento di una luce o switch configurati su HA.

Poi naturalmente starà a voi riprodurre il tutto per ogni device HA che volete controllare.

Per prima cosa ci rechiamo nel sito ed effettuiamo la registrazione

Di conseguenza effettuiamo il login, ci rechiamo su “devices”, e su “add device”

Andiamo a creare due “device fittizi” con il nome “lampada” e “veneziana” (che sono i nomi che pronunceremo ad alexa per attivarli)
Dovrete configurarli diversamente come da foto, perché lampada manderà un boolean true o false, mentre la veneziana un msg.payload con il numero della percentuale che pronunceremo ad alexa. Entrambi, su app alexa, saranno configurati come light, ma a noi non interessa, l’importante
é che eseguano il lavoro in maniera corretta.

Il risultato dovrà essere questo:

Ora ci rechiamo da cellulare su app alexa.
Scarichiamo e configuriamo la skill che vedete in foto (inserendo username e password registrati sul sito in precendenza)

Ora dobbiamo sincronizzare i device lampada e veneziana.
Perciò sempre da app ci rechiamo su “aggiungi dispositivo” e su “altro” come da foto Dopodiché andiamo a fare la ricerca di nuovi dispositivi così lampada e veneziana saranno aggiunti ad alexa.

Dopo aver confermato i due nuovi dispositivi basterà dire “accendi o spegni lampada” per accenderla o spegnerla ma anche per muovere la veneziana bisognerà dire esempio “ accendi veneziana al 50%”.
Diciamo che “accendi” non ci sta bene con la veneziana. Vediamo come eliminarlo.
Per poter dire solo “Alexa, veneziana al 50%” andremo a creare una routine che dovrà essere configurata come in foto

Risolto questo “piccolo problema” ci rechiamo su Node-Red per andare a scaricare i nodi dalle “palette” come da foto

Si aprirà questa finestra. Cercheremo “alexa” per filtrare e andremo a scaricare i nodi che vedete nella quadra rossa in foto. E cliccate su “install” (Nel mio caso sono già installati)

Terminata l’installazione, iniziamo la configurazione dei nodi.
Andiamo alla ricerca dei nodi sulla sinistra filtrando per “alexa home”. Dopodiché trasciniamo sul flow il nodo Alexa Home.

Apriamo il nodo, e come da foto, configuratelo con le credenziali di registrazione al sito che avevate fatto a inizio guida.
Una volta configurato l’account noterete che su “device” appariranno “lampada” e “veneziana” (Se non gli vedete clikkate sul simbolo di refresh)

Ora non ci resta che creare il flow in foto.
Come sempre (per chi segue le mie guide) ho suddiviso il tutto in due automazioni numerate e i nodi con le lettere per spiegarli nel dettaglio.

AUTOMAZIONE 1 “DINAMICA”

Nella prima automazione, quando diremo ad alexa “Veneziana al 50%” (ma potrà essere qualsiasi percentuale) il nodo dedicato farà fuoriuscire un msg.payload con il numero 50 che andrà a scrivere la call service “dinamica” dove ci sarà configurata l’entità della veneziana (nel mio caso non avendo veneziane ho configurato la tapparella salotto)
Vi ricordo che compilare un nodo call service é come eseguire una call service da strumenti sviluppatori di HA.

Configuriamo il nodo alexa home (1a) con il device “veneziana”

Collegato a un nodo Call service (1b) dove inserirete domain, service, ed entità del vostro device.
Dopodiché cliccate come da foto sui 3 puntini per compilare il json dinamico.

Il json della call dinamica (1b) dovrà essere scritto in questo modo sempre con la vostra entità e service da modificare (in questo caso, per la tapparella, in strumenti sviluppatori, il service risulta “position”. Non é altro che la percentuale).
Mi raccomando rispettate simboli e spazi

AUTOMAZIONE 2 “STATICA”

Nella seconda automazione, quando diremo ad alexa “accendi lampada” uscirà un boolean “true” che con uno switch andremo ad indirizzarlo verso la call service di accensione lampada.
Viceversa quando diremo spegni, uscirà un boolean “false”, che andrà verso la call di spegnimento.
Configuriamo il nodo alexa home (2a) con “lampada”

Colleghiamolo a un nodo switch (2b) per svincolare il boolean in ingresso in due uscite differenti.
Se entrerà true uscirà dall’output sopra. Se entrerà false uscirà dall’output sotto.

Colleghiamo al quadrato sopra una call service (2c) di accensione lampada (nel mio caso accendo la luce del salotto)

Mentre al quadrato sotto colleghiamo un nodo call service (2d) di spegnimento lampada

Flow completato!
Non vi resta che provarlo e riprodurre il tutto per tutti i device Home Assistant che desiderate comandare!

Video guida Youtube

Questa guida é stata riportata anche in versione video sul Canale Youtube “Node-Red Italia”. Buona visione e… alla prossima! 🙂

 

7 risposte

  1. STEFANO ha detto:

    Ciao
    Mi esce questo errore cosa devo fare?

    Call-service API error. Error Message: not a valid value for dictionary value @ data[‘entity_id’]

    • Manuel Del Gada ha detto:

      Ciao, errore di compilazione nel nodo call service. In particolare sembrerebbe entity id.
      Il nodo call service è la stessa chiamata che fai in strumenti sviluppatori di HA. Fai dei test su strumenti sviluppatori. Quando funziona, quella è la compilazione corretta da riportare sul nodo.

      • STEFANO ha detto:

        Ciao Manuel
        Grazie mille
        La configurazione sviluppatori intendi config. Yaml
        Non devo chiamare la stessa entità che ho su mqtt?
        Grazie

  2. STEFANO ha detto:

    risolto non avevo scritto cover.tapparella
    grazie mille

  3. Simo ha detto:

    Una domanda, per usare questa tecnica è necessario che HA sia esposto su internet?

  4. francesco ha detto:

    questa guida pero comporta di creare con node red, tanti device fittizzi, tanti quanti ne abbiamo in casa domotizzati e da controllare?
    a volte mi chiedo xke non utilizzare la soluzione piu breve di comandarli direttamente da alexa con le sue skill o la via di haaska???

  5. beniamino ghiani ha detto:

    Sei grande!!! Riuscito al primo colpo, dovrebbero farti santo.

Lascia un commento

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

Advertisment ad adsense adlogger