I am testing server filter: Accuracy
In traccar.xml the following is added.
<entry key='filter.enable'>true</entry>
<entry key='filter.accuracy'>30</entry>
First i test the filter with Osmand protocol. Below we can see i set the Accuracy in the sent data to 40,7 (higher then filter.accuracy 30 to trigger the filter). When i sent this data from a browser to the server on osmand port 5055 the position is filtered.
http://myserverip:5055/?id=74236×tamp=1677896382&lat=51.035581&lon=3.730006&speed=4.7&bearing=0.0&altitude=43.10000228881836&accuracy=40.74599983215332&batt=65.0&charge=true
In the log i can see.
2023-03-04 22:26:49 INFO: Position filtered by Accuracy filters from device: 74236
So Filter Accuracy is working for Osmand protocol.
Then i test the same settings with the Watch protocol.
From the Watch protocol we know that the Accuracy value is the last value in the device data.
https://www.traccar.org/protocol/5093-watch/
The device reports Accuracy: 40.7
[CS*YYYYYYYYYY*LEN*UD, location data (see Appendix 1)]
Example:
[3G*9403094122*00CD*UD,180916,025723,A,22.570733,N,113.8626083,E,0.00,249.5,0.0,6,100,60,0,0,00000010,7,255,460,1,9529,218,95298 ,63555,133,9529,63554,129,9529,21405,126,9529,21242,124,9529,21151,120,9529,63556,119,0,40.7]
illustrate:
Data content:
UD, command number
180916, date
025723, time
A, gps positioning is valid
22.570733, latitude
N, latitude representation
113.8626083,longitude
E, longitude representation
0.00, speed
249.5,direction
0.0, altitude
6, the number of satellites
100, gsm signal strength
60, power
0, step count
0, the number of flips
00000010, the terminal state, the data is in hexadecimal, parsed into binary as 0000 0000 0000 0000 0000 0000 0001 0000
7, the number of base stations
255,460,1,9529,21809,158,9529,63555,133,9529,63554,129,9529,21405,126,9529,21242,124,9529,21151,120,9529,63556,119, base station information
0, the number of WiFi
40.7, positioning accuracy, in meters
When i use test-commands.py from traccar to sent this Watch device data with Accuracy 40.7 then the Filter is not triggered:
[3G*8401202342*0164*UD,040323,224300,A,51.035581,N, 3.730006,E,4.31,159.1,0.0,8,92,73,003107,0,00000000,6,255,204,8,3170,49308,141,3170,49310,147,3170,51919,141,3170,51933,131,3190,53451,129,3190,53450,125,5,SomeWifi ,1c:b9:c4:d2:97:78,-74,SomeWifi2,90:5c:44:c8:63:c8,-75,SomeWifi3,92:5c:14:c8:63:c8,-75,SomeWifi4,44:fe:3b:e4:6b:f0,-76,SomeWifi5,2a:35:d1:6:a3:69,-76,40.7]
Changing the data to Invalid "V" or other values does not trigger the filter either.
Any clues ?
I am testing server filter: Accuracy
In traccar.xml the following is added.
<entry key='filter.enable'>true</entry> <entry key='filter.accuracy'>30</entry>
First i test the filter with Osmand protocol. Below we can see i set the Accuracy in the sent data to 40,7 (higher then filter.accuracy 30 to trigger the filter). When i sent this data from a browser to the server on osmand port 5055 the position is filtered.
In the log i can see.
So Filter Accuracy is working for Osmand protocol.
Then i test the same settings with the Watch protocol.
From the Watch protocol we know that the Accuracy value is the last value in the device data.
https://www.traccar.org/protocol/5093-watch/
The device reports Accuracy: 40.7
Example:
illustrate:
Data content:
UD, command number
180916, date
025723, time
A, gps positioning is valid
22.570733, latitude
N, latitude representation
113.8626083,longitude
E, longitude representation
0.00, speed
249.5,direction
0.0, altitude
6, the number of satellites
100, gsm signal strength
60, power
0, step count
0, the number of flips
00000010, the terminal state, the data is in hexadecimal, parsed into binary as 0000 0000 0000 0000 0000 0000 0001 0000
7, the number of base stations
255,460,1,9529,21809,158,9529,63555,133,9529,63554,129,9529,21405,126,9529,21242,124,9529,21151,120,9529,63556,119, base station information
0, the number of WiFi
40.7, positioning accuracy, in meters
When i use test-commands.py from traccar to sent this Watch device data with Accuracy 40.7 then the Filter is not triggered:
Changing the data to Invalid "V" or other values does not trigger the filter either.
Any clues ?