mercoledì 20 marzo 2019

Date a #Siri ciò che non è di Siri (Lesson 5) - #Corso #Homebridge

Glauco Silvestri
Finalmente abbiamo Homebridge funzionante... Solo che ancora non è in grado di fare nulla per noi, visto che il file di configurazione è ancora vuoto.
Disattiviamo un attimo Homebridge premendo contemporaneamente CTRL e C.
Poi vediamo di tornare a studiare il file di configurazione. Per comodità lo ripropongo qui di seguito, così ci si può ragionare sopra più comodamente.
{
     "bridge": {
           "name": "Homebridge",
           "username": "CC:22:3D:E3:CE:30",
           "port": 51826,
           "pin": "031-45-154"
     },
     "description": "Date a Siri quello che non è di Siri",
     "accessories": [],
     "platforms": []
}
La prima parte del file, quella chiamata "bridge" serve a identificare il nostro bridge e il suo codice di abbinamento con Apple Home. Visto che durante la lezione scorsa abbiamo fatto l'abbinamento, è meglio non cambiare nulla fino alla prima parentesi graffa chiusa.

Ciò che possiamo modificare è tutto quello che segue, a partire dalla "description", in cui potete scrivere tutto ciò che volete.
Le voci successive servono a identificare i device che vogliamo abbinare, e le azioni che il bridge deve compiere, o segnalare, quando accade qualcosa a questi dispositivi.

Non vi spaventate! E' una cosa facile da fare perché... Su questo sito troverete i file di configurazione già pronti. E' sufficiente inserire la parola chiave "homebridge-plugin" nella finestra di ricerca e troverete una lista lunghissima di plug-in.


E volendo, oltre alla parola chiave "homebridge-plugin", possiamo aggiungere anche la marca e/o il modello del sensore, così da fare una ricerca più mirata.

Prendiamone uno a caso per capire come funziona: Per esempio quello dedicato ai sistemi di sicurezza Verisure. Sfogliando la pagina troveremo subito la stringa di installazione del plugin, ovvero quella riportata qui di seguito.
npm install -g homebridge-verisure
E poco dopo la stringa da inserire nel vostro file config.json, ovvero quanto riportato qui sotto.
"platforms": [
    {
        "platform" : "verisure",
        "name" : "Verisure",
        "email": "your@email.com",
        "password": "yourT0p5ecre7Passw0rd",
        "alarmCode": "0000",
        "doorCode": "000000",
        "pollInterval": 60
    }
]
Come avrete ben intuito, questa stringa va inserita nel nostro file al posto di:
"platforms": []
E' ovvio che potremo aggiungere più platforms legate a dispositivi differenti. Alla fine il file config.json dovrebbe risultare come segue:
{     "bridge": {           "name": "Homebridge",           "username": "CC:22:3D:E3:CE:30",           "port": 51826,           "pin": "031-45-154"     },     "description": "Date a Siri quello che non è di Siri",     "accessories": [],     "platforms": [          {
              "platform" : "verisure",
              "name" : "Verisure",
              "email": "your@email.com",
              "password": "yourT0p5ecre7Passw0rd",
              "alarmCode": "0000",
              "doorCode": "000000",
              "pollInterval": 60
          },
          {           ....          },          {           ....          }     ]}
Già che ci sono, ricordo che per editare il file di configurazione è necessario digitare la seguente stringa:
sudo nano /home/pi/.homebridge/config.json
Che per salvare bisogna premere contemporaneamente CTRL e O, e per uscire CTRL e X.

