Saltar a contenido

Documentación: Nodo Despachar Evento (Dispatch Event)

Descripción General

El Nodo Despachar Evento (Dispatch Event) es un nodo de acción que genera y registra un evento personalizado dentro de la plataforma Netsocs Synergy. El evento despachado queda registrado en el módulo de Eventos / Logs, asociado a uno o más objetos, y puede incluir imágenes, clips de video y metadatos adicionales.

Este nodo es fundamental para construir flujos encadenados y lógica de negocio propia en entornos IoT: permite crear eventos sintéticos (por ejemplo, "Umbral de temperatura superado" o "Anomalía detectada por IA") que luego pueden ser visualizados por los operadores, usados como evidencia, o disparar otras automatizaciones que escuchan ese tipo de evento mediante el nodo disparador Event.


¿Cuándo usar este nodo?

Utiliza este nodo cuando necesites:

  • Generar un evento propio a partir de una condición calculada en el flujo (por ejemplo, despachar un evento "Alerta de temperatura" cuando varios sensores superan un umbral).
  • Encadenar automatizaciones: despachar un evento que sirva de disparador para otro flujo (patrón productor/consumidor de eventos).
  • Registrar evidencia asociada a objetos, adjuntando imágenes (snapshots) o clips de video al evento.
  • Enriquecer el log de eventos con metadatos personalizados (event_additional_properties) para reportes o auditoría.

Configuración del Nodo

El nodo cuenta con dos pestañas de configuración en la parte superior: Formulario (Form) y Editor de JSON (JSON Editor).

Configuración vacía del nodo Despachar evento

Vista Formulario

1. Tipo de Evento (Event Type) *Requerido

Define qué tipo de evento se despachará. Haz clic en el campo para abrir el modal Select Event Type, que muestra un árbol con todos los dominios de la plataforma y sus tipos de evento disponibles (por ejemplo, Alarm, Malfunction, Security, etc.).

Modal de selección de tipo de evento

Al seleccionar un tipo, el formulario muestra su ID, dominio y nivel de evento debajo del campo.

2. Objetos (Objects) *Requerido

Define los objetos a los que estará relacionado (campo rels) el evento. Haz clic en el campo para abrir el modal Select Objects y marca uno o varios objetos (sensores, cámaras, paneles, etc.). Los objetos seleccionados se muestran como etiquetas que puedes quitar individualmente.

3. Imágenes (Images) *Opcional

Lista de URLs de imágenes que quieres adjuntar al evento (por ejemplo, la URL de un snapshot obtenido con el nodo Obtener captura). Escribe la URL y presiona Enter (o el botón +) para agregarla.

4. Clips de Video (Video clips) *Opcional

Lista de URLs de clips de video asociados al evento. Funciona igual que el campo de imágenes.

5. Color del Ícono (Icon Color) *Opcional

Selector de color (hexadecimal) que define el color con el que se mostrará el ícono del evento en la interfaz. Se guarda internamente dentro de event_additional_properties.icon_color.

6. Datos del Evento (Event Data) *Opcional

Editor de código JSON donde puedes definir propiedades adicionales arbitrarias del evento (event_additional_properties). Útil para incluir telemetría o contexto (por ejemplo, { "temperature": 12, "threshold": 8 }).

Formulario configurado del nodo Despachar evento


Vista Editor de JSON

En la pestaña Editor de JSON (JSON Editor) puedes visualizar y editar directamente toda la estructura del evento a despachar:

Vista JSON Editor del nodo Despachar evento


Estructura JSON (Parámetros de entrada)

A continuación se muestra la estructura del JSON que se genera al configurar el nodo:

{
  "event_type": "ajax_enterprise_api.sensor.device.ALARM",
  "rels": [
    "ajax_enterprise_api.sensor.device.30AA3100",
    "ajax_enterprise_api.sensor.device.30D8CB4D"
  ],
  "images": [],
  "video_clips": [],
  "event_additional_properties": {}
}

Campos del JSON

