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!
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 (Check ID).
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.
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.
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 verificar o funcionamento automático vamos criar um fluxo no Node-Red antes de criarmos o sensor no Home Assistant.
Nós:
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”.
Pesquisar por “Healthchecks.io”.
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.
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!