For the complete documentation index, see llms.txt. This page is also available as Markdown.

Lógica

Direcione os fluxos de dados do IoT Logic com base em condições usando o nó Lógica. Avalie valores de telemetria, acione ações para registros correspondentes e ignore o restante.

Visão geral técnica e recursos

A Lógica nó cria pontos de ramificação inteligentes que roteiam os dados recebidos por caminhos diferentes com base em condições lógicas. Ele recebe dados de outros nós, valida-os em relação às condições definidas por você e roteia os resultados por caminhos diferentes com base em a validação ser bem-sucedida ou falhar. O nó permite que você crie fluxos de trabalho IF->THEN/ELSE em que ações diferentes ocorrem automaticamente com base em condições de dados em tempo real.

IF/THEN Logic node tile

A Lógica 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 na Linguagem de Expressões do IoT Logic da Navixy. Para opções específicas de sintaxe relacionadas a expressões lógicas, consulte expressões e sintaxe da Lógica.

IF/THEN Logic node positioning in the flow architecture (with inbound and outbound connections)

Como os nós da Lógica funcionam

Quando os dados chegam primeiro a um Lógica nó, o IoT Logic 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 roteando 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. Esse é o caso usual, mas não o único: na ausência de um valor, alguns operadores roteiam para ELSE enquanto deixam o atributo null em vez de false. Veja Valores ausentes e roteamento null.

Essa avaliação acontece de forma independente para cada pacote de dados, permitindo que registros diferentes 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 nós vão além do roteamento do 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: Veja os resultados da avaliação no Analisador de dados para depurar condições e verificar a lógica

  • Adicionados como sensores personalizados: Integram-se à interface principal da Navixy para monitoramento contínuo

Como sensores personalizados, esses atributos permitem dois recursos principais:

  • Disparo 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.

  • Monitoramento de entidades: Você pode adicionar um atributo ao widget Lista de objetos para monitorar seu valor junto com outras leituras do dispositivo. Para detalhes sobre como criar um sensor personalizado a partir de um atributo do IoT Logic, veja Exibindo novos atributos calculados na plataforma Navixy.

A Lógica nó exige uma conexão com pelo menos um nó precedente (Fonte de Dados ou outros nós de processamento) para receber dados de entrada para validação.

Capacidades do nó

A Lógica 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 verdadeiros ou falsos.

  • Validação em tempo real: Teste os dados de entrada do dispositivo em relação a regras de negócio e 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 com base em geocerca: Faça referência a geocercas Navixy nomeadas diretamente nas expressões usando as inGeofence(), enterGeofence()e leaveGeofence() funções, sem comparações manuais de coordenadas. geofenceName() retorna o nome da geocerca em que o dispositivo está, então uma condição pode abranger muitas áreas. Veja Funções de geocerca.

  • Criação de atributo: 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 (verdadeiro) e ELSE (falso, ou ocasionalmente null na ausência de um valor) para acionar diferentes ações subsequentes.

Opções de configuração

A Lógica nó permite definir expressões condicionais que avaliam dados recebidos e criam caminhos ramificados no seu fluxo com base nos resultados.

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

Etapas de configuração

1

Especificar o nome do nó

Digite um nome descritivo para este Lógica nó.

  • Use um nome que identifique claramente o propósito da validação (por exemplo, Verificação de alerta de temperatura, Detecção de excesso de velocidade).

  • Esse nome será exibido no diagrama do fluxo para fácil identificação.

2

Definir o nome da expressão

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

  • Esse atributo aparecerá em Analisador de dados e ficará disponível para uso nos 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 for especificado.

3

Criar uma expressão condicional

Crie sua instrução lógica usando o campo de expressão.

4

Salvar a configuração do nó

Clique em Aplicar alterações para concluir a criação do nó.

5

Conectar caminhos de saída

Depois de 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 dados quando a expressão for avaliada como true.

  • Conexão ELSE (vermelha): Conecta-se aos nós que devem processar dados sempre que a expressão não for avaliada como true. Isso inclui um resultado false ou um valor ausente que o nó não conseguiu avaliar.

  • A conexão THEN é obrigatória, enquanto a conexão ELSE é opcional.

Para informações detalhadas sobre sintaxe de expressões, operadores e comportamento do fluxo de dados, consulte expressões e sintaxe da Lógica.

Conexões de saída e fluxo de dados

