check_updates

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

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

Параметры

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

ПараметрОписаниеЗначение по умолчанию

lang

Язык (двухсимвольный код).

en

measure

Система измерения:

  • 0 — СИ;
  • 1 — американская;
  • 2 — имперская.

0

detalization

Флаги вывода (см. ниже). Должны быть указаны в десятичном формате.

0x7

Флаги вывода

ФлагОписание

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  произвольный датчик
События не регистрируются.

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

Результат зависит от используемого флага.

Флаг 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-трафика */
}

Флаг 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.
Скачать файл PDF
Скачать документ Word

Смотрите также