Does filter.duplicate and filter.skipLimit works well for gt06 protocol ?

Hi Anton,

Applied both the attributes but all positions gets skipped even with filter.skipLimit set to 10 minutes.
I think there is some problem because gt06 fixTime remains same until next ignition on and duplicate filter works well.

As per skipLimit code

return (position.getFixTime().getTime() - last.getFixTime().getTime()) > skipLimit;

It will always return false.

Am I right?

Anton Tananaev7 years ago

I think you misunderstand what skipLimit is for. I would recommend you to carefully re-read documentation.

Thanks Anton,

But I'm giving real time example derived from the data.

My Config are

 <entry key='filter.enable'>true</entry>
 <entry key='filter.skipLimit'>600</entry>
 <entry key='filter.duplicate'>true</entry>

But gt06 protocol positions are skipped until next ignition on. The time difference between two ignition off and on events are more than 1 day then the last entry will be 1 day old.

Am I doing something wrong? If I misunderstand skipLimit then leave it but Is it right way that we will not store the in between positions which can be a day or higher?

Anton Tananaev7 years ago

Skip limit uses GPS fix time.

It means the device will not get offline in this sense? Because gt06 always send same fix time until next ignition on event ( for e.g) .

Anton Tananaev7 years ago

You mean online? Everything will be filtered out, yes.

Oh sorry online yes.

Isn't it's confusing that customer can misunderstood that his device stop sending data?

Anton Tananaev7 years ago

It is a bit confusing. You can post a suggestion on GitHub if you have a better solution.

Sure Anton, I'll get back to you ASAP with a solution

Dear Anton,

As far I understand the whole logic I found that

skip limit -- works well for other protocols but not for gt06 like protocols.
duplicate -- works well for gt06 like protocols but not for other protocols.

So, I think they are mutually exclusive to each other for a particular device.

So, we should go for server time check instead of the fix time into the skip limit method.
It's just the fact I deduce from the real time data.
So, Please correct me if I'm wrong.

Anton Tananaev7 years ago

They are not mutually exclusive, but server time might work better in this case.

Dear,

As per now:

Gt06 fix time will always be same then skip limit will always return false (e.g: until ignition On.)
So, it will never return the current position into handlePosition method

Into the filterDuplicate method it will always return true (Kindly don't consider attributes for time being)
So, it will skip all positions until a change.

And the exact vice-versa logic will apply onto the protocols other than gt06 like protcols because skip limit works well but filterDuplicate will always return false.

So, they are mutually exclusive.
Or, Am I understanding something wrong?

And Yeah we should probably use server time because it will work well for all type of protocols. That might not be a problem for any type of protocols.

Can you please make this change?

Anton Tananaev7 years ago

I already told you that you want to suggest some change you should use GitHub.