Homebridge Myhome

Homebridge Myhome

In questa guida vi illustrerò come installare un gateway (homebridge) su Raspberry e far comunicare l'homekit Apple con il sistema domotico Bticino Myhome..

Che vantaggi ci sono con l'homekit? beh la risposta è Siri, si possono comandare i dispositivi solo chiedendolo, finalmente si potrà aggiungere il controllo vocale al Myhome.

Cosa occorre: (testato fino a RB3+)

RaspberryPI3 B (si riesce ad installare l'home kit anche sulla versione 1, ma è molto lenta e alcuni comandi descritti qui non sono adatti)

(per la prima installazione da nuovo, occorre avere una tastiera usb,cavo hdmi,televisore o monitor hdmi,cavo di rete)

una scheda SD o microSD (dipende dal RB usato) di almeno 4Gb (io sto utilizzando il kit che ha una 16GB)

un gateway del sistema Myhome, tipo F453,F454,Mh200 e probabile anche tramite un Touch-screen.

Io lo sto usando con un F453AV.

 

Pronti? Iniziamo: (nella guida io utilizzo vi come editor di testo, ma potete usare nano o installarne uno diverso es. vim)

Per prima cosa scarichiamo la iso (Raspbian-Stretch-lite) dal sito web https://www.raspberrypi.org/downloads/raspbian/ o direttamente dalla mia pagina.

Fatto questo occorre scrivere l'immagine sulla scheda SD, io utilizzo disk-imager che trovate tra gli allegati o alla pagina https://sourceforge.net/projects/win32diskimager/

Prima inserire la scheda SD sul PC/MAC e lanciare poi il programma per scrivere l'immagine, selezionare il file da caricare (occorre prima scomprimerlo) e cliccare su write.

Al termine dell'operazione possiamo espellere la scheda ed inserirla sul Raspberry, collegarlo in rete, collegateci il cavo hdmi e una tastiera usb, poi accenderlo.

Appena arrivati al prompt digitiamo il nome utente pi e password raspberry e aggiorniamo subito il sistema con questi comandi e dare conferma di installazione (y) quando richiesto.

sudo apt-get update
sudo apt-get upgrade

Appena finito l'aggiornamento possiamo procedere con questo comando per la configurazione della tastiera e ssh (comodo per gestire tutto da remoto e non dover stare collegati fisicamente)

sudo raspi-config

Andiamo alla voce 4 (Localisation Options), poi I3 (Change Keyboard Layout) ed impostare generic 105-key,Other,Italian,e tutti i successivi parametri di default.

ora siamo tornati al menù principale dove sceglieremo la voce 5 (SSH) e sceglieremo di abilitarlo, a questo punto usciamo dalla configurazione e torniamo al prompt, digitiamo

ipconfig

e controlliamo il nostro indirizzo ip sotto la voce eth0: ... ES: inet 192.168.1.6 (il dhcp ha assegnato l'indirizzo 192.168.1.6 al nostro raspbery, imposteremo in seguito un ip fisso)

Ora possiamo continuare l'installazione collegati direttamente oppure se più comodo possiamo continuare da remoto con il raspberry connesso in rete senza bisogno di video e tastiera. (se vogliamo scollegarlo e posizionarlo in altro luogo lo possiamo spegnere con il comando sudo halt e attendere qualche secondo finché il sistema non si arresta.)

Continuiamo l'installazione.. in caso si voglia continuare da remoto possiamo utilizzare Putty per connetterci con RB,  inseriamo come host l'ip letto in precedenza, utiliziano la porta 22,connessione SSH, impostiamo sotto la voce Terminal-keyboard i tasti funzione per Linux e se vogliamo connetterci altre volte possiamo salvare la sessione.

Diamo questi comandi per installare le librerie e il software necessario:

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install libavahi-compat-libdnssd-dev

Ora passiamo all'installazione del pacchetto homebridge con relativo plugin Bticino

sudo npm install -g --unsafe-perm homebridge
sudo npm install -g homebridge-myhome
sudo npm -g install homebridge-myhome-tng

Copiamo il file config.json dentro la cartella /home/pi/.homebridge

possiamo crearlo con il comando vi /home/pi/.homebridg/config.json ed incollando il file d'esempio oppure utilizzare winscp per connetterci a RB così da poter sfogliare le cartelle e caricare il file molto più semplicemente (se non vedete la cartelle .homebridge su winscp, occorre andare sulle impostazioni e far visualizzare i file nascosti).

Tutto pronto per la prima prova, non rimane che lanciare homebridge dalla console:

homebridge

Se non ci sono errori nel file config.json il programma mostra un QRcode ed un codice numerico, andiamo su homekit ed aggiungiamo l'accessorio tramite il numero fornito. Tutti i dispositivi verranno sincronizzati ed ora possiamo iniziare ad aggiungerli nelle stanze per raggrupparli e gestirli meglio.


Ultimo passaggio, avvio automatico:

per far in modo che ad ogni riavvio il programma parta in automatico senza dover lanciare il comando tramite shell, possiamo installare e usare questo semplice programma (screen)

sudo apt-get install screen

Ora non rimane che editare il file di configurazione con questo comando:

sudo vi/etc/rc.local

ed aggiungere questa riga all'interno del testo, prima della riga exit 0 :

su -c "screen -dmS homebridge homebridge" -s /bin/sh pi

Configurazione completa, godetevi l'homekit con il sistema Myhome!!

 

Se avete una scheda da 16Gb potete saltare la procedura di installazione e scrivere l'immagine homebridge_myhome.zip sulla scheda tramite il programma disk-imager (o altro se preferite) ed avere già tutto il sistema configurato, basta solo editare il file /home/pi/.homebridg/config.json con winscp o direttamente dalla console (riavviare l'home bridge dopo ogni modifica del file).

Il file immagine già configurata per RB3 ha queste credenziali:

Utente pi

Password homebridge

la rete è configurata in dhcp, ssh è attivo e la tastiera è 105key in italiano.

 

Se volete impostare un indirizzo ip fisso al Raspberry, usate questo comando:

sudo vi /etc/dhcpcd.conf 

ed all'interno del file cercate scommentate le righe relative e modificate l'indirizzo ip e gateway con i vostri parametri. (se non trovate le righe da scommentare, potete aggiungerle alla fine)

static ip_address=192.168.1.15/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1

 (se la vostra subnet-mask è 255.255.255.0 lasciate il /24 dopo l'indirizzo ip, altrimenti cambiatelo con la vostra subnet)

Riavviare raspberry ed ora il vostro ip sarà statico.

 

Il file config.json: al suo interno troviamo questa struttura:

{
    "platforms": [{
        "platform": "LegrandMyHome",
        "ipaddress": "192.168.157.207",
        "port": 20000,
        "ownpassword": "12345",
        "discovery": false,
        "devices": [{
            "accessory": "MHRelay",
            "name": "luce 15",
            "address": "0/1/5"
            },{
            "accessory": "MHDimmer",
            "name": "luce 12 dimmer",
            "address": "0/1/2"
            },{
           "accessory": "MHBlind",
            "name": "tapparella 21",
            "address": "0/2/1"
            },{
           "accessory": "MHRelay", 
           "name": "esempio frame personalizzata",
           "address": "0/1/5",
           "frame_on": "*1*1*14##", 
           "frame_off": "*1*0*14##"
            },{
           "accessory": "MHThermostat",
           "name": "Living Room Thermostat",
           "address": "21" 
           }] 
}], 
"bridge": { "username": "CC:22:3D:E3:CE:31",
 "name": "MyHome HomeBridge Adapter",
 "pin": "342-52-220", "port": 51827 },
 "description": "My MyHome Home System",
 "accessories": [ ] 
}

Il file va personalizzato con l'ip del gateway Bticino e la password del sistema Open-WebNet se non si sta usando un ip inserito nel range del gateway che consente connessioni senza password. Nel nuovo F454 si ha la possibilità si far accedere senza password tramite MAC address, ma questo non posso testarlo. Il pin relativo per l'associazione con il myhomekit può essere modificato.

Gli accessori principali sono:

  • MHScene: Per richiamare uno scenario dal modulo F420

  • MHRelay: Relè luci, per tutti i dispositivi luce non dimmerabili, l'indirizzo espresso è in questa forma Bus/A/PL (es. 0/1/10, accetta anche indirizzi estesi)
  • MHDimmer: Per le luci dimmerabili, l'indirizzo espresso è in questa forma Bus/A/PL (es. 0/1/10, accetta anche indirizzi estesi)

  • MHThermostat: Termostato standard 99-Zones

  • MHBlind: Relè di automazione (es. F411), usato per le tapparelle ecc.

     

    E' possibile configurare le luci con frame personalizzate per il comando on e off, molto utile per accendere un gruppo o fare dei comandi generali.
    Ci sono altri tipi di accessori e configurazioni, potete controllarli al link in fondo alla pagina (link relativo al plugin MyHome)

 

 I riferimenti all'autore del programma e del plugin sono questi, qui troverete la relativa guida in inglese:

https://github.com/nfarina/homebridge/wiki/Running-HomeBridge-on-a-Raspberry-Pi#install-avahi-and-other-dependencies

https://github.com/angeloxx/homebridge-myhome


Download:

Raspbian-Stretch-lite

Date

11 April 2017

Tags

domotica, elettronica, software