Протокол Wialon.

Sergey2 years ago

Добрый день. Трекер отправляет по протоколу Wialon данные черного ящика. Пример: #B#040823;100003;XXXX.XXXXX;N;XXXXX.XXXXX;E;106.23;NA;NA;9;0.89;0;0;;NA;. Сервер принимает данные даже если это точка с этим же временем, координатами есть. Она дублируется. В истории их появляется две. Она должна игнорироваться или я ошибаюсь?
Файл конфигурации.

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE properties SYSTEM 'http://java.sun.com/dtd/properties.dtd'>
<properties>
<entry key="config.default">./conf/default.xml</entry>
<entry key='logger.enable'>info</entry>
<entry key='logger.level'>fine</entry>
<entry key='database.driver'>com.mysql.cj.jdbc.Driver</entry>
<entry key='database.url'>jdbc:mysql://traccar_db:3306/traccar?serverTimezone=UTC&amp;useSSL=false&amp;allowMultiQueries=true&amp;autoReconnect=true&amp;useUnicode=yes&amp;characterEncoding=UTF-8&amp;sessionVariables=sql_mode=''</entry>
<entry key='filter.enable'>true</entry>
<entry key='filter.distance'>5</entry>
<entry key='filter.skipLimit'>240</entry>
<entry key='filter.zero'>true</entry>
<entry key='filter.duplicate'>true</entry>
<entry key='filter.relative'>true</entry>
<entry key='filter.skipAttributes.enable'>true</entry>
<entry key='filter.skipAttributes'>ignition,alarm,event</entry>
<entry key='report.trip.minimalTripDuration'>120</entry>
<entry key='coordinates.filter'>true</entry>
<entry key='coordinates.minError'>50</entry>
<entry key='coordinates.maxError'>50000</entry>
<entry key='event.motion.speedThreshold'>1.08</entry>
<entry key='processing.copyAttributes.enable'>true</entry>
<entry key='processing.copyAttributes'>ignition</entry>
</properties>
Anton Tananaev2 years ago

Не должна дублироваться. Мы только по времени проверяем.

Anton Tananaev2 years ago

Скорее всего из-за вот этого не работает фильтрация у вас:

<entry key='filter.skipAttributes'>ignition,alarm,event</entry>
Sergey2 years ago

Спасибо!

Sergey2 years ago

Отправляю запрос через эмулятор

#D#050823;175244;XXXX.XXXXX;N;XXXXX.XXXXX;E;56;1;1;12;1;0;0;;NA;ignition:3:true

(Я отправляю строковое он сохраняет строковое)
В БД записывает

{"sat":12,"hdop":1.0,"input":"0","output":"0","ignition":"true","distance":556.6,"totalDistance":845985.78,"motion":true}

В логах вылетает

INFO: [T542b1033] error - class java.lang.String cannot be cast to class java.lang.Boolean (java.lang.String and java.lang.Boolean are in module java.base of loader 'bootstrap') - ClassCastException (ExtendedModel:109 < IgnitionEventHandler:51 < BaseEventHandler:38 < ...)
 INFO: [T542b1033] disconnected

Соединение разьединяет.
а должно я так понимаю

{"sat":12,"hdop":1.0,"input":"0","output":"0","ignition":true,"distance":556.6,"totalDistance":845985.78,"motion":true}

true без кавычек должно быть. Что не так?
Пробовал

#D#050823;175244;XXXX.XXXXX;N;XXXXX.XXXXX;E;56;1;1;12;1;0;0;;NA;ignition:1:1
#D#050823;175244;XXXX.XXXXX;N;XXXXX.XXXXX;E;56;1;1;12;1;0;0;;NA;ignition:2:1.0
Anton Tananaev2 years ago

Вы точно актуальную версию используете?

Sergey2 years ago

У меня Traccar 4.15.

Anton Tananaev2 years ago

Чтобы заработало вам нужно обновиться.

Sergey2 years ago

Спасибо воспользуюсь вашим советом.

Sergey2 years ago

Обновил до последней версии и все работает. Спасибо.