Come usare IFTTT.com con Home Assistant e Google Home Mini nella Casa DOMOTICA

Molti prodotti per la Casa DOMOTICA e molti servizi SMART sono compatibili con IFTTT.com, questo offre la possibilità di far interagire device molto differenti tra loro, cosa che altrimenti non sarebbe possibile.

Abbiamo già visto che utilizzando Home Assistant installato su Raspberry Pi 3 è possibile mettere in comunicazione tanti prodotti diversi tra loro, tuttavia grazie a IFTTT.com e Webhooks possiamo ampliare questa gamma di prodotti e servizi e far eseguire degli script attraverso gli SMART speaker Google Home e Google Home Mini oppure attraverso qualsiasi smartphone Android con l’assistente Google.

Eseguire degli script configurati all’interno di Home Assistant con gli SMART speaker Google Home e Google Home Mini è possibile solo se impostiamo lo speaker nella lingua inglese, in italiano non vengono eseguiti, ma con IFTTT.com possiamo aggirare il problema.

Vediamo come configurare IFTTT.com all’interno di Home Assistant e utilizzare il servizio WebHook per inviare delle richieste HTTP ed eseguire uno script.

Come usare IFTTT.com con Home Assistant e Google Home Mini

Prima di vedere come collegare IFTTT.com a Home Assistant e utilizzare Webhooks per controllare attraverso gli SMART speaker Google Home e Google Home Mini i nostri prodotti per la Casa Domotica vediamo quali sono i prerequisiti per poter continuare con questa guida.

Prerequisiti per usare IFTTT.com con Home Assistant

Home Assistant installato su Raspberry Pi 3, Come installare Home Assistant su Raspberry Pi 3 – Hass.io.

Accesso sicuro da remoto a Home Assistant, Come accedere a Home Assistant da remoto – Hass.io.

Dispositivo Android, smartphone, tablet con installato Google Assistant, oppure gli SMART speaker Google Home e Google Home Mini.

Avere un account IFTTT.com.

Come configurare IFTTT.com all’interno di Home Assistant

Raggiungere la pagina IFTTT.com ed effettuare il login, è possibile usare sia il PC sia l’applicazione per smartphone.

Su IFTTT.com cliccare su search e digitare “webhooks” cliccare su “connect”, quindi andare in impostazioni (Settings), in questa pagina, sotto Account Info, copiare la API key, che si trova all’interno dell’URL: https://maker.ifttt.com/use/API_Key

Webhooks settings account info URL da inserire nel file configuration.yaml di Home Assistant

Aprire il file configuration.yaml e inserire questo codice:

ifttt:
  key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Salvare il file configuration.yaml e riavviare Home Assistant, tutto qui.

Vediamo ora un esempio pratico su come sfruttare questo servizio con Home Assistant.

All’interno del nostro sistema di sicurezza per la casa domotica potrebbe essere utile chiedere aiuto a Google in caso di pericolo, semplicemente pronunciando “Ehi Google, aiuto!” oppure “Ehi Google, aiutami”.

In seguito a questa richiesta d’aiuto si potrebbe attivare una sirena interna alla casa, oppure una esterna, accendere tutte le luci in casa, far lampeggiare le luci esterne di casa anche se è meglio tenerle accese se avete telecamere esterne di sicurezza, effettuare una chiamata verso qualcuno con un messaggio preimpostato.

Come usare IFTTT.com e Home Assistant con gli SMART speaker Google Home e Mini per la sicurezza in Casa

Ho già scritto un articolo su come usare i prodotti Xiaomi Mi Smart Home all’interno di Home Assistant come allarme per la casa, Xiaomi Mi Smart Home come Allarme per la Casa Domotica e Xiaomi Mi Smart Home e Home Assistant (Hass.io) su Raspberry Pi 3 come Allarme per la Casa Domotica.

A questo sistema d’allarme possiamo aggiungere questa “feature”: se sono in casa e per qualsiasi motivo mi sento in pericolo dicendo allo smart speaker “Ehi Google, aiuto!” facciamo eseguire uno script all’interno di Home Assistant che attiva una presa intelligente della Xiaomi collegata ad una sirena, fa partire una chiamata verso uno più numeri a nostra scelta con un messaggio preimpostato, accende tutte le luci interne di casa, mentre fa lampeggiare di rosso quelle esterne alla propria abitazione.

Prima creiamo la script google_aiuto che andrà inserito nel file configuration.yaml

