Displaying data from the teltonika fmc650 GPS tracker

DomNet4 days ago

Tell me how to see the normal display of values ​​from the tracker so that it is clearer.

unnamed.png

Anton Tananaev4 days ago

You can use computed attribute to convert IO values.

Kaldek4 days ago

Hi DomNet, the current teltonika decoder codebase only recognises a handful of devices. I am still personally in the middle of working on a pull request to fix it but I've been working on other priorities for my business.

In the meantime, for the model field call your device an FMC130 (or any of the entries from line 195 of the code):
https://github.com/traccar/traccar/blob/master/src/main/java/org/traccar/protocol/TeltonikaProtocolDecoder.java

Even with that, it does not decode many of the Teltonika parameters into known traccar attributes, so that also needs work. For those, you will need to create computed attributes.

bluelaser4 days ago

@Kaldek note that the IO values that Teltonika devices send can be completely different depending on configuration or device model.

Kaldek3 days ago

Yep, I'm aware of this and I even raised a case with Teltonika to get a breakdown. Even Teltonika went "meh" and directed me to a 3rd party github:
https://github.com/pankalog/Teltonika-Parameter-Id-Parser

What the decoder needs is more work to clearly differentiate between core and non-core parameters for the FM and FT series of trackers. There's no real issue with the decoder being able to decode parameters that a particular model would never send. The issue - where one exists - is devices where parameter IDs conflict.

To date I have not experienced parameter conflicts on any of my FM or FT-series trackers. We also sell TATX4X series trackers but they also are considered part of the same series. They have more parameters, but none that conflict.

My proposed changes to the teltonika decoder will change the code for assessing device model from the static list of devices to using Regular Expressions.

This is the code today:

var fmbXXX = Set.of(
                "FMB001", "FMC001", "FMB010", "FMB002", "FMB020", "FMB003", "FMB110", "FMB120", "FMB122", "FMB125",
                "FMB130", "FMB140", "FMU125", "FMB900", "FMB920", "FMB962", "FMB964", "FM3001", "FMB202", "FMB204",
                "FMB206", "FMT100", "MTB100", "FMP100", "MSP500", "FMC125", "FMM125", "FMU130", "FMC130", "FMM130",
                "FMB150", "FMC150", "FMM150", "FMC920");

This list is wildly out of date. Rather than maintain a static list I'm considering some RegEx similar to "^(FT|FM).|.TAT.4.."* but ensuring I add in everything which falls into the FT/FM platform.

Anton Tananaev3 days ago

Seems reasonable.