Campo Tipo Descripción
event_type string ID del tipo de evento a despachar (ej. ajax_enterprise_api.sensor.device.ALARM).
rels array (string) Lista de ID de los objetos relacionados con el evento (relaciones). Requerido.
images array (string) Lista de URLs de imágenes adjuntas al evento.
video_clips array (string) Lista de URLs de clips de video adjuntos al evento.
event_additional_properties object Objeto con metadatos personalizados del evento. Puede incluir icon_color (color hex del ícono) y cualquier otra propiedad libre.

Output: Dónde viene la data del nodo

El Nodo Despachar Evento tiene como efecto principal registrar el evento en el módulo de Eventos / Logs de la plataforma. Una vez ejecutado con éxito (borde verde), el nuevo evento queda disponible para:

  • Visualizarse en el módulo de Eventos / Logs, en Dashboards o Sinópticos.
  • Disparar otras automatizaciones que utilicen el nodo disparador Event configurado para ese event_type.

TIP: Este nodo es la contraparte del nodo disparador Event. Puedes usarlo para construir arquitecturas de automatización desacopladas: una automatización "productora" despacha el evento y una o varias automatizaciones "consumidoras" reaccionan a él.


Ejemplos de uso

Ejemplo 1: Evento sintético de alerta de temperatura en cámara frigorífica

Caso de uso: En una bodega de refrigeración con múltiples sensores, cuando la lógica del flujo detecta que la temperatura superó el umbral seguro, se despacha un evento de alarma asociado a los sensores afectados, adjuntando una captura y metadatos de la lectura.

  • Event Type: Alarm (del dominio del sensor).
  • Objects (rels): Sensores de la cámara frigorífica (Bobeda, Termostato, etc.).
  • Images: URL del snapshot obtenido por un nodo Obtener captura previo ({{get_snapshot_node.url}}).
  • Event Data: { "temperature": 12, "threshold": 8 }.

JSON de configuración:

{
  "event_type": "ajax_enterprise_api.sensor.device.ALARM",
  "rels": [
    "ajax_enterprise_api.sensor.device.30AA3100"
  ],
  "images": [
    "https://demo02.netsocs.com/api/netsocs/dh/public/snapshot.jpg"
  ],
  "video_clips": [],
  "event_additional_properties": {
    "temperature": 12,
    "threshold": 8,
    "icon_color": "#ff0000"
  }
}


Ejemplo 2: Encadenar automatizaciones mediante un evento

Caso de uso: Una automatización de análisis con IA detecta una anomalía y despacha un evento personalizado. Una segunda automatización, disparada por el nodo Event para ese tipo, se encarga de notificar al personal y armar la alarma.

  • Event Type: Un tipo de evento que la segunda automatización escucha.
  • Objects (rels): El objeto sobre el que se detectó la anomalía.

JSON de configuración:

{
  "event_type": "netsocs.analitics.ANOMALY_DETECTED",
  "rels": [
    "onvif_standard.video_channel.28.VideoSourceToken-0"
  ],
  "images": [],
  "video_clips": [],
  "event_additional_properties": {
    "confidence": 0.92,
    "icon_color": "#ffae00"
  }
}


Validación y errores

Condición Causa / Solución habitual
event_type ausente Selecciona un tipo de evento en el modal Select Event Type. Es obligatorio.
rels vacío Selecciona al menos un objeto relacionado en el modal Select Objects. Es obligatorio.
event_additional_properties inválido Si editas el campo Event Data manualmente, asegúrate de que sea un JSON válido.
El evento no dispara otra automatización Verifica que la automatización consumidora use el nodo Event configurado exactamente con el mismo event_type.

Buenas prácticas

  • Coherencia entre event_type y objetos: Procura que el tipo de evento y los objetos relacionados pertenezcan a dominios coherentes para que el evento sea interpretable en los módulos de la plataforma.
  • Adjuntar evidencia: Combina este nodo con Obtener captura o Secuencia de imágenes para adjuntar imágenes reales del momento del evento.
  • Usar metadatos: Aprovecha event_additional_properties para incluir contexto (umbrales, lecturas, niveles de confianza) que enriquezca el log y los reportes.
  • Diseño desacoplado: Utiliza el patrón productor/consumidor (Dispatch Event → trigger Event) para mantener tus automatizaciones modulares y reutilizables.