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_idyref_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_idyref_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 |
Sí | ID del objeto GPS cuya posición se monitorea |
ruleSet.ref_object |
string |
Sí | 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_distanceymin_distanceno 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 en0.
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