Muitos dispositivos conectados não oferecem compatibilidade com o Apple HomeKit, limitando-se a plataformas como Alexa ou Google. Contudo, um truque com o Raspberry Pi, utilizando o software de código aberto Homebridge, permite adicionar suporte ao HomeKit a praticamente qualquer dispositivo inteligente.
Integrando Dispositivos Inteligentes ao HomeKit
Para quem usa o HomeKit, a limitada quantidade de dispositivos compatíveis é um problema. Várias lâmpadas inteligentes de baixo custo, por exemplo, são impedidas de funcionar com HomeKit. Uma opção acessível da Amazon, um conjunto de quatro lâmpadas da TECKIN, custa aproximadamente 40 dólares, menos do que uma única lâmpada LIFX.
Apesar de não serem tão sofisticadas quanto as LIFX, apresentando cores menos vibrantes e um zumbido perceptível, elas oferecem um ótimo custo-benefício, custando cerca de 10 dólares cada.
O problema principal é a falta de suporte ao HomeKit. Elas funcionam com Google Home, Alexa e IFTTT, além do aplicativo do fabricante. São uma boa opção para quem só usa lâmpadas TECKIN.
A incompatibilidade com o HomeKit impede o controle das lâmpadas via aplicativo Home, widgets no Centro de Controle ou com a Siri. Também não é possível incluí-las em cenas com outras marcas ou automações. Se você já investiu no ecossistema HomeKit, essa limitação pode ser um obstáculo.
A Solução: Homebridge
Felizmente, existe uma solução para ampliar a utilidade dessas lâmpadas. O HomeKit suporta “pontes”, como a ponte Philips Hue, que conectam dispositivos que usam outros protocolos. Ao adicionar a ponte ao HomeKit, ela registra todos os dispositivos conectados a ela. Assim, seu celular se comunica com a ponte, que por sua vez se comunica com as lâmpadas.
A ponte funciona como um intermediário entre diferentes APIs. Já que é possível controlar as lâmpadas TECKIN pela internet, é viável conectá-las ao HomeKit com software, sem a necessidade de hardware proprietário.
Um Raspberry Pi (o Pi Zero de 5 dólares serve) pode ser configurado como ponte usando o Homebridge. Esse aplicativo NodeJS leve simula a API do HomeKit, direcionando as solicitações aos seus dispositivos não compatíveis.
Ao rodar no Pi, ele adiciona os dispositivos “não-HomeKit” ao aplicativo Home. Quando você tenta controlar uma lâmpada pelo aplicativo ou Siri, o Homebridge interage com o dispositivo. Após a configuração, o dispositivo se comporta como se tivesse suporte nativo ao HomeKit.
O Homebridge precisa estar sempre em execução, então um Raspberry Pi é ideal, mas qualquer computador antigo que você possa dedicar à função serve.
O Homebridge é uma estrutura expansível por meio de plugins. A comunidade é ativa e, provavelmente, já existe um plugin para seu dispositivo. Se não, e se você tiver experiência com tecnologia, pode desenvolver o seu próprio plugin.
Para a maioria, a configuração envolve instalar o Homebridge, o plugin da marca e fazer ajustes. Se você está familiarizado com a linha de comando, o processo é relativamente simples.
Instalação e Configuração do Homebridge
Por ser um aplicativo NodeJS, você precisa instalar o node e npm. Se você usa Linux, pode utilizar o gerenciador de pacotes.
No Ubuntu, use os comandos a seguir para configurar o repositório Node e instalar o NodeJS:
curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash - sudo apt-get install -y nodejs
Consulte a página de downloads do Node para outros sistemas.
No Linux, instale as seguintes dependências:
sudo apt-get install libavahi-compat-libdnssd-dev
Em seguida, instale o Homebridge globalmente com npm:
sudo npm install -g --unsafe-perm homebridge
Instale os plugins necessários. Para as lâmpadas TECKIN, utilize o plugin homebridge-tuya-web:
npm i homebridge-tuya-web -g
Após a instalação, execute o Homebridge pela primeira vez:
homebridge
O sistema reclamará da falta de configuração, que precisa ser criada. O diretório padrão é ~ / .homebridge /, mas use o parâmetro -U para alterar.
Crie um novo arquivo de configuração JSON nesse diretório:
nano ~/.homebridge/config.json
A configuração básica é:
{ "bridge": { "name": "Homebridge", "username": "CC:22:3D:E3:CE:30", "port": 51826, "pin": "031-45-154" }, "description": "Custom HomeBridge Server", "ports": { "start": 52100, "end": 52150, }, "platforms": [ ] }
Isso define o nome, porta, PIN e intervalo de portas padrão para o Homebridge.
Na matriz “platforms”, adicione a configuração de cada plugin, conforme as instruções na página do GitHub do plugin.
Para o plugin homebridge-tuya-web, é necessário o nome de usuário, senha da API do app da lâmpada e outros parâmetros:
"platforms": [ { "platform": "TuyaWebPlatform", "name": "TuyaWebPlatform", "options": { "username": "username", "password": "password", "countryCode": "1", "platform": "smart_life", "pollingInterval": 10 } } ]
Após a configuração, execute o Homebridge. Um QR Code será gerado no terminal. Use o app Home para adicioná-lo e os dispositivos conectados ao HomeKit.
O Homebridge carrega os plugins e registra os dispositivos detectados. Eles devem aparecer no HomeKit e estar funcionais.
Pode haver um pequeno atraso em comparação com as lâmpadas LIFX, pois elas são controladas via API. Pode ser preciso alguns ajustes para cores e configurações adequadas, mas as cenas podem ser definidas no HomeKit após a configuração no app original.
Para adicionar o Homebridge novamente, exclua a pasta “persist” do diretório de configuração e remova a ponte HomeKit nas configurações de qualquer lâmpada conectada na aba “Ponte”.
Configurando o Homebridge como um Serviço
Para que o Homebridge rode continuamente, configure-o para reiniciar se travar ou o Raspberry Pi for reiniciado, utilizando um serviço Unix. Faça essa configuração após verificar o funcionamento do Homebridge.
Crie um novo usuário de serviço chamado “homebridge”:
sudo useradd -M --system homebridge
Defina uma senha:
sudo passwd homebridge
Mova a configuração do homebridge para fora do seu diretório pessoal, como em /var/lib/homebridge/:
sudo mv ~/.homebridge /var/lib/homebridge/
Certifique-se de que o usuário “homebridge” seja o proprietário deste diretório e subpastas:
sudo chown -R homebridge /var/lib/homebridge/
Crie o arquivo do serviço “homebridge.service” em /etc/systemd/system/:
sudo nano /etc/systemd/system/homebridge.service
Adicione a configuração:
[Unit] Description=Homebridge service After=syslog.target network-online.target [Service] Type=simple User=homebridge ExecStart=/usr/bin/homebridge -U /var/lib/homebridge Restart=on-failure RestartSec=10 KillMode=process [Install] WantedBy=multi-user.target
Recarregue o daemon para aplicar as alterações:
sudo systemctl daemon-reload
Habilite o serviço para iniciar na inicialização:
sudo systemctl enable homebridge
E inicie o serviço:
sudo systemctl start homebridge
Para depurar erros, visualize os logs com:
journalctl -fn 50 -u homebridge