Novedad: el cortafuegos de IA supervisa cada módulo y explica cada incidente con palabras sencillas. Vea cómo funciona

Hosts, el flujo raíz y las raíces de perfil

Los hosts IoT y General, cómo cada mensaje de dispositivo llega a un flujo raíz, la raíz predeterminada, las raíces de perfil y qué revisar cuando no se almacena nada.

Un host es la parte de Hermetry que ejecuta flujos de un tipo. El host IoT ejecuta los flujos que reciben los mensajes de los dispositivos; el host General ejecuta flujos para programaciones, webhooks y eventos. En el host IoT, cada mensaje de dispositivo va a exactamente un flujo raíz, que almacena los datos. Esta página explica los hosts, los flujos raíz y cómo cambiarlos de forma segura.

Los dos hosts

IoTGeneral
Tipos de mensajetelemetry, attributes, connect, disconnect, activity, inactivity, rpc_request, rpc_response, attributes_updated, alarm; también programaciones, inyecciones, webhooks, temporizadores y eventosProgramaciones, inyecciones, webhooks, temporizadores, eventos y mensajes de otros flujos
Flujos raízSí: la raíz de todo el tenant y las raíces de perfilNo
Bloques de dispositivoMensaje de dispositivo, Guardar telemetría, Guardar atributos, Reglas de alarma, Enviar comando, Generar alarma, bloques de enriquecimiento …No
Recuento mensualLos mensajes de dispositivo cuentan como mensajes de IoTLas entradas aceptadas cuentan como mensajes de Automatización

Eliges el host al crear un flujo; no se puede cambiar después. El filtro Host de la lista de flujos muestra los flujos de un solo host.

Flujos raíz

Un flujo raíz es la entrada de los mensajes de dispositivo de un host. En el host IoT hay dos tipos:

RaízSe ejecuta paraObligatorio
Raíz de todo el tenantTodo dispositivo cuyo perfil no tenga raíz propiaSí: siempre hay una. Puede reemplazarse, pero nunca eliminarse.
Raíz de perfilLos dispositivos de un perfil de dispositivoNo

Cada mensaje de dispositivo inicia una raíz: la raíz de su perfil si tiene una, si no, la raíz de todo el tenant. Entra por el bloque Entrada de flujo de la raíz (llamado Mensajes de dispositivo en la raíz predeterminada). La telemetría llega un mensaje por registro: un dispositivo que envía un lote de 10 registros con marca de tiempo inicia 10 mensajes.

Los flujos raíz muestran una insignia Raíz en la lista de flujos, con aquello para lo que se ejecutan («Raíz · Todo el tenant», o el nombre del perfil).

El flujo raíz predeterminado

Toda organización empieza con el Flujo raíz predeterminado, vinculado a todo el tenant. Se crea y despliega automáticamente:

Device messages (Flow input)
  → Alarm rules
  → Message type (Switch on msg.metadata.msgType)
       telemetry   → Save telemetry
       attributes  → Save client attributes
       rpc_request → System log "RPC request from …"
       otherwise   → System log "Other device message"
Errors (Catch, uncaught only) → System log

«Todo mensaje de dispositivo del ámbito de esta raíz entra por su Entrada de flujo: se evalúan las reglas de alarma del perfil de dispositivo, se guardan la telemetría y los atributos de cliente, y se registran las solicitudes RPC de los dispositivos y otros mensajes. Si eliminas un nodo de guardado, esos datos ya no se almacenan.»

Puedes editarlo como cualquier flujo: añadir valores derivados, reenvíos o filtros. Mantén Reglas de alarma, Guardar telemetría y Guardar atributos de cliente en sus rutas, o ese trabajo se detiene para todos los dispositivos que atiende la raíz.

Crear una raíz de perfil

Usa una raíz de perfil cuando un grupo de dispositivos necesita un tratamiento distinto, por ejemplo un decodificador para un perfil que envía datos binarios, o pasos adicionales para una línea de producto.

  1. Crea un flujo en el host IoT, idealmente a partir de la plantilla Flujo raíz predeterminado para que la ruta de almacenamiento esté desde el principio.
  2. Añade tus pasos. Mantén Reglas de alarma, Guardar telemetría y Guardar atributos de cliente.
  3. Despliégalo activado. «Solo un flujo que se ejecuta puede ser raíz allí.»
  4. En la lista de flujos, abre los Detalles del flujo y selecciona Establecer como raíz.
  5. En Ejecutar para, elige el perfil de dispositivo y confirma con Establecer como raíz.

Si el perfil ya tiene una raíz, el diálogo dice «Reemplaza a flujo, que se ejecuta aquí ahora.» y te pide que escribas el nombre del flujo reemplazado.

Un flujo raíz nunca es ejecutado por otro flujo. Al establecer un flujo como raíz se eliminan los bloques Ejecutar flujo que lo ejecutan desde otros flujos; cada uno de esos flujos recibe una nueva versión, y el diálogo los enumera primero.

Desvincular o eliminar una raíz

  • Desvincula una raíz de perfil desde sus Detalles: escribe el nombre del flujo para confirmar. Los dispositivos del perfil pasan entonces a la raíz de todo el tenant.
  • Eliminar un flujo raíz pide lo mismo, con Desvincular y eliminar.
  • La raíz de todo el tenant no puede desvincularse ni eliminarse. Para retirarla, primero establece otro flujo en ejecución como raíz de todo el tenant; después podrás eliminar la anterior.
  • Una raíz debe permanecer activada y en ejecución. Solo la parada de emergencia pausa una raíz; la pausa automática nunca lo hace. Consulta Protecciones y mensajes fallidos.

Flujos que no son raíz

Un flujo que no es raíz no recibe los mensajes ordinarios de dispositivo. Se llega a él de estas formas:

VíaCómo
Desde una raízEjecutar flujo (pasa el mensaje) o Enlace de salida / Llamada de enlace
Cambios de alarma y actualizaciones de atributosUn disparador Mensaje de dispositivo con el tipo alarm o attributes_updated marcado por nombre: estos llegan a todos los flujos que escuchan, sean raíz o no
Resultados de comandosLos mensajes rpc_response son mensajes de dispositivo: llegan a la raíz del dispositivo. Pásalos desde allí con Ejecutar flujo.
Tiempo, webhooks, eventosDisparadores Programación, Inyección, Webhook, Evento y Temporizador con nombre

Un mensaje pasado con Ejecutar flujo conserva su dispositivo, así que bloques como Guardar telemetría siguen funcionando allí.

Orden de los mensajes

Los mensajes de un mismo dispositivo se ejecutan uno tras otro, en el orden en que llegaron, hasta la primera llamada externa (una petición HTTP, un correo, una espera o un Desacoplar). Después de ese punto, su orden no está garantizado. Los mensajes de dispositivos distintos se ejecutan en paralelo.

Mensajes tardíos

Un mensaje de dispositivo que esperó más que su tiempo de vida (5 minutos por defecto, tras una caída) se sigue ejecutando por su raíz y se almacena, marcado como tardío. Los bloques que actúan fuera de la plataforma lo omiten. Los demás flujos que escuchan lo descartan. Consulta Marcas de tiempo, lecturas tardías y duplicadas.

En línea, pero no se almacena nada

Un dispositivo puede aparecer en línea (la plataforma controla su conexión) mientras sus lecturas no se almacenan. Comprueba:

  1. ¿Hay una raíz en ejecución? En Automatización, filtra por el host IoT. Un flujo raíz debe estar En ejecución. Un aviso «Ningún worker está ejecutando el host IoT en este momento…» significa que el procesamiento de la plataforma está caído; contacta con soporte.
  2. ¿Está activada la parada de emergencia? Un aviso «Parada de emergencia: n flujos están pausados…» significa que nada se ejecuta hasta que la reanudes.
  3. ¿El perfil del dispositivo tiene raíz propia? Su raíz, no la de todo el tenant, gestiona el dispositivo. Revisa su bloque Guardar telemetría.
  4. ¿El mensaje llega a Guardar telemetría? Abre el panel Actividad de la raíz: las pestañas Depuración y Errores, y los recuentos de mensajes en los cables.
  5. ¿Guardar telemetría informa errores? not_a_device, too_old, no_values, key_limit: consulta Bloques de datos IoT.
  6. ¿Está disponible para tu organización la automatización IoT? Sin ella, no se almacena ningún dato de dispositivo. Contacta con soporte.

Consulta también Los datos no llegan.