Saltar a contenido

Trigger: Distancia entre Objetos (distance_trigger)

Este trigger inicia una automatización cuando la distancia entre dos objetos GPS supera o baja de un umbral configurado. Permite detectar si un objeto se está alejando demasiado de un punto de referencia, o si se está acercando peligrosamente a otro objeto o ubicación.

¿Cuándo usarlo?

  • Cuando necesitás alertar si un vehículo se aleja demasiado de su base de operaciones o de un punto de control.
  • Cuando querés detectar que un guardia se ha separado del grupo o de su zona asignada.
  • Cuando necesitás disparar una acción cuando dos activos se aproximan entre sí (ej: dos vehículos que no deberían coincidir en el mismo lugar).
  • Cuando querés notificar la proximidad de un vehículo o persona a una ubicación fija (ej: un tracker montado en un punto de referencia estático).
  • Cuando necesitás implementar perímetros dinámicos basados en la distancia real entre dos objetos GPS, en lugar de una zona geográfica estática.

Si lo que necesitás es detectar entrada/salida de un área geográfica fija dibujada en el mapa, usá Trigger: GPS Zone (Geofence).
Si lo que necesitás es reaccionar a un cambio de estado de un objeto, usá Trigger: State Change.


Cómo configurarlo

Paso 0) Abrir la parametrización

  • En el canvas de automatizaciones, hacé doble click sobre el nodo Distance.
  • Se abre un modal con dos pestañas: Form y JSON Editor. Quedate en Form.

Paso 1) Seleccionar el objeto a monitorear

El campo Select object define qué objeto GPS es el que se está moviendo y cuya distancia se va a medir.

  • Hacé click en el campo de texto para abrir el selector de objetos.
  • Buscá por nombre o filtrá por dominio usando los controles del modal.
  • Seleccioná un solo objeto de la tabla (la selección es de a uno por vez).
  • El ID del objeto seleccionado aparecerá como etiqueta debajo del campo.
  • Para cambiar el objeto, cerrá la etiqueta y seleccioná uno nuevo.

Ejemplos: - Camion-Repartidor-03 (vehículo de logística) - Guardia-Nocturno-Juan (persona con tracker personal) - Drone-Inspeccion-01 (activo aéreo)

Este campo es obligatorio.


Paso 2) Seleccionar el objeto de referencia

El campo Select reference object define el punto fijo o móvil a partir del cual se mide la distancia.

  • Hacé click en el campo de texto para abrir el mismo selector de objetos.
  • Seleccioná un solo objeto que actúe como referencia.
  • Puede ser cualquier objeto GPS del sistema: una base fija, otro vehículo, o una ubicación instrumentada.

Ejemplos: - Base-Operaciones-Central (tracker fijo en la sede) - Supervisor-Zona-Norte (vehículo del supervisor) - Punto-Control-Acceso-A (tracker fijo en puerta de acceso)

Este campo es obligatorio.


Paso 3) Elegir el modo de activación

El selector When moving away / When approaching define qué tipo de cambio de distancia dispara el trigger.

Modo Cuándo se dispara Campo que configura
When moving away (alejándose) Cuando la distancia supera el valor configurado max_distance
When approaching (acercándose) Cuando la distancia cae por debajo del valor configurado min_distance

Solo uno de los dos modos puede estar activo a la vez.


Paso 4) Configurar la distancia umbral

El campo Distance define el valor en metros que actúa como umbral de disparo.

  • Si el modo es When moving away: ingresá la distancia máxima permitida. Si el objeto la supera, se dispara el trigger.
  • Si el modo es When approaching: ingresá la distancia mínima de proximidad. Si el objeto se acerca a menos de ese valor, se dispara el trigger.
Modo Valor recomendado Ejemplo de uso
Alejándose 500 Alerta si el vehículo se aleja más de 500 m de la base
Acercándose 50 Alerta si dos activos quedan a menos de 50 m entre sí

El valor puede ser decimal (por ejemplo, 250.5). La unidad es metros.


Buenas prácticas

  • Definí una distancia realista: umbrale muy pequeños (ej: 5 metros) pueden generar falsos positivos por imprecisión GPS. Para objetos en movimiento, usá al menos 30-50 metros.
  • Usá un objeto de referencia fijo cuando sea posible: si el punto de referencia también está en movimiento, la distancia calculada cambia con ambos y puede ser más difícil de predecir.
  • Combiná con condiciones: si el trigger de distancia se dispara en cualquier momento del día, podés agregar un nodo Condition: Date/Time después para filtrar por horario.
  • Evitá configurar la misma pareja de objetos en múltiples triggers de distancia con umbrales muy cercanos, ya que podrían dispararse casi simultáneamente y generar flujos duplicados.
  • Considerá la frecuencia de actualización GPS: si el tracker actualiza cada 30 segundos, el trigger puede demorar hasta ese intervalo en detectar el cambio de distancia.

