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.

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 mensaje | Reenvío | Nodo receptor | Explicación |
|---|---|---|---|
| Post Attribute | a guardar atributos de cliente | Guardar atributos de cliente | Los mensajes de este tipo se procesan para guardar de forma permanente en la base de datos los atributos del dispositivo. |
| Post Telemetría | a guardar serie temporal | Guardar serie temporal | Los datos de telemetría, como los valores de sensores, se guardan en la base de datos como series temporales. |
| Solicitud RPC del dispositivo | reenviada a Log RPC | Log RPC del dispositivo | Sirve para supervisar o depurar las llamadas RPC entrantes del dispositivo. |
| Solicitud RPC al dispositivo | a RPC Call Request | Solicitud de RPC Call | Desencadena una llamada a procedimiento remoto (RPC) hacia el dispositivo. |
| Enviar alarmas | a guardar alarmas | Guardar alarmas | Los estados de alarma se guardan en la base de datos. |
| Otros | a registrar otros | Log Otros | Los tipos de mensaje no compatibles o desconocidos se registran para su seguimiento. |
| Solicitud de almacén de blobs | a procesar almacén de blobs | Procesamiento del almacén de blobs | Inicia 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: