Node switch
O nó switch
é projetado para roteamento de mensagens com base em seu conteúdo, estrutura ou outras condições. É uma ferramenta poderosa para criar lógica condicional em fluxos.
Configurações para o nó switch
1. Nome
Um campo para especificar o nome do nó.
O nome é exibido no espaço de trabalho e ajuda a identificar facilmente o nó.
Se deixado em branco, o nó será chamado de inject
.
Exemplo:
- Nome do nó:
verificar status
2. Propriedade
Especifica qual propriedade do objeto de mensagem msg
será usada para verificar as condições.
Exemplo:
msg.payload
msg.topic
msg.device.temperature
Propriedades de ambiente (flow
, global
) também são suportadas.
3. Verificação
- Verificar até a primeira correspondência (Padrão):
A mensagem é enviada apenas para a primeira saída que atende à condição. - Verificar todas as correspondências:
A mensagem pode ser enviada para várias saídas se atender a várias condições.
3. Regras
Define a lógica de roteamento. Cada condição está vinculada a uma das saídas do nó. A mensagem será enviada para a primeira saída adequada.
Tipos de condições disponíveis:
==
: Verifica a igualdade de valor.!=
: Verifica a desigualdade.<
: Verifica se o valor é menor.<=
: Verifica se o valor é menor ou igual a.>
: Verifica se o valor é maior.>=
: Verifica se o valor é maior ou igual a.has key
: Verifica se o objeto contém a chave especificada.between
: Verifica se o valor está dentro do intervalo especificado (inclusivo).contains
: Verifica se a string ou array contém o valor especificado.matches regex
: Verifica se a string corresponde à expressão regular.equals true
: Verifica se o valor é igual atrue
.equals false
: Verifica se o valor é igual afalse
.equals null
: Verifica se o valor é igual anull
.not equals null
: Verifica se o valor não é igual anull
.is of type
: Verifica se o valor corresponde ao tipo especificado (por exemplo,string
,number
,boolean
).empty
: Verifica se a string, array ou objeto está vazio.not empty
: Verifica se a string, array ou objeto não está vazio.else
: Executa se nenhuma das outras condições for atendida.
Exemplo:
msg.payload
é maior que50
Entrada
O nó aceita o objeto msg
.
Quais propriedades específicas serão verificadas é definido no campo Propriedade.
Saída
O nó envia a mensagem msg
para a saída que corresponde à condição especificada.
Se a mensagem não atender a nenhuma condição, não é enviada para as saídas.
Exemplos de Uso
Exemplo 1: Filtrando dados de temperatura
Tarefa:
Categorizar dados em três categorias: temperatura baixa, normal e alta.
Fluxo:
[inject] ---> [function] ---> [switch] ---> [debug (temp baixa)]
| [debug (temp normal)]
| [debug (temp alta)]
Configurações para o nó switch
:
- Propriedade:
msg.payload
- Condições:
é menor que 10
→ Saída 1está entre 10 e 30
→ Saída 2é maior que 30
→ Saída 3
Resultado:
As temperaturas serão roteadas com base em seu valor.