Aprire una porta semplicemente inviando un SMS

Guide

Scritto da Vincenzo Caputo

 Un paio di mesi fa circa, ho pubblicato un articolo su questo Blog in cui spiegavo come utilizzare un tastierino numerico per realizzare un accesso protetto ad un varco con serratura elettrica (porta, cancello, cancelletto, ecc...)

Quell'articolo (e relativo video sul nostro canale YouTube) ha destato molta curiosità nei nostri lettori tanto da generare una serie di commenti e considerazioni a riguardo.

Per chi si fosse perso quel contenuto, può recuperare al seguente link:

Aggiungiamo un tastierino numerico allo Shelly 1 per un apri-porta con PIN

La guida era nata dalla richiesta di un nostro lettore che appunto chiedeva se potesse in qualche modo aggiungere un tastierino numerico alla porta d'ingresso del suo B&B già fornita di elettro-serratura e già gestita con uno Shelly 1.

https://amzn.to/3JfaEQg

In effetti se ci pensate lo Shelly 1, in questo particolare tipo di scenario, non è sufficiente a dare autonomia agli ospiti per accedere al B&B.

Si potrebbe dare loro la condivisione per un periodo temporaneo dello Shelly tramite l'app Shelly Cloud, ma questo richiederebbe l'installazione da parte loro dell'app sul proprio smartphone e la registrazione di un account al quale condividere l'apertura.

Un'operazione che richiederebbe probabilmente l'intervento del padrone di casa per lo meno la prima volta per spiegare il funzionamento.

Comunicare invece un PIN segreto da digitare all'ingresso per l'apertura della porta invece è operazione semplice e alla portata di tutti e soprattutto non prevede nessuna installazione da parte dell'utente finale, nessuna registrazione online e nessuna configurazione.

Gli si comunica il PIN tramite messaggio (SMS, WhatsApp, e-mail, ecc...) e lui è già pronto per l'accesso senza che il gestore del B&B debba intervenire in alcun modo.

Dunque unire uno Shelly 1 per la gestione remota e il monitoraggio (ricevere una notifica anche quando la porta viene sbloccata da tastierino numerico) e la gestione dell'accesso locale tramite un tastierino numerico sembra veramente la soluzione più efficace per uno scenario di questo genere.

Alla pubblicazione della guida molti utenti hanno fatto notare l'intrinseca insicurezza del tastierino stesso che va per forza di cose installato all'esterno e che può essere facilmente manomesso consentendo un accesso non autorizzato.

C'è dunque un modo per evitare il tastierino numerico fisico e dare lo stesso un accesso semplificato e temporaneo ad un utente esterno senza costringerlo ad installare e configurare alcuna app sul proprio dispositivo?

Certo! Tramite un semplice SMS!

Gli SMS sono veramente alla portata di tutti e non richiedono alcuna installazione aggiuntiva sul proprio cellulare.

Gli SMS naturalmente dovrebbero essere inviati dagli ospiti autorizzati ad accedere alla porta o cancello in questione.

Ma chi dovrebbe ricevere l'SMS e come si dovrebbe realizzare l'automatismo che aziona lo Shelly 1?

L'SMS sarà ricevuto sullo smartphone del proprietario che ha già lo Shelly 1 configurato per aprire la porta da remoto e sarà intercettato da Tasker che eseguirà una chiamata Cloud al servizio Shelly Cloud azionando lo Shelly 1.

Per chi non lo sapesse, Tasker (https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm&hl=it&gl=US) è un'app per Android (no, non esiste per iOS) in grado di realizzare delle automazioni sul nostro smartphone o tablet.

Raccontata così pare anche un po' riduttiva, ma non ci sono parole per descrivere quello che si può fare con Tasker. Probabilmente sarebbe più facile dire quello che non si può fare.

Chi mi segue saprà che ho realizzato diversi piccoli progetti con Tasker, partendo da altrettante piccole idee.

Giusto per citarne alcune tra le più interessanti:

Tasker nel nostro caso sarà in grado di intercettare un SMS con un codice segreto all'interno (codice che verrà comunicato agli utenti interessati e che sarà possibile cambiare in ogni momento) e di conseguenza sarà in grado di connettersi al servizio Cloud di Shelly.

Come?

Shelly Cloud API access

Sulla sezione dedicata del sito Shelly (https://shelly-api-docs.shelly.cloud/cloud-control-api/) l'introduzione al servizio recita esattamente:

"È disponibile un'API sicura per il controllo dei dispositivi Shelly tramite il nostro Cloud. Ogni utente registrato dell'applicazione Shelly Cloud può utilizzare questa API per controllare i propri dispositivi.

COME FARE

Intanto sarà necessario creare un account nell'app Shelly Cloud o sul web al seguente link http://my.shelly.cloud

Naturalmente chiunque abbia in uso un dispositivo Shelly, ha già effettuato questa operazione.

Dopo sarà necessario reperire l'auth_key dentro l'app Shelly Cloud.

Reperire il Server Cloud Shelly a cui fanno riferimento i nostri dispositivi, che differirà naturalmente in base all'area geografica in cui li abbiamo registrati. Anche questa info la potremo reperire dall'app Shelly Cloud.

Basterà aprire l'APP Shelly e andare su Impostazioni utente.

Scorrete fino a trovare la voce Copy your authorization key e fate tap su get key.

A questo punto prendete nota del codice di autorizzazione e dell'indirizzo del server.

Mi sembra superfluo dire che chiunque venga in possesso di tali dati potrà comandare i vostri dispositivi Shelly, quindi occhio all'uso che ne fate!

L'esempio che faremo è realizzato con uno Shelly 1 e credo sia sufficiente per capire il meccanismo di funzionamento.

All'interno di Tasker andrà creato un Task (chiamatelo come vi pare) all'interno del quale dovrete aggiungere un'azione (HTTP Request) configurata come potete osservare nella seguente figura:

Come potete osservare, nel primo campo partendo dall'alto (campo Method), dovete scegliere l'opzione POST.

Poco sotto, nel campo URL, dovrete invece copiare l'indirizzo del server di cui abbiamo preso nota all'interno dell'app in precedenza.

La parte iniziare dell'URL è uguale per tutti i dispositivi Shelly, dopo il primo / l'indirizzo è differente in base a quale Shelly vorrrete comandare. Trovate i dettagli nella documentazione che vi ho linkato sopra.

Nel caso dello Shelly 1 andrà solamente indicato il dispositivo, il canale e il tipo di controllo (ON oppure OFF).

Quindi la stringa sarà esattamente:

https://shelly-9-eu.shelly.cloud/device/relay/control

Poco sotto, nel campo Body, andate a descrivere le varie chiavi separate dal carattere &

Quindi id=xxx&turn=on&channel=0&auth_key=xxxxxxxxxxxxxxx

L'ID del dispositivo la trovate sempre nell'app Shelly Cloud alle informazioni del dispositivo.

A questo punto dovrete realizzare un profilo di tipo Event-Receved Text.

Come potete osservare nell'immagine sopra, il trigger sarà un codice numerico o alfa-numerico (nel mio caso 1122) a vostro piacimento che dovrete comunicare all'utente che vorrete autorizzare.

Tale codice dovrà essere contenuto nell'SMS (senza alcun altro testo) che l'utente invierà allo smartphone con Tasker installato e configurato.

Questo profilo andrà collegato al task realizzato in precedenza.

Nel video qui di seguito mostrerò ancora meglio il tutto.

Buona visione!

Produrre e aggiornare contenuti su vincenzocaputo.com richiede molto tempo e lavoro. Se il contenuto che hai appena letto è di tuo gradimento e vuoi supportarmi, clicca uno dei link qui sotto per fare una donazione.

Vincenzo Caputo

Nato a Matera, il 1° novembre 1977. Sono da sempre appassionato di tecnologia e ho un'esperienza lavorativa ventennale nel settore IT. Mi piace sperimentare e cercare sempre nuove soluzioni e soprattutto mi piace comunicare le mie esperienze agli altri.


Vai ai commenti