Reporte Ecológico Guionado EC3001

El reporte Eco mide la conducción brusca, el exceso de velocidad, el uso del cinturón de seguridad y el ralentí para producir un puntaje eco para cada activo. El reporte Eco Scripted EC3001 te ofrece mucha flexibilidad para definir tus propias reglas de negocio. 

Esta guía muestra cómo configurar y comenzar con el Reporte Eco. 

Screenshot_2020-06-05_at_13.23.53.png

Nota: Para que un día sea contado, el período seleccionado debe tener 24 horas de ese día (12AM-12AM). 

Requisitos e instalación

1. Configura tu Mapeador de Dispositivos

Tus señales de conducción brusca deben estar mapeadas, usando el Mapeador de Dispositivos, a las variables correctas para que el reporte EC3001 funcione. Abre el mapeador de dispositivos de tu rastreador/es:

  a. Ve a Menú Principal > Admin > Mapeador de Dispositivos en la aplicación.

  b. Haz clic en Editar para el rastreador compatible con conducción brusca

  c. Mapea la entrada de Encendido de tu rastreador a la variable de GpsGate Encendido. Esto es necesario para el tiempo de ralentí correcto.

      Nota: La señal de encendido podría provenir de una entrada diferente de tu rastreador. 

Screenshot 2023-10-10 at 14.05.13.png

  d. Mapea las señales bruscas del rastreador a las siguientes variables:

      Entradas digitales → HarshAccelerationDigital, HarshBreakingDigital, HarshTurningDigital

      Entradas analógicas → HarshAcceleration, HarshBreaking, HarshTurning

  Nota: No es necesario mapear todas las señales bruscas, pero recuerda establecer 0 (cero) Peso en los parámetros del reporte como se muestra a continuación. 

Screenshot 2023-10-10 at 14.05.56.png

  e. Guarda tus cambios y cierra la ventana del Mapeador de Dispositivos.

Nota: Lee más sobre configuraciones específicas de dispositivos.

2. Descarga el archivo EC3001_Scripted_Eco_Report.zip y extrae los archivos XML en tu computadora.

3. Importa la regla de evento (EC3001 Scripted Eco Report.xml) en VehicleTracker. Aprende cómo importar una regla de evento en una aplicación.

4. Importa la plantilla de reporte EC3001 Scripted Eco Report (detailed).xml en Administración del sitio. Aprende cómo importar una plantilla de reporte en una aplicación.

5. Activa el reporte EC3001 en tu Aplicación.

Configuración de parámetros de Punto del Reporte Eco Scripted EC3001

El reporte muestra un único puntaje para cada activo basado en los eventos severos y el tiempo de inactividad. Para hacer esto, se utiliza una fórmula con los siguientes parámetros:

Fórmula del Reporte Eco Scripted EC3001
Puntos de Evento & Puntos de Inactividad: Peso para cada evento. Valor por defecto: 5. Rango: 1 - 5. Un valor de punto más alto significa que el comportamiento es más grave/más indeseable. Un valor de punto más bajo indica una infracción menos grave.
Ocurrencias de Eventos (frenado brusco, aceleración, giro, exceso de velocidad, uso del cinturón de seguridad, + cualquier otra medida deseada)

Distancia: Distancia total del viaje de un activo.

Distancia Mínima: La distancia mínima para calcular un puntaje. Por defecto: 100 km.

Como puede ver en el reporte de muestra anterior, el puntaje es 100 para viajes que son menores que la distancia mínima (100 km). La distancia mínima se puede configurar en la regla del evento. 

Tiempo de Viaje & Tiempo de Inactividad: Tiempo de viaje del activo y tiempo de inactividad

Factor de Tiempo de Inactividad: El tiempo de inactividad mínimo permitido por hora. Por defecto: 5 minutos. Por ejemplo: Si el tiempo de inactividad es de 5 min y el tiempo total de viaje es de 1 hora, entonces el puntaje de inactividad será cero. 

