1

Уровень топлива и счетчик моточасов на определенную дату и время JS

Topic: Уровень топлива и счетчик моточасов на определенную дату и время JS

Здравствуйте, коллеги!

Мне необходимо получить моточасы по счетчику и уровень топлива, с помощью JavaScript API, на определенную дату и время.
Отчет использовать не хочу.
Может быть кто-то сталкивался, подскажите, пожалуйста?

2

Уровень топлива и счетчик моточасов на определенную дату и время JS

Re: Уровень топлива и счетчик моточасов на определенную дату и время JS

lenazolotova1 wrote:

Здравствуйте, коллеги!

Мне необходимо получить моточасы по счетчику и уровень топлива, с помощью JavaScript API, на определенную дату и время.
Отчет использовать не хочу.
Может быть кто-то сталкивался, подскажите, пожалуйста?

Добрый день!

Для этого вам необходимо:

1) Cоздать датчики уровня топлива и счетчика моточасов в системе Wialon.
2) С помощью метода searchItems класса Session узнать ID датчиков необходимого объекта (нужно установить dataFlags=0x00001001)
3) Загрузить в загрузчик сообщений необходимое по времени сообщение методом loadInterval класса MessagesLoader
4) Выполнить калькуляцию значения датчиков методом remoteCalculateMsgs из MUnitSensor

3

Уровень топлива и счетчик моточасов на определенную дату и время JS

Re: Уровень топлива и счетчик моточасов на определенную дату и время JS

Спасибо большое!

Использовала функцию calculateSensorValue(). Прикладываю код, вдруг кому-то пригодится.

        sess.getMessagesLoader().loadInterval(cunit.getId(), ctimes[0], ctimes[1], 0, 0, 10000,
            function(code, data){
                if(code){ console.log(wialon.core.Errors.getErrorText(code)); return; }
                else {
                    var a = cunit.calculateSensorValue(csensor, data.messages[0]);
                    if (a != -348201.3876) {cunit.startFuel = a.toFixed(2);} else {cunit.startFuel = "Н/д"}
                    var b = cunit.calculateSensorValue(csensor, data.messages[data.count - 1]);
                    if (b != -348201.3876) {cunit.endFuel = b.toFixed(2);} else {cunit.endFuel = "Н/д"}
                } 
            }
        );