IF/THEN Lógica
Dirija los flujos de datos de IoT Logic según condiciones con el nodo IF/THEN Lógica. Evalúe los valores de telemetría, active acciones para los registros que coincidan y omita el resto.
Visión general técnica y capacidades
El IF/THEN Lógica El nodo crea puntos de bifurcación inteligentes que enrutan los datos entrantes por distintas rutas según condiciones lógicas. Recibe datos de otros nodos, los valida con respecto a las condiciones que usted definió y enruta los resultados por distintas rutas según si la validación tiene éxito o falla. El nodo le permite crear flujos de trabajo IF->THEN/ELSE en los que distintas acciones ocurren automáticamente según las condiciones de los datos en tiempo real.


Cómo funcionan los nodos de IF/THEN Lógica
Cuando los datos llegan por primera vez a un IF/THEN Lógica nodo, IoT Logic crea un atributo booleano definido por el usuario que almacena los resultados de la evaluación. Cada paquete de datos posterior se evalúa frente a su expresión lógica, actualizando el valor de este atributo y enrutando los datos en consecuencia:
Resultados verdaderos: Los datos fluyen a través de la conexión THEN (verde) con el atributo booleano establecido en
true.Resultados falsos: Los datos fluyen a través de la conexión ELSE (roja) con el atributo booleano establecido en
falso. Ese es el caso habitual, pero no el único: ante un valor faltante, algunos operadores envían a ELSE y dejan el atributonullen lugar defalso. Consulte Valores faltantes y enrutamiento de null.
Esta evaluación se realiza de forma independiente para cada paquete de datos, lo que permite que distintos registros del mismo dispositivo sigan rutas diferentes según las condiciones en tiempo real.
Integración con la arquitectura del flujo
Los atributos booleanos creados por IF/THEN Lógica los nodos van más allá del enrutamiento del flujo e integran las capacidades de monitoreo más amplias de Navixy. Como se trata de atributos personalizados definidos por el usuario, pueden ser:
Monitoreados en tiempo real: Ver los resultados de la evaluación en Analizador de datos para solucionar problemas en las condiciones y verificar la lógica
Agregados como sensores personalizados: Integrarse con la interfaz principal de Navixy para el monitoreo continuo
Como sensores personalizados, estos atributos habilitan dos capacidades clave:
Activación de alertas: Puede crear reglas personalizadas basadas en el valor de un sensor para recibir notificaciones en caso de desviaciones. Para obtener detalles sobre la creación de reglas, consulte Reglas y notificaciones.
Entidades de monitoreo: Puede agregar un atributo al Lista de objetos widget para monitorear su valor junto con otras lecturas del dispositivo. Para obtener detalles sobre cómo crear un sensor personalizado a partir de un atributo de IoT Logic, consulte Mostrar nuevos atributos calculados en la plataforma Navixy.
Capacidades del nodo
El IF/THEN Lógica el nodo ofrece:
Enrutamiento condicional de datos: Cree flujos de trabajo ramificados que dirijan automáticamente los datos según expresiones lógicas que devuelvan resultados verdaderos o falsos.
Validación en tiempo real: Pruebe los datos entrantes del dispositivo contra reglas de negocio y umbrales operativos a medida que llegan los datos.
Compatibilidad con condiciones complejas: Combine múltiples parámetros mediante operadores lógicos (AND, OR, etc.) para una toma de decisiones sofisticada.
Condiciones basadas en Zona: Haga referencia directamente a las zonas de Navixy en las expresiones usando las
inGeofence(),enterGeofence(), yleaveGeofence()funciones, sin comparaciones manuales de coordenadas.geofenceName()devuelve el nombre de la zona en la que está el dispositivo, por lo que una sola condición puede abarcar muchas áreas. Consulte Funciones de zonas.Creación de atributos: Genere atributos booleanos que registren los resultados de la validación para usarlos en otros nodos, en los sistemas de monitoreo de Navixy y en servicios de terceros.
Rutas de salida flexibles: Dirija los datos a través de las conexiones THEN (verdadero) y ELSE (falso, o ocasionalmente null ante un valor faltante) para activar distintas acciones posteriores.
Opciones de configuración
El IF/THEN Lógica el nodo le permite definir expresiones condicionales que evalúan los datos entrantes y crean rutas ramificadas en su flujo según los resultados.

