Nesta instação estou a usar o SO RASPBIAN JESSIE LITE
$ uname -a
Linux raspberrypi 4.9.28-v7+ #998 SMP Mon May 15 16:55:39 BST 2017 armv7l GNU/Linux
Primeiro devemos verificar se temos o Node JS instalado
$ nodejs -vv7.10.0
Caso não esteja instalado, seguir o tutorial de instalação
http://bhtecnonerd.blogspot.pt/2017/06/instalar-node-js-no-raspberry-pi-3.htmlInstalar bibliotecas necessárias
$ sudo apt install libavahi-compat-libdnssd-devInstalar compilador GCC
$ sudo apt install gccInstalar Homebrigde em modeo "GLOBAL"
$ sudo npm install -g --unsafe-perm homebridgeTestar o Homebridge
$ homebridge*** WARNING *** The program 'nodejs' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=nodejs>
*** WARNING *** The program 'nodejs' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=nodejs&f=DNSServiceRegister>
[6/20/2017, 4:14:18 PM] No plugins found. See the README for information on installing plugins.
[6/20/2017, 4:14:18 PM] config.json (/home/pi/.homebridge/config.json) not found.
Scan this code with your HomeKit App on your iOS device to pair with Homebridge:
┌────────────┐
│ 031-45-154 │
└────────────┘
[6/20/2017, 4:14:18 PM] Homebridge is running on port 36705
Se tiveram este output então é porque correu tudo bem, no entanto ainda temos de criar o ficheiro de configurações "config.json" e colocar o Homebridge no Arranque
Vamos fazer CTRL+C para parar o serviço do homebrige e continuar com a configuração.
Configuração para colocar Homebridge no StartUp
$ sudo nano /etc/default/homebridge
Colar o conteudo a baixo e salvar (CTRL+X)
# Defaults / Configuration options for homebridge
# The following settings tells homebridge where to find the config.json file and where to persist the data (i.e. pairing and others)
HOMEBRIDGE_OPTS=-U /var/homebridge
# If you uncomment the following line, homebridge will log more
# You can display this via systemd's journalctl: journalctl -f -u homebridge
# DEBUG=*
$ sudo nano /etc/systemd/system/homebridge.service
Colar o conteudo a baixo e salvar (CTRL+X)
Atenção o parâmetro "ExecStart=/usr/bin/homebridge" é o caminho para o homebridge se não sabem bem qual é podem executar o seguinte comando:
$ whereis homebridge
homebridge: /usr/bin/homebridge
[Unit]
Description=Node.js HomeKit Server
After=syslog.target network-online.target
[Service]
Type=simple
User=homebridge
EnvironmentFile=/etc/default/homebridge
ExecStart=/usr/bin/homebridge $HOMEBRIDGE_OPTS
Restart=on-failure
RestartSec=10
KillMode=process
[Install]
WantedBy=multi-user.target
Criar o utilizador para correr o serviço
$ sudo useradd --system homebridge
Criar Directorio para colocar o ficheiro de configuração
$ sudo mkdir /var/homebridge$ sudo cp -r ~/.homebridge/persist /var/homebridge
$ sudo nano /var/homebridge/config.json
Exemplo de um ficheiro de configuração template, podem colar e salvar (CTRL+X).
Caso queiram personalizar podem alterar os parametros da bridge, inclusive o PIN que é sempre bom alterar :)
{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "031-45-154"
},
"description": "This is an example of simple configuration file",
"accessories": [],
"platforms": []
}
Atribuir permissões ao directorio
$ sudo chmod -R 0777 /var/homebridge
Aplicar as configurações do serviço, Ativar o Serviço e Arrancar o serviço
$ sudo systemctl daemon-reload
$ sudo systemctl enable homebridge
$ sudo systemctl start homebridge
Para verificar o estado do serviço
$ systemctl status homebridge
Após fazer restart, o serviço deve ficar ativo.
$ sudo restart
Problemas que possam acontecer.
O Serviço esta activo, mas o IPHONE/IPAD não detecta!!
$ systemctl status homebridge● homebridge.service - Node.js HomeKit Server
Loaded: loaded (/etc/systemd/system/homebridge.service; enabled)
Active: active (running) since Tue 2017-06-20 16:53:51 UTC; 1min 58s ago
Main PID: 728 (homebridge)
CGroup: /system.slice/homebridge.service
└─728 homebridge
Possível solução, apagar acessorios Dummy
$ cd /var/homebridge/persist/
$ rm *.json
Voltar a fazer pesquisa e verificar se aparece :)
Comentários
Enviar um comentário