Factor de Distancia: 100 / Distancia. Los puntajes de conducción severa se calculan en base a eventos severos por distancia recorrida
Puntaje de Evento = Puntos de Evento * Ocurrencias de Evento * Factor de Distancia
Puntaje de Inactividad = Puntos de Inactividad * (Tiempo de Inactividad - Factor de Tiempo de Inactividad * Tiempo Total de Viaje) / Factor de Tiempo de Inactividad
Puntaje Total = 100 - Puntaje de Evento - Puntaje de Inactividad

Ejemplo: Cálculo del Puntaje Eco para un activo que recorrió 200 km y generó los siguientes eventos severos:

Frenado Brusco: 3 Frenado Brusco: 5 * 3 * 100 / 200 = 8
Aceleración Brusca: 4 Aceleración Brusca: 5 * 4 * 100 / 200 = 10
Giro Brusco: 2 Giro Brusco: 5 * 2 * 100 / 200 =5
Exceso de Velocidad: 4 Exceso de Velocidad: 5 * 4 * 100 / 200 = 10
Tiempo de inactividad: 10 minutos

Tiempo Total de Viaje = Tiempo de viaje + Tiempo de Inactividad 

                      = 10 + 50 = 60 mins = 1 hora

Inactividad: 5 * (10 - 5 * 1) / 5 = 5 

Tiempo de viaje: 50 minutos

  Puntaje de Evento: 8 + 10 + 5 + 10 = 33

  Puntaje de Inactividad: 5

  Puntaje Total: 100 - 33 - 5 = 62

 

Los puntos se definen como variables en el script. Busque el pasaje en el script que está encerrado con //Reemplazar abajo para obtener “Campos Personalizados” y //Reemplazar arriba para obtener “Campos Personalizados” y ajústelos si es necesario.

Para cada parámetro “Severo”, el valor predeterminado es 5. Previsualice el reporte para determinar si alguno de los puntos necesita ser alterado.

Nota: Es posible que desee usar diferentes puntos para diferentes tipos de activos (por ejemplo, camiones, autos, etc.) en la misma aplicación. Para ese propósito, consulte Usar Campos Personalizados más abajo.

Vea Modificar Script a continuación para más información, (pasos 2-5 y 8-11).

Modificando el Script

  1. Elija un editor, por ejemplo, Notepad++.
  2. En la aplicación, abra la ventana Admin > Reglas de Evento.
  3. Observe la nueva regla llamada EC3001 ScriptedEco Report que acaba de importar. Esta regla incluye una Expresión de Script que incluye la mayoría de los cálculos para el reporte.
  4. Haga clic en Editar en la Expresión de Script bajo la sección 4. Expresión
  5. Familiarícese con la salida del script presionando el botón de prueba y observando el resultado
  6. Copie todo el script y péguelo en el editor.
  7. Abra uno de los archivos, (incluido en el archivo .zip que acaba de descargar), llamado EcoAddFunctionality.txt
  8. Modifique su script, vea diferentes alternativas a continuación.
  9. Asegúrese de que el script se ejecute, luego acepte y guarde la regla de evento.
  10. Asegúrese de reprocesar los datos para el reporte. Lea cómo reprocesar un reporte.
  11. Genere el reporte y vea los resultados actualizados.

Opcional: Usar Límites de Velocidad Reales

  1. Instale el plugin SpeedingExpression.
  2. Siga los pasos 1-7 en la sección Modificar Script.
  3. Reemplace lo que está entre Reemplazar abajo - “Obtener Límites de Velocidad Dinámicos de OSM” y Reemplazar arriba - “Obtener Límites de Velocidad Dinámicos de OSM”. Hay dos partes; una función y algunas variables. Ambas son necesarias.
  4. Siga los pasos 9-11 en la sección “Modificar Script”.

Opcional: Usar Campos Personalizados

Es posible que desee usar diferentes pesos para diferentes tipos de activos (camiones, autos, etc.) en la misma aplicación:

  1. Siga los pasos 1-7 en la sección “Modificar Script”.
  2. Reemplace lo que está entre Reemplazar abajo - “Obtener Campos Personalizados” y Reemplazar arriba - “Obtener Campos Personalizados”.
  3. Cree estos campos personalizados y úselos en el script (por ejemplo, ‘harshAccWeight’ en la imagen a continuación).
  4. Siga los pasos 9-11 en la sección “Modificar Script”.
