1

Значения датчиков JS API

(10/12/2020 15:11:05 отредактировано random.ssd)

Тема: Значения датчиков JS API

Добрый день.
Интересует вопрос по поводу запроса unit/calc_sensors для JS API. Необходима функция с указанием параметра width, но найденные мной функции (remoteCalculateMsgs и remoteCalculateFilteredMsgs) не предоставляют этого. Да и разницы между двумя этими функциями не нашёл, запрос отправляется тот же.

2

Значения датчиков JS API

Re: Значения датчиков JS API

Добрый день!

Необходимо использовать метод remoteCalculateFilteredMsgs, который аналогичен запросу unit/calc_sensors
В параметре maxPoints указывается значение аналогично как и для width, значение которого будет равно кол-ву подинтервалов (на которых уже будут отбираться значения датчика)

Например, запрашиваем сообщения с 0 по 11, для датчика id = 7, все сообщения (12) будут поделены на 2 подинтервала (в ответе будет массив длиной 2 )
И в каждом интервале уже будут найдены значения :
самое первое значение датчика (left), последнее значение (right), минимальное значение (bottom) и максимальное значение (top)

remoteCalculateFilteredMsgs("messages", 0, 11, 7, 2, 
    function (code, obj) { 
        if (code) { console.log(wialon.core.Errors.getErrorText(code)); return; }
    console.log(obj);
    })

Если поменять значение maxPoints на 3, то в ответе будет массив из 3 элементов.
В отличие от remoteCalculateMsgs, который, в примере выше, всегда вернет массив из 12 элементов, т.е из всех сообщений.

Diana Cheley
Wialon Hosting Expert
Gurtam
3

Значения датчиков JS API

Re: Значения датчиков JS API

chdi пишет:

Добрый день!

Необходимо использовать метод remoteCalculateFilteredMsgs, который аналогичен запросу unit/calc_sensors
В параметре maxPoints указывается значение аналогично как и для width, значение которого будет равно кол-ву подинтервалов (на которых уже будут отбираться значения датчика)

Например, запрашиваем сообщения с 0 по 11, для датчика id = 7, все сообщения (12) будут поделены на 2 подинтервала (в ответе будет массив длиной 2 )
И в каждом интервале уже будут найдены значения :
самое первое значение датчика (left), последнее значение (right), минимальное значение (bottom) и максимальное значение (top)

remoteCalculateFilteredMsgs("messages", 0, 11, 7, 2, 
    function (code, obj) { 
        if (code) { console.log(wialon.core.Errors.getErrorText(code)); return; }
    console.log(obj);
    })

Если поменять значение maxPoints на 3, то в ответе будет массив из 3 элементов.
В отличие от remoteCalculateMsgs, который, в примере выше, всегда вернет массив из 12 элементов, т.е из всех сообщений.

Спасибо за ответ.
Видимо проблема была в большой величине maxpoint. А какое значение допустимо ?

4

Значения датчиков JS API

Re: Значения датчиков JS API

Любое значение должно работать, зависит от массива самих сообщений, чтобы был смысл разбиение на интервалы
например, если сообщений 20 , то разбивать на 20 интервалов, это тоже самое, что вернуть все 20 сообщений, или даже на 10 интервалов, по 2 сообщения в каждом интервале, оптимальное может быть допустим на 4 интервала.

Diana Cheley
Wialon Hosting Expert
Gurtam