> For the complete documentation index, see [llms.txt](https://navixy.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://navixy.com/docs/user/pt-br/guide/account/iot-logic/nodes/logic-node.md).

# Lógica IF/THEN

## Visão geral técnica e recursos

{% columns %}
{% column %}
O **Lógica IF/THEN** o nó cria pontos de ramificação inteligentes que encaminham os dados de entrada por caminhos diferentes com base em condições lógicas. Ele recebe dados de outros nós, valida-os de acordo com as condições definidas por você e encaminha os resultados por caminhos diferentes com base no sucesso ou na falha da validação. O nó permite criar fluxos IF->THEN/ELSE em que ações diferentes ocorrem automaticamente com base em condições de dados em tempo real.
{% endcolumn %}

{% column %}

<figure><img src="/files/32ad7ee030b74b719c2bb01f9a348323f462945c" alt="IF/THEN Logic node tile"><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

{% hint style="info" %}
O **Lógica IF/THEN** os nós são configurados separadamente para cada fluxo na interface da plataforma Navixy. Cada nó contém apenas uma fórmula lógica, com base em [Navixy IoT Logic Expression Language](/docs/iot-logic-api/technologies/navixy-iot-logic-expression-language.md).\
Para opções específicas de sintaxe relacionadas a expressões lógicas, consulte [Expressões e sintaxe da Lógica IF/THEN](/docs/user/pt-br/guide/account/iot-logic/nodes/logic-node/logic-node-expressions-and-syntax.md).
{% endhint %}

<figure><img src="/files/7e26fb956ef41fdf09a793448d51dd620f128aba" alt="IF/THEN Logic node positioning in the flow architecture (with inbound and outbound connections)"><figcaption></figcaption></figure>

### Como os nós da Lógica IF/THEN funcionam

Quando os dados chegam pela primeira vez a um **Lógica IF/THEN** nó, o sistema cria um atributo booleano definido pelo usuário que armazena os resultados da avaliação. Cada pacote de dados subsequente é avaliado em relação à sua expressão lógica, atualizando o valor desse atributo e encaminhando os dados de acordo:

* **Resultados verdadeiros**: Os dados fluem pela conexão THEN (verde), com o atributo booleano definido como `true`
* **Resultados falsos**: Os dados fluem pela conexão ELSE (vermelha), com o atributo booleano definido como `false`

Essa avaliação acontece independentemente para cada pacote de dados, permitindo que diferentes registros do mesmo dispositivo sigam caminhos diferentes com base em condições em tempo real.

### Integração da arquitetura do fluxo

Os atributos booleanos criados por **Lógica IF/THEN** nós vão além do roteamento de fluxo e se integram aos recursos mais amplos de monitoramento da Navixy. Como esses são atributos personalizados definidos pelo usuário, eles podem ser:

* **Monitorados em tempo real**: Visualize os resultados da avaliação no [Analisador de fluxo de dados](/docs/user/pt-br/guide/account/iot-logic/data-stream-analyzer.md) para solucionar problemas nas condições e verificar a lógica
* **Adicionados como sensores personalizados**: Integre-se à interface principal da Navixy para monitoramento contínuo

Como sensores personalizados, esses atributos possibilitam dois recursos principais:

* **Acionamento de alertas**: Você pode criar regras personalizadas com base no valor de um sensor para receber notificações em caso de desvios. Para detalhes sobre a criação de regras, consulte [Regras e notificações](/docs/user/pt-br/guide/events-and-notifications.md).
* **Monitoramento de entidades**: Você pode adicionar um atributo ao widget [Lista de objetos](/docs/user/pt-br/guide/tracking/objects-list.md) para monitorar seu valor juntamente com outras leituras do dispositivo. Para detalhes sobre como criar um sensor personalizado a partir de um atributo do IoT Logic, consulte [Exibição de novos atributos calculados na plataforma Navixy](/docs/user/pt-br/guide/account/iot-logic/nodes/initiate-attribute-node/displaying-new-calculated-attributes-on-the-navixy-platform.md).

{% hint style="info" %}
O **Lógica IF/THEN** o nó requer uma conexão com pelo menos um nó anterior (**Fonte de dados** ou outros nós de processamento) para receber dados de entrada para validação.
{% endhint %}

### Recursos do nó

O **Lógica IF/THEN** o nó oferece:

* **Roteamento condicional de dados**: Crie fluxos de trabalho ramificados que direcionam automaticamente os dados com base em expressões lógicas que retornam resultados true ou false.
* **Validação em tempo real**: Teste os dados recebidos do dispositivo em relação às regras de negócio e aos limites operacionais à medida que os dados chegam.
* **Suporte a condições complexas**: Combine vários parâmetros usando operadores lógicos (AND, OR etc.) para uma tomada de decisão sofisticada.
* **Condições baseadas em cerca virtual**: Faça referência diretamente a cercas virtuais da Navixy nomeadas nas expressões usando `inGeofence()`, `enterGeofence()`, e `leaveGeofence()` funções, sem comparações manuais de coordenadas. Consulte [Funções de cerca virtual](/docs/user/pt-br/guide/account/iot-logic/nodes/logic-node/geofence-functions.md).
* **Criação de atributos**: Gere atributos booleanos que registrem os resultados da validação para uso em outros nós, nos sistemas de monitoramento da Navixy e em serviços de terceiros.
* **Caminhos de saída flexíveis**: Encaminhe os dados pelas conexões THEN (true) e ELSE (false) para acionar diferentes ações subsequentes.

## Opções de configuração

{% columns %}
{% column valign="middle" %}
O **Lógica IF/THEN** o nó permite definir expressões condicionais que avaliam os dados recebidos e criam caminhos ramificados em seu fluxo com base nos resultados.
{% endcolumn %}

{% column %}

<figure><img src="/files/b3e44be36024c63f218787afdb79ac5cbae83a5e" alt=""><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

Vamos ver quais elementos este nó usa e o que você pode configurar ao trabalhar com ele.

### Etapas de configuração

{% stepper %}
{% step %}
**Especifique o nome do nó**

Insira um nome descritivo para este **Lógica IF/THEN** nó.

* Use um nome que identifique claramente a finalidade da validação (por exemplo, *Verificação de alerta de temperatura*, *Detecção de violação de velocidade*).
* Este nome será exibido no diagrama do fluxo para fácil identificação.
  {% endstep %}

{% step %}
**Defina o nome da expressão**

Insira o nome do atributo booleano que armazenará o resultado da validação.

* Este atributo aparecerá em [Analisador de fluxo de dados](/docs/user/pt-br/guide/account/iot-logic/data-stream-analyzer.md) e ficará disponível para uso em nós subsequentes.
* Use nomes descritivos como *high\_temperature\_alert* ou speed\_violation\_detected.
* O sistema gerará automaticamente nomes como *logic\_1*, *logic\_2* se não forem especificados.
  {% endstep %}

{% step %}
**Crie uma expressão condicional**

Monte sua expressão lógica usando o campo de expressão.

* Use [operadores lógicos de acordo com a sintaxe da Navixy Expression Language](/docs/user/pt-br/guide/account/iot-logic/nodes/logic-node/logic-node-expressions-and-syntax.md) para referenciar parâmetros do dispositivo e atributos calculados.
* A expressão deve retornar um valor booleano (true/false) para o funcionamento adequado do nó.
* Use o [recurso de autocompletar](/docs/user/pt-br/guide/account/iot-logic/nodes/initiate-attribute-node/managing-attributes.md#autofill-attribute-names) para selecionar atributos disponíveis das fontes de dados conectadas.
* Para referenciar uma cerca virtual da Navixy como condição, use o [seletor de cerca virtual](/docs/user/pt-br/guide/account/iot-logic/nodes/logic-node/geofence-functions.md) no campo de expressão.
  {% endstep %}

{% step %}
**Salve a configuração do nó**

Clique em **Aplicar alterações** para concluir a criação do nó.
{% endstep %}

{% step %}
**Conecte os caminhos de saída**

Após configurar o nó, você precisa estabelecer conexões para os resultados da validação.

* **Conexão THEN** (verde): Conecta-se aos nós que devem processar os dados quando a expressão for avaliada como true.
* **Conexão ELSE** (vermelha): Conecta-se aos nós que devem processar os dados quando a expressão for avaliada como false ou null.
* A conexão THEN é obrigatória, enquanto a conexão ELSE é opcional.
  {% endstep %}
  {% endstepper %}

{% hint style="info" %}
Quando as expressões lógicas não podem ser avaliadas devido a valores null, tipos de dados inválidos ou erros de sintaxe, o resultado é tratado como `false`, e os dados fluem pelo caminho ELSE.
{% endhint %}

Para obter informações detalhadas sobre a sintaxe da expressão, operadores e comportamento do fluxo de dados, consulte [Expressões e sintaxe da Lógica IF/THEN](/docs/user/pt-br/guide/account/iot-logic/nodes/logic-node/logic-node-expressions-and-syntax.md).

## Conexões de saída e fluxo de dados

O **Lógica IF/THEN** o nó cria dois caminhos de saída distintos com base nos resultados da avaliação da expressão.

<figure><img src="/files/1c1ed2c11238bd030612ca58d61043d8a62955f4" alt="IF/THEN Logic node showing THEN and ELSE connections with green and red color coding"><figcaption></figcaption></figure>

### Conexão THEN (<mark style="color:verde;">verde</mark>)

* **É ativada quando**: A expressão lógica retorna `true`.
* **Requisito de conexão**: Obrigatória — todo nó da Lógica IF/THEN deve ter pelo menos uma saída THEN.
* **Múltiplas conexões**: Pode se conectar a vários nós subsequentes para processamento paralelo.
* **Usos típicos**: Acionamento de alertas, processamento especial, cálculos condicionais ou roteamento de dados para endpoints específicos.

### Conexão ELSE (<mark style="color:vermelho;">vermelho</mark>)

* **É ativada quando**: A expressão lógica retorna `false`, `null`, ou encontra erros de avaliação.
* **Requisito de conexão**: Opcional — use apenas quando precisar tratar resultados negativos.
* **Tratamento de erros**: Processa casos em que as expressões não podem ser avaliadas devido à ausência de dados ou a erros de sintaxe.
* **Usos típicos**: Registro de validações com falha, roteamento de dados por caminhos alternativos de processamento ou continuação das operações normais.

### **Requisito de nó terminal**

Ao conectar-se a nós terminais ([Ação](/docs/user/pt-br/guide/account/iot-logic/nodes/action-node.md), [Webhook](/docs/user/pt-br/guide/account/iot-logic/nodes/webhook-node.md)) que não oferecem suporte a conexões de saída, crie conexões paralelas para garantir que tanto o nó terminal quanto um Endpoint de saída recebam dados:

<figure><img src="/files/1792f9b5d3bfbf35555d1ce7e3c6d18f65e65b74" alt=""><figcaption></figcaption></figure>

**Por que ambos os ramos precisam de Endpoints de saída:**

* Garante a persistência dos dados e a visibilidade do sistema
* Permite a validação do fluxo
* Ambos os ramos podem compartilhar o mesmo nó Endpoint de saída

{% hint style="danger" %}
**Erro de validação:** Fluxos sem Endpoints de saída em todos os ramos não serão salvos e exibirão o erro.
{% endhint %}

## Perguntas frequentes

#### Posso usar atributos criados por outros nós nas expressões da Lógica IF/THEN?

Sim. **Lógica IF/THEN** nós podem referenciar quaisquer atributos disponíveis das fontes de dados conectadas, incluindo parâmetros originais do dispositivo e atributos calculados pelos nós de Initiate Attribute anteriores. **Initiate Attribute** nós. O recurso de autocompletar ajuda você a selecionar entre todos os atributos disponíveis.

#### O que acontece se minha expressão contiver erros de sintaxe?

Se uma expressão contiver erros de sintaxe ou não puder ser avaliada, o **Lógica IF/THEN** nó trata o resultado como `false` e encaminha os dados pela conexão ELSE. Verifique a sintaxe da expressão e certifique-se de que todos os atributos referenciados existam em seu fluxo de dados.

#### Posso conectar vários nós à mesma saída do nó da Lógica IF/THEN?

Sim. Tanto as conexões THEN quanto as ELSE oferecem suporte a várias conexões de saída, permitindo acionar várias ações diferentes com base na mesma condição lógica. Isso possibilita o processamento paralelo para fluxos de trabalho empresariais complexos.

#### Como monitoro os resultados do nó da Lógica IF/THEN?

Os resultados do nó da Lógica IF/THEN aparecem como atributos booleanos na [Analisador de fluxo de dados](/docs/user/pt-br/guide/account/iot-logic/data-stream-analyzer.md) tabela. Selecione seus dispositivos e procure o nome do atributo que você especificou no campo de nome da expressão. Os valores serão exibidos como `true` ou `false` com base nos resultados da avaliação.

#### Posso encadear vários nós da Lógica IF/THEN juntos?

Sim. Você pode conectar **Lógica IF/THEN** nós sequencialmente para criar árvores de decisão complexas. Cada **Lógica IF/THEN** nó pode referenciar os atributos booleanos criados pelos **Lógica IF/THEN** nós anteriores, possibilitando fluxos de trabalho de validação sofisticados em várias etapas.

<figure><img src="/files/447017260e05dd911df2e9c71d64facb66554f8d" alt="Example flow showing multiple IF/THEN Logic nodes connected in sequence for complex decision trees"><figcaption></figcaption></figure>

#### Por que os ramos da Lógica IF/THEN devem se conectar a Endpoints de saída?

Todo ramo da Lógica IF/THEN deve terminar em um Endpoint de saída para validação do fluxo de dados e visibilidade do sistema. Ao usar nós terminais (Action, Webhook) que não oferecem suporte a conexões de saída, crie uma conexão paralela do nó da Lógica IF/THEN diretamente para um Endpoint de saída. Ambos os ramos podem compartilhar o mesmo Endpoint de saída, se necessário.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://navixy.com/docs/user/pt-br/guide/account/iot-logic/nodes/logic-node.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
