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

calc_sensors

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

Copied!
svc=unit/calc_sensors&params={"source":<text>,
			      "indexFrom":<uint>,
			      "indexTo":<uint>,
			      "unitId":<long>,
			      "sensorId":<long>,
			      "width":<uint>}

Параметры

Параметр Описание
source Источник сообщений (имя слоя). Если параметр пуст, по умолчанию используется загрузчик сообщений.
indexFrom Индекс первого сообщения.
indexTo Индекс последнего сообщения.
unitId ID объекта.
sensorId ID датчика. Если указано 0, возвращаются значения всех датчиков.
width Количество возвращаемых элементов. Необязательный параметр.
Параметр используется, когда нужно получить фиксированное количество агрегированных (то есть предварительно обработанных) значений датчика. Это особенно удобно для построения и масштабирования графиков с предварительно обработанными данными.
Обработка выполняется следующим образом:
  1. Система получает все сообщения в указанных границах.
  2. Система делит весь интервал на количество подынтервалов, указанное в параметре width.
  3. В каждом подынтервале система определяет первое зарегистрированное значение датчика (left), последнее зарегистрированное значение (right), минимальное значение (bottom) и максимальное значение (top). Затем эти значения объединяются в итоговый ответ сервера.

Ответ

Если запрос без параметра width выполнен успешно, возвращается ответ в следующем формате:

Copied!
[	/* массив данных сообщений */
	{		/* значения датчиков из одного сообщения */
		<text>:<double|text>,	/* ID датчика: значение датчика */
		...
	}
]

Если значение датчика не удается рассчитать для сообщения (например, сообщение не содержит параметр, используемый датчиком), для этого датчика возвращается -348201.3876.

Если указан параметр width, возвращается ответ в следующем формате. Каждый датчик возвращается в отдельном массиве:

Copied!
[
    [
        {
            "name": <text>,         /* ID датчика */
            "data": [
                {
                    "left": [<unix_time1>, <value1>],   /* Первое зарегистрированное значение датчика в подынтервале и его время */
                    "right": [<unix_time2>, <value2>],  /* Последнее зарегистрированное значение датчика в подынтервале и его время */
                    "bottom": [<unix_time3>, <value3>], /* Минимальное значение датчика в подынтервале и его время */
                    "top": [<unix_time4>, <value4>]     /* Максимальное значение датчика в подынтервале и его время */
                },
                ...
            ]
        }
    ],
    ...
]

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

Коды ошибок

Код ошибки Описание
4 Одна из следующих ошибок:
  • неверные входные данные;
  • не удалось получить сообщения объекта;
  • не удалось получить датчики объекта.
7 Объект не существует, или у пользователя нет права доступа Просмотр элемента и его основных свойств на него.

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