Automação Residencial, Engenharia Reversa e Cemitério de Repositórios

Recentemente mudei de casa e tenho usado o Claude Code para me ajudar a configurar os sistemas daqui. Tive que fazer a clássica instalação de wi-fi pelo apartamento, e precisava de alguns access points para cobrir bem os diferentes cômodos.

Como não entendo muito de redes, sempre ficam lugares com sombreamento, além de que muitas vezes, quando você chega em casa, o computador está conectado na antena errada, alguma que não está tão próxima. E quando você entra no painel de controle desses roteadores, eles sempre parecem o computador de bordo de uma nave espacial.

Escolhi o UniFi, da Ubiquiti, que costuma ser uma obviedade entre muitos devs. Comecei perguntando num chat o que eu deveria fazer, até perceber que, se eu usasse o Claude Code e fosse andando pela casa, avisando onde eu estava, e desse uma API key do UniFi para ele, ele mesmo poderia dizer e fazer as configurações em tempo real. Potência, bandas, GHz: todas essas configurações que conheço de nome, sem ter certeza de como funcionam, colocadas nos melhores números.

Access point UniFi U7 Pro, da Ubiquiti. Foto: divulgação Ubiquiti

Esse foi só o primeiro passo. Estudei sobre automação residencial e percebi que ela continua sendo um pouco complicada para fazer manualmente. Desde a instalação de hardware até os milhares de protocolos: Zigbee, Tuya, se passa ou não por wi-fi, Bluetooth, se você vai precisar de infravermelho ou rádio. Tem um universo inteiro dentro do mundo do Home Assistant, ainda mais para fazer integração com Alexa, Google Home e afins.

Acabei simplificando e comprei algumas lâmpadas da Govee, mais uma dessas grandes marcas puramente chinesas, mas com uma estética de cara de Califórnia. Achei de ótima qualidade e já tem importação direta brasileira, inclusive com padrão de tomada nacional. Fiquei surpreso.

A integração existe através de MQTT e do Mosquitto. Não entendo muito bem, mas usando o Claude Code para instalar o Home Assistant, e tendo um computadorzinho dentro de casa, ele consegue, pelo wi-fi, acender, desligar e colocar cor nessas smart lamps, inclusive nas mais ousadas. A Govee tem umas em formato de antena, outras em formato de lâmpada tripla e até mesmo um varal de luzes, como esses que a gente usa fora de casa.

Varal de luzes RGBIC da Govee em área externa. Foto: divulgação Govee

Rapidamente percebi alguns shortcomings. Os protocolos dessas lâmpadas foram destrinchados pela comunidade com engenharia reversa, e as bibliotecas conseguem fazer alguma coisa com elas, mas não tudo. O mais interessante é ver que muitos desses projetos foram criados com inteligência artificial, mas não conseguem mapear todas as funcionalidades. Para isso, adivinha o que eu fiz? Criei meu próprio fork e fiz também, obviamente, pull requests.

E o complexo é que essa grande quantidade de projetos, subprojetos e forks gera um cemitério de pequenos sisteminhas que poucas pessoas usam, e que acabam tendo essa cara de pet project ou de personal software. O tal do software perecível, disposable. Esses projetos pequenos, abandonados, criam um cemitério de repositórios muito semelhante ao que vemos nas empresas: o acúmulo de pilotos e pequenos agentes de IA que ficam flutuando por aí sem tanto uso, rodando quase como Shadow IT.

Nessa experiência, percebi como é interessante usar as ferramentas de AI como copiloto para fazer engenharia reversa de protocolos e de formatos de dados. E vejo como o mecanismo de Physical AI entraria aqui: mesmo um robô simples que consiga se movimentar pela casa, como o próprio aspirador de pó, se fosse tirando foto das lâmpadas e das luzes, ou medindo o sinal do wi-fi, poderia ter feito tudo isso que eu fiz, sem eu ter que ficar dando input sobre a minha visão da casa e do que estava acontecendo.

Acabei contribuindo com algumas discussões e pull requests em alguns projetos. O Faisca, meu agente, documentou essa engenharia reversa em detalhes no post What Govee’s API Won’t Tell You, com os links de cada PR e issue. E também deixei anotada a minha skill govee-lan-protocol, para você usar melhor o seu Home Assistant com as lâmpadas da Govee, o mesmo material que eu uso de forma direta.

O bot do Telegram e a mini app que uso para controlar as lâmpadas da casa

Para ser sincero, no meu caso tenho usado mais um bot do Telegram, com uma mini app que fiz, para utilizar essas features das lâmpadas. E o bot aceita também voz e texto, jogando para um claude -p que tem o contexto do HomeAssistant e afins.

Você também pode gostar