Apple HomeKit com Homebridge e Raspberry Pi – Parte 2 58

No post anterior vimos o que é o Homebridge e como instalá-lo, embora não tenha apresentado ainda nenhuma funcionalidade que vale a pena. Agora veremos o verdadeiro poder da plataforma, e como controlar um conjunto de relês através do iPhone/iPad.

Instalação do plugin para GPIO

Por si só o Homebridge não fará nada de útil. Ele precisa de plug-ins e de um arquivo de configuração para rodar satisfatoriamente. No tutorial vou usar o plugin Homebridge-gpio-wpi2 (https://github.com/rsg98/homebridge-gpio-wpi2 ), responsável por controlar pinos da GPIO no RaspberryPi, mais especificamente com um módulo relê atuando como interruptor. A instalação conta primeiro com o download das dependências

sudo apt-get install wiringpi

E em seguida a instalação do próprio plugin (o processo leva alguns minutos)

sudo npm install -g homebridge-gpio-wpi2

Execução do Homebridge

O Homebridge pode subir várias instâncias em um mesmo sistema operacional. Por isso é preciso identificá-lo pelo Mac Address, que é obtido pelo comando

ifconfig wlan0

Tela terminal

A imagem acima é o resultado da busca pelo MacAddress da minha interface WLAN. Caso esteja utilizando rede cabeada, basta rodar o comando ifconfig eth0. Note acima o valor após a palavra ether. Copie esse valor (todos os seis pares) para podermos adicionar ao arquivo de configuração. É necessário que as letras estejam maiúsculas.

Esse arquivo agora se faz necessário para controle do plugin e do próprio servidor Homebridge. Ele é criado com o auxílio do nano:

sudo nano /home/pi/.homebridge/config.json

O conteúdo do arquivo aparece abaixo, onde temos a seção bridge, responsável pelas configurações do próprio Homebridge, a seção description, que pode ser ignorada, e a seção platforms, onde colocamos nossas plataformas. Não se esqueça de adicionar seu MacAddress no lugar indicado.

{
	"bridge": {
		"name": "Homebridge",
		"username": "<SEU_MAC_ADDRESS_AQUI>",
		"port": 51826,
		"pin": "031-45-154"
    },
    "description": "This is an example configuration file with one fake accessory and one fake platform.",

    "platforms": [{
          "platform" : "WiringPiPlatform",
          "name" : "Pi GPIO (WiringPi)",
          "overrideCache" : "true",
          "autoExport" : "true",
          "gpiopins" : [{
                "name" : "GPIO2",
                "pin"  : 3,
                "enabled" : "true",
                "mode" : "out",
                "pull" : "down",
                "inverted" : "false",
                "duration" : 0,
                "polling" : "true"
	        },{
                "name" : "GPIO3",
                "pin"  : 5,
                "enabled" : "true",
                "mode" : "out",
                "pull" : "down",
                "inverted" : "false",
                "duration" : 0
          }]
    }]
}

Explicando a plataforma WiringPi: temos dois relês adicionados, um na GPIO2 (pino 3) e outro na GPIO3 (pino5), mas é possível escolher qualquer pino necessário para a conexão, desde que esteja previamente configurado.

Circuito Raspberry Pi Rele

Após concluir a edição do arquivo config.json, podemos fechá-lo com o comando ctrl + O (salvando o arquivo através do Enter) e sair do editor com ctrl + x. Feito isso, executar o comando homebridge agora fará mais sentido.

Para testar se as configurações estão OK, devemos iniciar novamente o servidor homebridge, através do seu comando homebridge. A tela deve estar similar à esta.

Atente-se ao código que aparece na tela, 031-45-134. Ele será utilizado na configuração do aplicativo casa. Deixe o homebridge rodando, que agora vamos pro iOS!

Integração com o aplicativo Casa

Como mostrado no post anterior, vamos utilizar o aplicativo Casa do iOS 11 para controlar o relê remotamente. Abrindo ele, teremos a seguinte tela:

Casa iOS

Clicando em Adicionar Acessório, vamos para a tela de mesmo nome, para enxergar o código que aparece no homebridge. É possível tentar escanear o código, mas na minha experiência, não funciona muito bem. Para isso, vamos à opção Não Tem um Código ou Não Pode Escanear?.

Código Homekit

A nova tela mostra a instância do Homebridge rodando. Caso não apareça, reinicie o servidor pelo terminal, para que ele seja exibido. Selecione a instância caso esteja ok.

Seleciona instância

É exibido um aviso de acessório não certificado. Nada para se preocupar, pois realmente não estamos trabalhando com acessórios certificados pela Apple. Adicione mesmo assim, e insira o código informado acima.

Código Homebridge

A primeira tela após a validação do código é a tela de configuração do servidor. Basta clicar em Seguinte para configurarmos os dois itens separados do relê.

Configuração GPIO

É possível também configurar o cômodo que você quer colocar o dispositivo. O aplicativo casa conta com a possibilidade de adicionar várias casas, cada uma delas com vários cômodos, e cada um deles por sua vez, vários dispositivos.

Após a configuração, o aplicativo volta para a tela inicial, agora com dois dispositivos. Note que o dispositivo Lâmpada está ligado, e é possível desligá-lo a qualquer momento

Aplicativo Casa configurado

Um grande chamariz da plataforma Homebridge, é a possibilidade de utilizar a Siri para controlar os dispositivos. Quando pedimos à ela para desligar a Lâmpada, quase instantaneamente o relê é desligado.

Siri

Considerações finais

O homebridge é uma plataforma em constante desenvolvimento. É possível que, no momento da leitura desse tutorial, algumas configurações tenham sido alteradas. Este tutorial é apenas um norte pra quem quer se aventurar na automação residencial.

É possível também acessar os dispositivos remotamente. Caso você possua um iPad, ou Apple TV de quarta geração permanecendo em casa, permitindo que seu iPhone controle os dispositivos como se fosse localmente.

Existem várias outras funcionalidades que você pode agregar no servidor. Basta instalar o plugin desejado e configurá-lo de acordo com o tutorial do próprio plugin. Diversos plugins podem ser encontrados no Repositório do NPM.

O Apple Watch também vale pra controlar os dispositivos, como visto abaixo.

Apple Watch

Gostou deste post? Deixe seu comentário logo abaixo.

Faça seu comentário

Acesse sua conta e participe

58 Comentários

  1. Realizei 1 vez e deu certo, porém depois de um tempo não funcionou mais, quando tento ler novamente o QR code, fala que esse dispositivo está configurado em outra casa, já desinstalei e reinstalei mas nada, não consigo adicionar esse sonoff mini no HomeKit…

  2. Viva uma ajuda ! Estes últimos dias quando vou abrir app HomeKit fica indicação em todos device ( atualizar ) e ao fim de 2 /3 segundos fica indicação a vermelho ( sem resposta )

  3. Estou precisando de uma ajuda. Fiz todos os procedimentos e acontece que no meu HOMEKIT, os dispositivos que foram reconhecidos (sonoff), pararam de responder. Tem algum procedimento que deixei de fazer?

  4. Bom, obrigado por compartilhar, mas tenho uma grande duvida, eu consigo acionar meus dispositivos apenas na rede interna ? pois quando saio da rede wifi da minha casa os dispositivos ficam como indisponíveis, ha uma forma de fazer o bridge falar com o icloud e ser controlado remotamente ? (pelo que me parece o AppleTV 4 faz isso, mas não estou certo disto ainda e estou na busca de respostas.)

    1. Olá, Vinícius,

      Ao que tudo indica, para utilizar a função remota do Homebridge, é necessário uma Apple TV 3 ou 4, ou um iPad.

      Abraços!
      Diogo – Equipe MakerHero

  5. Bom noite.
    Gostei muito do seu tutorial, bem pratico.
    Mas estou um pouco frustrado, pois gostaria poder alterar o status da lâmpada por comando terminal exemplo: homebridge –setAccessory “Light 1” –setCharacteristic “on”. e não ficar prezo apenas ao celular, afinal seria legal poder colocar um interruptor ligado ao Raspberry Pi. :/

    1. Olá Jhony!

      Respondendo sua primeira pergunta, no site do Homebridge tem um tutorial que pode te ajudar com a inicialização do servidor: https://github.com/nfarina/homebridge/wiki/Running-HomeBridge-on-a-Raspberry-Pi

      Sobre o comando, você pode procurar algo pra ligar/desligar a GPIO, caso seja ligado à um relé.
      Existem algumas possibilidades, dependendo do seu cenário.

      Grande abraço!

      1. Para que quebrou a cabeça por 10 dias como eu, e não achou como comandar o rele pelo terminal….
        Por R$10,00 eu envio o comando que faz isso por email.

        Brincadeira, ta aqui:
        gpio -g write 3 1 – liga o pino 3
        gpio -g write 3 0 – desliga o pino 3

        O legal é que ele atualiza o Homebridge do estados do pino.

  6. Bom dia… dei uma fuçada na internet para encontrar como inicializar o serviço com o raspberry, mas sem sucesso… :/ poderia dar uma mão ?

  7. Pessoal, não pude deixar de notar a última foto onde a porta e aberta pelo Apple Watch. Tenho uma fechadura eletrônica Samsung e já tentei diversos aplicativos de RFID para configurar a abertura da porta pelo relógio sem sucesso. Alguem conhece uma solução para essa necessidade ? Grato.

    1. Oi Carlos!

      Você precisa de um plugin do Homebridge pra esse tipo de fechadura.
      Faça uma busca no https://npmjs.org por Homebridge + nome da fechadura, e talvez já exista algo pronto.
      Dai esse plugin já vai ter o tutorial ensinando como você acoplar ao Homebridge, basta seguir!

      Grande abraço!

  8. Grande Alliston,

    Esse artigo é ótimo!!! Parabéns !!!

    Consegui incluir mais 2 relês no projeto: agora controlo 4 pinos do RPi.

    Como gostaria de controlar um robô, preciso acionar sempre 2 pinos simultaneamente (2 motores pra frente ou pra trás ou um pra frente e outro pra trás). Também, gostaria de que o acionamento pudesse ser temporizado, isto é, acionar 2 motores por apenas 1 segundo.
    É possível fazer isso dentro do arquivo config.json ? Ou de outra maneira ?

    Antecipadamente agradeço.
    dionizio barbosa

    1. Oi Dionizio, boa tarde.

      Que bom que funcionou! Você foi mais rápido que eu 🙂
      Nesse caso, vai exigir um pouco mais de trabalho. Você vai precisar programar um script, e pegar um plugin do Homebridge que inicie o script, e que ele seja executado por apenas um segundo.
      De todo jeito, apesar de poder fazer, não é recomendado… O Homebridge às vezes demora um tempo considerável pra disparar os comandos, e isso poderia te dar um atraso no robô.

      Grande abraço!

      1. Valeu, Alliston!

        Como tudo tem solução, vou interligar o RPi com um Arduino; assim, um acionamento no RPi faz com q o Arduino processe o q quero: acionar 2 motores e temporizar o acionamento qdo for o caso.
        Esse seu artigo é magnífico!
        Já estou separando a grana p pedir um RPi Zero e mais outras coisinhas a MakerHero.
        Se não for pedir muito, sempre publique coisas assim; é mto importante p nós hobbystas!

        Gnd abç.
        dionizio barbosa

        1. Boa Dionizio, uma bela solução.

          E muito obrigado pelo Feedback! Como também sou hobbysta, pode ter certeza que sempre vou colocar meus experimentos (que derem certo!) aqui 😀

          Abraços!

          1. Alliston,
            Contruí o robozinho, está funcionando mto bem: o acionamento dos 4 pinos do RPi acionam 4 pinos do Arduino, os quais comandam Frente, Trás, Esquerda e Direita do robô. Estou usando uma câmera wi-fi q é transportada p robô; assim, vejo o q ocorre e comando os movimentos p observar todo o meu apartamento.
            Vou melhorar o robô qdo receber o RPi Zero q já pedi a MakerHero.
            Se vc tiver algum sketch q possa ser acrescentado a este p incluir a câmera do RPi no app Casa, por favor, informe-me; assim, o robozinho ficaria completo.
            Obrigado. Grande abraço.
            dionizio

  9. Caro Alliston,,

    Tudo funcionou muito bem!
    Mas, vai uma observação: no meu caso, os pinos são os GPIO 3 e 5, não os pinos físicos como pode estar parecendo no script.

    Gnd abç.

  10. Caro Alliston,

    A sina de novatos é fazer bobagens…
    Consegui adicionar o Romebridge ao app Casa; entretanto, apareceu um ícone que considerei supérfluo, então deletei… O pior, deletou tudo, e quando tento adicionar novamente, recebo a mensagem que o item já foi adicionado, para adicionar novamente, precisa ser redefinido.
    Como redefinir o Homebridge?
    Antecipadamente agradeço.

    1. Caro Alliston,
      Sei q vc ainda não viu esta msg, senão já teria dado a solução. Mas, pesquisando, encontrei o caminho. Digo aqui pq pode interessar a outras pessoas.
      cd /home/pi/.homebridge
      então, remover persist

      1. Completando a informação: então, executar o homebridge

  11. Alliston, td bom?

    segui os passos mas quando coloco o arquivo config.json (validado no JSONLint) ele da o erro abaixo:

    2018-7-13 20:06:07] There was a problem reading your config.json file.
    [2018-7-13 20:06:07] Please try pasting your config.json file here to validate it: http://jsonlint.com
    [2018-7-13 20:06:07]
    /usr/local/lib/node_modules/homebridge/lib/server.js:213
    throw err;
    ^

    SyntaxError: Unexpected token \ in JSON at position 1
    at JSON.parse ()
    at Server._loadConfig (/usr/local/lib/node_modules/homebridge/lib/server.js:207:19)
    at new Server (/usr/local/lib/node_modules/homebridge/lib/server.js:56:38)
    at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:28:16)
    at Object. (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)

    saberia a causa? cheguei a pesquisar mas não tive sucesso.

    Obrigado

    1. Fala Felipe, boa noite! Tudo bom, e por ai?

      Pela mensagem de erro, existe uma barra invertida “\” num local errado… Teria como postar o config.json aqui? Que dai a gente analisa.

      Abraços!

  12. Sou leigo com Raspberry e gostaria de saber se consigo usar esse sistema de apagar e acender a luz em paralelo com o interruptor! Substituindo o interruptor por um interruptor de pulso!

    1. Oi Cristian. É possível sim, mas pra usar com o Homebridge você teria que escrever um plugin desse interruptor para poder verificar se ele está ligado ou desligado, passando para o iOS qual o status. É algo um pouco mais avançado

  13. Quando eu digito o código e passo para a proxima tela para se conectar no raspberry, o icone nao aparece. O que pode ser?

  14. Caramba, estava estudando a instalação do Homebridge aqui quando me dei conta que a primeira imagem utilizada é a sala da minha casa hehe!
    (https://www.makerhero.com/wp-content/uploads/2017/10/Imagem-Destaque-3.png) << Essa no caso. Estou fazendo a automatização com broadlink rm pro e vou instalar um raspberry pi como servidor pra utilização padrão no IOS, porém meu raspberry pi ainda não chegou, uma duvida simples, posso usar a siri em português ou tem que ser em inglês?

    1. cara funciona em portugues

    2. Mateus, pode usar em português sim. A Siri em inglês é apenas frescura do autor que vos fala hehehe

      Aproveite, e grande abraço.

  15. Cara ontem eu estava configurando e estava funcionando certinho
    hoje fui instalar novamente e não starta o homebrigde de jeito nenhum mesmo adcionando no bash aquela linha como disse.
    Ao final da instalacao do script aparece assim

    npm WARN enoent ENOENT: no such file or directory, open ‘/home/pi/package.json’
    npm WARN pi No description
    npm WARN pi No repository field.
    npm WARN pi No README data
    npm WARN pi No license field.

    acredito que deu algum problema no repositorio.

  16. Olá Alliston,

    Parabéns pelo tutorial, executei e ficou perfeito.
    Tenho uma dúvida, aonde encontro tutoriais de como utilizar um sensor DHT11, ou controle de luminosidade por exemplo.
    Obrigado

    1. Olá Samuel.

      Aqui tem nosso tutorial explicando a interação com o DHT22 no Arduino: https://www.makerhero.com/blog/monitorando-temperatura-e-umidade-com-o-sensor-dht11/

      Grande abraço!

      1. Desculpa acredito que me expressei erroneamente.
        A minha dúvida é se há uma forma de dimmerizar ou integrar o DHT22 (ou DHT11) junto a configuração do config.json, para que seja reconhecido no Homekit?
        Obrigado Alliston.
        Abraço.

        1. Oi Samuel!

          Os sensores DHT só funcionam como leitura, e não servem pra uma possível automação (por exemplo, ligar o ar condicionado quando a temperatura estiver a 30 graus…). Mas é possível sim! Pra isso, dá uma olhada no plugin abaixo, ele tem um tutorial todo explicando. Ele depende duma biblioteca chamada BCM2835, e lá explica como instalar.

          https://www.npmjs.com/package/homebridge-dht-sensor

          Qualquer coisa posta aí pra gente! Grande abraço.

  17. Estou com uma duvida, quando eu faço ligo em uma lampada eu só posso ligar e desligar ela por meio do celular? Se eu usar o interrupitor para desligar ela ainda vai ligar pelo homekit ?

    1. Verissimo, como é um interruptor “burro”, ele não tem conectividade, e não possui integração alguma com o Homebridge. Se você utilizar um esquema de relés, então só vai conseguir ligar a lâmpada pelo celular. Existem outras maneiras para que você consiga utilizar o interruptor e o celular ao mesmo tempo, mas já envolvem outros periféricos e mais conhecimento de eletrônica.

    2. Dá pra fazer com um interruptor duplo, tipo vai-e-vem e um módulo relê, que tmb é duplo. Então vc liga/desliga em qq um deles.
      Vc precisa ligar o fase e o neutro nos terminais externos; no pino central sai o fio para a lâmpada, tanto no interruptor quanto no relê.
      Todo cuidado é pouco, a lâmpada, mesmo apagada, pode ter corrente: está recebendo o fase pelos dois fios.

  18. Hello bet tutorial but, I’m doing all the steps and when I eject the last Homebridge, say:

    r>
    [1/14/2018, 9:14:55 AM] Loaded plugin: homebridge-gpio-wpi2
    [1/14/2018, 9:14:55 AM] Registering platform ‘homebridge-gpio-wpi2.WiringPiPlatform’
    [1/14/2018, 9:14:55 AM] —
    /usr/lib/node_modules/homebridge/lib/server.js:215
    throw new Error(‘Not a valid username: ‘ + username + ‘. Must be 6 pairs of colon-‘ +
    ^

    Error: Not a valid username: . Must be 6 pairs of colon-separated hexadecimal chars (A-F 0-9), like a MAC address.

    I user the ether from ifconfig wlan0 but don’t work. Please a bit of help thanks

    1. Hi Joan,

      You should replace for your Mac Address. When I executed the ifconfig command, I got the Mac Address, which is shown after the word ether. In my case, the Mac Address is b8:27:eb:82:23:89 (six pairs of colon-separated hexadecimal chars). It’s important that they MUST be in uppercase. Put all the letters in uppercase, and you’re good to go!.

      Feel free to ask any questions.
      Best regards

      1. Hello Aleixo, thanks for help.

        I try with Mac dress in uppercase from ifconfig ether but the error persist:

        pi@raspberrypi:~ $ 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
        *** 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
        [1/21/2018, 11:51:53 AM] Loaded plugin: homebridge-gpio-wpi2
        [1/21/2018, 11:51:53 AM] Registering platform ‘homebridge-gpio-wpi2.WiringPiPlatform’
        [1/21/2018, 11:51:53 AM] —
        /usr/lib/node_modules/homebridge/lib/server.js:215
        throw new Error(‘Not a valid username: ‘ + username + ‘. Must be 6 pairs of colon-‘ +
        ^

        Error: Not a valid username: . Must be 6 pairs of colon-separated hexadecimal chars (A-F 0-9), like a MAC address.
        at Server._loadConfig (/usr/lib/node_modules/homebridge/lib/server.js:215:13)
        at new Server (/usr/lib/node_modules/homebridge/lib/server.js:57:38)
        at module.exports (/usr/lib/node_modules/homebridge/lib/cli.js:26:16)
        at Object. (/usr/lib/node_modules/homebridge/bin/homebridge:17:22)
        at Module._compile (module.js:571:32)
        at Object.Module._extensions..js (module.js:580:10)
        at Module.load (module.js:488:32)
        at tryModuleLoad (module.js:447:12)
        at Function.Module._load (module.js:439:3)
        at Module.runMain (module.js:605:10) ”

        thanks a lot for your help
        Best regards

    2. Hi, remove the “”.
      The same error occourd with me.

      1. The code should be:
        username”: “XX:XX:XX:XX:XX:XX”,

  19. Excelente artigo!
    Tem como fazer um passo a passo ensinando fazer a integração com o iOS via homebridge de um dispositivo SONOFF de 1 canal com o fimware customizado TASMOTA ?

    1. Oi Thiago, obrigado!

      Infelizmente meu Sonoff queimou, então deve demorar um pouco até chegar o novo. Mas assim que chegar já vou organizando pra criar um artigo sobre isso.

      Grande abraço!

  20. Fala Alliston.

    Nessa semana chegaram meus interruptores da Livolo (https://livolo.pt.aliexpress.com) controlados por RF. Fiz o homebridge utilizando o Broadlink como controlador e o MacBook como ponte do homebridge. Ficou show, a sala tá toda automatizada (luzes, TV, Home Theather). Consigo controlar tudo pelo HomeKit (Siri e Apple Watch) e pelo app da Broadlink, o e-control.

    Postei como ficou aqui (https://www.htforum.com/forum/threads/livolo-automacao-simples-de-iluminacao-de-baixo-custo.233602/page-32#post-7986436)

    Próxima semana vou ao Paraguai e comprarei um RPi 3 pra deixar rodando como ponte do HomeBridge em tempo integral. Como já tenho o config.json todo ajustado vai ser só copiar e colar.

    1. Marlos, estou querendo utilizar broadlink tb para fazer automação pelo menos da TV e HT, sou bem iniciante, por acaso vc possui um tutorial para utilizar o homebridge + Broadlink? a principio usarei o Mac para aprender e depois irei pelo mesmo caminho que vc utilizando RPi.

      Obrigado!

  21. Olá, boa noite.

    Precisa verificar a ligação dos cabos na imagem, lá ele está ligando o 5v do Raspberry na IN02 do relé, e o Pino 05 (GPIO 03) no VCC do relé. Infelizmente eu descobri da pior maneira e o Pino do meu Raspberry provavelmente queimou, já que ele não manda mais comandos para o módulo relé.

    Minha ligação ficou desta forma, e funcionou, somente o pino queimado que não executa, mas no app ele reconhece normalmente.

    5V Raspberry (Pino02) no VCC do módulo relé
    Ground Raspberry (Pino06) no GND do módulo relé
    GPIO02 do Raspberry (Pino03) no IN1 do módulo relé
    GPIO03 do Raspberry (Pino05) no IN2 do módulo relé

    Obrigado

    1. Olá Leandro, boa tarde!

      Tudo bem?

      Apesar de ter me atentado ao seu post, antes de realizar a ligação dos cabos, o pino3 da minha RBP, também não responde. Conseguiu evoluir?

      Obrigado,

      1. Em tempo, realizei um teste utilizando o código abaixo, apenas para garantir que ao pino3 da RBP, continua respondendo corretamente:

        import RPi.GPIO as GPIO
        import time

        GPIO.setmode(GPIO.BOARD)
        GPIO.setwarnings(False)
        GPIO.cleanup();

        GPIO.setup(3, GPIO.OUT)
        print(“LAMPADA LIGADA\n”)
        GPIO.output(3, GPIO.HIGH)
        time.sleep(1)
        print(“LAMPADA DESLIGADA\n”)
        GPIO.output(3, GPIO.LOW)

        Rodei em IDLE2 – Apenas para testar mesmo

        Já fico na torcida para que sua placa não tenha sido danificada.

        []’s
        Thiago

        1. Fala Pessoal,

          Consegui solucionar o problema de forma muito simples. bastou editar o arquivo “cachedAccessories”.

          pi@raspberrypi:~ $ cd /home/pi/.homebridge/
          pi@raspberrypi:~/.homebridge $ sudo nano cachedAccessories
          Limpar a linha do arquivo: ˆK
          Salvar
          Executar o Homebridge novamente.

          Este cache guarda informações do config.jason e impede a troca das portas.

          IMPORTANTE: Sugiro fazer um backup do arquivo antes de qualquer alteração.

          Abraços,
          Fabri

        2. Cara, instalei novamente e a GPIO 03 continua não respondendo.

          Entrei no caminho que você passou, mas não tem nenhuma linha, está vazio.

          Acho que devo ter feito algo errado.

          Valeu

        3. Fala Thiago, blz?

          Consegui finalmente um tempinho para executar o teste, e para minha enorme alegria realmente não queimou a porta, eu consegui escrever nela e com isso acender e apagar um led.

          Agora logo que puder que tentar novamente mexer no arquivo que voce indicou e ver se resolve.

          Valeu

          Leandro dos Santos Pereira
          1. Leandro, buenas?!

            Cara que legal em saber!

            Dei um tempo no projeto, mas vou retomar este final de semana. Conseguiu utilizar seguindo a dica acima?

            Bora descobrir coisas novas e compartilhar sempre!

            Abraço,
            Fabri

      2. Fala Thiago, blz?

        Desculpe a demora em responder, faz um tempinho que não passava por aqui.
        Ainda não responde, vou tentar o código que voce postou e verificar, eu formatei meu cartão e estou refazendo a instalação, assim que tiver noticias aviso.

        Obrigado

  22. Puxa… muito legal suas explicações… porém estou com uma duvida… estou seguindo seu tutorial… tenho um broadlink RM pro (onde já tenho todos os controles gravados)… como faço a integração dele no homebride?… me perdi nesta parte…

    1. Que bom que está aproveitando Alex! Esses dois posts são mais introdutórios, por isso não cobri um plugin que provavelmente você vai precisar.
      Sinceramente nunca trabalhei com o Broadlink, então posso falar algo que não se aplica, mas usarei de base o NodeMCU que tenho conectado aqui.

      No Node, eu criei um servidor web que me permite ter URLs para ligar/desligar um switch (por exemplo: 192.168.1.10/switch/1 para ligar ou /0 para desligar). Já no RaspberryPi, eu instalei o plugin Homebridge HTTP (https://github.com/rudders/homebridge-http) que faz a ponte, assim permitindo que eu acesse o servidor web do NodeMCU pelo aplicativo casa.

      Acredito que o Broadlink possua essa funcionalidade de servidor web também, então o plugin HTTP deve te atender. Dá uma olhada e me avisa aqui se não der certo, que dai eu alinho contigo.

      Grande abraço!

      1. Entao Alliston… obrigado pela resposta… deixa ver se estou entendendo tudo direito…
        Fiz tudo exatamente conforme o tutorial… (inclusive a instalacao do plugin)
        pelo que entendi… apos tudo isto… tenho que fazer os ajustes no arquivo config.json… correto?
        Entao… não consigo localizar o arquivo config.json… e quando executo o homebridge… ele informa que nao localizou o arquivo config.json…
        Em relação ao Broadlink… acredito que tenha que instalar o plugin.. no repositorio que voce falou… porem quando dou o comando… ele aparesenta alguns erros…
        voce sabe aonde estou errando?
        agradeço muito sua ajuda….

        1. Oi Alex! Então tá fácil! Dá uma olhada na parte do tutorial chamada Execução do Homebridge. Lá mostra como criar o config.json através do comando sudo nano /home/pi/.homebridge/config.json

          Depois de configurado, você pode instalar o plugin HTTP e configurá-lo de acordo com o tutorial da página deles no Github. Qualquer coisa, coloca aqui os erros que eu tento ver pra você.

          Grande abraço!

  23. Sensacional …

    Mandou muito bem Alliston,