Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Both sides previous revision Предыдущая версия
Следущая версия
Предыдущая версия
ru:sidebar:remoteapi:apiref:unit:calc_sensors [29/11/2013 12:31]
127.0.0.1 внешнее изменение
ru:sidebar:remoteapi:apiref:unit:calc_sensors [08/08/2023 09:00] (текущий)
yami [Параметры]
Строка 3: Строка 3:
 <code javascript>​ <code javascript>​
 svc=unit/​calc_sensors&​params={"​source":​ <​text>,​ svc=unit/​calc_sensors&​params={"​source":​ <​text>,​
-       "​indexFrom":​ <​uint>,​ +       "​indexFrom":<​uint>,​ 
-       "​indexTo":​ <​uint>,​ +       "​indexTo":<​uint>,​ 
-       "​unitId":​ <​long>,​ +       "​unitId":<​long>,​ 
-       "​sensorId":​ <​long>​}+       "​sensorId":<​long>, 
 +       "​width":<​uint>}
 </​code>​ </​code>​
  
Строка 16: Строка 17:
 | unitId | ID объекта | | unitId | ID объекта |
 | sensorId | ID датчика,​ если 0 возвращает все датчики | | sensorId | ID датчика,​ если 0 возвращает все датчики |
 +| width | количество элементов,​ которые должны вернуться,​ используется агрегирование (см. ниже), опционально |
 +
 +:!: Если source НЕ указан,​ сообщения будут браться прямо из [[ru:​sidebar:​remoteapi:​apiref:​messages:​messages|message loader]].
 +
 +===== Объяснение параметра width =====
 +
 +Когда нужно получить фиксированное количество значений датчика,​ причем уже агрегированныx (т.е. предобработанныx),​ тогда следует использовать параметр **width**. Например,​ можно получать обработанные данные для создания и зума графика.\\
 +Логика работы функциональности следующая:​\\
 +1. система находит все сообщения,​ попавшие в запрашиваемый интервал;​\\
 +2. затем делит весь интервал на **width** подинтервалов;​\\
 +3. на каждом таком подинтервале система находит самое первое значение датчика (**left**), последнее значение (**right**),​ минимальное значение (**bottom**) и максимальное значение (**top**). Указанные данные попадут в финальный ответ сервера.
  
 ===== Возвращаемый результат ===== ===== Возвращаемый результат =====
Строка 26: Строка 38:
 ] ]
 </​code>​ </​code>​
 +
 +Если указан параметр **width**, то ответ будет таким:
 +<​code=javascript>​
 +[
 + [
 + {
 + "​name":<​sensor_name>,​
 + "​data":​[
 +    {
 + "​left":​[<​unix_time1>,<​value1>​],​
 + "​right":​[<​unix_time2>,<​value2>​],​
 + "​bottom":​[<​unix_time3>,<​value3>​],​
 + "​top":​[<​unix_time4>,<​value4>​]
 +    },
 + ...
 + ]
 + },
 + ...
 + ]
 +]
 +</​code>​
 +где **<​sensor_name>​** -- имя датчика,​
 +\\ **<​unix_timeN>​** -- UNIX-время сообщения,​
 +\\ **valueN** -- значение датчика в сообщении,​
 +\\ **left** -- начальное значение датчика в подинтервале и его время,
 +\\ **right** -- конечное значение датчика и время,
 +\\ **bottom** -- наименьшее значение датчика и время,
 +\\ **top** -- наибольшее значение датчика и время.
Follow us on Facebook Gurtam Wialon Twitter Gurtam Wialon info@gurtam.com   |   Copyright © 2002-2024 Gurtam