# Aprendendo a usar o node Random! Consiga payloads aleatórios no Node-red!

**URL:** <https://forum.cpha.pt/t/aprendendo-a-usar-o-node-random-consiga-payloads-aleatorios-no-node-red/6110>\
**Category:** Node-Red\
**Created:** [12 Dezembro , 2020 21:40 UTC](https://forum.cpha.pt/t/aprendendo-a-usar-o-node-random-consiga-payloads-aleatorios-no-node-red/6110 "2020-12-12T21:40:54Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![LeandroIssa](https://forum.cpha.pt/user_avatar/forum.cpha.pt/leandroissa/32/11213_2.png) [@LeandroIssa](https://forum.cpha.pt/u/LeandroIssa)\
**Post date:** [12 Dezembro , 2020 21:40 UTC](https://forum.cpha.pt/t/aprendendo-a-usar-o-node-random-consiga-payloads-aleatorios-no-node-red/6110/1 "2020-12-12T21:40:54Z")

</div>

Antes de iniciar recomendo que leia alguns tutoriais para conseguir acompanhar a lógica nesse tutorial, é imprescindível que os leia e entenda.

> [@Criando automações básicas no Node-red! Primeiras automações com sensores! Tutorial básico para novatos no Node-red!](https://forum.cpha.pt/t/criando-automacoes-basicas-no-node-red-primeiras-automacoes-com-sensores-tutorial-basico-para-novatos-no-node-red/5499):
>
> Olá, se você entrou nesse tópico é porque está começando a usar o Node-red e está tendo dificuldades em aprender. Espero conseguir retirar suas dúvidas. Na nossa automação vamos usar um sensor e um switch (interruptor), vamos fazer uma automação simples de “abrir a porta, ascendeu a luz” e para isso vamos usar os nodes “events:state” e “action”. O node events:state é um node de Gatilho! [1] O node action é um node de Ação! [2] Clicando no node “events:state” vamos escolher o sensor …

> [@Payload? Oq é isso, pra que serve e como usar no Node-red! Tutorial básico!](https://forum.cpha.pt/t/payload-oq-e-isso-pra-que-serve-e-como-usar-no-node-red/5521):
>
> 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 …

> [@Consiga todas as informações das entidades! Vamos abrir a mensagem que é o Payload!](https://forum.cpha.pt/t/consiga-todas-as-informacoes-das-entidades-vamos-abrir-a-mensagem-que-e-o-payload/5852):
>
> 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 q…

Agora que você já sabe usar a interface do Node-red e já domina como usar o payload vamos ao tutorial!

Para esse tutorial vamos utilizar de início dois nodes:

1x inject  
1x random  
1x debug

Vamos organizar assim o fluxo:

![0](https://forum.cpha.pt/uploads/default/original/2X/2/2d67beb82720215d50788d67dcb191856a35d034.jpeg)

O node random vamos configurar para só termos números inteiros, nada de números quebrados, em Generate escolha “a whole number - integer”. E vamos configurar para termos números aleatórios de 1 a 3 como na imagem.

 ![2](https://forum.cpha.pt/uploads/default/original/2X/d/db413381d841e789cf8f9951970eac92d31f6b7c.jpeg)

Com o node random configurado clique no inject e vai reparar que os payloads são números dentre 1 e 3 de forma aleatória.

 ![0,5](https://forum.cpha.pt/uploads/default/original/2X/d/d6e49dbb7d4fbb7b6099a1e0a3251fb478f70198.jpeg)

Mas não só queremos os números, quero algo mais complexo! Quero que se eu clicar em inject o meu Google Home ou minha Amazon Echo diga alguma informação!

Então vamos ao tutorial:

Vamos precisar dos nodes:

1x inject  
1x random  
1x change  
1x call service

Vamos organizar o fluxo dessa forma:

![1](https://forum.cpha.pt/uploads/default/optimized/2X/a/ad655d5f5cafd3b65599ea8ba4befa5db596a7f8_2_640x43.jpeg)

Não vamos mexer no node random, ele já está configurado!

A lógica no node change é a seguinte, para cada número aleatório que o node random enviar o node change vai mudar para uma frase que queremos que a assistente diga.

Para o node change vamos configurar dessa forma:

Em Set vamos alterar para Change, em “Search for” vamos colocar o número 1 e em “Replace With” vamos escrever a mensagem que queremos que o google home ou a echo diga.  
Clique em “+add” para adicionar as outras opções e vamos completar até ter as três mensagens!

 ![3](https://forum.cpha.pt/uploads/default/original/2X/2/23fa0e698b351474ae18fceddc7c0a0888ad9b86.jpeg)

Não podemos esquecer de mudar essa opção em “Search for”, temos que mudar de “string” para “number”. Temos que mudar em todas as opções.

 ![4](https://forum.cpha.pt/uploads/default/original/2X/e/ef6dc3ca03cab6a7157bd4e57e2d18821e185695.jpeg)

Pronto, temos o node change configurado!

A lógica no node call service é a seguinte: com o payload sendo a mensagem que foi enviada de forma aleatória a assistente vai falar o payload recebido.

Para dar andamento no tutorial o node call service deve ser configurado a sua escolha, se você usa Google Home é de uma forma e se usa Amazon Echo é de outra.

Para o Google Home:

Se você usa os TTS Watson, Polly ou Google a configuração deve ser essa:

 ![5](https://forum.cpha.pt/uploads/default/original/2X/d/d1d046427435cd15dc0f85251c333c2b3eeeef05.jpeg)

E o Data com o payload como a mensagem!

 ![6](https://forum.cpha.pt/uploads/default/original/2X/7/7c9764125bb2597df8b02567fac8d7d6d8923e0b.jpeg)

```
{
    "message": "{{payload}}"
}

```

Para a Amazon Echo:

A configuração é assim:

 ![7](https://forum.cpha.pt/uploads/default/original/2X/0/0aa88530ed680975636be62ef1c83f64c7c435b8.jpeg)

E o Data com o payload como a mensagem!

 ![8](https://forum.cpha.pt/uploads/default/original/2X/b/b684c2893b1afbbb5c13d806766ad63910c9ee86.jpeg)

```
{
    "data": {
        "type": "announce",
        "method": "all"
    },
    "title": "TESTE ALEXA",
    "message": "<voice name=''>{{payload}}</voice>",
    "target": [
        "media_player.echo_flex_de_leandro"
    ]
}

```

Fique atento na hora da configuração de alterar o media\_player para o seu dispositivo!

Pronto, agora é só apertar o quadradinho do node inject e podemos ter as assistentes dizendo frases de forma aleatória!

 ![9](https://forum.cpha.pt/uploads/default/original/2X/2/2813ea39e917c4ef11d229823a40f9ee8e9298ce.jpeg)

Até +, um abraço!

---

<div class="post-metadata">

**Author:** ![LeandroIssa](https://forum.cpha.pt/user_avatar/forum.cpha.pt/leandroissa/32/11213_2.png) [@LeandroIssa](https://forum.cpha.pt/u/LeandroIssa)\
**Post date:** [16 Dezembro , 2020 00:21 UTC](https://forum.cpha.pt/t/aprendendo-a-usar-o-node-random-consiga-payloads-aleatorios-no-node-red/6110/2 "2020-12-16T00:21:43Z")

</div>

Caso alguém queira usar com o telegram o esquema é parecido!

 ![1](https://forum.cpha.pt/uploads/default/original/2X/d/d3fba7fb4708ab529d2ffb3c47d8362eab8db49a.png)
