Todos que já pegaram o Node-red para utilizar já viram essa palavra “payload” dentro de algum node para configurar ou até escrito no node quando colocado em um flow para ser montada uma automação, mas você sabe o que é Payload?
Antes de tudo, se está começando no Node-red e não conhece a interface e como utilizar recomendo esse tutorial:
Agora vamos ao Payload:
Payload é o nome que dão para a mensagem que é enviada de um node para outro!
Essa mensagem é alterada (ou não) na sequencia de uma automação e se você não souber como utilizar o payload ele pode acabar atrapalhando suas automações.
Existem nodes que só repassam a mensagem e existem nodes que alteram a mensagem por configurações de dentro deles.
Vou mostrar como podemos alterar o payload e entendendo sua lógica fica mais fácil para você altera-lo em suas automações ou usa-lo de forma inteligente.
Para conseguirmos ver o payload vamos utilizar o node debug!
Pegue um node call service e configure com um sensor e link no node debug, quando o sensor é acionado na tela de debug vai aparecer qual foi o payload enviado.
Podemos ver que o payload recebido pelo debug foi “on”. Alguns nodes retornam status embaixo.
Vou usar um exemplo para explicar como o payload é utilizado!
Um exemplo:
Como vocês já sabem como criar uma automação com sensores, vamos usar um sensor como exemplo, vamos montar uma automação em que o google home mini nos avisa quando houve movimento em um ambiente.
Então a lógica é simples, houve movimento, o google home mini vai avisar!
Vamos precisar dos nodes:
1x events:state
1x cast
1x change
Vamos utilizar node “events:state” para configurar o nosso sensor de movimento.
Com ele configurado para “casa haja movimento…” vamos para o node “cast” que é o node do nosso google home mini!
Clicando na lupa vamos adicionar nosso google home mini.
Agora vamos linkar um ao outro e clicar em “Deploy”.
Vai perceber que quando acionar a automação tendo movimento no sensor o google home mini vai falar “on”. O google home mini vai captar o “payload”, a mensagem, que o node “events:state” transmitiu que é “on”. Mas nós não queremos que o google home mini diga “on”, queremos uma mensagem correta, algo como: “houve movimento na sala”.
Então vamos alterar o payload, a mensagem que está sendo transmitida. Para isso vamos utilizar o node “change”.
No node “change” vamos alterar o payload para a mensagem que queremos que o google home mini diga, então vamos completar com a mensagem!
Agora é só organizar a nossa automação colocando o node “change” entre o node “events:state” e “cast”, agora é só clicar em Deploy.
Agora sim, houve movimento, o google home mini vai avisar com a mensagem “houve movimento na sala”.
Espero ter ajudado, entendendo o que é o payload se pode realizar automações de forma + simples.
Um abraço!
Quer aprender mais sobre o Payload e entender melhor como ele funciona? Da uma lida aqui, não vai se arrepender!