Un flujo es una cadena de bloques en un lienzo. Un disparador lo inicia con un mensaje; después, los bloques comprueban, enrutan, transforman, almacenan, esperan y actúan. Los flujos son la herramienta de automatización más flexible de Hermetry: almacenan los datos de tus dispositivos, calculan valores derivados, llaman a sistemas externos, envían notificaciones y comandos, y reaccionan a programaciones, webhooks y eventos.
Creas los flujos en Automation. Cada flujo se edita como borrador y solo se ejecuta después de que lo Deploy; cada despliegue es una versión numerada a la que puedes volver.
Qué hacen los flujos en Hermetry
| Tarea | Cómo |
|---|---|
| Almacenar datos de dispositivos | El flujo raíz recibe cada mensaje de dispositivo y guarda la telemetría y los atributos. Solo los flujos almacenan datos. |
| Evaluar reglas de alarma | El bloque Alarm rules del flujo raíz ejecuta las reglas de alarma del perfil de dispositivo. |
| Derivar valores | Los bloques situados entre el mensaje del dispositivo y Save telemetry calculan claves nuevas. |
| Integrar | Los bloques HTTP request, MQTT out y Webhook envían datos hacia fuera; un disparador Webhook recibe datos desde fuera. |
| Reaccionar | Los disparadores por programaciones, alarmas, cambios de atributos, temporizadores con nombre y eventos inician el trabajo. |
| Avisar a personas y dispositivos | Bloques Notify, Raise alarm, Send command y Set shared attribute. |
Hosts
Cada flujo pertenece a un host, que se elige al crearlo y nunca se cambia:
| Host | Se muestra como | Recibe | Flujos típicos |
|---|---|---|---|
| IoT | IoT | Mensajes de dispositivos, alarmas, cambios de atributos, además de programaciones, webhooks y eventos | El flujo raíz, los flujos raíz de perfil, las escaladas de alarmas, las integraciones de datos de dispositivos |
| General | General | Programaciones, webhooks, eventos y mensajes de otros flujos | Integraciones y tareas que no funcionan con el mensaje de un dispositivo |
El host determina qué bloques puedes usar: los bloques de dispositivo (Save telemetry, Send command, Raise alarm …) existen solo en el host IoT. Consulta Hosts, the root flow and profile root flows.
Flujos, reglas de alarma y la tarjeta Rules
| Herramienta | Ideal para | Dónde se crea |
|---|---|---|
| Reglas de alarma | Umbrales y condiciones sobre las lecturas de un perfil de dispositivo, con anti-rebote, histéresis y notificaciones | La pestaña Alarm rules del perfil de dispositivo. Alarm rules on device profiles |
| Tarjeta Rules | «Cuando pase esto, haz aquello» para operadores: comandos, ajustes, notificaciones, modos Manual y Auto | La tarjeta Rules de un panel. The rules engine |
| Flujos | Todo lo demás: transformar y almacenar datos, integraciones, lógica que las otras dos herramientas no pueden expresar | Automation |
Una regla de la tarjeta Rules también se ejecuta como flujo. Aparece en la lista de flujos con una insignia Built by y se abre en solo lectura; cámbiala en la tarjeta Rules, o usa Detach into an ordinary flow para editarla aquí (esta acción no se puede deshacer). Consulta Flows en la sección de alarmas.
Quién puede hacer qué
| Permiso | Rol predeterminado | Permite |
|---|---|---|
| View flows and the node catalog | Admin | Abrir la lista de flujos y el editor en solo lectura |
| Create, edit and deploy flows | Admin | Todo lo necesario para crear y desplegar flujos, importar y exportar |
| Deploy flows with control-level nodes | Admin | Desplegar flujos con bloques que controlan dispositivos u otros flujos |
| Inject messages, see payloads and dead letters | Admin | Ver el contenido de los mensajes, depurar, probar desde el estado en vivo, reproducir mensajes fallidos |
| Call session-auth webhooks of deployed flows | User | Iniciar un flujo desde un control de panel o una página de la aplicación mediante un webhook de sesión |
Consulta la Permissions reference.
Mensajes
Los bloques pasan mensajes. Los campos que más usarás:
| Campo | Contiene |
|---|---|
msg.payload | Los datos: las lecturas de un dispositivo, el cuerpo de un webhook, el tic de una programación |
msg.topic | Una etiqueta corta; muchos bloques guardan su memoria según este valor |
msg.metadata | Datos sobre el mensaje: deviceId, deviceName, profileName, msgType, ts (hora de recepción), recordTs (hora de la lectura) y más. Nunca se almacena. |
msg.msgType | telemetry, attributes, connect, alarm … Solo lectura. |
msg.originator | A quién se refiere el mensaje: un dispositivo, la organización o el flujo. Solo lectura. |
Los valores en los ajustes de un bloque pueden ser valores fijos, rutas como msg.payload.level, expresiones o plantillas {{ }}. Consulta Condition blocks.
En esta sección
| Página | Qué cubre |
|---|---|
| The flow editor | Lienzo, paleta, conexiones, ajustes de bloques, guardado y despliegue |
| Hosts, the root flow and profile root flows | Adónde van los mensajes de dispositivos y cómo se almacenan los datos |
| Versions, testing and rollback | Borradores, versiones, el ejecutor de pruebas, la vuelta atrás, importación y exportación |
| Protections and failed messages | Pausas automáticas, la parada de emergencia, mensajes fallidos y alertas |
| Flow templates | Flujos listos para empezar |
| Flow limits | Límites del plan y límites fijos |
| Trigger blocks | Qué inicia un flujo |
| Condition blocks | Pruebas de sí/no y el lenguaje de expresiones |
| Routing and timing blocks | Switch, gate, split, join, delay, rate limit … |
| Data transform blocks | Change, calculate, template, JSON, CSV, bytes … |
| Counters, statistics and watchdogs | Bloques que recuerdan |
| The script block | JavaScript en un flujo |
| Action blocks | HTTP, MQTT, webhooks, eventos, variables, temporizadores, otros flujos, registro |
| IoT data blocks | Guardado de telemetría y atributos, reglas de alarma, enriquecimiento |
| Alarm, command and notify blocks | Alarmas, comandos de dispositivos, peticiones a dispositivos, notificaciones |
| Connections and secrets | Brokers MQTT y endpoints HTTP |
| Flow cookbook | Flujos listos para construir |
| Troubleshooting flows | Descubrir qué hizo un flujo |

