Faz um tempo que queria escrever ou pelo menos anotar algumas coisas que tenho feito com broadlink.

O Homebridge tem sido algo super interessante, ele cria uma ponte com dispositivos Apple e outros não válidos ou sem suporte. A Apple tem aquela coisa plug and play, eu comprei lampadas da Philipe Hue por exemplo e a configuração foi totalmente sem dor.

Particulamente eu acho que se IOT quer decolar, precisamos conseguir ter essa simplicidade e facilidade, ninguém quer escrever código para ver as lampadas funcionando. Mas ainda estamos construindo isso certo?

No meu caso quis um desafio, tenho um home theater que paguei R$ 50, bem antigo e porque não trazer ele de 2005 para 2021? É aí que entra o broadlink, um emissor de infravermelho e tem um app com integração, para Google Home, Alexa e Siri.

Mas o app do broadlink é bem ruim e eu quero algumas coisas há mais, pq preciso, descobrir algumas funcionalidades escondidas do aparelho. Então vamos para algumas coisas.

Instalando o homebridge

É usar aquele padrão node + npm e o melhor comando já inventado, mas para instalação global.

npm install -g homebridge

Para usar o homebridge com o broadlink, é necessário instalar também o plugin

npm install -g homebridge-broadlink-rm-pro

Recomendo usar o plugin do pro ao invés do homebridge-broadlink-rm, pq infelizmente em fev/2021 o projeto está meio parado.

Configurando os dispositivos

Idealmente se você tem broadlink compatível, não deve ter problemas com a configuração. Caso tenha problema, use o app para conectar o broadlinkna sua rede e configura dentro do config.json uma parte de hosts.

Sobre o config.json, você pode encontrar um exemplo dentro do node_modules, essa configuração, você talvez já encontre essa configuração ativa dentro de uma pasta .homebridge localizada na pasta home do usuário.

A documentação para usar o config.json, não é mto complexa, apesar de também precisar de melhorias.

Mas o conceito basicamente é você ter uma ponte de dispositivos, com o uso do broadlink, você vai configurar os acessórios e também o sinais emitidos.

O plugin do broadlink, já configura para você um switch para capturar sinais e com isso você pode configurar seu acessório de acordo, dentro do acessório do tipo  TV, você vai poder configurar coisas como os inputs, volume, setas e etc.

Com isso você já consegue um uso bem interessante de controles.

Agora para alguns casos em que você talvez precise capturar o sinal de controles que você não tem, sugiro ter 2 broadlinks um configurado com o app e que pode usar a inteligencia coletiva dele. Basta usar a captura de sinal de um para o outro e segue a vida, vai aparecer no seu terminal um hex do código IR transmitido.

Resolvendo alguns problemas

Se existe um problema que todo dev precisa estar preparado é para resolver algum cache no caminho que ficou sujo. No caso do homebridge o iPhone vai falar p/ vc reconfigurar o dispositivo.

Então como reconfigurar o homebridge?

novamente assumindo q vc está usando algo do tipo unix based, vai na pasta .homebridge e remove tudo que estiver dentro de persist e talvez também dentro do plugin.

Esse texto é algo super simples e bem desestruturado, escrevi meio como anotação pessoal mesmo, mas também pode ser de ajuda para alguém, qualquer coisa só entrar em contato.


PS: Outra coisa que pode ser ajudar em alguns casos para capturar sinal e hex é usar o braodlink-manager é um projeto que ajuda muito.

t0mer/broadlinkmanager-docker
Broadlink Manager is a python based project that allows you to contorol your broadlink devices. Discover, Leran and send command in a very easy way - t0mer/broadlinkmanager-docker

Segue alguns links para ajudar

https://infinitediaries.net/removing-homebridge-from-homekit-and-re-adding-it-to-another-home/

https://broadlink.kiwicam.nz/#tv

kiwi-cam/homebridge-broadlink-rm
[This fork supports TV accessories] Broadlink RM Mini and Pro plugin for homebridge: https://github.com/nfarina/homebridge - kiwi-cam/homebridge-broadlink-rm