Node-RED – Automação Capturar valor do Dólar $

Dando continuidade no Node-RED, hoje venho compartilhar uma automação dentro do NR para capturar o valor do dólar e com isso você fazer o que bem entender.

Exemplos:

  • Google avisar o valor do dólar quando tiver alguém em casa;
  • Enviar uma mensagem no Telegram;
  • Avisar quando o dólar estiver abaixo de X valor;

Nesse exemplo vamos configurar para todos os dias às 8:30 da manhã enviar via Telegram o valor do dólar atualizado através do site do google.

Como pretendemos iniciar através de uma determinada hora/data vamos começar com o nó “inject” que fica na categoria input.

Clique duas vezes para configurar o nó.

No campo Repeat vamos selecionar a opção “at a specific time” (em um horário específico). No campo at colocar a data que queremos que inicie, 08:30, e selecionar todos os dias (sim, posso configurar para um determinado dia da semana também), e no campo Name preencha como achar melhor. Resultado:

Agora que temos o “start” da automação, precisamos capturar o valor do dólar. Para isso vamos utilizar o site do google que dificilmente estará errado ou com problema.
Site: https://www.google.com/search?q=1+usd

Para capturar uma informação de um site, vamos usar o nó “http request“. Arraste o nó para dentro do seu flow, e clique duas vezes para configurar o nó.

No campo URL insira o endereço do google citado acima, e no campo Name defina o nome que for mais apropriado para você.

Agora vamos precisar “tratar” o conteúdo que o nó http request irá pegar. Se vocês colocarem um nó de debug e iniciar a automação, irão perceber que irá trazer tudo que tem na página do google com o resultado do dólar. Vamos precisar filtrar esse conteúdo para pegar apenas o valor do dólar com código javascript, através de um nó “function“.

Arraste o nó para seu flow e clique duas vezes para poder configurar.

Bom, essa parte é um pouco mais complexa, então vamos tentar resumir. O que está logo abaixo é o código em javascript para filtrar a informação do dólar no conteúdo todo retornado da página do google. Para isso é criado uma função que recebe 3 (três) parâmetros, define váriaveis de início, arrays, com uma estrutura de repetição e um método push que insere um ou mais elementos no final de um array.

Com o array criado, o primeiro resultado do array (posição) é exatamente o valor do dólar na página do google. Como a ideia é compartilhar o método de capturar o valor do dólar, não vamos entrar em mais detalhes. Você precisará simplesmente copiar o código abaixo e colocar dentro do nó no campo function e aplicar um nome para o nó.

O resultado deve ficar assim no nó:

nó function com a função em javascript para filtrar o valor do dólar no site do google

Após configurado o nó function, vamos para o último nó. O “call service”, que nada mais é que chamar um serviço. No nosso tutorial será um serviço do telegram, mas poderia ser de notificação, de media player, de e-mails, etc.

Arraste o nó “call service” para seu flow e clique duas vezes para configurar.

Nos campos:

  • Domain: Preencha com notify;
  • Service: O nome do seu telegram configurado no seu HA
  • Entity Id: Deixe em branco
  • Data: Preencha com a mensagem que achar melhor e com o valor filtrado do nó function, exemplo:
    {“message”:”O Dólar hoje está em R$ {{payload}}”}

E clique em done. Após isso ligue os nós e pronto. Sua automação no Node-RED para capturar o dólar está pronto.

Para testar, uma das facilidades/benefício de se utilizar o nó inject, é que mesmo configurado para iniciar em um determinada hora ou data, basta você clicar no nó (ao lado da setinha) e a automação irá executar e com isso você poderá verificar o resultado.

É isso pessoal, como no início do tutorial, você pode configurar de diversas maneiras a informação do dólar. Esse é apenas um exemplo.

Créditos ao Marcio Granzotto que compartilhou a função em javascript.

Você pode gostar...

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *