Топливо литры из %

sem136 years ago

Есть автомобиль, протокол wialon. Передаёт топливо в %, нужно перевести в литры. Объём бака 60 литров . Применяю: Fuel_lev_p ? Fuel_lev_p * 100 / 60. Не работает, что не так делаю?

Anton Tananaev6 years ago

Откуда в взяли Fuel_lev_p?

sem136 years ago

Это передаёт прибор.
Время
2019-01-29 10:51:39
Архив Да
Sat_used 15
Ign 1
HDOP 0.71
Gps_inview 12
Glonass_inview 9
Fuel_lev_p 32 (В конфигураторе это топливо в %)
Ext_voltage 15.09
Eng_temp 52
Eng_rpm 1052
Engine_load 0
Can_speed 15
Can_odo_km 178237

Anton Tananaev6 years ago

Возможно это стока и нужно конвертировать в число.

sem136 years ago

Нужно. Только как?
Fuel_lev_p * 100 / 60, так правильно?

Топливо
Fuel_lev_p * 100 / 60
Число

Anton Tananaev6 years ago

Читайте документацию.

sem136 years ago
Fuel_lev_p ? Fuel_lev_p * 100 / 60 : null

Извините, вот более правильно.

sem136 years ago

Протокол галилео.
Зажигание

power ? power > 13000 : null

Логическое значение
Работает.

Протокол виалон
Зажигание

Eng_rpm ? Eng_rpm > 300 : null

Логическое значение
Eng_rpm (обороты двигателя)
Не работает, пишет нет данных, а данные есть.

Протокол виалон.
Зажигание

Ext_voltage ? Ext_voltage > 13.00 : null  (Пробовал 13 без 00)

Логическое значение
Ext_voltage 15.15 (сейчас прибор передаёт)
Не работает
Перечитал документацию, про топливо одна строчка, может есть расширенная документация?

Anton Tananaev6 years ago

Читать надо вот эту документацию:

https://www.traccar.org/documentation/computed-attributes/

Потом вот эту и по ссылкам на странице:

https://commons.apache.org/proper/commons-jexl/

sem136 years ago

Ещё раз перечитал. Перепробовал разные вычисления и вот результат. То что приходит по протоколу IPS вычисляются только то что мне не нужно, например на ign приходит 1 или 0 и это можно обработать как логическое зажигание (Ign ? true : true). Но когда приходят данные типа Eng_rpm (температура двигателя) или Fuel_lev_p (топливо в процентах) или Eng_rpm (обороты двигателя) или даже Ext_voltage (напряжение бортовой сети). Программа пишет что нет данных No Content.
Я Тракар использую дома и стою перед выбором прибора для своей машины (ГАЛИЛЕО или КАНВЕЙ), и очень хочу Канвей, так как он читает кан шину и его можно использовать как сигнализацию, для примера привожу примеры использования датчиков.
Зажигание от оборотов: Eng_rpm?Eng_rpm>300:null, логический. Плюс такого датчика для коммерческой версии, это более правильный подсчет моточасов, например в виаллоне можно так же сделать моточасы под нагрузкой. (Не работает)
Температура двигателя: Eng_temp ? Eng_temp * 1 : null, число, так же многих интересует не перегревает ли водитель двигатель. (Не работает)
Топливо: Fuel_lev_p ? Fuel_lev_p * 1: null, число, в идеале хочу применить формулу: Fuel_lev_p ? Fuel_lev_p * 100 / 60: null, чтобы перевести проценты в литры, но как пока не понимаю.
Кто нибудь делал похожие датчики с данными из протокола Wialon IPS? Если да, то поделитесь примерами.

Anton Tananaev6 years ago

Попробуйте с маленькой буквой fuel_lev_p.

sem136 years ago

Капец как просто. Спасибо работает.
Кстати я плотно работаю с Виалон и если вам нужна будет информация по датчикам и тд, могу помочь или дать админский доступ для изучения.
Есть неудобство в программе. Если сделал атрибут например: eng_rpm?eng_rpm>300:null логическое, то при повторном открытии получаем eng_rpm?eng_rpm>300:null и атрибут перестаёт работать.