Por padrão o Jarvis não tem a capacidade de dar…
Instalando o Homebridge no Raspberry Pi e no Windows
Se tratando de automação residencial e IoT há no mercado várias soluções com excelente custo benefício, contudo, a grande maioria não é certificada pela Apple e consequentemente não é nativamente compatível com o Homekit. Para contornar isso foi criado o Homebridge, um servidor NodeJS que emula a API do Homekit e que permite usar no App Casa e com a Siri dispositivos não habilitados pela Apple. Nesta postagem você vai aprender a fazer a instalação do Homebridge no Raspberry Pi, no Windows, como instalar plugins e como iniciar o servidor no boot do sistema operacional.
O que é o Homekit
O Homekit é um pacote de desenvolvimento disponibilizado pela Apple para que programadores possam criar soluções de IoT (Internet of Things / Internet das Coisas). Este pacote de desenvolvimento possibilita que dispositivos criados pela própria Apple (iPhone e iPad, por exemplo) possam controlar outros dispositivos, como, por exemplo, lâmpadas ou obter informações de sensores. A partir do iOS 9 e do Watch OS o Homekit passou a ser uma ferramenta nativa, e devido a toda a tecnologia implementada pela Apple é possível criar sistemas de automação de forma simples com este kit.
Para identificar os dispositivos compatíveis com o Homekit que estão ativos na rede e para configurar e controlar estes dispositivos, o usuário deverá ter o app Casa instalado em algum dos dispositivos Apple (iPhone, iPad, iPod touch, Apple Watch, Apple TV, HomePod ou Mac). Os dispositivos a serem integrados ao app Casa podem possuir uma etiqueta (QR code) que permite pareamento com o aplicativo Casa em seu dispositivo Apple.
Após configurar o dispositivo no app Casa, o usuário poderá fazer o controle do mesmo através de um atalho que é criado na tela principal do app ou poderá utilizar a Siri (assistente de voz disponibilizado pela Apple) e enviar comandos de voz para acionamento do dispositivo.
Os requisitos de hardware e software da Apple para uso do Homekit são:
– iPhone, iPad ou iPod touch (executando iOS 10 ou posterior);
– Apple Watch (executando o WatchOS 3 ou posterior);
– Apple TV (4ª geração);
– Apple HomePod;
– Macs (executando macOS 10.14 Mojave ou posterior);
Conforme mencionei anteriormente, se tratando de automação residencial e IoT há no mercado várias soluções com excelente custo benefício, contudo, a grande maioria não é certificada pela Apple e consequentemente não é nativamente compatível com o Homekit. Se você está cansado de aguardar que a Apple faça a certificação destas soluções para que possam ser utilizadas com o Homekit, o ideal é que você utilize o Homebridge.
O que é o Homebridge
Desenvolvido por Nick Farina, o Homebridge é um servidor NodeJS que emula a API do Homekit e torna possível usar com o app Casa e com a Siri, dispositivos que não sejam certificados pela Apple. O servidor é leve, pode ser executado em uma rede doméstica e é modular, ou seja, suporta diversos plugins criados e disponibilizados por uma comunidade extremamente ativa no fortalecimento da ferramenta.
Os plugins são instalados no Homebridge e a maior parte deles tem como finalidade tornar compatível com o Homekit algum dispositivo que não é certificado pela Apple. Os plugins para serem utilizados com o Homebridge são instalados diretamente do site NPM.
A instalação do Homebridge pode ser feita em diversos sistemas, contudo, para esta postagem será utilizado o Raspberry Pi 3 Model B+ executando o sistema operacional Raspbian, e também vou explicar como fazer a instalação no Windows.
Instalando o Homebridge no Raspberry Pi
O ideal é que o Homebridge esteja disponível a qualquer momento que você precisar, logo, você deve deixar o servidor rodando 24/7, ou seja, 24 horas por dia durante os 7 dias da semana. Para isso, você pode fazer a instalação do servidor no Raspberry Pi e deixar rodando constantemente em sua rede doméstica.
Se você não tem o Raspbian instalado e configurado no cartão de memória, recomendo que leia a postagem Instalando e Configurando o Raspbian no Raspberry Pi, execute os passos descritos e em seguida retorne para continuar. Caso queira prosseguir com a instalação do Homebridge no Windows, clique AQUI.
Com o seu Raspberry Pi rodando o Raspbian, na tela inicial do sistema abra o terminal:
No terminal, digite o primeiro comando abaixo, dê enter, e se for solicitado confirmação da ação digite S e pressione enter caso o sistema operacional esteja em português ou digite Y e pressione enter caso o sistema operacional esteja em inglês. Este tipo de confirmação costuma aparecer na remoção ou instalação de pacotes. Em seguida digite o segundo comando, dê enter, confirme o comando se for solicitado e aguarde. Estes comandos verificam e atualizam o sistema caso seja necessário:
1 |
sudo apt-get update |
1 |
sudo apt-get upgrade |
Digite o comando abaixo no terminal e dê enter:
1 |
ifconfig |
Será retornado algumas informações. Se estiver utilizando um cabo de rede para fornecer conexão de rede ao seu Raspberry Pi, vá até o bloco de informações após o “eth0:” e procure pelo endereço MAC da placa de rede que possui oito dígitos e vai estar após a palavra “ether”. Caso esteja utilizando conexão WiFi para atribuir conexão de rede a sua placa, vá até o bloco de informações após o “wlan0:” e procure pelo endereço MAC da placa de rede que possui oito dígitos e que também vai estar após a palavra “ether”:
Copie o endereço MAC de oito dígitos referente a sua placa de rede e salve no bloco de notas, pois este endereço será necessário posteriormente.
Conforme informei anteriormente, o Homebridge é um servidor NodeJS e os plugins para ele são instalados diretamente do site NPM. O Raspbian geralmente já vem com o pacote do NodeJS e do NPM instalados, contudo, pode haver incompatibilidade entre as versões dos dois pacotes e por este motivo o ideal é remover ambas instalações e em seguida reinstalar.
Para remover o NPM, digite o comando abaixo no terminal, dê enter, confirme o comando se for solicitado e aguarde a remoção do pacote ser finalizada:
1 |
sudo apt --auto-remove purge npm |
Para remover o NodeJS, digite o comando abaixo no terminal, dê enter, confirme o comando se for solicitado e aguarde a remoção do pacote ser finalizada:
1 |
sudo apt --auto-remove purge nodejs |
Após a remoção do NodeJS e do NPM, podemos prosseguir na instalação dos pacotes atualizados. Para instalar o NodeJS, digite o comando abaixo no terminal, dê enter, confirme o comando se for solicitado e aguarde a instalação do pacote ser finalizada:
1 |
sudo apt install nodejs |
Para instalar o NPM, digite o comando abaixo no terminal, dê enter, confirme o comando se for solicitado e aguarde a instalação do pacote ser finalizada:
1 |
curl -L https://www.npmjs.com/install.sh | sudo sh |
Digite cada um dos comandos abaixo e pressione enter após cada um deles para confirmar que a instalação dos pacotes foi feita com sucesso. Estes comandos retornam a versão de cada um dos pacotes que acabaram de ser instalados:
1 |
node -v |
1 |
npm -v |
Faça a instalação do Avahi e suas respectivas dependências. Digite o comando abaixo, dê enter, confirme o comando se for solicitado e aguarde a instalação ser finalizada:
1 |
sudo apt-get install libavahi-compat-libdnssd-dev |
Terminado estes procedimentos já podemos fazer a instalação do Homebridge. Digite o comando abaixo, dê enter, confirme o comando se for solicitado e aguarde a instalação ser finalizada:
1 |
sudo npm install -g --unsafe-perm homebridge |
Em seguida digite o comando abaixo e dê enter para inicializar o Homebridge:
1 |
homebridge |
O Homebridge irá retornar algumas informações:
1) O arquivo config.json não foi encontrado pelo Homebridge. Este arquivo traz configurações básicas de execução do Homebridge e dos plugins que estiverem instalados. Posteriormente iremos criar o arquivo config.json e suas respectivas configurações.
2) Não foi encontrado nenhum plugin instalado. O Homebridge sem plugins instalados é completamente inútil.
3) Para vincular dispositivos ao app Casa você pode ler o QR code que trás as informações necessárias para fazer o pareamento. Como o arquivo config.json não foi criado e configurado, e não há nenhum plugin instalado, este QR code não serve no momento, apesar de que no app Casa você já poderá encontrar o Homebridge disponível para vinculação, mas não o faça.
4) Outra forma de vincular dispositivos ao app Casa é através da opção “Adicionar acessório”, “Não tenho um Código ou Não Posso Escanear” e em “Acessórios por Perto” é selecionado o dispositivo e posteriormente será solicitado o código de configuração. Veja que no terminal é mostrado o código de oito dígitos e que deve ser digitado para pareamento ao aplicativo.
Posteriormente você poderá usar ou o QR code ou o código de oito dígitos para vincular o Homebridge ao app Casa em seu dispositivo Apple.
Pressione as teclas CTRL + C no terminal para que o Homebridge seja encerrado e será retornado a mensagem “Got SIGINT, shutting down Homebridge…”.
Para criar o arquivo config.json digite o comando abaixo no terminal e dê enter. Será aberto o arquivo em branco:
1 |
sudo nano ~/.homebridge/config.json |
Copie o código abaixo e cole dentro do arquivo aberto no terminal:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
{ "bridge": { "name": "HomeBridge", "username": "XX:XX:XX:XX:XX:XX", "port": 51826, "pin": "031-45-154" }, "description": "Your description here", "accessories": [ ], "platforms": [ ] } |
1) Em “username” apague a sequência XX:XX:XX:XX:XX:XX e digite o endereço MAC de oito dígitos da placa de rede que você havia anotado anteriormente. As letras do endereço digitado devem estar todas em maiúsculo.
2) Em “pin” você pode manter os oito dígitos numérico ou pode mudar para uma sequência que desejar, lembrando de manter o mesmo formato de separação com os traços. Este será o código que deverá ser digitado no momento em que for vincular o Homebridge ao app Casa.
As demais informações do arquivo você pode manter, pois a medida que forem sendo adicionados os plugins e acessórios você poderá ir inserindo as informações necessárias.
Para salvar as edições do arquivo pressione CTRL + O, dê enter e em seguida CTRL + X para que o arquivo seja fechado.
Iniciando o Homebridge no Boot do Raspbian
Iniciar o Homebridge manualmente sempre que ligar o seu Raspberry Pi não é muito prático, logo, o ideal é colocar o servidor para ser executado imediatamente após a inicialização do Raspbian.
Digite o comando abaixo no terminal e dê enter. Será aberto o arquivo em branco:
1 |
sudo nano /etc/default/homebridge |
Copie o trecho abaixo e cole dentro do arquivo aberto no terminal:
1 2 3 4 5 6 7 |
# 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=* |
Para salvar as edições do arquivo pressione CTRL + O, dê enter e em seguida CTRL + X para que o arquivo seja fechado.
Digite o comando abaixo no terminal e dê enter. Será aberto o arquivo em branco:
1 |
sudo nano /etc/systemd/system/homebridge.service |
Copie o trecho abaixo e cole dentro do arquivo aberto no terminal:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
[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 |
Para salvar as edições do arquivo pressione CTRL + O, dê enter e em seguida CTRL + X para que o arquivo seja fechado.
Para criar um usuário que irá executar o serviço automaticamente na inicialização e dar a ele as devidas permissões, digite cada um dos comandos abaixo e pressione enter após cada um deles:
1 |
sudo useradd --system homebridge |
1 |
sudo mkdir /var/homebridge |
1 |
sudo cp ~/.homebridge/config.json /var/homebridge/ |
1 |
sudo cp -r ~/.homebridge/persist /var/homebridge |
1 |
sudo chmod -R 0777 /var/homebridge |
1 |
sudo systemctl daemon-reload |
1 |
sudo systemctl enable homebridge |
1 |
sudo systemctl start homebridge |
Para reiniciar o sistema digite o comando abaixo e dê enter:
1 |
sudo reboot |
Após a reinicialização do sistema, abra novamente o terminal, digite o comando abaixo e dê enter para verificar se o serviço já se encontra em execução:
1 |
systemctl status homebridge |
Se tudo estiver OK o serviço vai estar em execução e você poderá ver escrito “active (running)” e mais abaixo o código de oito dígitos que foi informado anteriormente no config.json.
Pressione as teclas CTRL + C no terminal. Digite o comando abaixo e dê enter para verificar o log de informações registradas:
1 |
journalctl -f -u homebridge |
Pressione as teclas CTRL + C no terminal.
Instalando o Plugin Homebridge Config UI X (Raspberry Pi)
Como forma de demonstrar a instalação de um plugin no Homebridge optei por usar o Homebridge Config UI X. Este plugin permite que através de um navegador seja possível configurar, monitorar, fazer backup e reiniciar o Homebridge.
Para instalar o plugin digite o comando abaixo no terminal, dê enter, confirme o comando se for solicitado e aguarde a instalação ser finalizada:
1 |
sudo npm install -g --unsafe-perm homebridge-config-ui-x |
Digite o comando abaixo no terminal e dê enter. Será aberto um arquivo:
1 |
sudo nano /etc/sudoers |
Usando a seta para baixo do teclado ou rolando o mouse, vá até o final do arquivo e adicione a seguinte linha:
1 |
homebridge ALL=(ALL) NOPASSWD: ALL |
Para salvar a edição do arquivo pressione CTRL + O e em seguida CTRL + X para que o arquivo seja fechado.
Digite o comando abaixo no terminal e dê enter. Será aberto um arquivo:
1 |
sudo nano /etc/default/homebridge |
Usando as setas do teclado vá até o final da linha HOMEBRIDGE_OPTS=-U /var/homebridge, dê um espaço e insira:
1 |
-I |
Para salvar a edição do arquivo pressione CTRL + O e em seguida CTRL + X para que o arquivo seja fechado.
Agora será necessário editar o config.json e inserir as informações do plugin adicionado ao Homebridge.
Se você fez os passos para colocar a execução do Homebridge imediatamente após a inicialização do Raspbian, digite o comando abaixo e dê enter:
1 |
sudo nano /var/homebridge/config.json |
Caso não tenha colocado o Homebridge para iniciar junto com o Raspbian, digite o comando abaixo e dê enter:
1 |
sudo nano ~/.homebridge/config.json |
Será aberto o config.json:
Dentro da estrutura de “platforms” deve ser informado todos os plugins que forem sendo instalados no Homebridge.
Para o Homebridge Config UI X você deverá adicionar o seguinte trecho:
1 2 3 4 5 6 7 8 9 10 11 |
{ "platform": "config", "name": "Config", "port": 8080, "sudo": true, "restart": "sudo -n systemctl restart homebridge", "log": { "method": "systemd", "service": "homebridge" } } |
Usando as setas do teclado vá até “platforms” e insira o trecho de código acima. Na imagem abaixo você pode ver como irá ficar a estrutura“platforms” após adicionar as informações:
Se quiser validar a estrutura do seu código após edição, basta acessar o site JSONLint, colar todo o código do config.json, clicar em “Validate JSON” e se tudo estiver OK será retornado a mensagem “Valid JSON”. Caso seu código possua algum erro será apontado a linha com o erro e retornado uma mensagem descrevendo o erro:
Para salvar a edição do arquivo no terminal pressione CTRL + O e em seguida CTRL + X para que o arquivo seja fechado.
Reinicie o sistema digitando o comando abaixo, dê enter e aguarde a reinicialização:
1 |
sudo reboot |
Para abrir o Homebridge Config UI X através do navegador diretamente no Raspberry Pi você deve acessar o endereço:
Se quiser abrir o Homebridge Config UI X em um navegador a partir de outro computador conectado na mesma rede que a placa, basta substituir a palavra localhost do endereço acima pelo IP do seu Raspberry Pi. Para verificar o IP atribuído ao seu Raspberry Pi, basta acessar o terminal, digitar o comando abaixo e dar enter:
1 |
ifconfig |
Provavelmente o IP atribuído ao seu Raspberry Pi se inicia com “192.168…”.
No meu caso, a placa está com o IP 192.168.2.129, logo, basta eu acessar a URL abaixo de qualquer computador da minha rede:
Será aberta uma página similar a imagem abaixo e será solicitado login e senha. Tanto para o login quanto para a senha, digite admin e dê enter para acessar:
Veja que na página inicial é mostrado o QR code e abaixo dele o pin de 8 dígitos que podem ser utilizados para vincular o Homebridge ao app Casa. Na opção “Config” da ferramenta, você pode acessar o config.json, editar caso precise e em seguida salvar.
Navegue entre as funções disponíveis no Homebridge Config UI X e se familiarize com a ferramenta.
Para parar a execução do Homebridge você pode usar no terminal o comando abaixo:
1 |
sudo service homebridge stop |
Para reiniciar o Homebridge você pode usar no terminal o comando abaixo:
1 |
sudo service homebridge restart |
Para iniciar a execução do Homebridge você pode usar no terminal o comando abaixo:
1 |
sudo service homebridge start |
Com o servidor em execução clique AQUI para prosseguir na vinculação do Homebridge com o app Casa em seu dispositivo Apple.
Instalando o Homebridge no Windows
Caso você não possua um Raspberry Pi ou outra plataforma embarcada que possa executar o Homebridge, uma alternativa é deixar o servidor rodando no Windows.
Será necessário fazer a instalação do NodeJS e de um editor de texto alternativo ao bloco de notas do Windows.
Faça o download do NodeJS a partir de um dos links abaixo e em seguida faça a instalação do mesmo:
https://nodejs.org/en/download/
Durante a instalação marque o checkbox que autoriza instalar automaticamente as ferramentas necessárias:
O NodeJS não é um programa com interface gráfica, logo, todas as ações são feitas nele a partir de um prompt de comando.
Faça o download do Notepad ++ a partir de um dos links abaixo e em seguida faça a instalação do mesmo:
https://notepad-plus-plus.org/downloads/
No menu de opções do Windows quando clicar em qualquer arquivo com o botão direito irá aparecer a opção “Edit with Notepad ++” e você poderá selecionar esta opção sempre que precisar editar algum arquivo de texto ou arquivo do Homebridge.
Vá até o menu “Iniciar” do Windows, digite e pesquise por “Configurações” e ao encontrar acesse a opção. Clique em “Rede e Internet” e depois clique em “Central de Rede e Compartilhamento”. Em “Tipo de acesso” clique sobre a sua conexão ativa, clique em “Detalhes” e copie o endereço MAC de oito dígitos referente a sua placa de rede e salve no bloco de notas, pois este endereço será necessário posteriormente:
No menu “Iniciar” do Windows, digite e pesquise pelo “cmd” (Prompt de Comando) e ao encontrar o mesmo, clique com o botão direito sobre ele e selecione “Executar como administrador”:
Com o terminal aberto, digite cada um dos comandos abaixo e pressione enter após cada um deles para confirmar que a instalação do NodeJS / NPM foi feita com sucesso. Estes comandos retornam a versão de cada um dos pacotes que foram instalados:
1 |
node -v |
1 |
npm -v |
Terminado estes procedimentos já podemos fazer a instalação do Homebridge. Digite o comando abaixo, dê enter e aguarde a instalação ser finalizada:
1 |
npm install -g --unsafe-perm homebridge |
Em seguida digite o comando abaixo e dê enter para inicializar o Homebridge:
1 |
homebridge |
O Homebridge irá retornar algumas informações:
1) O arquivo config.json não foi encontrado pelo Homebridge. Este arquivo traz configurações básicas de execução do Homebridge e dos plugins que estiverem instalados. Posteriormente iremos criar o arquivo config.json e suas respectivas configurações.
2) Não foi encontrado nenhum plugin instalado. O Homebridge sem plugins instalados é completamente inútil.
3) Para vincular dispositivos ao app Casa você pode ler o QR code que trás as informações necessárias para fazer o pareamento. Como o arquivo config.json não foi criado e configurado, e não há nenhum plugin instalado, este QR code não serve no momento, apesar de que no app Casa você já poderá encontrar o Homebridge disponível para vinculação, mas não o faça.
4) Outra forma de vincular dispositivos ao app Casa é através da opção “Adicionar acessório”, “Não tenho um Código ou Não Posso Escanear” e em “Acessórios por Perto” é selecionado o dispositivo e posteriormente será solicitado o código de configuração. Veja que no terminal é mostrado o código de oito dígitos e que deve ser digitado para pareamento ao aplicativo.
Posteriormente você poderá usar ou o QR code ou o código de oito dígitos para vincular o Homebridge ao app Casa em seu dispositivo Apple.
Pressione as teclas CTRL + C no terminal para que o Homebridge seja encerrado. Será retornado a mensagem “Got SIGINT, shutting down Homebridge…” e será solicitado uma confirmação, onde você deve digitar a letra S e pressionar enter.
Para criar o arquivo config.json abra o Notepad ++, clique no menu “Arquivo”, “Novo” e será aberto uma nova janela. Clique no menu “Linguagem”, vá até a letra J na lista e selecione “JSON”.
Copie o código abaixo e cole no Notepad ++:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
{ "bridge": { "name": "HomeBridge", "username": "XX:XX:XX:XX:XX:XX", "port": 51826, "pin": "031-45-154" }, "description": "Your description here", "accessories": [ ], "platforms": [ ] } |
1) Em “username” apague a sequência XX:XX:XX:XX:XX:XX e digite o endereço MAC de oito dígitos da placa de rede que você havia anotado anteriormente. As letras do endereço digitado devem estar todas em maiúsculo.
2) Em “pin” você pode manter os oito dígitos numérico ou pode mudar para uma sequência que desejar, lembrando de manter o mesmo formato de separação com os traços. Este será o código que deverá ser digitado no momento em que for vincular o Homebridge ao app Casa.
As demais informações do arquivo você pode manter, pois a medida que forem sendo adicionados os plugins e acessórios você poderá ir inserindo as informações necessárias.
Clique no menu “Arquivo”, “Salvar”, nomeie o arquivo como config.json e salve o mesmo no caminho “C:\Users\SEU NOME OU MEUS DOCUMENTOS\.homebridge”:
Feche o Notepad ++.
Instalando o Plugin Homebridge Config UI X (Windows)
Como forma de demonstrar a instalação de um plugin no Homebridge optei por usar o Homebridge Config UI X. Este plugin permite que através de um navegador seja possível configurar, monitorar, fazer backup e reiniciar o Homebridge.
Para instalar o plugin digite o comando abaixo no terminal, dê enter e aguarde a instalação ser finalizada:
1 |
npm install -g --unsafe-perm homebridge-config-ui-x |
OBS: se durante a instalação do plugin se deparar com algum erro contendo os termos MSBUILD / VCBuild.exe, basta executar cada um dos comandos abaixo de forma independente e em seguida tentar fazer a instalação novamente a partir do comando acima:
1 |
npm install -g node-gyp |
1 |
npm install --global --production windows-build-tools |
1 |
npm install --global --production windows-build-tools --vs2015 |
Agora será necessário editar o config.json e inserir as informações do plugin adicionado ao Homebridge. Acesse o caminho “C:\Users\SEU NOME OU MEUS DOCUMENTOS\.homebridge” e através do Notepad ++ abra o config.json que foi criado anteriormente:
Dentro da estrutura de “platforms” deve ser informado todos os plugins que forem sendo instalados no Homebridge.
Para o Homebridge Config UI X você deverá adicionar o seguinte trecho:
1 2 3 4 5 6 |
{ "platform": "config", "name": "Config", "port": 8080, } } |
Vá até “platforms” e insira o trecho de código acima. Na imagem abaixo você pode ver como irá ficar a estrutura“platforms” após adicionar as informações:
Se quiser validar a estrutura do seu código após edição, basta acessar o site JSONLint, colar o código, clicar em “Validate JSON” e se tudo estiver OK será retornado a mensagem “Valid JSON”. Caso seu código possua algum erro será apontado a linha com o erro e retornado uma mensagem descrevendo o erro:
Salve o arquivo, feche o Notepad ++ e reinicie o Windows.
Para abrir o Homebridge Config UI X através do navegador acesse o endereço:
Será aberta uma página similar a imagem abaixo e será solicitado login e senha. Tanto para o login quanto para a senha, digite admin e dê enter para acessar:
Veja que na página inicial é mostrado o QR code e abaixo dele o pin de 8 dígitos que podem ser utilizados para vincular o Homebridge ao app Casa. Na opção “Config” da ferramenta, você pode acessar o config.json, editar caso precise e em seguida salvar.
Navegue entre as funções disponíveis no Homebridge Config UI X e se familiarize com a ferramenta.
Iniciando o Homebridge junto com o Windows
O Homebridge Config UI X fornece um comando que pode ser utilizado para configurar o Homebridge como um serviço e desta forma o servidor poderá ser inicializado junto com o Windows. No prompt digite o comando abaixo, dê enter e aguarde a instalação ser finalizada:
1 |
hb-service install |
OBS: se o firewall do Windows solicitar permissão para acesso a rede privada, conceda.
Terminada a instalação, feche o prompt de comando e reinicie o Windows.
Após a inicialização do sistema, pressione CTRL + ALT + DEL para abrir o Gerenciador de Tarefas do Windows. Vá até a aba “Serviços”, procure pelo Homebridge na lista e veja se o “Status” está “Em execução”:
Clicando com o botão direito do mouse sobre o serviço Homebridge será aberto as opções onde você pode parar o serviço, reiniciar e caso o serviço esteja parado, poderá iniciar:
Caso queira remover o Homebridge da inicialização do Windows, basta digitar no terminal o comando abaixo, dar enter e aguardar a desinstalação ser finalizada:
1 |
hb-service uninstall |
OBS: dependendo do antivírus que utilizar poderá ter dificuldades para encontrar o Homebridge a partir do seu dispositivo móvel. Para fins de teste, quando chegar o momento de vincular o Homebridge ao app Casa, caso o servidor não seja encontrado no prazo máximo de dois minutos, desative seu antivírus, desative o Windows Defender, reinicie o serviço Homebridge pelo Gerenciador de Tarefas do Windows e tente novamente encontrar o servidor a partir do app Casa.
Vinculando o Homebridge ao app Casa
Os passos seguintes são válidos tanto para o Homebridge sendo executado no Raspberry Pi quanto no Windows. Verifique se o servidor está sendo executado, pois o app Casa só irá encontrar o Homebridge se o mesmo estiver online.
Utilizei um iPhone 8 Plus para esta postagem, portanto, a partir daqui os passos serão com base no iOS. Para outros dispositivos Apple compatíveis com o Homekit sugiro que verifique os menus em que vão estar as opções a seguir.
Vá para a tela inicial do seu iPhone e procure o app Casa dentre os aplicativos. Caso não encontre o mesmo, acesse o App Store e faça a instalação do aplicativo:
Com o app Casa aberto clique em “Adicionar Acessório”:
Na tela que for aberta clique em “Não Tenho Um Código ou Não Pode Escanear?”:
Em “Acessórios por Perto” você verá o Homebridge. Clique sobre ele para que a tela de pareamento seja aberta:
Será aberto uma mensagem e você deve clicar em “Adicionar Mesmo Assim”:
Será solicitado o “código de configuração do Homebridge”. Preencha com o código (PIN) que você definiu no config.json e aguarde:
Se tudo ocorrer bem você verá uma tela informando que o Homebridge foi adicionado e que está pronto para ser usado:
OBS: caso você receba uma mensagem informando que o código não foi aceito ou que não foi possível adicionar, feche o app Casa, reinicie o Homebridge e tente os passos novamente.
Na tela seguinte você verá a mensagem “Ajuste Adicional Necessário”, pois ainda não há nenhum dispositivo vinculado ao Homebridge. Clique em OK e o app irá retornar para a tela inicial:
Na tela inicial clique no símbolo de uma casa, na tela seguinte clique em “Centrais e Pontes”, clique sobre a ponte (Homebridge) que acabou de adicionar e poderá ver algumas informações, e se posteriormente for necessário remover a vinculação do Homebridge, basta clicar em “Remover Acessório”:
Caso você remova o Homebridge do app Casa e queira adiciona-lo novamente, será necessário deletar as pastas “accessories” e “persist” do servidor.
No Raspberry Pi:
Encerre a execução do Homebridge digitando o comando abaixo no terminal e dando enter:
1 |
sudo service homebridge stop |
Se você fez os passos para colocar a execução do Homebridge imediatamente após a inicialização do Raspbian, digite o comando abaixo e dê enter:
1 |
cd /var/homebridge |
Caso não tenha colocado o Homebridge para iniciar junto com o Raspbian, digite o comando abaixo e dê enter:
1 |
cd .homebridge/ |
Digite cada um dos comandos abaixo e pressione enter após cada um deles para fazer a exclusão das pastas “accessories” e “persist:
1 |
sudo rm -r persist/ |
1 |
sudo rm -r accessories/ |
Digite o comando abaixo no terminal e dê enter para iniciar o Homebridge:
1 |
sudo service homebridge start |
Refaça os passos para vincular o Homebridge ao app Casa.
No Windows:
Pare o serviço Homebridge pelo Gerenciador de Tarefas do Windows, acesse o caminho “C:\Users\SEU NOME OU MEUS DOCUMENTOS\.homebridge” e exclua as pastas “accessories” e “persist. Inicie o serviço Homebridge pelo Gerenciador de Tarefas do Windows.
Refaça os passos para vincular o Homebridge ao app Casa.
É importante ressaltar que o acionamento de qualquer dispositivo integrado ao app Casa é feito localmente. Para conseguir controlar os dispositivos integrados ao app Casa através de uma rede externa (conexão 3G / 4G, por exemplo), será necessário a criação de uma central de automação a partir de um dos seguintes dispositivos Apple: iPad (executando iOS 10 ou posterior), Apple TV (4ª geração) ou HomePod. Desta forma, mesmo longe de casa você conseguirá controlar remotamente os seus dispositivos de automação e IoT que estiverem integrados ao app Casa através do Homebridge ou Homekit.
Com a vinculação do Homebridge ao app Casa concluída você pode explorar as funções desta excelente ferramenta. No link abaixo você pode ver a lista de plugins disponíveis para serem utilizados com o Homebridge e clicando em cada um deles você poderá ver suas respectivas informações e como fazer a instalação:
https://www.npmjs.com/search?q=homebridge-plugin
Caso você tenha algum dispositivo IoT ou para automação residencial e queira integrar com o Homebridge, basta pesquisar se há algum plugin já criado que vai permitir você usar este dispositivo no app Casa.
Como o usuário root não está ativado no Raspbian, para instalações de plugins lembre-se de sempre usar a palavra sudo antes do comando de instalação via terminal. Se você não usar o sudo o sistema irá sempre solicitar digitar a senha do sistema para execução da ação ou então poderá retornar uma mensagem informando que você não tem permissão.
No Windows é necessário que o prompt de comando esteja rodando como administrador para que possa executar as linhas de comando, e você não deve usar a palavra sudo, pois ela não será reconhecida pelo sistema.
Sempre que fizer a instalação de um plugin, lembre-se de adicionar as respectivas informações no config.json e reiniciar o Homebridge para que o app Casa possa ser atualizado com as informações dos plugins adicionados. Da mesma forma, sempre que fizer a desinstalação de um plugin do Homebridge, lembre-se de remover do config.json as informações referentes ao plugin, pois caso não remova o servidor poderá ter problemas de inicialização.
Abaixo deixo alguns links que podem ser úteis para buscar mais informações sobre o Homebridge e sobre o Homekit:
https://github.com/nfarina/homebridge
https://support.apple.com/pt-br/HT204893
Se você possui dispositivos da linha Sonoff e gostaria de utiliza-los com o app Casa e com a Siri, recomendo que leia a postagem Integrando o Sonoff com o App Casa (Apple iPhone iPad iOS).
Gostou desta postagem? Então deixa seu comentário, dúvida ou sugestão aí embaixo!
Loja online: https://www.masterwalkershop.com.br
Fan page no Facebook: https://www.facebook.com/masterwalkershop
Perfil no Instagram: https://www.instagram.com/masterwalkershop/
Nos ajude a espalhar conhecimento clicando no botão de compartilhar (f Like) que está mais abaixo.
Obrigado e até a próxima!
Seu feedback é muito importante! Que tal dar uma nota para esta postagem?! Faça sua avaliação aqui embaixo.
Postagem anterior: Instalando e Configurando o Raspbian no Raspberry Pi
Próxima postagem: Integrando o Sonoff com o App Casa (Apple iPhone iPad iOS)
Euler, boa tarde.
Td bem?
Sabe o que pode ser depois de
systemctl status homebridge
Vem esse erro:
fev 05 18:18:51 raspberrypi systemd[1]: Starting homebridge.service…
fev 05 18:19:00 raspberrypi systemd[1]: Started homebridge.service.
fev 05 18:19:18 raspberrypi hb-service.js[682]: [05/02/2022 18:19:16] [HB Supervisor] Homebridge Storage Path: /var/homebridge
fev 05 18:19:18 raspberrypi hb-service.js[682]: [05/02/2022 18:19:18] [HB Supervisor] Homebridge Config Path: /var/homebridge/config.json
fev 05 18:19:18 raspberrypi hb-service.js[682]: [05/02/2022 18:19:18] [HB Supervisor] Logging to /var/homebridge/homebridge.log
fev 05 18:24:34 raspberrypi systemd[1]: /etc/systemd/system/homebridge.service:1: Assignment outside of section. Ignoring.
fev 05 18:24:34 raspberrypi systemd[1]: /etc/systemd/system/homebridge.service:2: Assignment outside of section. Ignoring.
fev 05 18:24:34 raspberrypi systemd[1]: /etc/systemd/system/homebridge.service:3: Assignment outside of section. Ignoring.
fev 05 18:24:34 raspberrypi systemd[1]: /etc/systemd/system/homebridge.service:4: Assignment outside of section. Ignoring.
~
Boa tarde, tudo bem?
Fiz os passos de instalação no linux e está tudo funcionando, o Serviço, o Config UI e o Home (Iphone 8) até acha a bridge para conectar. Porém, após inserir o código (031-45-154), que está correto, demora um tempo e vem uma msg de erro: “Não foi possível adicionar o Acessorio. Acessorio não disponível”
Alguma experiência com esse tipo de erro?
Grato,
Evandro Souza
e aí pessoal, primeiramente obrigado por compartilhar esse conhecimento!
Eu quando jogo o comando “npm -v” no cmd to obtendo um erro “failed to replace env in config: ${appdata}
ja procurei erros de instalacao do npm ms nao encontro nada…
to usando o windows 7 86x, alguma dica?
Bom dia Euler Oliveira.
Gostaria de saber como faço para que o homebridge funcione mesmo eu estando fora de casa.
Quando estou na rede interna funciona perfeitamente, mais quando estou fora de casa, meus dispositivos não respondem :(?
Desde já, agradeço pela atenção.
Olá Lazaro.
Agradeço pelo comentário!
Você pode verificar se há algum plugin que permita acessar o Homebridge externamente.
Excelente. Tive que formatar o servidor aqui e refiz com o passo a passo. Muita praticidade e objetividade no tutorial! Obrigado novamente!!!
Olá,
tudo bem?
Fiz todo o procedimento no windows e funcionou perfeitamente!
Agora, fui instalar no Raspberry Pi4 que comprei e não abre no navegador! Já tentei mudar de porta, e nada!
Os meus acessórios apareceram no app Casa mas estão com status de “Sem resposta”
poderia me dar algumas dicas do que fazer e/ou onde olhar para identificar os erros?
Obrigado!!
Não sei o que está acontecendo, mas após inserir 4 itens no homekit, eles param de responder (aparentemente após fechar o prompt do windows). Fiz alguma coisa de errado ou tem alguma coisa a mais que deixei de fazer?
Ola Euler
Estou tentando acessar o site http://localhost:8080/ mas esta informando “não é possivel acessar o site”
att.
o mesmo acontece comigo para a instalação feita no windows
Olá Marcos Rocha, td bem? O meu tb está assim, você conseguiu resolver?
Eu também estou tendo o mesmo problema. Alguma ideia para corrigir?
Olá, Sim
o meu código está assim:
{
“bridge”: {
“name”: “HomeBridge”,
“username”: “C4:85:08:D6:F6:41”,
“port”: 51826,
“pin”: “031-45-154”
},
“description”: “Your description here”,
“accessories”: [],
“platforms”: [
{
“platform”: “config”,
“name”: “Config”,
“port”: 8581
}
]
}
Nesse caso recomendo deletar todos os arquivos do Homebridge e refazer a instalação, pois aparentemente seu config.json está correto e pode ser que algum arquivo foi corrompido.
Se for possível, teste em outro computador.
Olá Euler,
Caso eu tenha um Raspberry pi 4 com Windows 10, qual configuração devo utilizar?
Abraço!
Olá Samuel.
Agradeço pelo comentário!
Infelizmente não vou conseguir te auxiliar na instalação em uma versão do Windows 10 rodando no Pi 4, contudo, recomendo que tente executar os passos voltados para Windows informados na postagem.
Ola, gostaria de saber se poderia me ajudar com um erro, quando executo o Homebridge no prompt de comando ele retorna com um erro dizendo “not a valid username must be 6 pairs of colon-separated hexadecimal chars , like a MAC address, não entendo oq pode ser isso se meu endereço MAC está digitado de forma correta conforme é exemplificado aqui no tutorial
Olá Matheus.
Agradeço pelo comentário!
Digitou o MAC com todas as letras maiúsculas e separados por dois pontos?
Para fazer uso do home bridge o PC deverá estar ligado o tempo todo?
Olá Samuel.
Agradeço pelo comentário!
Conforme informado no texto, independente do sistema operacional é necessário que o mesmo permaneça ligado e com o Homebridge em execução durante o uso.
Ola Euler
Primeiramente parabens pelo excelente material, bastante didatico. Fiz todo o passo a passo, tudo certinho, porem nao consigo fazer com que os dispositivos aparecam no Apple Casa. Tens alguma dica adicional> Estou usando o RaspBerry. Fiz as duas contas do eWelink e compartilhei os dipositivos entre elas, mas não consigo fazer com que eles aparecam no apple casa.
Grato
Olá Jose Adolfo.
Agradeço pelo comentário e reconhecimento!
O próprio app Casa irá buscar automaticamente os acessórios vinculados ao Homebridge e listar na tela do aplicativo. Recomendo que verifique o log de informações registradas da execução do Homebridge
journalctl -f -u homebridge
e veja se é acusado algum erro ao carregar os dispositivos da sua conta eWeLink.Boa noite amigo, muito bom mesmos seu post bem detalhado, fiz todo o processo de instalação e deu tudo certo gostaria de saber qual plug e como deve configurar o arquivo config.json para usar as saída gpio dos Raspibarry com relei ja tenho a placa de comando.
desde de ja acredeço
Olá Placido.
Agradeço pelo comentário e reconhecimento!
No link abaixo você pode ver os plugins relacionados a GPIO e suas respectivas configurações:
https://www.npmjs.com/search?q=gpio
Olá Euler, tudo bem?
Feliz Ano Novo meu amigo !
Gostaria de saber se recebeu meu e-mail?
Olá Elias.
Agradeço pelo comentário!
Feliz Ano Novo pra você também 🙂
Não recebi nenhum e-mail em nome de Elias. Reencaminha por favor.
Oi, Euler. Tudo certo com o tutorial, parabéns 🙂
Porém, há um bug (nao sei onde, exatamente) onde, após um tempo de execução, o server aborta com os erros já reportado pelos colegas (duplicacao de UUID). Acho que resolvi, por ora, modificando o service adicionando um comando para remover o cache antes do start. Vai ficar um pouco mais lento o início, mas, quando acontecer o bug e o service restartar, ele já vai fazer o rm do cache automático:
[Unit]
Description=Node.js HomeKit Server
After=syslog.target network-online.target
[Service]
Type=simple
User=homebridge
EnvironmentFile=/etc/default/homebridge
ExecStart=sudo rm /home/pi/.homebridge/accessories/cachedAccessories && /usr/bin/homebridge $HOMEBRIDGE_OPTS
Restart=on-failure
RestartSec=10
KillMode=process
[Install]
WantedBy=multi-user.target
Agradeço por informar a solução que encontrou para o problema! Isto com certeza vai ajudar muitos outros usuários que possam vir a ter o mesmo problema.
As instruções que disponibilizei no tutorial estão todas de acordo com as execuções que fiz aqui e que não retornou nenhum erro, seja no Raspbian ou no Windows. De fato sempre vai ocorrer algum tipo de erro para alguns usuários por N motivos, contudo, a gente vai tentando buscar soluções para ajudar a todos. Aqui não me deparei com esse erro. O único erro que ocorreu aqui foi devido há informações a mais no config.json, onde o servidor não subia.
Vou te pedir que por favor retorne daqui uma semana e deixe uma mensagem nesta postagem informando se o servidor permanece sem erros após esta mudança que fez no serviço.
Qualquer outro erro que venha a ter, peço que por favor deixei informado na postagem que aí vamos tentar ir solucionando.
Vlw!!!
Post SENSACIONAL! Procurei muito na internet como configurar e somente aqui está do inicio ao fim. Parabéns!
Olá Lauro.
Agradeço pelo comentário!
Show de bola!
Vlw!!!
Perfeito, funcionou após o terceiro comando.
Muito obrigado Euler.
Show de bola!
Agradeço por voltar e informar que deu certo, pois é importante estes feedbacks para que eu possa atualizar a postagem e informar o que fazer caso o usuário se depare com erros similares a este que ocorreu com você.
Obrigado!
Olá Euler, olha eu aqui de novo, será que pode me ajudar mais uma vez?
Quando vou instalar o config-ui-x ele mostra esse erro:
MSBUILD : error MSB3428: Não foi possível carregar componente “VCBuild.exe” do Visual C++. Para corrigir isso, 1) instale o .NET Framework 2.0 SDK, 2) instale o Microsoft Visual Studio 2005 ou 3) adicione o local do componente ao caminh
o do sistema se ele estiver instalado em outro local. [C:\Users\Marketing\AppData\Roaming\npm\node_modules\homebridge-config-ui-x\node_modules\node-pty-prebuilt-multiarch\build\binding.sln]
Boa noite.
Com o prompt de comando sendo executado como administrador, execute na sequência os dois comandos abaixo:
npm install -g node-gyp
npm install --global --production windows-build-tools
Caso não resolva, ainda no prompt de comando execute o comando abaixo:
npm install --global --production windows-build-tools --vs2015