Caso de uso de regla de evento: mostrar activos 'conectados' (basados en proximidad) en la lista de activos
Puede haber un escenario en el que dos activos estén cerca uno del otro durante un largo período de tiempo, por ejemplo, un camión y un remolque, ambos con su rastreador. Y como usuario, puede que desee ver qué camión está conectado a qué remolque.
Cómo configurar:
1. Plugin Rendezvous
Inicie sesión en Administración del sitio (legacy)> Plugins > Obtener más plugins, descargue e instale el plugin Rendezvous.
2. Variable personalizada
Agregue una variable personalizada con el nombre de su elección (consulte Variables personalizadas para saber cómo agregar una variable personalizada). En este ejemplo, la variable se llama AttachedTo.
3. Variable personalizada en la lista de activos
Agregue la variable personalizada a la lista de activos, por favor vaya a Administrar columnas, agregar variables en el panel de activos para más información sobre cómo hacerlo.
4. Regla de evento
-
Cree una nueva regla de evento
- nómbrela adecuadamente
- establezca a qué etiquetas se aplicará
- establezca cuándo la regla estará activa
- En Expresiones, agregue una Expresión de Script (asegúrese de tener el privilegio _EditScriptExpression. activado, por favor siga esta guía si no es visible) y agregue el siguiente código:
var st = context.state || { rvz_status: false, rvz_timestamp: null, rvz_name: null};
var searchtag = 'Trailers'; //Cambiar al nombre de la etiqueta que contiene el/los dispositivo(s) que desea buscar
var searchtagobj = session.directory.getTag(searchtag);
var searchtagid = searchtagobj.id;
var r = rendezvous.findAny(searchtagid,'Enter',10); //Dentro de 10 metros
if(r != null) {
st.rvz_name = r.name;
st.rvz_status = true;
st.rvz_timestamp = new Date();
context.setVariable("UnitName", r.name);
context.setState(st);
return true;
}
else {
var newdate = new Date();
var timestamp = new Date(st.rvz_timestamp);
var time_diff = newdate.getTime() - timestamp.getTime();
if(st.rvz_status == true && time_diff > 300000) { //En milisegundos
st.rvz_name = null;
st.rvz_status = false;
st.rvz_timestamp = null;
context.setVariable("UnitName", "");
}
else {
context.setVariable("UnitName", st.rvs_name);
}
context.setState(st);
return false;
} - En Notificaciones, configure como se ve en la captura de pantalla
- Guardar
5. Resultado
Ahora, cuando un activo esté cerca de otro activo y los criterios en el script coincidan, tendrá un resultado como este: