Shelly e IFTTT: guida integrazione con Shelly Cloud API e WebHook

Shelly e IFTTT: guida integrazione con Shelly Cloud API e Webhooks

Vuoi utilizzare i tuoi dispositivi Shelly con la popolare applicazione IFTTT? Scopri come nella mia guida completa in italiano all’integrazione Shelly IFTTT mediante l’uso delle API Shelly Cloud e Webhooks.

Leggi anche le mie guide a Shelly Cloud App ed IFTTT in italiano.

Shelly e IFTTT

Una delle poche limitazioni della famiglia di dispositivi intelligenti molto popolari come Shelly 1 o Shelly 2.5 e’ l’assenza di supporto diretto alla popolare app IFTTT.

Esiste comunque la possibilità, non esattamente elementare, di integrare Shelly ed IFTTT utilizzando i seguente servizi:

IFTTT

IFTTT e’ una piattaforma gratuita che permette, in modo molto semplice, di far interagire tra di loro centinaia di applicazioni e dispositivi eterogenei automatizzando un serie di task:

  • Smartphone
  • Applicazioni e servizi in cloud
  • Dispositivi smart (tramite i rispettivi servizi in cloud)
Come funziona IFTTT in italiano

Per fare interagire tra di loro applicazioni e dispositivi si utilizzano le cosiddette applets permettendo di fare qualsiasi azione in base ad un evento mediante una semplice programmazione di questo tipo:

  • se accade un determinato evento (trigger)
  • allora esegui una determinata azione (action)

ovvero, in inglese anziché italiano, IThis, Then That (IFTTT).

Come configurare un'applet IFTTT

Per approfondire ulteriormente leggi anche la mia guida ad IFTTT in italiano.

IFTTT
Price: Free
‎IFTTT
Price: Free+

Purtroppo, come già scrivevo, Shelly non supporta nativamente IFTTT.

Webhooks per IFTTT

Webhooks e’ un servizio di IFTTT che permette di effettuare o ricevere una richiesta web: in questo modo e’ possibile interagire con applicazioni e servizi che non sono ancora supportati da IFTTT. Esattamente quanto potrebbe fare al caso nostro con Shelly!

La prima operazione da fare e’ collegare il servizio Webhooks al nostro profilo IFTTT:

Webhooks per IFTTT
Webhooks per IFTTT

Scopri anche come ho utilizzato Webhooks con la centralina irrigazione WiFi OpenSprinkler.

A questo punto e’ possibile utilizzare Webhooks all’interno di una applet IFTTT come:

  • evento (trigger) scatenato mediante una richiesta web
  • azione (action) che effettua una richiesta web

Webhooks in IFTTT: evento (trigger) scatenato mediante richiesta web

Nel caso di un evento IFTTT (trigger) generato dal servizio Webhooks possiamo definire un’etichetta per identificarlo in modo univoco da utilizzare materialmente all’interno della richiesta web che verrà effettuata dall’esterno:

Webhooks in IFTTT: etichetta evento (trigger)
Webhooks in IFTTT: etichetta evento (trigger)

La documentazione relativa al formato delle chiamate web da fare per scatenare l’evento (trigger) lo trovate accedendo alla configurazione del servizio Webhooks sull’app IFTTT:

Come potete vedere il formato delle richieste web esterne, in POST o GET, da fare per scatenare su IFTTT un evento (trigger) con etichetta {event_name} sul servizio Webhooks con chiave personale {personal_key} e’ il seguente:

https://maker.ifttt.com/trigger/{event_name}/with/key/{personal_key}

Anche se con sicurezza ridotta e’ supportato anche il protocollo HTTP: questo ci servirà successivamente.

Webhooks in IFTTT: azione (action) che effettua una richiesta web

Nel caso di un’azione (action) IFTTT col servizio Webhooks possiamo definire tutti i parametri della richiesta web che verrà effettuata alla sua esecuzione:

Webhooks in IFTTT: azione (action)
Webhooks in IFTTT: azione (action)

Questa configurazione dipende dall’applicazione esterna da invocare.

Shelly Cloud App – Azioni

L’app Shelly Cloud e’ quella che permette la gestione dell’ecosistema di dispositivi intelligenti Shelly:

Tra la varie opzioni disponibili in Shelly Cloud App e’ possibile configurare a livello di singolo dispositivo delle azioni, ovvero l’invocazione di una URL HTTP esterna (che potrebbe essere una API) differenziata per gli eventi sul singolo dispositivo:

  • accensione /spegnimento del pulsante di comando
  • pressione di durata corta/lunga del pulsante di comando
  • accensione /spegnimento effettivo

Attenzione: al momento le chiamate in HTTPS non sono supportate.

Unendo un’azione su Shelly Cloud App ad un evento (trigger) Webhooks su IFTTT, avremo la possibilità di comandare mediante un dispositivo Shelly un’applicazione, servizio o dispositivo su IFTTT. Vedremo successivamente qualche esempio.

Per approfondire ulteriormente leggi la mia guida a Shelly Cloud App.

Shelly Cloud API

Per comandare i dispositivi Shelly sono disponibili le modalità seguenti:

  • Shelly Cloud App
  • Interfaccia Web (https://my.shelly.cloud/)
  • Interfaccia Web a bordo del dispositivo – solo accesso locale

Sono state aggiunte una serie di API a Shelly Cloud per poter sviluppare applicazioni che si integrino e gestiscano i dispositivi da remoto attraverso i servizi in cloud.

Tutte le API in Cloud di Shelly per essere utilizzate necessitano di:

  • chiave personale (auth_key) associata al vostro profilo
  • indirizzo del server in cloud dov’è ospitato il vostro profilo (nel mio caso https://shelly-14-eu.shelly.cloud)

Potete recuperare queste due informazioni, ad esempio, in questa pagina dell’app:

Per agire sul singolo dispositivo occorre anche l’identificativo che si trova nelle sue proprietà:

Shelly Cloud API id device
Shelly Cloud API id device

Vediamo ora qualche esempio di API per comandare via cloud i dispositivi Shelly più popolari.

Accensione e spegnimento Shelly 1, 1PM, 2.5 via API Cloud

La chiamata POST ha il formato seguente:

https://{server location link}/device/relay/control/

dove i parametri obbligatori da inserire sono

  • channel = numero del canale del dispositivo (0 corrisponde al primo)
  • turn = on oppure off (accensione o spegnimento)
  • id = identificativo del dispositivo a cui inviare il comando
  • auth_key = chiave personale associata al nostro profilo Shelly

Questo e’ un esempio di chiamata di test per accendere il primo canale di uno Shelly 2.5 effettuata con un tool online per invocazione di API (https://reqbin.com/):

POST /device/relay/control/ HTTP/1.1
Host: shelly-14-eu.shelly.cloud
Content-Type: application/x-www-form-urlencoded
Content-Length: 130
channel=0&turn=on&id=Ba86f0&auth_key=******

Per altri casi ed esempi vi rimando a questo documento.

Unendo un’azione (action) Webhooks su IFTTT ed una API Shelly Cloud, avremo la possibilità di comandare da IFTTT un dispositivo Shelly.

Siamo pronti a vedere qualche esempio concreto di integrazione Shelly ed IFTTT.

Shelly + IFTTT: esempi di integrazione mediante Webhooks e Shelly Cloud API

Come abbiamo visto in precedenza abbiamo finalmente tutti i componenti necessari a realizzare l’integrazione tra IFTTT e Shelly.

Eccovi qualche esempio concreto: sono sicuro che la vostra fantasia non vi porrà limiti.

Shelly + IFTTT: quando l’uscita di Shelly 1 si accende, tracciare su Google Sheets

In questo caso di integrazione Shelly IFTTT, sono necessari:

  • applet IFTTT con trigger Webhooks ed action su Google Sheets
  • azione configurata su Shelly Cloud App per il device Shelly 1 per invocare il trigger Webhooks
Shelly + IFTTT

Evidenzio come la chiamata a Webhooks su Shelly Cloud App debba, purtroppo, essere configurata in HTTP per funzionare correttamente come nel mio esempio:

http://maker.ifttt.com/trigger/shelly_1_on/with/key/***

Shelly + IFTTT: quando la temperatura di Sonoff TH16 supera una soglia accendi il primo canale Shelly 2.5

In questo caso, per comandare lo Shelly 2.5, basta una applet IFTTT con:

  • trigger servizio eWeLink Smart Home sul dispositivo Sonoff TH16
  • action servizio Webhooks per invocare API Sonoff Cloud per il dispositivo Shelly 2.5

Siamo riusciti a fare collaborare i rivali Shelly e Sonoff tramite IFTTT. Leggi anche il mio articolo Shelly 1 vs Sonoff Mini.

Ultimo aggiornamento Amazon Affiliate 2020-12-04 at 00:23

2 pensieri su “Shelly e IFTTT: guida integrazione con Shelly Cloud API e Webhooks

  1. blankMarco

    Grazie mille per la guida.
    Potrebbe funzionare anche con uno Shelly Em? Che al momento ha la grandissima limitazione di poter essere usato in caso di sovraccarico solo per spegnere altri dispositivi collegati con altri shelly.

    Grazie mille

Lascia un commento

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

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.