update_units

Para agregar, eliminar o limpiar unidades monitoreadas en la sesión, utilice el método events/update_units.

Para monitorear recursos además de unidades, utilice events/update_items. Para nuevas integraciones, utilice events/update_items.

Endpoint

El formato de la solicitud depende del modo de operación.

Agregar unidades

Para agregar unidades específicas a la sesión, utilice la siguiente solicitud:

Copied!
svc=events/update_units&params={
  "mode": "add",
  "units": [
    {
      "id": <long>,
      "detect": {
        "<detector_name>": <long>
      }
    },
    ...
  ],
  "evt_flags": <uint>   /* opcional */
}

Eliminar unidades específicas

Para eliminar unidades específicas de la sesión, utilice la siguiente solicitud:

Copied!
svc=events/update_units&params={
  "mode": "remove",
  "units": [
    <long>
  ]
}

Eliminar todas las unidades

Para eliminar todas las unidades de la sesión, utilice la siguiente solicitud:

Copied!
svc=events/update_units&params={
  "mode": "clear"
}

Parámetros

Parámetro Descripción
mode Obligatorio. Modo de operación: add, remove o clear.
units Obligatorio para add y remove. Array de objetos de unidades (para add) o IDs de unidades (para remove).
id Obligatorio para add. ID de unidad.
detect Obligatorio para add. Detectores a monitorear y sus filtros. Consulte la sección Tipos de detectores de eventos.
evt_flags Opcional. Flags de evento. Consulte la sección Flags de evento.

Tipos de detectores de eventos

Los siguientes detectores de eventos se pueden configurar en el objeto detect. Para cada detector, especifique un valor de filtro que seleccione los eventos a monitorear: un ID o tipo específico, o 0 para monitorear todos los eventos de este detector.

Copied!
"detect":{"<detector_name>":<filter_value>}
Detector Eventos Valor de filtro
trips Eventos de viajes y estacionamientos. 0
counters Eventos de contadores de horas de motor, kilometraje y tráfico GPRS. 0
speedings Eventos de excesos de velocidad. 0
ignition Eventos del sensor de ignición. ID de sensor, o 0 para todos los sensores de este tipo.
sensors Eventos de sensores distintos de sensores de ignición, del nivel de combustible y del nivel de batería. ID de sensor, o 0 para todos los sensores de este tipo.
lls Eventos del sensor del nivel de combustible. ID del sensor del nivel de combustible, o 0 para todos los sensores del nivel de combustible.
filling Eventos de llenados de combustible. ID del sensor del nivel de combustible, o 0 para todos los sensores del nivel de combustible.
theft Eventos de descargas de combustible. ID del sensor del nivel de combustible, o 0 para todos los sensores del nivel de combustible.
fuel_level Eventos de nivel de combustible. ID del sensor del nivel de combustible, o 0 para todos los sensores del nivel de combustible.
battery_level Eventos de nivel de batería (valores de nivel de batería procesados y sin procesar). ID del sensor del nivel de batería, o 0 para todos los sensores del nivel de batería.
charge Eventos de carga de batería (cambios de volumen de carga). ID del sensor del nivel de batería, o 0 para todos los sensores del nivel de batería.
ev Detector combinado para baterías de vehículos eléctricos. Registra eventos de nivel de batería y de carga. ID del sensor del nivel de batería, o 0 para todos los sensores del nivel de batería.
health_check Incidentes de Diagnóstico. Tipo de incidente, o 0 para todos los incidentes.
eco_driving Infracciones de Conducción eficiente. Tipo de criterio (1 aceleración, 2 frenado, 3 giro, 4 exceso de velocidad, 5 sensor, 6 suavidad, 7 ralentí), o 0 para todos los criterios.

Los detectores battery_level, charge y ev utilizan las siguientes configuraciones del sensor del nivel de batería: Calcular datos según el sensor, Tipo de filtración, Volumen mínimo de carga (kWh), Detectar recargas solo cuando el vehículo está parado y Tiempo de espera para separar recargas consecutivas. Si Calcular datos según el sensor está deshabilitada, no se registran eventos para el sensor.

Los detectores registran el nivel de batería y las recargas, pero no las descargas de batería. No se tienen en cuenta el modelo matemático de consumo, los sensores del motor ni los sensores del coeficiente de temperatura.

Para agregar todos los detectores de eventos disponibles, utilice:

Copied!
"detect":{"*":0}

En el modo add, solo se agregan las unidades a las que el usuario actual tiene acceso de visualización. Si una unidad listada ya está siendo monitoreada, su configuración de detectores se reemplaza. Los valores de filtro de detectores individuales no válidos se ignoran.

Flags de evento

El valor de evt_flags se almacena en la sesión y controla cómo se entregan las actualizaciones de eventos. Su valor por defecto es 0.

Valor Nombre Descripción
0 check_updates Modo por defecto. El método events/check_updates consulta detectores y devuelve datos de eventos.
0x200 units_update Las actualizaciones de eventos se envían automáticamente en los datos units_update de avl_evts. En este modo, events/check_updates devuelve {}. Combínelo con flags de detalle en los bits 0x1 a 0x100.

Combine los flags de detalle a continuación con 0x200. Si no se especifican flags de detalle, se utiliza el valor 0x7 (0x1 | 0x2 | 0x4).

Valor Descripción
0x1 Datos básicos del evento.
0x2 Datos específicos del detector.
0x4 Parámetros del mensaje asociado con el evento.
0x8 Datos de detalle adicionales.
0x10 Datos detallados de mensaje.
0x20 Valores formateados del detector.
0x40 Agrupar resultados por intervalos de intersección.
0x80 Datos de resumen del detector.
0x100 Eventos extendidos.

Por ejemplo, evt_flags = 0x207 habilita el modo units_update (0x200) con datos básicos del evento, datos específicos del detector y parámetros de mensaje visibles (0x1 | 0x2 | 0x4 = 0x7).

Ejemplos

Los siguientes ejemplos muestran cómo establecer el objeto detect al agregar unidades a la sesión.

Agregar todos los sensores de un tipo

Para monitorear eventos de todos los sensores de ignición y todos los demás sensores de la unidad con ID 1001, utilice una de las siguientes solicitudes:

Copied!
svc=events/update_units&params={
  "mode": "add",
  "units": [
    {
      "id": 1001,
      "detect": {
        "ignition": 0,
        "sensors": 0
      }
    }
  ]
}
Copied!
svc=events/update_units&params={
  "mode": "add",
  "units": [
    {
      "id": 1001,
      "detect": {
        "ignition,sensors": 0
      }
    }
  ]
}

Agregar sensores específicos

Para monitorear eventos del sensor del nivel de combustible con ID 2 y otro sensor con ID 6, utilice la siguiente solicitud:

Copied!
svc=events/update_units&params={
  "mode": "add",
  "units": [
    {
      "id": 1001,
      "detect": {
        "lls": 2,
        "sensors": 6
      }
    }
  ]
}

Respuesta

Si la solicitud se completa correctamente, se devuelve la siguiente respuesta:

Copied!
{
  "units": <uint>   /* total number of units monitored in the session */
}

De lo contrario, se devuelve un código de error.

Códigos de error

Código Descripción
1 SID de solicitud no válido u obsoleto.
4 Error de validación de parámetros.
7 El servicio de eventos no está disponible.

Si nota un error en el texto, por favor resáltelo y presione Ctrl+Intro.