Nó switch
O nó switch encaminha mensagens de acordo com o conteúdo, a estrutura ou outras condições. Use-o para criar lógica condicional nos fluxos.
Configurações do nó switch

1. Name
Nome do nó.
O nome aparece na área de trabalho e ajuda a identificar o nó.
Se o campo ficar vazio, o nó se chamará switch.
Exemplo:
- Nome do nó:
check status
2. Property
Define qual propriedade do objeto de mensagem msg será usada para verificar as condições. O padrão é payload.
Exemplo:
msg.payloadmsg.topicmsg.device.temperature
Propriedades de contexto (flow, global) também são suportadas.
3. Check
- check all rules (padrão):
uma mensagem que atende a várias condições pode ser enviada para várias saídas. - stop after first match:
a mensagem vai apenas para a primeira saída cuja condição ela atende.
4. Rules
As regras definem a lógica de roteamento. Cada regra está vinculada a uma das saídas do nó, então o nó tem tantas saídas quanto regras. O campo Check determina para quantas saídas a mensagem vai quando várias regras correspondem.
Cada regra tem dois campos: Condition, o tipo de condição, e Value, o valor de comparação. Nas condições equals true, equals false, equals null, not equals null, empty e not empty, o campo Value não aparece.
Tipos de condição disponíveis:
==: verifica se o valor é igual.!=: verifica se o valor é diferente.<: verifica se o valor é menor.<=: verifica se o valor é menor ou igual.>: verifica se o valor é maior.>=: verifica se o valor é maior ou igual.has key: verifica se o objeto contém a chave especificada.between: verifica se o valor está no intervalo especificado (inclusive).contains: verifica se a string ou o 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 é diferente denull.is of type: verifica se o valor é do tipo especificado (por exemplo,string,number,boolean).empty: verifica se a string, o array ou o objeto está vazio.not empty: verifica se a string, o array ou o objeto não está vazio.else: é acionada quando nenhuma das outras condições é atendida.
Exemplo:
- Condition:
>, Value:50
Dados de entrada
O nó recebe um objeto msg.
As propriedades a verificar são definidas no campo Property.
Dados de saída
O nó envia a mensagem msg para a saída cuja condição ela atende.
Se a mensagem não atender a nenhuma condição, ela não é enviada para nenhuma saída.
Exemplos de uso
Exemplo 1: filtragem de dados de temperatura
Tarefa:
Dividir os dados em três categorias: temperatura baixa, normal e alta.
Fluxo:
[inject] ---> [function] ---> [switch] ---> [debug (low temp)]
| [debug (normal temp)]
| [debug (high temp)]
Configurações do nó switch:
- Property:
msg.payload - Condições:
is less than 10→ Saída 1is between 10 and 30→ Saída 2is greater than 30→ Saída 3
Resultado:
As temperaturas são encaminhadas de acordo com o valor.