Olá, pessoal! Tudo bem?
Acredito que não seja um grande absurdo imaginar que todos os usuários do Aquarino tenham algum interesse em automação de um modo geral.
No meu caso, atualmente utilizo o Home Assistant como plataforma central dos meus equipamentos de casa inteligente, permitindo que eu controle iluminação, cortinas, ar condicionados, crie rotinas para verificação de presença, controle de energia elétrica, entre outras funções. Para aqueles que não conhecem, o HA tem como principal característica integrar diversos equipamentos e sistemas de fabricantes diferentes, dando uma grande flexibilidade e escalabilidade para a solução.
Ao final, por meio do HA, consigo acessar grande número de informações da minha casa, seja localmente, seja pela internet. Então veio a pergunta: será que não consigo replicar algumas informações do Aquarino no HA? "Ah, mas por quê, já que está tudo na plataforma do Aquarino?" - alguém pode perguntar. Bom, alguns motivos: 1. se eu conseguir replicar informações de sensores do Aquarino no HA, para obter informações em tempo real de sistemas importantes da minha casa, entre eles o aquário, eu acessaria apenas uma ferramenta; 2. com os dados importados a partir do Aquarino, posso instruir o HA a tomar medidas de adequação do ambiente onde o aquário está instalado, como, por exemplo, acionar um ar condicionado ou ligar uma lâmpada de apoio; e 3. Porque sim! 😂
Então, sem mais enrolações, a seguir vou apresentar a maneira como fiz essa "integração", bem como alguns dos resultados que obtive. É importante deixar claro que não sou especialista em nada. Sou apenas um curioso teimoso, então é bem possível que utilize termos e expressões técnicas equivocadas. Estou pedindo desculpas antecipadamente por isso!!! 😅
Como falei anteriormente, a intenção era importar os dados do Aquarino para adotar medidas no ambiente. Então, o primeiro passo foi descobrir como extrair as informações que eu desejava (mais especificamente, os valores dos sensores).
Temos duas opções para acessar as informações de nossos Aquarinos: uma via Cloud, outra de forma local, na nossa própria rede de dados. Ambas as formas utilizam o protocolo http para transferir os dados entre servidor e cliente. Em resumo, ao acessar o servidor, local ou remotamente, recebemos uma página htm, onde estão os controles e informações apresentadas pelo servidor.
Assim, a forma que encontrei de extrair esses dados foi por meio de uma requisição http (http request), direcionada a uma página htm específica. No caso em questão, o método da requisição http utilizado foi o GET. A ferramenta utilizada para fazer essa requisição foi o Node-Red, que está instalado como um add-on do meu HA. Esse foi o fluxo que criei no Node-Red:
Cada caixinha dessa (ou nó) tem uma função específica. A primeira (timestamp), no caso, serve pra injetar uma informação qualquer e, periodicamente, começar a rotina. A segunda, é o http request, que está direcionado à página htm local de sensores do Aquarino. A pilha em amarelo é formada por nós do tipo change, que basicamente, neste caso, servem para filtrar a informação que eu desejo. Já os nós em azul (entity node) escrevem a informação obtida em entidades específicas, que são utilizadas no HA para controle do ambiente. Essas caixinhas azuis são responsáveis por transformar a informação obtida no Aquarino em algo que pode ser utilizado no HA.
No caso específico, de tempos em tempos (a cada 2 minutos), é feita uma requisição http à página http://192.XXX.XXX.XXX/data.json?obj=sensor, sendo que o endereço http://192.XXX.XXX.XXX/ é a URL utilizada para acessar localmente meu Aquarino. Como resultado, se obtém uma string contendo todos os valores dos sensores apresentados na aba Sensors do Aquarino. Abaixo apresento um pedacinho do do resultado do http request:
Por ele, percebemos que o objeto de id 0, que no caso se refere ao meu sensor de temperatura do display (Temp Displ), apresenta alguns valores, entre eles a temperatura atual (VAL).
As caixinhas azuis recebem os valores obtidos dos nós change e os inserem nas entidades que criei no HA. A partir de agora, é configuração do dia a dia com HA. 😊
Seguem painéis que personalizei no HA com as informações obtidas:
Além disso, também é possível personalizar notificações, tanto em frequência, como em conteúdo:
Lembrando que a ideia nunca foi controlar e monitorar o aquário, pois o Aquarino já faz isso. A ideia é controlar o ambiente por meio de informações obtidas a partir do Aquarino e, para esse fim, essa "integração" funcionou bem!
E é isso, pessoal! Se eu puder ajudar em alguma coisa, é só falar!
Pedro, seu trabalho está excelente. Gostaria de entender como fez a filtragem com o nó "change". Obrigado