Piccola prefazione: davvero non mi aspettavo questo interesse per l’argomento, segno che i tempi sono davvero maturi per la domotica e quindi, senza ulteriori indugi, procediamo nella configurazione dei componenti “magici” del nostro sistema. Nella prima parte abbiamo preparato il Raspberry e messo in funzione lo scheletro del nostro sistema con DomoticZ. Ora vediamo come si installa Homebridge e come si configurano gli accessori, prendendo come esempio le ottime lampadine Yeelight Color (recensione). Il nome "Homebridge" descrive esattamente ciò che fa questo software, fungendo da ponte tra DomoticZ ed Apple HomeKit.

Installazione Yeelight LED su DomoticZ

Le lampade Yeelight Color sono, ad oggi, le migliori lampade a LED RGBW presenti sul mercato, in quanto sono economiche (non di rado si acquistano a 15€ l'una), hanno un'ottima luminosità (600lm) e una gamma cromatica bella e "pastosa"; inoltre la gestione tramite l'App dedicata è veloce e non necessitano di un gateway per poter funzionare. Da pochi mesi sono state rese disponibili le API per sviluppatori e da allora sono diventate ancora più interessanti, poiché integrabili anche in altri sistemi. Se ne abbiamo già qualcuna attiva in casa possiamo procedere all'inserimento in DomoticZ, se non ne disponiamo oppure le abbiamo appena acquistate, è necessario procedere prima di tutto con l'abbinamento alla rete Wi-Fi. Non vi spiegherò qui come fare perché ci ha già pensato Maurizio nella sua recensione, quindi seguite quella.

Aggiungo solo che l'app Yeelight (link App Store / Google Play) ha ricevuto diverse migliorie in questi mesi, per cui oggi è consigliabile usare direttamente quella in luogo di Mi Home. Si accede sempre con l'account Mi e per ogni lampadina che si vuole usare con Homebridge bisogna: selezionarla dalla home, cliccare sul menu hamburger in alto a destra, selezionare Developer Mode ed attivarlo. Scarichiamo ora una comoda app per scansionare i dispositivi presenti in rete, io vi consiglio l'ottima Fing. Lanciamola e facciamo tap sulla freccia circolare in alto a destra per ricercare tutti i dispositivi locali o eventuali aggiornamenti.

Dopo qualche secondo avremo la lista dei dispositivi della nostra rete domestica, cerchiamo quelli con la dicitura yeelink-light-color1_miio##### (dove i # rappresentano i numeri) e segniamoci i loro indirizzi IP. Se avete installato più lampade (come nel mio caso) e volete sapere quale lampada è associata all'IP procedete accendendo fisicamente una lampada alla volta (non spegnendole dall'app ma proprio tramite l'interruttore oppure svitandole).

Ora bisogna collegarsi al server Domoticz e recarsi nell'area Configurazione / Hardware; nel campo nome inserite Yeelight LED e come modello selezionate sempre YeeLight LED. Assicuratevi inoltre che ci sia la spunta su abilitato e solo dopo fate clic su Aggiungi. Vedrete comparire una nuova riga nella lista dell'hardware, individuatela e cliccate su Add Light.

Qui potete dare un nome alla lampadina e dovete inserire il suo indirizzo IP trovato precedentemente. Selezionate inoltre la tipologia, ovvero MONO per le Yeelight White oppure RGBW per Yeelight Color e premete su OK. Ora in Configurazione / Dispositivi bisogna cliccare sulla freccia verde presente in corrispondenza di ogni lampada aggiunta (non di rado dopo aver aggiunto la prima lampada, le successive appaiono automaticamente). Fatto ciò, le lampade saranno gestibili tramite il pannello Interruttori di DomoticZ; da qui potrete accenderle e spegnerle oppure cambiare colore e luminosità.

Installazione Homebridge

Colleghiamoci in SSH al Raspberry (ma volendo potete anche operare in locale sul raspberry stesso, se preferite) con il comando

sudo ssh pi@indirizzo_ip_raspberry

inseriamo prima la password di amministratore del computer locale e, subito dopo, quella dell'account pi del raspberry (ricordo che il valore default è appunto “raspberry”). Procediamo quindi all’installazione di node.js tramite i seguenti comandi (vanno eseguiti riga per riga singolarmente):

wget https://nodejs.org/dist/v4.3.2/node-v4.3.2-linux-armv6l.tar.gz
tar -xvf node-v4.3.2-linux-armv6l.tar.gz
cd node-v4.3.2-linux-armv6l
sudo cp -R * /usr/local/
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash |
sudo apt-get install -y nodejs
sudo apt-get install libavahi-compat-libdnssd-dev
cd ..

Dopo node.js, possiamo procedere all’installazione vera e propria di homebridge ed alla sua prima configurazione. I comandi da eseguire sono:

sudo npm install -g --unsafe-perm homebridge hap-nodejs node-gyp
cd /usr/local/lib/node_modules/homebridge/
sudo npm install –unsafe-perm bignum
cd /usr/local/lib/node_modules/hap-nodejs/node_modules/mdns
sudo node-gyp BUILDTYPE=Release rebuild

Il raspberry impiegherà un po’ di tempo ad eseguire tutta la procedura, ma se non vi saranno errori vi ritroverete nuovamente il prompt e potrete provare a lanciare homebridge semplicemente digitando

homebridge

Se è tutto ok, dopo una serie di righe visualizzate vedrete mostrato a schermo un codice numerico racchiuso dai trattini. Tramite iPhone o iPad, lanciando l'app Casa, selezionate "aggiunta dispositivo" ed attendete che venga rilevato homebridge. A questo punto vi verrà richiesto di inquadrare quel codice con la fotocamera, oppure di inserirlo manualmente. L'operazione ogni tanto genera errori, in caso ritentate, ma se va tutto ok vedrete l'associazione nessun dispositivo, in quanto homebridge ancora non è interfacciato a domoticz. Per fare ciò interrompiamo il processo premendo con CTRL+C ed andiamo a creare la configurazione.

sudo nano ~/.homebridge/config.json

si aprirà l’editor di testo di linux, copiate il codice seguente ed incollatelo nella finestra del terminale.

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

Premete ora la combinazione CTRL+O per salvare il file e, dopo aver confermato con il tasto invio, uscite con CTRL+X. Installiamo a questo punto il plugin di collegamento per Homebridge denominato edomoticz, digitando sul terminale il seguente comando

sudo npm install -g homebridge-edomoticz

Fatto ciò, procediamo a verificare il funzionamento con il comando

homebridge

homebdrige

Se avete già inserito almeno un accessorio su DomoticZ (può essere indipendentemente una lampadina Yeelight oppure un sensore Z-Wave o quello che volete) adesso aprendo l’App Casa sull’iPhone dovreste vederlo comparire nella stanza di default. Anche se ora sembra andare tutto bene non appena chiuderete il terminale del Mac verrà terminata anche l’esecuzione di Homebridge. Per risolvere questo problema, procediamo ad impostare homebridge come avvio automatico all’accensione del Raspberry. Controlliamo la posizione di homebridge con il comando

which homebridge

e annotiamola da qualche parte, di solito seguendo la nostra guida la posizione è /var/local/bin/homebridge ma in alcuni casi potrebbe anche essere /var/bin/homebridge e si dovrà fare una piccola variazione nel passaggio successivo. Apriamo l’editor di testo per la creazione del nuovo file di configurazione con il comando

sudo nano /etc/systemd/system/homebridge.service

e incolliamo le seguenti righe

[Unit]
Description=Node.js HomeKit Server 
After=syslog.target network-online.target
 
[Service]
Type=simple
User=pi
# togliere il cancelletto alla riga sotto se la directory homebridge è /usr/bin/homebridge e mettere il cancelletto alla riga sotto.
# ExecStart=/usr/bin/homebridge
ExecStart=/usr/local/bin/homebridge
Restart=on-failure
RestartSec=10
KillMode=process
 
[Install]
WantedBy=multi-user.target

Se avete il percorso diverso bisognerà togliere il cancelletto alla riga ExecStart=/usr/bin/homebridge ed inserirlo prima di quella ExecStart=/usr/local/bin/homebridge. In sostanza dovete commentare l'una e decommentare l'altra. Premiamo come sempre CTRL+O per salvare il file (seguito sempre dal tasto invio) e CTRL+X per uscire. Non ci resta che far riconoscere ed avviare il nuovo servizio con i seguenti comandi:

sudo systemctl daemon-reload
sudo systemctl enable homebridge
sudo systemctl start homebridge

Possiamo verificare la funzionalità del servizio con il comando

sudo systemctl status homebridge

e dovrebbe presentarsi una schermata simile a questa:

raspberry-homebridge-ok

Abbiamo finito, adesso ogni accessorio aggiunto a DomoticZ verrà riconosciuto (dopo un riavvio del Raspberry) anche nell’App Casa e da Siri (in realtà non proprio tutti i sensori sono riconosciuti, ma questo è un limite dell’App Casa).

Il tutorial è terminato, ma non smetteremo di parlare di Domotica. Anzi sono già iniziate le nostre ricerche per l’articolo nel quale elencheremo i diversi sensori e attuatori collegabili a DomoticZ divisi per protocollo e per utilità. Inoltre ci sarà anche un articolo per configurare l’economico sistema Xiaomi Smart Home Security kit con DomoticZ e quindi anche con Siri e l’App Casa. Rimanete sintonizzati.

In occasione dell'uscita di questo articolo siamo riusciti ad ottenere da Gearbest una promozione speciale. In questi giorni si potevano comprare le Xiaomi Yeelight Color a 15,71€ con il codice RGBIT, ma solo una per ordine e con spedizione veloce Italy Express superiore a 3€. Da questo momento (e fino ad esaurimento scorte), potrete ordinare fino a 3 con lo stesso codice a 15,56€ l'una ma, soprattutto, la spedizione rapida Italy Express avrà un costo inferiore ad 1€. Procedete da questa pagina e aggiungete il codice RGBIT nel carrello.