Monitoramento do status do Home Assistant com o Healthchecks via ping

Existem várias formas de verificação da operacionalidade do Home Assistant, como por exemplo utilizando dispositivos Zigbee com mqtt, mas através do Healthchecks não há custos, a automação é simples e eficiente.

O Healthchecks monitora servidores, backups, tarefas, etc., para que sejam cumpridas no prazo, monitorando em segundo plano através de ping em uma URL.

Quando detecta que não foi feito o ping no tempo determinado envia um alerta.

Esse monitoramento do Healthchecks pode ser muito bem aproveitado para monitorar o Home Assistant. E de graça!

Para começar precisamos inscrever no site: https://healthchecks.io/

Clique em “Sign Up”, preencha com seu e-mail para receber um link, clique na opção de enviar, verifique o seu e-mail, clique no link “Sign In”recebido e no link de “Continue”.

Você será direcionado para uma página em que poderá adicionar o seu Check.

Você já tem o seu link de check.

Copie esse link e cole em um navegador.

Você terá o retorno “OK”, indicando que foi verificado um ping naquele link.

E se retornar em sua conta do Healthchecks verificará o tempo em que foi realizado o último ping.

Essa informação que está à frente de “My first Check” é o seu Check ID e será necessário para configuração no Home Assistant, bem como uso no Node-Red e outros.

image

Vamos anotar algumas informações que vamos precisar mais à frente.

Vá em “Settings” e clique em “Create” na API Key.

Anote, pois ele será mascarado e precisará dele.

Já vamos fazer algumas configurações aqui para utilizarmos em automações.

Clique na opção “Integrations” e verá as várias integrações que podem ser utilizadas para informar o resultado do ping, como Telegram, WhatsApp, SMS, e-mail, etc.

Nesse post vou adicionar somente o Telegram, mas a lógica é parecida para os demais.

Clique em “Add Integration” no Telegram.

Um guia indicará as formas de fazer a configuração no Telegram, sendo que pode ser utilizado o Bot do Healthcheks em Grupos, mensagem direta ou em Canais.

Em meu caso convidei o Bot para um grupo que já tenho criado para o Home Assistant. A maioria dos usuários do Home Assistant já tem um.

Volte para a página inicial de “Checks”.

Se quiser, clique sobre o nome “My First Check” e o renomeie.

Clique sob “Period Grace”, no período informado, e altere conforme a imagem e salve.

A lógica aí é a seguinte:

O Período (Period) é o tempo em que serão aguardados os pings. Se ultrapassar o Healthchecks já detectará anormalidade.

O Período de graça (Grace Time) é o tempo a partir do qual sendo verificado um atraso deve esperar para enviar um alerta.

No caso configurado o alerta será enviado em 3 minuitos.

Agora copie novamente o link de check e cole no Browser e retorne para a página do Healthchecks.

Notará que no início há a indicação do status por um ícone verde, indicando que está tudo bem. Ainda dentro do período de 2 minutos configurado.

Quando ultrapassar os 2 minutos (e antes de 3 minutos) o ícone será laranja, indicando atenção, pois o ping está atrasado.

E quando ultrapassar os 3 minutos o ícone será vermelho, indicando que o período de graça foi ultrapassado, e portanto indicando que o seu sistema está inativo.

E continuará assim até receber novo ping, voltando então para verde e uma nova contagem de tempo.

Essas diversas indicações estão documentadas no site.

Se você já fez a configuração indicada para o Telegram notará que já está recebendo mensagens de acordo com o status do check.

image

Porém, esse cheque está sendo realizado manualmente quando copiamos o link de check no Browser, mas queremos que isso seja automático, e verificando o status do nosso Home Asistant, então vamos às configurações.

Para uso no Node-Red nem precisaríamos dessa configuração, pois é possível utilizar diretamente o link de check. Mas, também pode ser utilizado o sensor que será criado no Home Assistant.

Mas, como já queremos o “trem” funcionando vamos criar a automação no Node-Red antes de criarmos o sensor no Home Assistant.

01 inject
01 http request

Configure como nas imagens abaixo.

No inject configuramos 2 minutos porque é o período que configuramos no Healthchecks.
Na URL cole o seu Check Id (link de ping).

Agora, a cada 2 minutos será feito automaticamente um ping na sua URL de check. Se o Home Assistant ficar indisponível esse ping não ocorrerá e o Healthchecks reconhecerá e esperará o período de graça configurado e se for ultrapassado enviará uma notificação, nesse caso no Telegram, indicando a falha, então poderá ser verificado o que ocorreu e restaurar.

Faça alguns testes alterando o tempo do nó Inject ou injetando testes em períodos distintos.

Agora vamos à Integração no Home Assistant e criação do sensor.

A Integração é feita no HACS.

Ir em “HACS” e “Integrações”.

Clicar em “Explorar e baixar repositórios” e pesquisar por “healthchecksio”.

Clicar sobre “healthchecksio”.

Clicar em “Baixar”

Clicar novamente em “Baixar”.

Reiniciar o Home Assistant.

Clique em “Configurações” e em “Dispositivos & Serviços”.

Clique em “Adicionar integração”.

Pesquise por “healthchecksio” e clique sobre a integração

Aguarde conforme instrução e em seguida preencha com sua API Key obtida no site Healtchecks.

Obs.: Não confundir com a API Key (rea-only).

E com o Check ID obtido no site Healtchecks.

Em seguida clique em “Enviar”.

E você terá uma mensagem de sucesso, então clique em “Terminar”.

E você já tem a integração com um sensor.

image

image

Com o sensor, no Home Assistant ou no Node-Red podemos criar automações, se quisermos adicionar mais funções.

Também, na página do Healthchecks poderão ser verificadas outras muitas informações e criados outros checks.

O teste de ping que foi criado anteriormente no Node-Red pode ser substituído por um criado no Home Assistant.

Adicionalmente, em posse do status, caso o equipamento de instalação do Home Assistant ou o sistema precise ser reinicializado poderão ser utilizados dispositivos, como por exemplo, tomada inteligente, ou configurações para isso.

Espero que seja útil.

Abraços a todos!

6 Likes