A Lógica nó cria dois caminhos de saída distintos com base nos resultados da avaliação da expressão.

IF/THEN Logic node showing THEN and ELSE connections with green and red color coding

Conexão THEN (verde)

  • É 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 (vermelha)

  • É ativada quando: A expressão lógica retorna false, é avaliada como null, ou não pode ser avaliada.

  • Exceções a observar: A maioria das comparações com valor ausente são roteadas para cá. Uma != comparação entre um valor ausente e um literal não nulo roteia para THEN em vez disso, assim como !~e !^ e !$ em um value() resultado ausente.

  • Valor armazenado nem sempre é false: Roteamento para ELSE não garante que o atributo booleano seja armazenado como false. Comparações relacionais (<, <=, >, >=) e uma referência simples a valor ausente vão para ELSE com o atributo deixado null. Veja Valores ausentes e roteamento null.

  • Requisito de conexão: Opcional. Use apenas quando você precisar tratar resultados negativos.

  • Tratamento de erro: Processa casos em que as expressões não podem ser avaliadas devido a erros de sintaxe ou tipos de dados inválidos. O roteamento de dados ausentes depende do operador. Veja Valores ausentes e roteamento null.

  • Usos típicos: Registrar validações com falha, rotear dados por caminhos de processamento alternativos ou continuar as operações normais.

Requisito de nó terminal

Ao conectar a nós terminais (Ação, Webhook) que não oferecem suporte a conexões de saída, crie conexões paralelas para garantir que tanto o nó terminal quanto um Ponto de Extremidade de Saída recebam dados:

Por que ambos os ramos precisam de Pontos de Extremidade 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 Ponto de Extremidade de Saída

Perguntas frequentes

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

Sim. Lógica nós podem referenciar quaisquer atributos disponíveis nas fontes de dados conectadas, incluindo parâmetros originais do dispositivo e atributos calculados por nós predecessores de Iniciar Atributo nós. O recurso de preenchimento automático 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 nó roteia os dados pela conexão ELSE e armazena o atributo como null, não false. Verifique a sintaxe da expressão e confirme se todos os atributos referenciados existem no seu fluxo de dados.

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

Sim. Tanto as conexões THEN quanto ELSE suportam várias conexões de saída, permitindo que você acione várias ações diferentes com base na mesma condição lógica. Isso permite processamento paralelo para fluxos de trabalho de negócios complexos.

Como monitoro os resultados do nó Lógica?

Os resultados do nó Lógica aparecem como atributos booleanos na Analisador de dados tabela. Selecione seus dispositivos e procure o nome do atributo que você especificou no campo de nome da expressão. Os valores normalmente são exibidos como true ou false, mas um valor ausente pode deixar o atributo null em vez disso, dependendo do operador. Veja Valores ausentes e roteamento null.

Por que minha condição foi acionada mesmo que o atributo ainda não tenha valor?

Provavelmente a condição usa != em comparação com um literal não nulo, ou !~, em um valor que nunca foi recebido. Ambos os operadores tratam "sem valor" como diferente do literal com o qual você está comparando, então eles são avaliados como true e roteiam para THEN. Um valor padrão seguro faria o oposto. Os !^ e !$ operadores fazem o mesmo em um value() resultado ausente, e resolvem para null quando o atributo é referenciado pelo nome. Adicione uma verificação de presença (value('attr', 0, 'all') != null && ...) ou uma explícita == null verificação para conferir se a condição deve ser acionada somente depois que o atributo tiver um valor real. Veja Valores ausentes e roteamento null para a explicação completa operador por operador.

Posso encadear vários nós Lógica juntos?

Sim. Você pode conectar Lógica nós sequencialmente para criar árvores de decisão complexas. Cada Lógica nó pode referenciar os atributos booleanos criados por nós anteriores, permitindo fluxos de trabalho de validação multietapas sofisticados. Lógica nós

Example flow showing multiple IF/THEN Logic nodes connected in sequence for complex decision trees

Por que os ramos do nó Lógica devem se conectar a Pontos de Extremidade de Saída?

Todo ramo do nó Lógica deve terminar em um Ponto de Extremidade 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ó Lógica diretamente para um Ponto de Extremidade de Saída. Ambos os ramos podem compartilhar o mesmo Ponto de Extremidade de Saída, se necessário.

Atualizado

Isto foi útil?