9576 Commits

Author SHA1 Message Date
Anton Tananaev
0db6fadc5b Clear stream on disconnect 2026-04-20 21:46:22 -07:00
Anton Tananaev
7aa708621d Return empty playlist 2026-04-20 21:34:50 -07:00
Anton Tananaev
ef2ea05611 Fix video streaming issues 2026-04-19 11:57:29 -07:00
Anton Tananaev
012c5cb7da Add log throttling for video 2026-04-19 11:44:01 -07:00
Anton Tananaev
747e26c3f8 Avoid making JT1078 active device 2026-04-19 11:33:49 -07:00
Anton Tananaev
2a0dec0279 Default to first channel 2026-04-19 11:19:12 -07:00
Anton Tananaev
aeb8c52e4c Consolidate device id handling 2026-04-19 11:08:51 -07:00
Anton Tananaev
84125083fe Fix huabao device encoding 2026-04-19 11:01:11 -07:00
Anton Tananaev
45ee00a7a7 Fix lint error 2026-04-19 11:00:31 -07:00
Anton Tananaev
d8e78459d2 Propagate command errors 2026-04-19 10:53:27 -07:00
Anton Tananaev
bb23280477 Improve huabao command 2026-04-19 10:28:54 -07:00
Anton Tananaev
f574faabe0 Improve latest position query 2026-04-18 07:22:20 -07:00
Anton Tananaev
ca1766b387 Improve query performance 2026-04-18 07:17:17 -07:00
Anton Tananaev
0ef80191aa Improve query performance 2026-04-18 07:11:43 -07:00
Joaquim Cardeira
516ebb2965 Add OBD odometer for Teltonika FMB003 (#5851)
* Add OBD odometer for Teltonika FMB003

* inline

* Style

* Trailing spaces

* Update src/main/java/org/traccar/protocol/TeltonikaProtocolDecoder.java

Co-authored-by: Anton Tananaev <anton.tananaev@gmail.com>

* Style

---------

Co-authored-by: Anton Tananaev <anton.tananaev@gmail.com>
2026-04-16 11:55:48 -07:00
Anton Tananaev
ade034b3e3 Cleanup Arnavi protocol 2026-04-15 07:46:42 -07:00
NL1ghtman
f20b2e68ab Refactor ArnaviBinaryProtocolDecoder constants and methods (#5795)
* Refactor ArnaviBinaryProtocolDecoder constants and methods

1. sendResponse для HEADER v2 — сломан полностью
Код делал time.writeBytes(time) — писал буфер сам в себя. В результате ответ на HEADER2 отправлялся пустым, без unixtime. Устройство не получало подтверждения и начинало слать HEADER повторно - координаты вообще не поступали.
2. TAG 5 — ошибка приоритета операторов в Java
satellites & 0x0F + (satellites >> 4) & 0x0F из-за приоритета + над & считало неверно. Нужны скобки: (satellites & 0x0F) + ((satellites >> 4) & 0x0F).
3. TAG 9 — перезапись KEY_POWER
TAG 9 перезаписывал KEY_POWER, уже установленный TAG 1. Теперь TAG 9 пишет только KEY_STATUS.
4. Цикл decode() — читал 0x5D как тип записи
После последнего PACKET байт 0x5D (конец PACKAGE) читался как тип пакета и возвращал null. Теперь цикл проверяет конечный маркер.

* Refactor position keys for CAN data handling

* Rename gas pedal variable to throttle

* Refactor ArnaviBinaryProtocolDecoder for clarity

Переписана проверка координат на корректность, теперь setValid определяет тег 0x05
Добавлены теги для Device Status и CAN security. 
Исправлена обработка для KEY_POWER и KEY_BATTERY
Добавлено условие для LLS, для фильтрации "шума". Температура LLS будет записывать только при наличии данных по уровню топлива. Исключен LLS0, в большинстве случаев он не используется.

* Clean up commented code in ArnaviBinaryProtocolDecoder

Removed commented-out code for time buffer handling.

* Change mode reading from int to unsigned byte for tag 0x06

* Fix bitwise operation for tempRaw calculation

* Refactor ArnaviBinaryProtocolDecoder for clarity

1. Validation for zero coordinates was removed
2. Fixed discrete inputs handling. 
3. Updated tag numbering to numeric per documentation.

* Remove all comments

* removed trailing spaces

* Refactor ArnaviBinaryProtocolDecoder to improve readability and maintainability

* Refactor network setting in ArnaviBinaryProtocolDecoder for improved parameter order and clarity

* Refactor ArnaviBinaryProtocolDecoder to simplify condition for RECORD_DATA processing

* Fix critical bug in case 6 mode=0x01: incorrect 15-byte buffer shift

* Update device status and discrete input handling to align with the standard custom attributes approach

* Added unit tests for HEADER_3 and new tags. Added a check for mobile network data

* Removed the test that wasn't testing anything

* removed ByteBuf import

* The testFullTagsAttributes test has been extended

* format fix

* fix physicalInputs numbering

* Decoder - removed nested blocks
DecoderTest - updated to be consistent with the other tests

* Decoder - removed nested blocks

* Removed unnecessary reformatting from sendResponse,  removed unnecessary verifyAttribute from DecoderTest

* format fix

* format fix

* format fix
2026-04-15 07:20:06 -07:00
Anton Tananaev
24231ad245 Add video commands 2026-04-14 20:39:11 -07:00
Anton Tananaev
bc15cfec6e Fix flespi power source 2026-04-13 17:16:24 -07:00
Anton Tananaev
60f20a05dc Add JT/T 1078 video streaming 2026-04-12 11:06:58 -07:00
Anton Tananaev
b3443ec8d4 Add more CRC32 algorithms 2026-04-12 10:54:55 -07:00
Anton Tananaev
8fec46eb32 Support per device filter config 2026-04-11 07:44:28 -07:00
Anton Tananaev
a8fdd2ba5a Use list for filter types 2026-04-11 07:15:15 -07:00
Anton Tananaev
9b4ea53a00 Remove preceding filtering option 2026-04-11 07:13:05 -07:00
Anton Tananaev
c0c1fa4323 Fix T711L decoding error 2026-04-03 20:48:13 -07:00
Anton Tananaev
d07f196433 Unify upper case check 2026-03-31 17:41:01 -07:00
Joaquim Cardeira
650d8869c1 Add support for AOVX VL100 model (#5837)
* Add support for VL100 model in Gt06ProtocolDecoder

* Fix typo in model check for MSG_GPS_LBS_2

* Rename to modelNT
2026-03-31 17:40:01 -07:00
Anton Tananaev
0a88cf3f9c Add JT1078 frame decoder 2026-03-30 14:50:18 -07:00
Anton Tananaev
82754e8899 Decode JM-LL01 JM-LL02 CT10 alarms 2026-03-30 12:42:42 -07:00
Anton Tananaev
b7b80e1383 Decode Topin A50 SOS alarm 2026-03-28 07:16:19 -07:00
Anton Tananaev
83a14ed25e Migrate remaining string keys 2026-03-26 07:41:17 -07:00
Joaquim Cardeira
c743f3edfb GT06 NT20 protocol correction, hours should be long and odometer shou… (#5834)
* GT06 NT20 protocol correction, hours should be long and odometer should be read as unsigned

* Update src/main/java/org/traccar/protocol/Gt06ProtocolDecoder.java

Co-authored-by: Anton Tananaev <anton.tananaev@gmail.com>

---------

Co-authored-by: Anton Tananaev <anton.tananaev@gmail.com>
2026-03-24 11:26:44 -07:00
Anton Tananaev
273e6fb6ee Support group sharing 2026-03-23 21:15:26 -07:00
Igor
bd631d5e28 Support proxy configuration for Telegram notifications (#5831)
* Support proxy configuration for Telegram notifications

* Drain Telegram proxy response stream

* Use HTTP proxy for Telegram notifications

* Fix Telegram proxy configuration formatting

* Use proxy URL for Telegram notifications
2026-03-23 10:18:13 -07:00
Anton Tananaev
fd2e588745 Decode eview side buttons 2026-03-20 07:38:23 -07:00
Anton Tananaev
9c31a03b37 Fix OpenID admin reset (fix #5829) 2026-03-19 17:51:00 -07:00
Anton Tananaev
cc1aa3b4c5 Remove unnecessary comment 2026-03-14 07:48:23 -07:00
Chris Tucker
890d0f9ab5 Xexun2 Protocol Correction (#5818)
* Fix Xexun2 negative longitude (DDMM.MMMM truncate toward zero)

* Add test for Xexun2 negative longitude (DDMM.MMMM) conversion

- Add testConvertCoordinateNegativeLongitude() asserting correct conversion
  for negative longitude (-121.64531°), reference latitude (37.09772°),
  and positive longitude (121.64531°).
- Make convertCoordinate() package-private so the test can call it.

Made-with: Cursor

* Fix Xexun2 HEX test: correct lon/lat float bytes and checksum

- Use IEEE 754 big-endian bytes for -12138.7186 (lon) and 3705.8632 (lat)
- Assert only lat/lon/valid (no fix time) for decoder timestamp independence
- Recompute payload checksum for PR #5818

Made-with: Cursor

* Use position() helper for Xexun2 negative-longitude test; match decoded fix time

Made-with: Cursor
2026-03-14 07:47:41 -07:00
Anton Tananaev
d2c2781932 Use database for new trip logic 2026-03-13 21:21:56 -07:00
Anton Tananaev
a2c2c4e2ed Support multiple beacons 2026-03-13 07:25:04 -07:00
Anton Tananaev
2c64310bf3 Handle missing temp value 2026-03-13 07:25:04 -07:00
AussieTraccar
1b3afc6e54 Implement daily summary scheduled report (#5812)
* Implement daily summary scheduled report

* Update src/main/java/org/traccar/schedule/TaskReports.java

Co-authored-by: Anton Tananaev <anton.tananaev@gmail.com>

* Simplified daily attribute check

---------

Co-authored-by: Anton Tananaev <anton.tananaev@gmail.com>
2026-03-12 06:57:14 -07:00
Anton Tananaev
0de1dd59fd Improve trip start position 2026-03-11 06:45:01 -07:00
eosfomogame
2f50377019 fix(it) (#5803)
* fix(it): correggi traduzione italiana notifiche - formato data dd/MM/yyyy, accenti, testo naturale

* fix(it): replace 'geofence' with 'geoarea' in Italian templates

* fix(it): minimal fixes — YYYY→yyyy, è accents, overspeed digest, userExpiration syntax, driverChanged at→il, geofenceExit preposition

* fix(it): Italian fluency — fix broken digests, neutral state words, GeoArea capitalisation

* Update deviceOverspeed.vm

* Update deviceExpiration.vm

* Fix typo in overspeed notification message

* fix(it): deviceOverspeed digest lowercase 'in'

* fix(it): subject capitalisation, ignitionOn body, geofenceExit subject

* Update deviceMoving.vm

* Update deviceOffline.vm

* Update deviceOnline.vm

* Update deviceOverspeed.vm

* Update deviceUnknown.vm

* Update geofenceEnter.vm

* Update geofenceExit.vm

* Update ignitionOff.vm

* Update ignitionOn.vm

* Update ignitionOff.vm

* Update ignitionOn.vm
2026-03-09 09:27:20 -07:00
Anton Tananaev
5d6729b961 Ignore case for login 2026-03-08 09:38:09 -07:00
Anton Tananaev
3917bcc39a Rename and update API spec 2026-03-08 08:45:08 -07:00
Anton Tananaev
4340778d12 Support search by keyword 2026-03-08 08:39:02 -07:00
Anton Tananaev
258a10d118 Implement pagination support 2026-03-08 08:13:58 -07:00
Anton Tananaev
2eadbc7419 Include interval parameter 2026-03-06 21:18:50 -08:00
Anton Tananaev
8ecca9abbd Include device id in push requests 2026-03-05 21:23:13 -08:00