check_updates
Чтобы получить изменения событий по всем объектам в сессии, используйте команду events/check_updates:
svc=events/check_updates¶ms={"lang":<text>,
"measure":<uint>,
"detalization":<uint>}
Параметры
Все параметры необязательны.
Параметр | Описание | Значение по умолчанию |
---|---|---|
lang | Язык (двухсимвольный код). | en |
measure | Система измерения:
| 0 |
detalization | Флаги вывода (см. ниже). Должны быть указаны в десятичном формате. | 0x7 |
Флаги вывода
Флаг | Описание |
---|---|
0x1 | Базовый JSON: начало — конец события. |
0x2 | Данные конкретного детектора. |
0x4 | Пользовательские параметры (те, которые пользователь указал для этого события). |
0x10 | Полный JSON. Каждый детектор интерпретирует его по-своему. |
0x20 | Форматированное значение. |
Типы датчиков
Значение type | Описание | Регистрация событий |
---|---|---|
1 | Датчики-переключатели:
| События регистрируются от момента включения датчика до его выключения. |
2 | Мгновенные датчики:
| События регистрируются от |
3 | Дифференциальные датчики:
| События регистрируются от |
4 | Аналоговые датчики:
| События не регистрируются. |
Возвращаемый результат
Результат зависит от используемого флага.
Флаг 0x1
Возвращается базовый JSON (для всех групп датчиков).
"<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
Возвращаются данные конкретного детектора.
"ignition": {
"<sensor_id>":
{
"state":<uint>, /* состояние: 0 -— выключен, 1 -— включен*/
"type": 1, /* тип датчика: датчик-переключатель */
"hours":<uint>, /* моточасы за всю историю, с */
"switches":<uint>, /* количество срабатываний за всю историю */
"value":<bool> /* текущее значение */
}
...
}
Все типы датчиков для sensors:
"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, значение неизвестно */
}
}
"lls": {
"<sensor_id>":
{
"value":<double>, /* последнее значение из сообщения, для которого рассчитано level */
"level":<double>, /* среднее медианное значение (используется указанное значение фильтрации ДУТ) */
"filled":<double> /* объем заправленного топлива */
}
}
"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> /* высота*/
}
"counters": {
"engine_hours": <uint>, /* счетчик моточасов */
"mileage": <uint>, /* счетчик пробега */
"bytes": <uint> /* счетчик GPRS-трафика */
}
Флаг 0x4
Возвращаются пользовательские параметры. Зависит от того, что пользователь указал для конкретного события.
"<type_name>": {
"<sensor_id>": {
"p":{ /* определенный пользователем контент объекта */
"test":2,
"foo":"bar",
"trips":1
}
}
}
Флаг 0x10
Возвращается полный JSON.
Для датчиков с ‘‘type=2’’ и ‘‘type=3’’ (кроме датчика уровня топлива) возвращается следующий результат:
"sensors": {
"<sensor_id>":
{
"msgs": [
{
"tm":<uint>, /* время сообщения (UNIX-время) */
"v":<double> /* значение*/
},
...
]
},
...
}
Для датчиков уровня топлива возвращается следующий результат:
"lls": {
"<sensor_id>": {
"msgs": [
{
"tm":<uint>, /* время сообщения (UNIX-время) */
"v":<double>, /* значение */
"l":<double> /* среднее медианное значение (используется указанное значение фильтрации ДУТ) */
},
...
]
}
},
...
}
Флаг 0x20
Возвращаются форматированные значения.
"ignition": {
"sensor_id": {
"format": {
"value":<text> /* форматированное значение (обычно «Вкл.»/«Выкл.») */
}
}
}
"sensors": {
"sensor_id": {
"format": {
"value":<text> /* форматированное значение, зависит от типа датчика и установленного формата */
}
}
}
"trips": {
"format": {
"distance":<text>, /* пробег относительно предыдущего сообщения */
"avg_speed":<text> /* средняя скорость относительно distance */
}
}
"lls": {
"sensor_id": {
"format": {
"value":<text>, /* форматированное значение, зависит от типа датчика и установленного формата */
"filled":<text> /* объем заправленного топлива */
}
}
}
"counters": {
"format": {
"engine_hours":<uint>, /* форматированное значение счетчика моточасов */
"mileage":<text>, /* форматированное значение счетчика пробега */
"bytes":<uint> /* форматированное значение счетчика GPRS-трафика */
}
}
Коды ошибок
Если запрос не выполнен, возвращается код ошибки.
Код | Описание |
---|---|
1 | Неверный или устаревший SID запроса. |
4 | Ошибка валидации параметров. |
7 | Не удалось загрузить библиотеку adf_avl_events или получить запись в формате JSON. |