script:
  google_aiuto:
    alias: "Google Aiuto"
    sequence:     
      - service: notify.twilio_home
        data:
          message: "Hi, I'm Enore. Help Me Please, I'm in danger"
          target:
            - +39339xxxxxxx
            - +39327xxxxxxx
      - service: tts.google_say
        entity_id: media_player.ufficio
        data_template:
          message: "Ok, ho chiamato i vicini e la polizia"
          language: 'it'
          cache: false  
      - service: homeassistant.turn_on
        data:
          entity_id: group.luci_google_aiuto
      - service: homeassistant.turn_on
        data:
          entity_id: group.luci_esterne
          brightness: 255
          rgb_color: [255, 51, 51]
      - service: homeassistant.turn_on
        data:
          entity_id: switch.plug_158d0xxxxxxxx
      - delay:
          seconds: 1
      - service: script.turn_on
        data:
          entity_id: script.flash_luci_esterne
          
  flash_luci_esterne:
    alias: Flash Luci Esterne
    sequence:
      - service: homeassistant.turn_on
        data:
          entity_id: group.luci_esterne
      - delay:
          seconds: 1
      - service: homeassistant.turn_off
        data:
          entity_id: group.luci_esterne
      - service: script.turn_on
        data:
          entity_id: script.loop_luci_esterne

  loop_luci_esterne:
    alias: Loop Luci Esterne
    sequence:
      - delay:
          seconds: 1
      - service: script.turn_on
        data:
          entity_id: script.flash_luci_esterne
          
  stop_google_aiuto:
    alias: "Stop Google Aiuto"
    sequence:   
      - service: script.turn_off
        data:
          entity_id: script.google_aiuto
      - service: script.turn_off
        data:
          entity_id: script.flash_luci_esterne
      - service: script.turn_off
        data:
          entity_id: script.loop_luci_esterne

In questo esempio per chiamare qualcuno in caso di pericolo utilizzo twilio.com, la versione free genera una chiamata preceduta da un annuncio, per eliminare questo annuncio è necessario acquistare del credito twilio che verrà scalato di volta in volta quando si generano delle chiamate, ogni chiamata ha il costo di 0,04 dollari la ricarica minima è di 20 dollari.

Questo servizio può essere molto utile anche per l’allarme di casa creato con Home Assistant e per essere avvisati attraverso una chiamata vocale con messaggio preimpostato quando scatta l’allarme.

L’unico difetto che ho riscontrato nell’utilizzo di twilio.com con Home Assistant è che il messaggio da trasmettere dev’essere in inglese, o meglio può essere scritto anche in italiano ma viene letto in inglese. Purtroppo questo è un limite di Home Assistant e non di twilio.com che supporta anche l’italiano.

Creare un nuovo account twilio.com, seguire le indicazioni quindi accedere a twilio.com e nella Dashboard troverete indicati ACCOUNT SID e AUTH TOKEN.

twilio account SID e Authentication Token

Aprire il file configuration.yaml e inserire questo codice.

twilio:
  account_sid: ACCOUNT_SID_FROM_TWILIO
  auth_token: AUTH_TOKEN_FROM_TWILIO

Sempre nel file configuration.yaml inserire questo codice.

notify:
  - name: twilio_home
    platform: twilio_call
    from_number: +39349xxxxxx

Nel sito twilio.com andare in All product & Services, quindi selezionare Phone Numbers, Verified Caller IDs, cliccare sul simbolo + e inserire i numeri di cellulare verso i quali volete inviare SMS di notifica o chiamate vocali. Per la verifica riceverete una chiamata al numero di smartphone inserito, digitare il codice mostrato sul sito con il tastierino numerico del telefono.

Il codice che all’interno dello script permette di effettuare la chiamata è il seguente.

      - service: notify.twilio_home
        data:
          message: "Hi, I'm Enore. Help Me Please, I'm in danger"
          target:
            - +39339xxxxxxx
            - +39327xxxxxxx

In questo caso effettuo una chiamata contemporaneamente verso due numeri di telefono, ma potrei inserirne anche altri, l’importante è che sia tra quelli verificati su twilio.com (Verified Caller IDs)

Proseguendo nell’esecuzione dello script viene inviata una frase da riprodurre allo Smart speaker Google Home, questo utilizzando il servizio Text-To-Speech (tts) configurato all’interno di Home Assistant, questa parte la mostrerò meglio in un articolo dedicato, sta a voi scegliere se è meglio riprodurre qualche frase oppure no.

Lo script google_aiuto prosegue con l’accensione di alcune luci di casa raggruppate nel gruppo “group.luci_google_aiuto”, mentre le luci esterne vengono accese e impostate sul colore rosso.

