mercoledì 3 luglio 2019

Installiamo #Homebridge per unire #Domoticz a #Apple Home (Lesson 04) - #Domotica #Corso

Glauco Silvestri
Nella scorsa edizione abbiamo installato Domoticz sul nostro Raspberry, e abbiamo fatto in modo che l'indirizzo IP del nostro dispositivo fosse sempre uguale così da non dover impazzire ogni qual volta avremo bisogno di accedere ad esso da remoto.
Homebridge su Apple Home
Oggi ci occuperemo dell'installazione di Homebridge. Ciò permetterà di vedere tutti i dispositivi connessi a Domoticz sulla applicazione Apple Home, di controllarli da remoto senza dover aprire il nostro sistema domotico a internet (n.d.r. E di conseguenza a rischio di attacchi pirata), e volendo di controllarli anche attraverso Siri.

Visto che con Homebridge abbiamo già una certa esperienza, passo direttamente al lato pratico dell'installazione. Per cui accedo al Raspberry da terminale, o da Putty se ho windows, con la solita procedura. Una volta dentro faccio un po' di aggiornamenti (n.d.r. Procedura sempre consigliata ogni qualvolta abbiamo occasione di accedere al nostro sistema).
sudo apt-get update 

sudo apt-get upgrade
Al termine della procedura di aggiornamento andiamo a installare le librerie java necessarie al funzionamento di Homebridge. Digitiamo le seguenti stringhe, una alla volta.
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash - sudo apt-get install -y nodejs 
Al termine della procedura potremo verificare la versione di Java installata digitando:
node -v
A questo punto installiamo Python. Si tratta di un linguaggio di programmazione che permette l'esecuzione di script per l'elaborazione dati. Sarà utile a Homebridge per gestire i vari sensori e inviare le informazioni all'applicazione Home di Apple. Digitiamo:
sudo apt-get install python
Una piccola nota: Anche Domoticz utilizza Python. Non è detto che sia necessario, ma potrebbe capitare che Domoticz abbia bisogno di una versione differente, e più aggiornata, di questo linguaggio di programmazione. Nel caso quest'ultimo si comporti in modo strano, non esegua delle funzioni automatiche, o dia errori sui log (n.d.r. Vedremo più avanti tutti questi argomenti), allora sarà necessario seguire questa procedura per installare l'ultima versione di questo linguaggio.

Installiamo g++ digitando:
sudo apt-get install g++
E installiamo le librerie MDNS.
sudo apt-get install libavahi-compat-libdnssd-dev
Ok! Ora siamo pronti per il grande passo: Installiamo Homebridge!
sudo npm install -g --unsafe-perm homebridge
E, di conseguenza, installiamo il plugin di Domoticz.
sudo npm install -g homebridge-edomoticz
Se tutto è andato come doveva andare, il nostro sistema è quasi pronto per funzionare. Mancano ancora alcuni dettagli. Dobbiamo creare un file Json di configurazione. Questo file fornisce a Homebridge il codice per interfacciarsi con Apple Home e trasferire le informazioni di tutti i dispositivi sul nostro smartphone, e ovviamente fornisce anche le informazioni per comunicare con Domoticz.

Avviamo homebridge digitando:
Homebridge
E poi usciamo subito dal programma premendo contemporaneamente CTRL e C.

Questa breve procedura fa sì che Homebridge crei la struttura di direttori necessaria al suo funzionamento.
Ora spostiamoci nel direttorio dove scriveremo il nostro file Json, e apriamolo col solito editor.
cd ~/.homebridge/ 

sudo nano config.json
All'interno del file dobbiamo scrivere quanto segue:

{ "bridge": 
     { 
     "name": "Homebridge", 
     "username": "CC:21:3E:E4:DE:33", 
     "port": 51826, 
     "pin": "031-45-154" 
     }, 
     "description": "Configuration file for Domoticz platform.", 
     "platforms": [ 
          { 
          "platform": "eDomoticz", 
          "name": "eDomoticz", 
          "server": "indirizzo ip", 
          "port": "8080", 
          "ssl": 0, 
          "roomid": 0
          "mqtt": 1 
          } ], 
     "accessories": [] 
}

Possiamo già fare qualche personalizzazione, anche se dovremo tornare su questo file più avanti per far sì che tutto funzioni correttamente. Ho segnato in rosso le variabili da personalizzare.

Alla voce server dobbiamo inserire l'indirizzo ip usato da Domoticz, lo stesso che usiamo per connetterci al Raspberry da terminale.

Alla voce roomid dobbiamo inserire l'id della 'camera' che vogliamo sia visualizzata su Apple Home (n.d.r. Poi vi spiego, per ora la tralasciamo).

Salviamo tutto premendo contemporaneamente CTRL e O, premendo successivamente Enter, e usciamo con CTRL X.

Lanciamo Homebridge per vedere se il file Json è corretto. Se tutto va bene, a schermo vedremo la schermata con il codice QR da inquadrare sul nostro iphone per fare l'abbinamento.


Altrimenti abbiamo sbagliato qualcosa. Tenete conto che il file Json deve essere scritto 'bene', con maiuscole e minuscole dove devono essere, e soprattutto con le virgole e le parentesi messe come si deve. Potete verificare gli errori inserendo il contenuto del file su questo sito. Lui vi segnalerà gli errori e le correzioni da fare.

Usciamo di nuovo da Homebridge, con CTRL e C, e facciamo in modo che parta in automatico ogni volta che il Raspberry viene spento e riacceso.

Installiamo il modulo pm2:
sudo npm -g install pm2
e facciamo in modo che si occupi del lancio di Homebridge:
pm2 start homebridge
Controlliamo che tutto funzioni con:
pm2 list
In modo da vedere se Homebridge è in elenco (dovrebbe esserci solo lui, visto che abbiamo indicato solo lui).

A questo punto occupiamoci dell'avvio automatico
pm2 startup 

sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u pi --hp /home/pi 

pm2 save
Il dado è tratto. Basta riavviare e tutto dovrebbe funzionare a dovere.
sudo reboot
Ehm... No! Al riavvio il Raspberry vi chiede nome utente e password, vero? e' un bel problema perché se non siamo noi stessi a riavviare il sistema, ma magari un black out temporaneo, senza username e password il nostro dispositivo non potrà avviarsi correttamente.
Cosa facciamo allora?

Andiamo nella configurazione del nostro Raspberry. Vi ricordate come si fa?
sudo raspi-config
Compare una schermata con varie opzioni. Procediamo come segue:
  1. Scegliamo l'opzione 3 (Boot Options);
  2. Scegliamo B1 (Desktop / CLI);
  3. Scegliamo B2 (Console Autologin);
  4. Selezioniamo Finish.
A questo punto facciamo il reboot.
sudo reboot
E magicamente il nostro Raspberry si avvierà senza chiedere username e password, partirà Homebridge, e tutto funzionerà a dovere. 

Con la prossima lezione avremo modo di entrare nel cuore di Domoticz, fare le ultimissime impostazioni di Homebridge, e... Cominciare a inserire qualche dispositivo.




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

')