Header Ads

Como conectar qualquer dispositivo inteligente ao HomeKit (com um Raspberry Pi)

Fundação Raspberry Pi, Apple

Muitos dispositivos inteligentes ignoram o suporte ao Apple HomeKit e se integram apenas ao Alexa, Google e outras plataformas. Com esse hack do Raspberry Pi, você pode adicionar o suporte HomeKit a qualquer dispositivo inteligente com o software Homebridge de código aberto.

HomeKit para qualquer dispositivo inteligente

Se você é all-in no HomeKit, um grande problema é o número de dispositivos inteligentes que o suportam. Por exemplo, a única coisa que impede algumas lâmpadas inteligentes baratas é a falta de suporte ao HomeKit. A escolha da Amazon para uma lâmpada inteligente - 8221; é um pacote de quatro unidades da TECKIN, que, neste momento, custa cerca de US $ 40 - menos do que uma única lâmpada LIFX.

Claro, eles não são tão premium quanto LIFX; as cores não são tão vibrantes e emitem um zumbido audível no banheiro, mas por US $ 10 por pop, elas são um valor imbatível.

O principal problema, porém, é que eles não têm suporte ao HomeKit. Eles não são totalmente burros - trabalham com o Google Home, Alexa, IFTTT e o aplicativo do fabricante. Eles são bons para alguém que só possui lâmpadas inteligentes TECKIN.

No entanto, como você não pode acessá-los no HomeKit, não pode controlá-los no aplicativo Home, no widget no Control Center ou no Siri. Você também não pode incluí-los em cenas com lâmpadas de outras marcas ou usá-los em automações. Se você já investiu no HomeKit, é mais provável que isso aconteça.

Conheça o Homebridge

Felizmente, existe um truque que torna essas lâmpadas em particular muito mais úteis. A API HomeKit permite que dispositivos chamados pontes, como este da Philips Hue, conectem dispositivos filhos que operam em outros protocolos. Você simplesmente adiciona a ponte como um dispositivo no HomeKit e registra cada luz conectada a ele no HomeKit. Sempre que você solicita a atualização de uma luz, o telefone fala com a ponte e a ponte fala com a luz.

Portanto, uma ponte apenas transmite informações de uma API para outra. Como você pode controlar as lâmpadas TECKIN pela Internet, é totalmente possível conectá-las ao HomeKit com apenas o software, sem a necessidade de hardware proprietário.

Se você tem um Raspberry Pi por perto (um Pi Zero de US $ 5 é bom), você pode configurá-lo como uma ponte com uma estrutura chamada Homebridge. Esse aplicativo leve e NodeJS emula a API HomeKit e encaminha solicitações para seus dispositivos inteligentes que não são HomeKit.

Basicamente, você o executa no Pi, e ele adiciona cada 'burro' &’ dispositivo para o aplicativo inicial. Quando você tenta controlar a lâmpada através do aplicativo Home ou da Siri, o Homebridge conversa com os dispositivos para você. Depois de configurá-lo, é como se o dispositivo tivesse suporte ao HomeKit em primeiro lugar.

Isso requer que o dispositivo execute o Homebridge o tempo todo, portanto, isso não é algo que você instalaria no seu laptop. Um Raspberry Pi é ideal, mas se você possui um dispositivo antigo, pode se adaptar novamente como um servidor ou desktop que está sempre em execução, é possível instalá-lo lá.

Homebridge é uma estrutura e você pode estendê-la com plug-ins. Ele tem um grande apoio da comunidade, então há uma boa chance de que qualquer dispositivo inteligente provavelmente tenha um plug-in Homebridge para adicionar suporte a ele. Se o seu dispositivo não possui um plug-in, mas o seu dispositivo inteligente possui uma API e você é conhecedor de tecnologia, pode escrever um você mesmo.

Para a maioria das pessoas, porém, a instalação está apenas instalando o Homebridge e o plug-in da marca para o dispositivo, além de algumas configurações. Se você pode usar a linha de comando e ter um pouco de tempo, é bastante fácil.

Instalando e configurando o Homebridge

O Homebridge é um aplicativo NodeJS, portanto, você deve instalar o node e o npm para usá-lo. Se sua máquina rodar Linux, você provavelmente poderá obtê-la no seu gerenciador de pacotes.

No Ubuntu, você deve digitar o seguinte para configurar o repositório do nó manualmente e instalar o nodejs:

 enrolar -sL https://deb. nodesource. com/setup_13.x | sudo -E bash - sudo apt-get install -y nodejs 

Caso contrário, você pode consultar a página de download do nó para obter informações sobre como instalá-lo em seu sistema operacional específico.

Se você está no Linux, também precisa instalar algumas dependências, como mostrado abaixo:

 sudo apt-get install libavahi-compat-libdnssd-dev 

Posteriormente, você pode instalar o Homebridge globalmente através do npm, como mostrado abaixo:

 sudo npm install -g --unsafe-perm homebridge 