Veamos qué elementos usa este nodo y qué puede configurar al trabajar con él.
Pasos de configuración
Especificar el nombre del nodo
Ingrese un nombre descriptivo para este IF/THEN Lógica nodo.
Use un nombre que identifique claramente el propósito de la validación (p. ej., Verificación de alerta de temperatura, Detección de Violación de velocidad).
Este nombre se mostrará en el diagrama de flujo para facilitar su identificación.
Definir el nombre de la expresión
Ingrese el nombre del atributo booleano que almacenará el resultado de la validación.
Este atributo aparecerá en Analizador de datos y quedará disponible para su uso en nodos posteriores.
Use nombres descriptivos como high_temperature_alert o speed_violation_detected.
El sistema generará automáticamente nombres como logic_1, logic_2 si no se especifica.
Crear una expresión condicional
Construya su instrucción lógica usando el campo de expresión.
Use operadores lógicos según la sintaxis de Navixy Expression Language para hacer referencia a parámetros del dispositivo y atributos calculados.
La expresión debe devolver un valor booleano (true/false) para que el nodo funcione correctamente. Un valor faltante puede comportarse de manera diferente. Consulte Valores faltantes y enrutamiento de null.
Use el encabezado función de autocompletado para seleccionar los atributos disponibles de las fuentes de datos conectadas.
Para hacer referencia a una Zona de Navixy como condición, use el selector de zonas en el campo de expresión.
Conectar rutas de salida
Después de configurar el nodo, debe establecer conexiones para los resultados de la validación.
Conexión THEN (verde): Se conecta a nodos que deben procesar los datos cuando la expresión se evalúa como true.
Conexión ELSE (roja): Se conecta a nodos que deben procesar los datos siempre que la expresión no se evalúe como true. Esto incluye un resultado false o un valor faltante que el nodo no pudo evaluar.
La conexión THEN es obligatoria, mientras que la conexión ELSE es opcional.
Los datos faltantes a menudo se enrutan por la ruta ELSE, pero no siempre. Una != comparación entre un valor faltante y un literal no nulo se evalúa como true y se enruta a THEN en su lugar, al igual que !~, y !^ y !$ cuando el valor proviene de value(). Los errores de sintaxis también se enrutan a ELSE, pero almacenan el atributo como null, no falso. Consulte Valores faltantes y enrutamiento de null para consultar el conjunto completo de patrones compatibles con null y las tablas de operadores.
Para obtener información detallada sobre la sintaxis de las expresiones, los operadores y el comportamiento del flujo de datos, consulte expresiones y sintaxis de IF/THEN Lógica.
Conexiones de salida y flujo de datos
El IF/THEN Lógica el nodo crea dos rutas de salida distintas basadas en los resultados de la evaluación de la expresión.

Conexión THEN (verde)
Se activa cuando: La expresión lógica devuelve
true.Requisito de conexión: Obligatorio. Todo nodo de IF/THEN Lógica debe tener al menos una salida THEN.
Múltiples conexiones: Puede conectarse a varios nodos posteriores para un procesamiento en paralelo.
Usos típicos: Activación de alertas, procesamiento especial, cálculos condicionales o enrutamiento de datos hacia puntos finales específicos.
Conexión ELSE (rojo)
Se activa cuando: La expresión lógica devuelve
falso, se evalúa comonull, o no puede evaluarse.Excepciones a tener en cuenta: La mayoría de las comparaciones con valores faltantes se enrutan aquí. Una
!=comparación entre un valor faltante y un literal no nulo se enruta a THEN en su lugar, al igual que!~, y!^y!$ante unvalue()resultado faltante.El valor almacenado no siempre es
falso: El enrutamiento a ELSE no garantiza que el atributo booleano se almacene comofalso. Las comparaciones relacionales (<,<=,>,>=) y una referencia a un valor faltante sin más se enrutan a ELSE y dejan el atributonull. Consulte Valores faltantes y enrutamiento de null.Requisito de conexión: Opcional. Úsela solo cuando necesite manejar resultados negativos.
Manejo de errores: Procesa casos en los que las expresiones no pueden evaluarse debido a errores de sintaxis o tipos de datos no válidos. El enrutamiento de datos faltantes depende del operador. Consulte Valores faltantes y enrutamiento de null.
Usos típicos: Registro de validaciones fallidas, enrutamiento de datos por rutas de procesamiento alternativas o continuación de las operaciones normales.
Requisito de nodo terminal
Al conectarse a nodos terminales (Acción, Webhook) que no admiten conexiones salientes, cree conexiones paralelas para garantizar que tanto el nodo terminal como un Nodo de Salida reciban datos:

¿Por qué ambas ramas necesitan Nodos de Salida?
Garantiza la persistencia de los datos y la visibilidad del sistema
Permite la validación del flujo
Ambas ramas pueden compartir el mismo Nodo de Salida
Error de validación: Los flujos sin Nodos de Salida en todas las ramas no se podrán guardar y mostrarán el error.
Preguntas frecuentes
¿Puedo usar atributos creados por otros nodos en expresiones de IF/THEN Lógica?
Sí. IF/THEN Lógica los nodos pueden hacer referencia a cualquier atributo disponible de las fuentes de datos conectadas, incluidos los parámetros originales del dispositivo y los atributos calculados por los Iniciar atributo nodos anteriores. La función de autocompletado le ayuda a seleccionar entre todos los atributos disponibles.
¿Qué sucede si mi expresión contiene errores de sintaxis?
Si una expresión contiene errores de sintaxis o no puede evaluarse, el IF/THEN Lógica nodo enruta los datos a través de la conexión ELSE y almacena el atributo como null, no falso. Verifique la sintaxis de la expresión y asegúrese de que todos los atributos referenciados existan en su flujo de datos.
¿Puedo conectar varios nodos a la misma salida del nodo de IF/THEN Lógica?
Sí. Tanto las conexiones THEN como ELSE admiten múltiples conexiones salientes, lo que le permite activar varias acciones diferentes basadas en la misma condición lógica. Esto permite el procesamiento en paralelo para flujos de trabajo empresariales complejos.
¿Cómo superviso los resultados del nodo de IF/THEN Lógica?
Los resultados del nodo de IF/THEN Lógica aparecen como atributos booleanos en la Analizador de datos tabla. Seleccione sus dispositivos y busque el nombre de atributo que especificó en el campo del nombre de la expresión. Los valores suelen mostrarse como true o falso, pero un valor faltante puede dejar el atributo null en su lugar, según el operador. Consulte Valores faltantes y enrutamiento de null.
¿Por qué se activó mi condición aunque el atributo aún no tiene valor?
Lo más probable es que la condición use != contra un literal no nulo, o !~, sobre un valor que nunca se ha recibido. Ambos operadores tratan "sin valor" como algo diferente del literal con el que usted compara, por lo que se evalúan como true y se enrutan a THEN. Un valor predeterminado seguro haría lo contrario. Los !^ y !$ operadores hacen lo mismo ante un value() resultado faltante y se resuelven como null cuando el atributo se referencia por nombre. Agregue una comprobación de presencia (value('attr', 0, 'all') != null && ...) o una == null comprobación == null si la condición solo debe activarse una vez que el atributo tenga un valor real. Consulte Valores faltantes y enrutamiento de null para consultar el desglose completo operador por operador.
¿Puedo encadenar varios nodos de IF/THEN Lógica?
Sí. Puede conectar IF/THEN Lógica nodos secuencialmente para crear árboles de decisión complejos. Cada IF/THEN Lógica nodo puede hacer referencia a los atributos booleanos creados por los IF/THEN Lógica nodos anteriores, lo que permite flujos de trabajo de validación multietapa sofisticados.

¿Por qué las ramas de IF/THEN Lógica deben conectarse a Nodos de Salida?
Toda rama de IF/THEN Lógica debe terminar en un Nodo de Salida para la validación del flujo de datos y la visibilidad del sistema. Al usar nodos terminales (Action, Webhook) que no admiten conexiones salientes, cree una conexión paralela desde el nodo de IF/THEN Lógica directamente a un Nodo de Salida. Ambas ramas pueden compartir el mismo Nodo de Salida si es necesario.
Última actualización
¿Te fue útil?