Consiga todas as informações das entidades! Vamos abrir a mensagem que é o Payload!

Acredito que se você está nesse tópico é porque já sabe o que é o Payload e já sabe como ele é importante para a criação de uma automação no node-red!

Não conhece o payload? Então entra nesse link abaixo e descubra, depois volta aqui!

Como vimos o payload é uma mensagem que é passada de node em node na sequencia de uma automação, de um fluxo. Vamos abrir essa mensagem e perceber que ela é muito maior do que pensamos e do que podemos ver!

Para começar vou pegar como exemplo o card de clima que acredito que todos conheçam!

01

Podemos perceber que o card de clima tem muitas informações como umidade, temperatura, pressão do ar, velocidade do tempo e o status do clima do momento, que aqui na imagem é nublado. Além da previsão para os próximos 5 dias.

Para conseguirmos essas informações no node-red vamos precisar dos seguintes nodes:

1x inject
1x current state
1x debug

O node inject não vamos precisar mexer em nada.
No node current state vamos configurar colocando o weather.casa (entidade do cartão) em entity id.

A função do node debug é exibir as propriedades da mensagem, o payload que foi recebido do node anterior. Exibe também log. Para podemos ver essas informações precisamos clicar na opção “debug messages” embaixo do deploy.

Linkando todos os nodes, dando Deploy e depois clicando no quadradinho do node inject podemos ver o payload que a entidade weather.casa transmite quando acionado o node current state com ela. Podemos ver que o payload é o status atual do clima, cloudy, que seria o nublado. Mas não queremos só essa informação, queremos ter acesso a todas as outras também!

Para ter acesso a todas as informações que o payload nos entrega, dentro do node debug vamos alterar em Output, mude de “msg.” para “complete msg object”.

Agora clique em Deploy e novamente no quadradinho do node inject. Podemos perceber que agora temos muito mais informações na tela de Debug message. É ali que estão todas as informações que queremos.

Clicando nas setinhas podemos ver que o Payload vai se abrindo, vemos as informações de temperatura, umidade, pressão do ar, velocidade do vento e o status de cloudy, nublado.

São as mesmas informações que temos aqui no card.

Mas não queremos só essas informações queremos todas, até as de previsão de tempo! Então, essas informações também estão lá! Em forecast os números de 0 a 4 são as previsões para os próximos 5 dias e seus dados.

Temos no node-red as mesmas informações que temos no card de clima.

Pronto, achamos as informações, mas como podemos usa-las no node-red?

Para usa-las vou dar um exemplo, imagine que queremos por exemplo que o payload seja só a informação de temperatura, não quero as outras informações, só a temperatura!

Então vamos filtrar o payload! Para isso vamos precisar do node change. Coloque o change entre o current state e o debug.

No node change vamos trocar o payload pela informação de temperatura. Então vamos colocar o caminho de dentro do payload até a informação que vamos precisar.

Esse caminho você não precisa entender a lógica, pode clicar em “Copy path” que você copia ele e é só colar no node change.

013

Vamos alterar o node debug para como estava antes, em sua forma original.

Com todos os node configurados corretamente e clicando no quadradinho do node inject podemos ver que agora o payload recebido pelo debug é o valor da temperatura. Assim conseguimos filtrar o payload.

Espero que tenham conseguido compreender!
Um abraço!

4 Likes