Disclaimer

Prestare sempre attenzione a seguire le indicazioni fornite in questo blog, soprattutto se si tratta di apparecchiature elettriche collegate alla tensione di 220V. Non mi ritengo responsabile di danni causati dall'aver seguito i consigli qui pubblicati.
Grazie

mercoledì 20 febbraio 2019

Home Automation System - Comandiamo OpenHAB con la voce



Comando Vocale, I Comandi Vocali, Ok Google, Assistente


Come promesso, torno a raccontare dei miei esperimenti "vocali"...in particolare integrazione e configurazione di Google Home Mini con OpenHAB

Nel post precedente (vedi https://domoticaduino.blogspot.com/2019/01/home-automation-system-diamo-il.html) avevo introdotto i miei nuovi acquisti: un Google Home Mini ed un Google Chromecast. Ho fatto alcune prove con diverse configurazioni e setup e adesso sono pronto per integrare l'assistente in OpenHAB per poter inviare comandi e richieste vocali al mio Home Automation System.

In OpenHAB esiste un ottimo plugin nativo per l'integrazione di Google Assistant. Niente di più facile...come sempre basta seguire le indicazioni della guida ufficiale - https://www.openhab.org/docs/ecosystem/google-assistant/

In particolare il plugin si appoggia al connettore Cloud di OpenHAB ed al servizio myOpenHAB, che permettono l'utilizzo di OpenHAB al di fuori della rete locale in maniera del tutto sicura; in questo modo è possibile interfacciarsi con servizi esterni, come appunto il nostro Google Assistant.

Icona, Sociale, Networking, Presentazione, Multimedia

Dopo la configurazione iniziale è necessario marchiare gli item che vogliamo esporre e quindi comandare con Google Assistant...Questa operazione viene effettuata con l'ausilio dei tag di OpenHAB, che non sono altro che degli attributi da assegnare ai diversi items del nostro sistema, normalmente utilizzati da addons (per approfondimenti vedere https://www.openhab.org/docs/configuration/items.html#tags)

In base al tag assegnato al singolo item possiamo attribuire la funzione che l'item stesso avrà all'interno del sistema Google Home; questo perchè un item di OpenHAB per essere utilizzabile da Google Assistant dev'essere visto come un "device" compatibile con Google Home; in questo modo può essere aggiunto come dispositivo all'interno dell'app di Google e quindi controllabile nativamente con la voce (oltre che direttamente dall'app, cosa che però a me non interessa perchè continuerò ad utilizzare OpenHAB).

Al momento non tutte le tipologie di dispositivi sono compatibili. In particolare ad oggi possiamo gestire interruttori, luci, termostati e prese. Ecco i relativi tag:

"Lighting"
"Switchable"
"Scene"
"Outlet"
"CurrentTemperature"
"Thermostat"

L'elenco è in evoluzione...per avere l'elenco aggiornato seguire questo link

https://github.com/openhab/openhab-google-assistant/blob/master/README.md

Per attribuire un tag ad un item abbiamo due strade:


  • se l'item è definito in un file di configurazione allora possiamo semplicemente aggiungere i tag all'interno di [...] nella riga di definizione dell'item
  • se l'item è definito tramite interfaccia web PAPERUI, si devono utilizzare le API REST (vedere https://www.openhab.org/docs/configuration/restdocs.html), in particolare il servizio /items/{itemname}/tags/{tag}

Ad esempio, ecco l'aggiunta del tag "lighting" allo switch della luce in soggiorno:


Terminato l'assegnazione dei diversi tag a tutti gli items interessati, proseguiamo con la configurazione dell'applicazione Google Home su smartphone e/o tablet (la stessa utilizzata per il setup iniziale di Google Home Mini e Chromecast). Quello che bisogna fare è andare ad aggiungere un nuovo dispositivo e ricercare OpenHAB dalla lista dei dispositivi compatibili. Verrà richiesto l'aggancio al servizio myOpenHAB utilizzando le credenziali di accesso e la magia è fatta...Vengono riconosciuti tutti gli items precedentemente configurati che ritroveremo nell'app Google Home. Non ci rimane che assegnare ad ognuno di essi un nome che utilizzeremo nel comando vocale...ad esempio, nel mio caso ho chiamato la lampada in soggiorno "Lampada Peppina".



Basterà dire: Hey Google, accendi la lampada Peppina e il gioco è fatto!

Ogni dispositivo può essere inserito in una stanza della nostra casa virtuale; in questo modo possiamo accendere più luci in contemporanea semplicemente chiedendo a Google, ad esempio, di accendere le luci in soggiorno.


Oltre ad inviare dei comandi di accensione / spegnimento delle luci è possibile anche interrogare lo stato di un sensore...ad esempio chiedere la temperatura in una stanza.
Nel mio caso, ho aggiunto il tag "CurrentTemperature" all'item relativo al sensore di temperatura in cucina


Google Home me lo vede come un termostato ed in questo modo posso farmi dire la temperature corrente.


Dulcis in fundo, quando si taggano altri item su OpenHAB, sarà sufficiente dire a Google Hey Google, sincronizza i miei dispositivi per far apparire i nuovi device in Google Home.

Una cosa molto interessante è che il sistema è utilizzabile anche da Google Assistant presente sugli smartphone Android, anche in remoto, cioè non connessi alla nostra rete locale; l'importante è che si utilizzi lo stesso account google utilizzato per il Google Home.

Quindi possiamo accendere le luci con un semplice comando vocale dato allo smartphone mentre stiamo rientrando a casa.