La parte che fa accendere una delle migliori prese intelligenti come qualità/prezzo, Xiaomi Smart Plug, dove è inserito un alimentatore 12V che alimenta una sirena d’allarme è questa.

      - service: homeassistant.turn_on
        data:
          entity_id: switch.plug_158d0xxxxxxxx

Gli script flash_luci_esterne e loop_luci_esterne servono per far lampeggiare le luci esterne creando un loop.

Lo script stop_google_aiuto server per interrompere tutti gli script attivati in precedenza e faremo in modo di attivarlo quando diremo all’assistente personale Google una frase del tipo “Ok Google, sono salvo”

Impostati gli script dobbiamo attivarli attraverso Google Home o Google Home Mini, purtroppo non è possibile farlo attraverso l’integrazione di Google Assistant all’interno di Home Assistant come abbiamo visto nell’articolo Speaker Google Home con Home Assistant e Raspberry Pi 3, funziona solo se gli SMART speaker di Google sono configurati in lingua inglese e poi dovremmo dire una frase del tipo “Ok Google, turn on nome_script” un po’ troppo lunga.

Raggiungere il sito IFTTT.com quindi selezionare My Appplets e poi cliccare su New Applet, cliccare sulla scritta in azzurro + this e nel campo di ricerca cercare “google assistant”, cliccare su Google Assistant.
ifttt.com new applet google assistant

Nella pagina successiva, Choose trigger, cliccare su “Say a simple phrase”. Se non l’avete già fatto sarà richiesto di collegare il vostro account Google.

In What do you want to say? inserire la frase da dire a Google Home, nel nostro caso “aiuto”, in What’s another way to say it? e And another way? inserire due varianti della stessa frase.

IFTTT.com Google Assistant Say a simple phrase

In What do you want the Assistant to say in response? è possibile inserire la frase di risposta che vi darà Google Assistant, inserirla solo se nello script non si utilizza una frase di risposta personalizzata creata all’interno di Home Assistant con il servizio Text-To-Speech (tts). Se non si vuole ricevere alcuna risposta dal parte dell’assistente personale Google in questo campo va inserito un carattere speciale (non-printable character) come questo character:    ̢     infatti anche se lasci vuoto questo campo Google risponderà con una frase del tipo: “Ok, eseguo l’azione richiesta”.

In Language impostare Italian.

Cliccare su Create trigger e cliccare su + that.

Nel campo di ricerca inserire Webhooks, quindi in Choose action cliccare su Make a web request.

Nel campo URL va inserito l’URL di accesso da remoto ad Home Assistant installato su Raspberry Pi 3, l’URL sarà del tipo https://tuo_dominio.duckdns.org:8123/api/services/script/turn_on?api_password=TUA_API_PASSWORD la API_PASSWORD è quella inserita nel file configuration.yaml

http:
  api_password: YOUR_PASSWORD

In Method selezionare POST.

In Content Type selezionare application/json.

In Body inserire il codice:

{"entity_id":"script.google_aiuto"}

IFTTT.com Google Assistant Webhooks make a web request

Cliccare su Create action e quindi su Finish

Ora seguiamo la stessa procedura per far eseguire lo script stop_google_aiuto, più che altro serve per interrompere il lampeggiare delle luci esterne.

Il risultato di tutto questo è possibile vederlo in questo breve video, dove però ho scollegato la sirena perché l’ho girato di notte ( i miei bimbi erano già a letto) per fare vedere l’accensione delle luci e il lampeggiare delle luci esterne.

Come usare IFTTT.com con Home Assistant e Google Home Mini nella Casa DOMOTICA – Conclusioni

In quest’articolo abbiamo visto come è semplice integrare IFTTT.com all’interno di Home Assistant, le possibilità di di utilizzo sono veramente molte e grazie a IFTTT.com è possibile far dialogare dispositivi per la cada domotica che altrimenti non potrebbe essere utilizzati all’interno di Home Assistant.

In questo esempio abbiamo visto come inviare una richiesta HTTP a Home Assistant, ma possiamo fare anche il contrario, quindi potremmo sfruttare Webhooks per gestire l’impianto di irrigazione SMART per la Casa Domotica, che ha come centralina programmabile il Sonoff 4CH Pro, all’interno di Home Assistant. Chi segue TopDiGamma.it sa che per usare i prodotti Itead Sonoff con di Home Assistant è necessario flashare il firmware Tasmota, magari lo vedremo meglio in un articolo dedicato.

Se hai in mente altre idee per sfruttare al meglio Home Assistant e IFTTT oppure hai domande da fare lascia un commento a quest’articolo.