А такое выражение
abc.add(5);
abc[0];```
вернет ``parse error - ParseException (... < ComputedAttributesHandler:101 < AttributeResource:64 < ...)``
Я не уверен что переменные поддерживаются.
Ну в JEXL Syntax Documentation про это есть информация, даже примеры приводят. Я думал, что если про это говорят, то можно. Тем более, что базовые типы переменных (строка, число, булево) можно задекларировать без проблем.
Окей, это не так важно. Как использовать Device Attributes в Computed Attributes?
Можно использовать как переменные.
Мы пробовали так:
В устройстве есть атрибут attr1, в нем что-то записано. Но когда мы в выражении пишем attr1 или device.attr1, оно возвращает nullptr. Что мы не так делаем?
Если processing.computedAttributes.deviceAttributes
включен, но attr1
должен работать.
DevOps пишет, что все включено:<entry key='processing.computedAttributes.deviceAttributes'>true</entry>
Попробуем завтра ещё раз. Спасибо за кларификацию со списками.
Попробовали еще раз. Оказалось, что при включённой настройке не выполняются даже самые простые выражения, такие как true
или 1
. Если выключить processing.computedAttributes.deviceAttributes
, то выражения выполняются.
Возвращает это: NullPointerException (ComputedAttributesHandler:67 < *:101 < AttributeResource:64 < ...)
. Баги Traccar?
Вы точно последнюю официальную версию Traccar используете? Номера строк не совпадают.
5.3. Вижу, что вышла 5.5. Ставили установщиком. Как обновить траккар? Есть инструкция?
Есть. Вы документацию посмотрели перед тем как спрашивать?
Действительно. Забыл, что она существует. Сейчас обновим.
Спасибо, Антон, что ткнул носом в версию! Обновили до последней, теперь вроде все как надо.
Антон, здравствуйте!
Поставили Traccar к себе на тест, эксперементируем с вычисляемыми атрибутами, но как-то не получается.
Как создать переменную списка в вычисляемом атрибуте? Такое выражение:
var l = []
возвращает nullptr.
Еще такой вопрос: как в вычисляемых атрибутах использовать атрибуты, живущие в устройстве? Включили в конфиге опцию
processing.computedAttributes.deviceAttributes
, но когда при создании вычисляемого атрибута тестируем, то опять NullPtr. Следовали этой теме, не помогло: https://www.traccar.org/forums/topic/set-variable-for-computed-attributes/.Помогите, пожалуйста, разобраться