E se il nostro accessorio non è presente? Questa è una bella domanda a cui non posso rispondere in toto. Il mio consiglio è quello di verificare prima che esistano i plugin per i nostri accessori (n.d.r. Nel caso non li troviamo su npm, possiamo fare una ricerca più ampia su google, non si sa mai). Possiamo trovare dei riferimenti anche nella comunity di Homebridge, tutti i link sono ben indicati qui (n.d.r. Anche se bisogna conoscere l'inglese).

Se non troviamo nulla, possiamo giocare la carta IFTTT. Molti dispositivi smart sono connessi con questo portale. Si tratta di un sito/applicazione capace di automatizzare molte funzioni dei dispositivi smart. 
Funziona su una regola banalissima: IF This Than That.
Che in italiano si traduce in: Se succede questo, fai quest'altro.
Cerchiamo sul portale il nostro dispositivo. Se c'è, ci iscriviamo, seguiamo i tutorial (n.d.r. Sono semplicissimi!), e realizziamo delle regole che relazionino Webhooks con il nostro dispositivo. Quest'ultimo canale IFTTT propone un codice univoco che serve per comandare a distanza i dispositivi in modo sicuro.
Questo codice va messo alla voce "makerkey", del file config.json, di cui troviamo un esempio qui. Ma prima, ovviamente, dobbiamo installare anche il plugin, come descritto qui. Ovvero:
npm install -g homebridge-ifttt
Il file config.json diventa quindi:

{     "bridge": {           "name": "Homebridge",           "username": "CC:22:3D:E3:CE:30",           "port": 51826,           "pin": "031-45-154"     },     "description": "Date a Siri quello che non è di Siri",     "accessories": [],     "platforms": [          {
              "platform" : "verisure",
              "name" : "Verisure",
              "email": "your@email.com",
              "password": "yourT0p5ecre7Passw0rd",
              "alarmCode": "0000",
              "doorCode": "000000",
              "pollInterval": 60
          },
          {              "platform": "IFTTT",
              "name": "IFTTT",
              "makerkey": "il codice va messo qui",
              "accessories": [{
                   "name": "Accessorio 1",
                   "buttons": [
                  {
                       "caption": "Lampadina",
                       "triggerOn": "Accendi",
                       "triggerOff": "Spegni",
                       "delayOn": 4,
                       "delayOff": 3,
                       "stateful": true
                  },{
                      ...
                  }
              ]
         }
     ] 
}
          
Attenzione: Accendi e Spegni sono i nomi delle azioni definite su Webhooks.

La funzione "stateful" merita una menzione perché se impostata come true la lampadina rimane accesa fino al prossimo comando, se impostata come false la lampadina si spegne trascorso il tempo di delay impostato.

Siamo quindi giunti ad avere un file di configurazione completo. Possiamo riavviare Homebridge.
homebridge
Ora andiamo a controllare sulla nostra applicazione Apple Casa. Con soddisfazione possiamo notare che la nostra 'casa' è popolata di due nuovi dispositivi, ovvero l'allarme Verisure, e la Lampadina. Tenendo premuto sulle due nuove icone possiamo andare a completare le ultime impostazioni, tra cui scegliere in quale stanza devono stare i dispositivi appena inseriti.

Fatto ciò, tutto è pronto per funzionare. Possiamo accendere e spegnere i nuovi dispositivi tramite Siri, o tramite l'applicazione.

Abbiamo finito? No! Ci sono ancora due cose da fare, ovvero impostare Homebridge perché si avvii in automatico (n.d.r. Nel caso manchi improvvisamente la corrente), e settare il Raspberry in modo che abbia un indirizzo IP statico, così che per accedervi tramite SSH sia più pratico ed immediato. Ma di tutto ciò parleremo nelle prossime lezioni. Per oggi abbiamo raggiunto un grande risultato.


Scopri i miei ebook cliccando QUI




About the Author

Glauco Silvestri / Author & Editor

Vivo a Bologna. Vivo per le mie passioni. Scrivo, leggo, amo camminare. Adoro il cinema, amo tantissimo le montagne. Sono cresciuto a suon di cartoni di Go Nagai e Miyazaki.
Mi guadagno da vivere grazie all'elettronica. Lavoro nella domotica, e nell'illuminazione d'emergenza, per una grossa azienda italiana. Ci occupiamo di sicurezza, salute, emergenza... ma anche di energia pulita. Il mio sogno sarebbe vivere grazie ai miei libri, ai miei disegni, alle mie fotografie... Ma onestamente, suppongo di essere più bravo nel mio attuale lavoro. Ciò non significa che io rinunci a provare, tutt'altro, faccio di tutto per migliorare, crescere, ottenere il meglio che posso nei miei lavori, che siano racconti, digital painting, fotografie...
Ovviamente, oltre a ciò, sono anche un blogger, ma se state leggendo questa breve nota, vuol dire che già lo sapete.

0 commenti:

Posta un commento

Post Recenti



Powered by Blogger.

Popular Posts

Cerca sul Blog

')