avl_evts

Utilice el método avl_evts para obtener información sobre los eventos que han ocurrido desde la última solicitud de este método.

Endpoint

Copied!
https://<host>/avl_evts?sid=<text>

Parámetros

La solicitud debe incluir el siguiente parámetro:

Parámetro Descripción
sid ID de sesión.

Respuesta

Si la solicitud se ejecuta correctamente, la respuesta tiene el siguiente formato:

Copied!
{
  "tm": <uint>,                        /* Hora del servidor. */
  "events": [                          /* Eventos. */
    {
      "i": <long>,                     /* ID del elemento. */
      "t": "<text>",                   /* Tipo de evento: m para mensaje, u para actualización, d para eliminación. */
      "d": {                           /* Descripción del evento. Depende del tipo de evento. Se omite para eventos de eliminación (t: "d"). */
        ...
      }
    }
  ],
  "sensors": [
    {
      "i": <uint>,                     /* ID de unidad. */
      "d": {                           /* Objeto de datos del sensor. */
        "<sensor_id>": {
          "value": <double|text>,      /* Valor del sensor (numérico o texto). */
          "format": {
            "value": <text>            /* Valor del sensor formateado. */
          }
        }
      }
    }
  ],
  "units_update": {                    /* Actualizaciones de eventos de los detectores. Se devuelve solo en el modo 0x200. */
    "<item_id>": [                     /* ID del elemento. */
      {
        "<detector_name>": {           /* Datos del detector. Depende del detector y los flags de detalle. */
          ...
        }
      }
    ]
  }
}

Campo sensors

El campo sensors contiene valores de sensores calculados para las unidades que han recibido nuevos mensajes de datos desde la última solicitud avl_evts. Este campo proporciona actualizaciones de valores de sensores en tiempo real, por lo que no es necesario realizar solicitudes separadas de cálculo de sensores.

  • Si ninguna unidad tiene valores nuevos de sensores, el campo sensors devuelve un array vacío.
  • Cada objeto en el array representa una unidad, identificada por i (ID de unidad).
  • El objeto d contiene datos del sensor, donde las claves son los ID de sensores.

Formatos de valores de sensores

El formato del valor del sensor en la respuesta depende del tipo de sensor.

Los siguientes sensores devuelven valores de texto:

  • sensores personalizados con la opción Parámetros de texto habilitada;
  • sensores de los tipos Asignación de conductor, Asignación de remolque, Sensor de pasajeros.

Todos los demás sensores devuelven valores numéricos.

Parámetro Sensor numérico Sensor de texto
value Valor numérico convertido al sistema de medidas de la sesión (por ejemplo, 16.749812). Devuelve -348201.3876 si no se han recibido datos. Valor de texto (por ejemplo, "Active"). Devuelve la cadena "---" si no se han recibido datos.
format.value Valor formateado con unidades (por ejemplo, "0 km" o "62.15 °F"). Devuelve "---" si no se han recibido datos. Si se define una etiqueta personalizada en la configuración Intervalos y colores de la unidad y coincide con el valor actual, el campo es "<etiqueta personalizada> (<valor formateado>)". Igual que value (por ejemplo, "Active"). Si una etiqueta personalizada coincide con el valor actual, el campo contiene "<etiqueta personalizada> (<valor de texto>)".

Campo units_update

El campo units_update contiene las actualizaciones de eventos de los elementos añadidos a la sesión con events/update_items o events/update_units. Los elementos pueden ser unidades o recursos. El campo se devuelve solo si el parámetro evt_flags de estos métodos incluye el valor 0x200.

Para recibir actualizaciones de asignación de conductores, use events/update_items: agregue el recurso a la sesión y establezca el detector resource_drivers.

Los datos son los mismos que los devueltos por events/check_updates. Se agrupan por ID de elemento, y para cada elemento contienen un array de objetos de detector. Para conocer la estructura de los objetos de detector, consulte events/check_updates.

Cada respuesta contiene solo las actualizaciones registradas desde la solicitud avl_evts anterior. Si no hay nuevas actualizaciones, el campo no se devuelve.

En este modo, no llame a events/check_updates. Devuelve un objeto vacío.

El nivel de detalle se establece mediante los flags de detalle (bits 0x1 a 0x100) del parámetro evt_flags. No puede configurarlo en la solicitud avl_evts.

El idioma y el sistema de medidas de los valores devueltos se toman de la configuración regional de la sesión. Para cambiarlos, utilice render/set_locale. A diferencia de events/check_updates, el método avl_evts no admite los parámetros lang y measure.

Para ver un ejemplo de respuesta, consulte events/update_items.

Migración de sesión

Si la sesión se está moviendo a otro servidor en el momento de la solicitud, el método devuelve una respuesta con "migrate": 1 y un array events vacío. Esto no es un error. Continúe enviando solicitudes con el mismo ID de sesión. El método vuelve a devolver datos de eventos una vez que se completa la migración.

Códigos de error

Si la solicitud no se completa, se devuelve un código de error.

Código de error Descripción
1 ID de sesión no válido, ausente o expirado.
1003 Se excedió el límite de solicitudes. La respuesta puede incluir el campo reason con información adicional. Consulte Restricciones.
1016 Error interno (respuesta vacía).

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