//Reemplacea continuación paraobtener "Campos Personalizados"
var harshAccWeight = parseFloat(session.usuario.getCustomFieldValue('harshAccWeight') || 0);
var harshBrakeWeight = parseFloat(session.usuario.getCustomFieldValue('harshBrakeWeight') || 0);
var harshTurnWeight = parseFloat(session.usuario.getCustomFieldValue('harshTurnWeight') || 0);
var oSpeedWeight = parseFloat(session.usuario.getCustomFieldValue('oSpeedWeight') || 0);
var sBeltWeight = parseFloat(session.usuario.getCustomFieldValue('sBeltWeight') || 0);
var tripIdleWeight = parseFloat(session.usuario.getCustomFieldValue('tripIdleWeight') || 0);
 
var idletimeBase = parseFloat(session.usuario.getCustomFieldValue('idletimeBase') || 0);
var excellent = parseFloat(session.usuario.getCustomFieldValue('excellent') || 0);
var good = parseFloat(session.usuario.getCustomFieldValue('good') || 0);
var fair = parseFloat(session.usuario.getCustomFieldValue('fair') || 0);
//Reemplace  arriba paraobtener "Campos Personalizados"
 

custom_fields.pngOpcional: Reportar conductor en lugar del activo

Si tienes un conductor conectado a tu activo, puedes reportar a ese conductor en lugar del activo:

  1. En la aplicación, abre la ventana de Admin > Reglas de Evento.
  2. Cambia “A quién se aplica esta regla” a una etiqueta con tus conductores en lugar de tus activos.
  3. Sigue los pasos 1-7 en la sección “Modificar Script”.
  4. Busca las líneas de código a continuación en el script y comenta driver.username en 3 lugares diferentes para que el script se vea como el código a continuación.
  5. Sigue los pasos 9-11 en la sección “Modificar Script”.

Después de editar, debería ser:

DriverOrVehicle: session.driver.username, // lugar 1
//DriverOrVehicle: session.asset.username, //
 
var newDriverOrVehicle = (state.DriverOrVehicle != session.driver.username);//lugar 2
//var newDriverOrVehicle = (state.DriverOrVehicle != session.asset.username);
 
state.DriverOrVehicle = session.driver.username; // lugar 3
//state.DriverOrVehicle = session.asset.username;

Clasificación del conductor

El reporte puede mostrar la clasificación del conductor basada en la puntuación que el conductor ha recibido según la lógica descrita anteriormente. La clasificación es la siguiente:
  • por debajo de 30 puntos - Riesgoso
  • entre 30 y 65 puntos - Regular
  • entre 65 y 85 puntos - Bueno
  • Entre 85 y 100 puntos - Excelente

Los valores se pueden ajustar editando la expresión en la celda en la plantilla del reporte que contiene el siguiente código:

$math.eval(( 100 - [EventArgument12]/[EventArgument] - [EventArgument15] ) < 30 ? "Riesgoso" : $math.eval(100 - [EventArgument12]/[EventArgument] - [EventArgument15] ) < 65 ? "Regular" : $math.eval(100 - [EventArgument12]/[EventArgument] - [EventArgument15] ) < 85 ? "Bueno": $math.eval(100 - [EventArgument12]/[EventArgument] - [EventArgument15] ) <= 100 ? "Excelente": $math.eval(100 - [EventArgument12]/[EventArgument] - [EventArgument15] ))

Los valores pueden ser reemplazados por las variables personalizadas si las añades (ver sección Opcional: Uso de Campos Personalizados)

Consulta el reporte adjunto (EC3001 Reporte Eco con guion (detallado con clasificación) como referencia.

Guías de configuración específicas del rastreador

Necesitas configurar tus rastreadores para enviar información de conducción brusca para que el reporte funcione. Las guías a continuación te ayudarán con la configuración de algunas marcas de rastreadores para habilitar o establecer correctamente los parámetros de conducción brusca en esos rastreadores: