Closed kusmierz closed 5 months ago
Are you sure you haven't filtered the logs?
I have tested some of the samples and they're decoded just fine.
Hopefully not. That certainly wasn't my intention. My config file is:
# rg filter conf/traccar.xml
35: <entry key="filter.enable">true</entry>
36: <entry key="filter.invalid">true</entry>
37: <entry key="filter.zero">true</entry>
Have you tried without filtering?
yes, initially I was using Traccar without filter, but after this (zero
point) I have added some as mentioned above.
what's more, it seems to be logged properly:
tracker-server.log.20240420:2024-04-20 07:00:59 INFO: Position filtered by Invalid filters from device: 017anotherdevice
tracker-server.log.20240420:2024-04-20 07:21:18 INFO: Position filtered by Invalid filters from device: 017anotherdevice
tracker-server.log.20240420:2024-04-20 14:26:32 INFO: Position filtered by Invalid Zero Future filters from device: 7000001703
Let's stick to the topic. Is everything decoded when you disable filtering?
Sorry for not being clear earlier. I meant to explain that I hadn't noticed this behaviour when not using the filter
. I didn't use that configuration for very long though, because it started to show some zero
points. That's why I switched on the filter. I can turn it off for a longer period and check if the problem still occurs.
Let's do that. For now I'm going to close the ticket.
That was quick. After one trip without filtering (all filters turned off in the config), I've got this weird missing entries despite proper entries in the logs (same as above). Additionally I've got zero
point, which messed my totalDistance
et all (I'm mentioning this only to show that filters were disabled).
Send us the full logs with filtering disabled.
sent to support@traccar.org (with almost no obfuscation).
look at 15:42:55 - 15:44:57
Looks like you just need to set h02.messageLength
.
Thank you @tananaev! Could you help me determine the value? I don't quite understand what length to choose...
[protocol].messageLength config
Custom message length. Currently used only by H2 protocol for specifying binary message length.
The value should match the length of the binary messages.
ok, so based on this and that (and my understanding of the protocol and this configuration), I assumed that it needs to be set to 51
not 45
as in example, right?
❯ rg h02 logs/tracker-server.log* | rg ' 24[a-f0-9]+' | cut -d ' ' -f 9 | awk '{print length}' | sort | uniq -c
2979 102
1 204
<entry key='h02.messageLength'>51</entry>
I see 51.
Describe the bug Although the device sends data correctly (as confirmed by the server logs), sometimes during the trip, some part of data (usually 1-2 minutes) does not appear in the Traccar app or get stored in the database. Server logs show that data is being received but hasn't been processed.
To Reproduce Steps to reproduce the behavior: The issue occurs frequently, almost once during each device tracking route (but only for 1-2 minutes pause), but a specific trigger causing the malfunction has not been identified. It is not possible to provide deterministic steps to reproduce the problem due to its intermittent nature.
Expected behavior When a device sends data to the Traccar server, the data should not only appear in the server logs but should also be visible in the Traccar app and stored in the database.
Screenshots fun fact, speed is not the same as in the logs, does Traccar calculate it differently?
Additional context Partially obfuscated logs (at least hopefully)
the part between 11:14:10 and 11:15:11 seems to be ignored for some reason. The device is Micodus MV730G.