Содержание

Получить обновления

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

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

Параметры

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

Название Описание Значения по-
умолчанию
lang язык (двубуквенный код) en
measure единицы измерения:
0 - si,
1 - us,
2 - имперская
из настроек пользователя
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 (одинаков для всех групп датчиков)

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

Флаг 0x2

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

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

Перечислены 4 возможных типа датчиков для 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>           /* cчётчик 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-time */
					    "v":<double>	/* значение */
					},
					...
				    ]
			},
	...
}

Для ДУТ:

"lls": {
	"<sensor_id>": {
		"msgs": [
			    {
				"tm":<uint>,	/* время сообщения, UNIX-time */
				"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 трафика */ 
	}
}