Troubleshooting (problemas comunes)

  • El trigger no se dispara aunque los objetos están lejos/cerca
  • Verificá que ambos objetos (object_id y ref_object) estén enviando actualizaciones de posición GPS activamente.
  • Confirmá que los IDs seleccionados en el formulario correspondan a los objetos correctos.
  • Revisá que la distancia configurada sea coherente con la situación real (convertí tu estimación a metros).

  • El trigger se dispara constantemente

  • Si la distancia entre los objetos oscila alrededor del umbral, el trigger se puede disparar muchas veces. Ajustá el umbral para que esté fuera del rango de oscilación normal.
  • Considerá agregar un nodo de espera o un cooldown en el flujo para evitar disparos repetitivos.

  • No encuentro el objeto en el selector

  • Usá el campo de búsqueda del modal para filtrar por nombre.
  • Filtrá por dominio para acotar la lista.
  • Verificá que el objeto exista en el sistema y tenga GPS activo.

  • Seleccioné el objeto equivocado

  • Hacé click en la "X" de la etiqueta que aparece debajo del campo para deseleccionarlo, y volvé a abrír el modal para elegir el correcto.

  • El nodo no guarda los cambios

  • Asegurate de que ambos campos (object_id y ref_object) estén seleccionados y que la distancia tenga un valor mayor a cero.

Configuración avanzada (JSON Editor) — solo usuarios expertos

La pestaña JSON Editor te permite ver y editar directamente la estructura interna del nodo. Es útil para:

  • Copiar configuraciones entre flujos o instancias.
  • Pegar configuraciones preparadas desde otra fuente.
  • Revisar el estado exacto del nodo.

Estructura del input

{
  "ruleSet": {
    "object_id": "uuid-del-objeto-monitoreado",
    "ref_object": "uuid-del-objeto-de-referencia",
    "max_distance": 500,
    "min_distance": 0
  },
  "config": {}
}

Tabla de campos

Campo Tipo Requerido Descripción
ruleSet.object_id string ID del objeto GPS cuya posición se monitorea
ruleSet.ref_object string ID del objeto GPS que actúa como punto de referencia
ruleSet.max_distance number Condicional Distancia máxima en metros (modo "alejándose"). Si la supera, se dispara el trigger. Usar 0 cuando no aplica.
ruleSet.min_distance number Condicional Distancia mínima en metros (modo "acercándose"). Si cae por debajo, se dispara el trigger. Usar 0 cuando no aplica.
config {} No Siempre vacío (reservado para uso futuro)

Nota: max_distance y min_distance no son mutuamente excluyentes a nivel de estructura, pero en la práctica solo uno tiene valor significativo según el modo elegido en el formulario. El otro queda en 0.


Ejemplos JSON por caso de uso

Alerta cuando vehículo se aleja más de 1 km de la base

{
  "ruleSet": {
    "object_id": "camion-repartidor-03-uuid",
    "ref_object": "base-operaciones-central-uuid",
    "max_distance": 1000,
    "min_distance": 0
  },
  "config": {}
}

Alerta cuando dos activos quedan a menos de 30 metros entre sí

{
  "ruleSet": {
    "object_id": "guardia-turno-a-uuid",
    "ref_object": "guardia-turno-b-uuid",
    "max_distance": 0,
    "min_distance": 30
  },
  "config": {}
}

Notificar cuando vehículo de entrega se acerca a menos de 200 m del depósito

{
  "ruleSet": {
    "object_id": "furgon-entrega-01-uuid",
    "ref_object": "deposito-norte-uuid",
    "max_distance": 0,
    "min_distance": 200
  },
  "config": {}
}

Guías rápidas (recetas)

Receta A — "Alerta si un vehículo abandona el radio de la sede"

  • Objeto: tracker del vehículo a monitorear (ej: Camion-Logistica-02)
  • Referencia: tracker fijo en la sede (ej: Base-Logistica-Central)
  • Modo: When moving away
  • Distancia: 800 (800 metros)
  • Acción: Notificación Telegram al centro de control

Receta B — "Detectar que un guardia se aleja demasiado de su compañero"

  • Objeto: tracker del guardia que se mueve (ej: Guardia-Ronda-Norte)
  • Referencia: tracker del guardia de referencia (ej: Guardia-Base-Sur)
  • Modo: When moving away
  • Distancia: 300 (300 metros)
  • Acción: Enviar alerta SMS al supervisor de turno

Receta C — "Notificar llegada de vehículo de proveedores al acceso principal"

  • Objeto: tracker del vehículo de proveedor (ej: Proveedor-Insumos-01)
  • Referencia: tracker fijo en el portón de acceso (ej: Portón-Acceso-Principal)
  • Modo: When approaching
  • Distancia: 150 (150 metros)
  • Acción: Enviar aviso al operador de acceso / abrir barrera automáticamente

Receta D — "Alerta de proximidad entre dos vehículos en zona de maniobras"

  • Objeto: tracker del primer vehículo (ej: Autoelevador-Zona-A)
  • Referencia: tracker del segundo vehículo (ej: Autoelevador-Zona-B)
  • Modo: When approaching
  • Distancia: 20 (20 metros)
  • Acción: Activar alerta sonora / notificar al supervisor de planta

Receta E — "Seguimiento de drone fuera del área autorizada"

  • Objeto: tracker del drone (ej: Drone-Inspeccion-01)
  • Referencia: tracker en la base de lanzamiento (ej: Base-Drones-Sector-3)
  • Modo: When moving away
  • Distancia: 2000 (2 km)
  • Acción: Notificar al operador de drone / registrar evento en log de auditoría

Referencias internas (para ubicarlo en el editor)

  • Key del nodo: distance_trigger
  • Clase: trigger
  • Campos requeridos: object_id (obligatorio), ref_object (obligatorio)
  • Campos condicionales: max_distance (modo alejándose), min_distance (modo acercándose)
  • Unidad de distancia: metros
  • Tipo de objetos soportados: cualquier objeto con posición GPS activa