Você também deseja instalar os plug-ins de marca necessários, pois o Homebridge é apenas uma estrutura. Para as lâmpadas TECKIN, por exemplo, o plug-in é homebridge-tuya-web, que também é instalado globalmente.

Você digitaria o seguinte:

 npm i homebridge-tuya-web -g 

Depois de tudo instalado, você pode realmente usar a coisa! Digite o seguinte para executar o Homebridge uma vez e inicializar tudo:

 homebridge 

Ele irá reclamar da falta de configuração que você precisa criar. O diretório padrão é ~ / . homebridge /, mas você pode usar o parâmetro -U se desejar movê-lo.

Digite o seguinte para criar um novo arquivo de configuração JSON nesta pasta:

 nano ~ / . homebridge / config. json 

Independentemente dos plug-ins utilizados, você precisa da seguinte configuração básica:

 {"bridge": {"name": "Homebridge", "username": "CC: 22: 3D: E3: CE: 30", "port": 51826, "pin": "031 -45-154 "}," description ":" Servidor HomeBridge personalizado "," portas ": {" start ": 52100," end ": 52150,}," plataformas ": []} 

Isso configura o Homebridge com uma porta, nome, PIN e intervalo de portas padrão disponíveis para serem alocados a outros dispositivos.

Dentro da matriz de plataformas vazias, você coloca a configuração para cada plug-in. Você deve encontrar instruções e exemplos disso na página GitHub de cada plug-in.

No exemplo abaixo, o plug-in homebridge-tuya-web para as lâmpadas TECKIN deseja saber meu nome de usuário e senha para conectar-se à API do aplicativo da lâmpada e algumas outras coisas:

 "plataformas": [{"plataforma": "TuyaWebPlatform", "nome": "TuyaWebPlatform", "opções": {"nome de usuário": "nome de usuário", "senha": "senha", " countryCode ":" 1 "," platform ":" smart_life "," pollingInterval ": 10}}] 

Depois que tudo estiver configurado, o Homebridge deverá estar pronto. Execute-o novamente e seu terminal deve exibir um código QR gigante que pode forçá-lo a diminuir o zoom. Digitalize isso com o aplicativo Home para adicioná-lo e todos os dispositivos conectados ao HomeKit.

O Homebridge carrega seus plug-ins e deve registrar uma mensagem na tela para cada dispositivo encontrado. Você deve vê-los todos no HomeKit depois de adicionados, e eles devem estar totalmente funcionais.

notei um pequeno atraso em comparação com minhas lâmpadas LIFX. Provavelmente, isso ocorre porque as lâmpadas são controladas por uma API e não diretamente. No início, as lâmpadas também não exibiam alguns brancos e brancos quentes corretamente, mas depois de alguns ajustes, consegui montar as cenas apropriadas.

Você sempre pode configurar os dispositivos em seus próprios aplicativos, aguardar a atualização do aplicativo Home e definir a cena no HomeKit com a configuração pré-configurada.

Se você precisar adicionar novamente o Homebridge, você desejará excluir a pasta persist / no diretório de configuração e remover a ponte do HomeKit das configurações de qualquer lâmpada conectada no “ ” aba.

Adicionando o Homebridge como um serviço

Se você deseja que o Homebridge seja executado o tempo todo, provavelmente desejará configurá-lo para reiniciar se travar ou se o Raspberry Pi reiniciar. Você pode fazer isso através de um serviço Unix. Configure isso depois de verificar que o Homebridge está funcionando conforme o esperado.

Primeiro, adicione um novo usuário de serviço, chamado homebridge:

 sudo useradd -M - homebridge do sistema 

Defina uma senha:

 sudo passwd homebridge 

Em seguida, você precisará mover a configuração da homebridg para fora do seu diretório pessoal. / var / lib / homebridge / deve ficar bem:

 sudo mv ~ / . homebridge / var / lib / homebridge / 

Verifique se a pessoa que usa o homebridge possui a propriedade desse diretório e de todas as subpastas:

 sudo chown -R homebridge / var / lib / homebridge / 

Uma vez feito isso, você pode criar o serviço. Para fazer isso, crie um novo arquivo chamado homebridge. service em / etc / systemd / system /:

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

E, em seguida, cole a seguinte configuração:

 [Unidade] Descrição = serviço Homebridge Depois = syslog. target network-online. target [Serviço] Tipo = Serviço simples = Usuário simples = homebridge ExecStart = / usr / bin / homebridge -U / var / lib / homebridge Reiniciar = em falha RestartSec = 10 KillMode = processo [Instalar] WantedBy = multi-user. target 

Recarregue o daemon de serviços para atualizá-lo com suas alterações:

 sudo systemctl daemon-reload 

Agora, você deve poder ativar seu serviço (configurando-o para ser executado na inicialização):

 sudo systemctl enable homebridge 

E inicie-o:

 sudo systemctl start homebridge 

Se você precisar depurar erros decorrentes da configuração do serviço, poderá visualize os logs do serviço digitando:

 journalctl -fn 50 -u homebridge 

Via: How to Geek

Veja Também:

Nenhum comentário