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

check_updates

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

Перед вызовом этого метода добавьте объекты в сессию с помощью метода events/update_units.

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

Copied!
svc=events/check_updates&params={
    "lang": <text>,
    "measure": <uint>,
    "detalization": <uint>
}

Параметры

Все параметры необязательны.

Параметр Описание Значение по умолчанию
lang Язык (двухсимвольный код). en
measure Система измерения:

  • 0 — СИ;
  • 1 — американская;
  • 2 — имперская.
0
detalization Флаги вывода (см. ниже). Должны быть указаны в десятичном формате. 7

Флаги вывода

Флаг Описание
0x1 Базовый JSON: начало — конец события.
0x2 Данные конкретного детектора.
0x4 Пользовательские параметры (те, которые пользователь указал для этого события).
0x10 Полный JSON. Каждый детектор интерпретирует его по-своему.
0x20 Форматированное значение.

Тип датчика

Значение type Описание Регистрация событий
1 Датчики-переключатели:

  • engine operation — датчик зажигания;
  • digital — произвольный цифровой датчик;
  • engine efficiency — датчик полезной работы двигателя;
  • private mode — частный режим;
  • alarm trigger — тревожная кнопка;
  • counter — счетчик (переключатель на ВКЛ/на ВЫКЛ).
События регистрируются от
момента включения датчика до его выключения.
2 Мгновенные датчики:

  • odometer — относительный одометр;
  • relative engine hours — относительные моточасы;
  • instant fuel consumption — датчик мгновенного расхода топлива;
  • counter — счетчик (мгновенный).
События регистрируются от
первого ненулевого значения датчика до последнего.
3 Дифференциальные датчики:

  • mileage — датчик пробега;
  • engine hours — абсолютные моточасы;
  • impulse fuel consumption — импульсный датчик расхода топлива;
  • absolute fuel consumption — датчик абсолютного расхода топлива;
  • counter — счетчик (с переполнением/без переполнения);
  • fuel level impulse sensor — импульсный датчик уровня топлива.
События регистрируются от
начала роста значения датчика до окончания.
4 Аналоговые датчики:

  • temperature — датчик температуры;
  • engine rpm — датчик оборотов двигателя;
  • voltage — датчик напряжения;
  • weight sensor — датчик веса;
  • accelerometer — акселерометр;
  • temperature coefficient — коэффициент температуры;
  • custom — произвольный датчик.
События не регистрируются.

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

Ответ сгруппирован по ID объекта. Для каждого объекта ответ содержит массив объектов детекторов:

Copied!
{
    "<unit_id>": [
        { "<detector_name>": { ... } },
        { "<detector_name>": { ... } },
        ...
    ],
    "<unit_id>": [ ... ]
}

Структура каждого объекта детектора зависит от флагов, указанных в параметре detalization. Флаги можно комбинировать. В разделах ниже описывается каждый флаг отдельно.

Флаг 0x1

Возвращается базовый JSON (для всех групп датчиков).

Copied!
"<type_name>": {
    "<sensor_id>": {
        "from": {
            "t":<uint>,   /* время (UNIX-время) */
            "y":<double>, /* широта*/
            "x":<double>  /* долгота*/
        },
        "to": {
            "t":<uint>,   /* время (UNIX-время) */
            "y":<double>, /* широта*/
            "x":<double>  /* долгота*/
        },
        "m":<uint>,       /* время последнего сообщения */
        "f":<uint>        /* служебный флаг */
    }
}

Флаг 0x2

Возвращаются данные конкретного детектора.

Copied!
"ignition": {
    "<sensor_id>": {
        "state": <uint>,      /* состояние: 0 — выключен, 1 — включен */
        "type": 1,            /* тип датчика: датчик-переключатель */
        "hours": <uint>,      /* моточасы за всю историю, с */
        "switches": <uint>,   /* количество срабатываний за всю историю */
        "value": <bool>       /* текущее значение */
    }
}

Все типы датчиков для sensors:

Copied!
"sensors": {
    "<sensor_id1>": {
        "state": <uint>,           /* состояние: 0 — выключен, 1 — включен */
        "type": 1,                 /* тип датчика: датчик-переключатель */
        "hours": <uint>,           /* моточасы за всю историю, с */
        "switches": <uint>,        /* количество срабатываний за всю историю */
        "value": <bool>            /* текущее значение */
    },
    "<sensor_id2>": {
        "type": 2,                 /* тип датчика: мгновенный датчик */
        "counter": <uint>,         /* количество последовательных сообщений в событии */
        "summary": <uint>,         /* сумма значений в событии */
        "total_counter": <uint>,   /* общее количество сообщений за всю историю */
        "total_summary": <uint>,   /* общая сумма значений за всю историю */
        "value": <double>          /* последнее значение; если -348201.3876, значение неизвестно */
    },
    "<sensor_id3>": {
        "type": 3,                 /* тип датчика: дифференциальный датчик */
        "counter": <uint>,         /* сумма значений в событии */
        "total_counter": <uint>,   /* сумма значений за всю историю */
        "value": <double>          /* последнее значение; если -348201.3876, значение неизвестно */
    },
    "<sensor_id4>": {
        "type": 4,                 /* тип датчика: аналоговый датчик */
        "value": <double>          /* последнее значение; если -348201.3876, значение неизвестно */
    }
}
Copied!
"lls": {
    "<sensor_id>": {
        "value": <double>,   /* последнее значение из сообщения, для которого рассчитан level */
        "level": <double>,   /* среднее медианное значение (используется указанное значение фильтрации ДУТ) */
        "filled": <double>   /* объем заправленного топлива */
    }
}
Copied!
"trips": {
    "state": <bool>,       /* состояние поездки: 0 — стоянка, 1 — поездка, 2 — остановка */
    "max_speed": <uint>,   /* максимальная скорость во время поездки */
    "curr_speed": <uint>,  /* текущая скорость */
    "avg_speed": <uint>,   /* средняя скорость относительно distance */
    "distance": <uint>,    /* пробег по GPS во время поездки */
    "odometer": <uint>,    /* общее расстояние для всех поездок в истории */
    "course": <uint>,      /* курс */
    "altitude": <uint>     /* высота */
}
Copied!
"counters": {
    "engine_hours": <uint>,   /* счетчик моточасов */
    "mileage": <uint>,        /* счетчик пробега */
    "bytes": <uint>           /* счетчик GPRS-трафика */
}
Copied!
"eco_driving": {
    "criterion_type": <text>,   /* тип критерия: "acceleration", "brake", "turn", "speeding", "sensor", "harsh", "idling" */
    "index": <uint>,            /* индекс критерия в массиве настроек */
    "max_speed": <uint>,        /* максимальная скорость, км/ч */
    "mark": <uint>              /* штрафные баллы, назначенные за это нарушение */
}

Флаг 0x4

Возвращаются пользовательские параметры. Зависит от того, что пользователь указал для конкретного события.

Copied!
"<type_name>": {
    "<sensor_id>": {
        "p":{   /* определенный пользователем контент объекта */
            "test":2,
            "foo":"bar",
            "trips":1
        }
    }
}

Флаг 0x10

Возвращается полный JSON.

Для датчиков с ‘‘type=2’’ и ‘‘type=3’’ (кроме датчиков уровня топлива) возвращается следующий ответ:

Copied!
"sensors": {
    "<sensor_id>": {
        "msgs": [
            {
                "tm": <uint>,      /* время сообщения, UNIX-время */
                "v": <double>      /* значение */
            },
            ...
        ]
    },
    ...
}

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

Copied!
"lls": {
    "<sensor_id>": {
        "msgs": [
                {
                "tm":<uint>,  /* время сообщения (UNIX-время) */
                "v":<double>, /* значение */
                "l":<double>  /* среднее медианное значение (используется указанное значение фильтрации ДУТ) */
                },
                ...
            ]
        }
    },
    ...
}

Флаг 0x20

Возвращаются форматированные значения.

Copied!
"ignition": {
    "sensor_id": {
        "format": {
                "value":<text>    /* форматированное значение  (обычно «Вкл.»/«Выкл.») */
        }
    }
}
Copied!
"sensors": {
    "sensor_id": {
        "format": {
                "value":<text>    /* форматированное значение, зависит от типа датчика и установленного формата */
        }
    }
}
Copied!
"trips": {
    "format": {
        "distance":<text>,        /* пробег относительно предыдущего сообщения */
        "avg_speed":<text>        /* средняя скорость относительно distance  */
    }
}
Copied!
"lls": {
    "sensor_id": {
        "format": {
                "value":<text>,   /* форматированное значение, зависит от типа датчика и установленного формата */
                "filled":<text>   /* объем заправленного топлива */
        }
    }
}
Copied!
"counters": {
	"format": {
	"engine_hours":<uint>,   /* форматированное значение счетчика моточасов */
	"mileage":<text>,        /* форматированное значение счетчика пробега */
	"bytes":<uint>           /* форматированное значение счетчика GPRS-трафика */ 
	}
}

Коды ошибок

Если запрос не выполнен, возвращается код ошибки.

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

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

Сообщить об ошибке

Ваше сообщение отправлено. Спасибо!

Произошла ошибка при отправке формы