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.

Screenshot 2024-10-24 at 12.13.28.png

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

  1. Cree una nueva regla de evento

    • nómbrela adecuadamente
    • establezca a qué etiquetas se aplicará
    • establezca cuándo la regla estará activa

  2. 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;
    }
  3. En Notificaciones, configure como se ve en la captura de pantalla

    mceclip1.png
  4. Guardar

5. Resultado

Ahora, cuando un activo esté cerca de otro activo y los criterios en el script coincidan, tendrá un resultado como este:

Screenshot 2024-10-24 at 12.17.50.png