Saltar al contenido principal

Fundamentos de las rulechains

Fundamentos de las rulechains​

El área Rulechains es el núcleo del procesamiento de datos basado en reglas en optiCLOUD. Aunque muchas funciones de la plataforma se configuran mediante interfaces como Devices, Dashboards o Automation, la lógica propiamente dicha de reacción y de procesamiento suele residir en la Rule Engine.

Por ello, los cambios en las rulechains deben realizarse siempre con cautela. Las reglas erróneas o las conexiones poco claras pueden repercutir directamente en el procesamiento de datos, las alarmas, las notificaciones o las integraciones.

Vista general​

En la vista general del área de rulechains, las rulechains existentes se muestran en forma de tabla.

Vista general del área de rulechains

Se aplican algunos principios básicos:

  • La Root Rule Chain es la cadena de entrada activa central.
  • Normalmente aparece claramente resaltada.
  • Las demás rulechains son, en un principio, solo plantillas o cadenas parciales.
  • Solo se activan cuando se establecen como Root Rule Chain o se incorporan a una rule chain activa.

Desde la barra de acciones se pueden:

  • crear
  • importar
  • exportar
  • eliminar

rulechains.

Principio básico de la Rule Engine​

La Rule Engine es el mecanismo central para procesar eventos y datos en optiCLOUD. Procesa, entre otros:

  • datos de telemetría
  • atributos
  • solicitudes RPC
  • eventos del ciclo de vida de los dispositivos
  • eventos basados en REST
  • archivos
  • registros (logs)

La Rule Engine se basa en tres componentes principales:

  • Mensaje como evento entrante u objeto de datos
  • Nodo de regla como paso de procesamiento
  • Cadena de reglas como conexión de varios nodos en un flujo de trabajo

Mensajes​

Un mensaje de la Rule Engine es una estructura de datos serializable e inmutable que describe un evento del sistema.

Algunos ejemplos son:

  • telemetría entrante de un dispositivo
  • actualización de atributos
  • llamada RPC
  • evento de entidad, como creada, actualizada o eliminada
  • eventos de estado, como conectado, desconectado, activo o inactivo

Un mensaje contiene:

  • ID del mensaje
  • remitente u origen del mensaje
  • tipo de mensaje
  • datos útiles como cuerpo JSON
  • metadatos como pares clave-valor adicionales

Nodos de regla​

Un nodo de regla procesa un mensaje entrante y genera a partir de él uno o varios mensajes salientes o acciones.

Según el tipo de nodo, un nodo puede:

  • filtrar mensajes
  • transformar datos
  • enriquecer datos
  • generar o eliminar alarmas
  • llamar a sistemas externos
  • reenviar mensajes a otros nodos

De este modo, cada nodo es una unidad lógica claramente delimitada dentro de la rulechain.

Conexiones y relaciones​

Los nodos de regla se enlazan entre sí mediante conexiones. Cada conexión tiene un tipo de relación que determina bajo qué condición se transmite un mensaje al nodo siguiente.

Los tipos de relación habituales son:

  • Success
  • Failure
  • True
  • False

Según el tipo de nodo, también pueden utilizarse otras denominaciones, por ejemplo:

  • Post Telemetry
  • Attributes Updated
  • Entity Created

Así, el significado funcional de un flujo de datos puede representarse directamente en la rulechain.

Características principales de las rulechains​

Las rulechains ofrecen en optiCLOUD varias propiedades centrales:

  • Procesamiento en flujo (stream) de los datos y eventos que llegan de forma inmediata
  • Estructura de flujo de trabajo mediante nodos de regla conectados
  • Flexibilidad gracias a los nodos integrados y a los scripts personalizados
  • Capacidad de integración a través de HTTP, MQTT, Kafka u otras interfaces
  • Reactividad para alarmas, notificaciones y acciones posteriores

Esto permite modelar tanto reglas de filtrado sencillas como procesos de automatización complejos.

Casos de uso típicos​

Las rulechains se utilizan para tareas como, por ejemplo:

  • validación y transformación de los datos entrantes
  • gestión de alarmas y notificaciones, por ejemplo cuando se superan por exceso o por defecto valores umbral
  • supervisión del ciclo de vida de los dispositivos
  • integración de sistemas externos o traspaso a canalizaciones de datos o plataformas externas
  • control remoto mediante RPC

Forma de trabajo en el editor​

Al abrir una rulechain aparece un editor low-code basado en nodos y conexiones. Su estructura recuerda a herramientas como Node-RED o n8n.

En este editor se define:

  • qué mensajes entran en la cadena
  • qué condiciones se comprueban
  • qué acciones se desencadenan
  • cómo continúan las rutas de éxito o de error

RuleChain básica​

La RuleChain básica, o Root RuleChain, constituye la base del procesamiento de datos y ya viene configurada de forma predeterminada. Tiene el siguiente aspecto:

Todo mensaje entrante de un dispositivo o de otro origen llega al sistema a través del nodo Input y se envía de inmediato a un conmutador de tipo de mensaje (Message Type Switch), que determina, según el tipo de mensaje, cómo debe seguir procesándose.

Desde ahí, el procesamiento se ramifica en varias rutas especializadas:

Procesamiento básico de mensajes

Tipo de mensajeReenvíoNodo receptorExplicación
Post Attributea guardar atributos de clienteGuardar atributos de clienteLos mensajes de este tipo se procesan para guardar de forma permanente en la base de datos los atributos del dispositivo.
Post Telemetríaa guardar serie temporalGuardar serie temporalLos datos de telemetría, como los valores de sensores, se guardan en la base de datos como series temporales.
Solicitud RPC del dispositivoreenviada a Log RPCLog RPC del dispositivoSirve para supervisar o depurar las llamadas RPC entrantes del dispositivo.
Solicitud RPC al dispositivoa RPC Call RequestSolicitud de RPC CallDesencadena una llamada a procedimiento remoto (RPC) hacia el dispositivo.
Enviar alarmasa guardar alarmasGuardar alarmasLos estados de alarma se guardan en la base de datos.
Otrosa registrar otrosLog OtrosLos tipos de mensaje no compatibles o desconocidos se registran para su seguimiento.
Solicitud de almacén de blobsa procesar almacén de blobsProcesamiento del almacén de blobsInicia el procesamiento de las cargas de archivos en el almacenamiento de archivos.

Ejemplo​

Para dar los primeros pasos prácticos conviene un ejemplo sencillo y manejable. Un ejemplo así es la generación de una alarma cuando se supera una temperatura.

Continuar con la regla de ejemplo: