Справочный центр Wialon

update_units

Для добавления, удаления или очистки объектов, отслеживаемых в сессии, используйте метод events/update_units.

Для отслеживания ресурсов, а также объектов используйте events/update_items. Для новых интеграций используйте events/update_items.

Конечная точка

Формат запроса зависит от режима работы.

Добавление объектов

Для добавления определённых объектов в сессию используйте следующий запрос:

Copied!
svc=events/update_units&params={
  "mode": "add",
  "units": [
    {
      "id": <long>,
      "detect": {
        "<detector_name>": <long>
      }
    },
    ...
  ],
  "evt_flags": <uint>   /* необязательный */
}

Удаление определённых объектов

Для удаления определённых объектов из сессии используйте следующий запрос:

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

Удаление всех объектов

Для удаления всех объектов из сессии используйте следующий запрос:

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

Параметры

Параметр Описание
mode Обязательный. Режим работы: add, remove или clear.
units Обязательный для add и remove. Массив объектов (для add) или ID объектов (для remove).
id Обязательный для add. ID объекта.
detect Обязательный для add. Детекторы для отслеживания и их фильтры. См. раздел Типы детекторов событий.
evt_flags Необязательный. Флаги событий. См. раздел Флаги событий.

Типы детекторов событий

В объекте detect можно настроить следующие детекторы событий. Для каждого детектора укажите значение фильтра, которое выбирает события для отслеживания: конкретный ID или тип, либо 0 для отслеживания всех событий этого детектора.

Copied!
"detect":{"<detector_name>":<filter_value>}
Детектор События Значение фильтра
trips События поездок и стоянок. 0
counters События счётчиков моточасов, пробега и GPRS-трафика. 0
speedings События превышения скорости. 0
ignition События датчика зажигания. ID датчика или 0 для всех датчиков этого типа.
sensors События датчиков, кроме датчиков зажигания, уровня топлива и уровня заряда батареи. ID датчика или 0 для всех датчиков этого типа.
lls События датчика уровня топлива. ID датчика уровня топлива или 0 для всех датчиков уровня топлива.
filling События заправок топлива. ID датчика уровня топлива или 0 для всех датчиков уровня топлива.
theft События сливов топлива. ID датчика уровня топлива или 0 для всех датчиков уровня топлива.
fuel_level События уровня топлива. ID датчика уровня топлива или 0 для всех датчиков уровня топлива.
battery_level События уровня заряда батареи (рассчитанные и исходные значения уровня заряда). ID датчика уровня заряда или 0 для всех датчиков уровня заряда.
charge События заряда батареи (изменения объёма заряда). ID датчика уровня заряда или 0 для всех датчиков уровня заряда.
ev Комбинированный детектор батарей электромобилей. Регистрирует события уровня заряда батареи и зарядки. ID датчика уровня заряда или 0 для всех датчиков уровня заряда.
health_check Инциденты диагностики. Тип инцидента или 0 для всех инцидентов.
eco_driving Нарушения качества вождения. Тип критерия (1 — ускорение, 2 — торможение, 3 — поворот, 4 — превышение скорости, 5 — датчик, 6 — плавность движения, 7 — холостой ход) или 0 для всех критериев.

Детекторы battery_level, charge и ev используют следующие настройки датчика уровня заряда: Рассчитывать данные по датчику, Тип фильтрации, Минимальный объём зарядки (кВт·ч), Искать зарядки только при остановке и Таймаут для разделения зарядок. Если настройка Рассчитывать данные по датчику отключена, для датчика не регистрируются события.

Детекторы регистрируют уровень заряда батареи и зарядку, но не разрядку батареи. Математическая модель расхода, датчики двигателя и датчики температурного коэффициента не учитываются.

Чтобы добавить все доступные детекторы событий, используйте:

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

В режиме add добавляются только те объекты, на которые текущий пользователь имеет права доступа на просмотр. Если указанный объект уже отслеживается, его конфигурация детекторов заменяется. Недопустимые значения отдельных фильтров детекторов игнорируются.

Флаги событий

Параметр evt_flags сохраняется в сессии и управляет способом доставки обновлений событий. Значение по умолчанию — 0.

Значение Название Описание
0 check_updates Режим по умолчанию. Метод events/check_updates опрашивает детекторы и возвращает данные о событиях.
0x200 units_update Обновления событий отправляются автоматически в данных units_update запроса avl_evts. В этом режиме events/check_updates возвращает {}. Комбинируйте с флагами детализации в битах от 0x1 до 0x100.

Комбинируйте флаги детализации ниже с 0x200. Если флаги детализации не указаны, используется значение 0x7 (0x1 | 0x2 | 0x4).

Значение Описание
0x1 Основные данные события.
0x2 Данные, зависящие от типа детектора.
0x4 Параметры сообщения, связанного с событием.
0x8 Дополнительные подробные данные.
0x10 Подробные данные сообщений.
0x20 Отформатированные значения детектора.
0x40 Группировать результаты по интервалам пересечения.
0x80 Итоговые данные детектора.
0x100 Расширенные события.

Например, evt_flags = 0x207 включает режим units_update (0x200) с основными данными события, данными, зависящими от детектора, и видимыми параметрами сообщения (0x1 | 0x2 | 0x4 = 0x7).

Примеры

В следующих примерах показано, как настроить объект detect при добавлении объектов в сессию.

Добавление всех датчиков типа

Для отслеживания событий от всех датчиков зажигания и всех остальных датчиков объекта с ID 1001 используйте один из следующих запросов:

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
      }
    }
  ]
}

Добавление конкретных датчиков

Для отслеживания событий от датчика уровня топлива с ID 2 и другого датчика с ID 6 используйте:

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

Возвращаемый результат

При успешном выполнении запроса возвращается следующий результат:

Copied!
{
  "units": <uint>   /* общее количество объектов, отслеживаемых в сессии */
}

В противном случае возвращается код ошибки.

Коды ошибок

Код Описание
1 Недействительный или устаревший SID запроса.
4 Ошибка проверки параметров.
7 Сервис событий недоступен.

Если вы заметили ошибку в тексте, пожалуйста, выделите её и нажмите Ctrl+Enter.