Forward data - duplicate raw messages

Quade dennis6 years ago

Morning Anton

I've noticed an issue on forwarded events/messages when there are multiple (buffered) raw messages.

for example, this 1 forwarded message contains 5 RAW messages

{
    "priority": 0,
    "sat": 17,
    "event": 1,
    "io200": 0,
    "io69": 1,
    "di1": 1,
    "out1": true,
    "pdop": 1.2000000000000002,
    "hdop": 0.6000000000000001,
    "power": 12.169,
    "battery": 4.057,
    "io68": 7,
    "adc1": 43,
    "io199": 0,
    "io16": 152190,
    "raw": "000000000000021b080800000166957979100015e5f830ff2f5cde0711008e120000000c04c80045010101b30106b5000cb60006423645430fd944000709002b02c700000000100002527e00000001669579e6700015e5f830ff2f5cde0711008e100000010c04c80045010100b30106b5000cb6000642364e430fd944000709002b02c700000000100002527e00000001669579ee400015e5f830ff2f5cde07110000100000ef0d05ef00c80045010100b30106b5000cb60006423386430fd944000709002b02c700000000100002527e00000001669579ee4a0015e5f830ff2f5cde07110000100000f00d05f000c80045010100b30106b5000cb60006423386430fd944000709002b02c700000000100002527e0000000166958901a00015e5f830ff2f5cde0711008e110000000c04c80045010100b30106b5000cb60006422faa430fd944000709002b02c700000000100002527e0000000166958905880015e5f830ff2f5cde0711008e110000010c04c80045010101b30106b5000cb60006422f89430fd944000709002b02c700000000100002527e000000016695890d580015e5f830ff2f5cde0711008e110000ef0d05ef01c80045010101b30106b5000cb60006422f3e430fd744000709002b02c700000000100002527e000000016695890d620015e5f830ff2f5cde0711008e110000f00d05f001c80045010101b30106b5000cb60006422f3e430fd744000709002b02c700000000100002527e0008000028b3",
    "distance": 0.0,
    "totalDistance": 147535.91,
    "motion": false,
    "ignition": false
}

Each of the 5 raw messages is extracted and forwarded correctly.......I see 5 JSON messages.
However, in each message, instead of showing the 1 raw message it relates to, it contains the same 5 raw messages every time.

I wanted to extract the teltonika FMB920 continuous odometer value from the raw message and use this instead of total distance, but as the raw message contains multiple its causing issues

Is this a "feature" or something that is fixed in later builds above 3.17 ?

Alternatively I would like a way for the DISTANCE node to show the odometer reported by the hardware
When I decode the teltonika raw message, I can see the odometer value from the hardware is present, but traccar is not extracting this data into the DISTANCE node

Is there a way to achieve one of the above?

Anton Tananaev6 years ago

Your single raw message contains several location reports, so each position includes same original raw data. That's expected behaviour.

Quade dennis6 years ago

Ok thanks for clarifying Anton.

Moving onto my 2nd point, from the packet I get, the ODOMETER and DISTANCE nodes do not reflect what the device is sending

When I decode the raw data, I see the odometer value as

  <IO_4byte ID="16">109080851</IO_4byte>
..... 109,080km

However, when I look at the forwarded data, ODOMETER is 0 and DISTANCE is 4.94

{
   "Position":{
      "Id":352093084007995,
      "DeviceId":5774,
      "Valid":true,
      "FixTime":"2018-10-22T05:19:05Z",
      "DeviceTime":"2018-10-22T05:19:05Z",
      "Protocol":"teltonika",
      "Latitude":1.3355133,
      "Longitude":34.70614,
      "Altitude":1881.0,
      "Speed":8.639312,
      "Course":322.0,
      "StatusCode":"0xF11C",
      "Ignition":true,
      "Event":0,
      "Excempt":0
   },
   "Attributes":{
      "sat":19,
      "hdop":0.60000000000000009,
      "pdop":"0.9",
      "power":13.986,
      "out1":true,
      "io69":1,
      "io199":7424,
      "adc1":43.0,
      "di1":1,
      "io253":3,
      "io254":16,
      "odometer":0.0,
      "raw":"00000000000003c9080e000001669a3659280015e0e998ff34378307590142130010fd0e06c80045010101b301fd03fe1006b50009b600064236a2430fd544000709002b02c700001d00100680711300000001669a3659320015e0e998ff34378307590142130010f30d04c80045010101b30107b50009b600064236a2430fd544000709002bf3000002c700001d00100680711300000001669a365d100015e0e87cff3439020759013e120010fd0e06c80045010101b301fd02fe1a06b5000cb600064236f7430fd544000709002b02c700001d06100680711900000001669a365d1a0015e0e87cff3439020759013e120010f30d04c80045010101b30107b5000cb600064236f7430fd544000709002bf301e002c700001d06100680711900000001669a366cb00015e0e21bff343db207580127130015000c04c80045010101b30106b5000bb600064236f3430fd544000709002b02c700001d17100680712a00000001669a3660f80015e0e750ff343a500759013a130010fd0e06c80045010101b301fd02fe1706b5000bb600064236f3430fd544000709002b02c700001d17100680712a00000001669a3661020015e0e750ff343a500759013a130010f30d04c80045010101b30107b5000bb600064236f3430fd544000709002bf3019002c700001d17100680712a00000001669a3664e00015e0e5d1ff343bae07590135130014fd0e06c80045010101b301fd03fe0e06b5000bb600064236f3430fd544000709002b02c700001d17100680712a00000001669a3664ea0015e0e5d1ff343bae07590135130014f30d04c80045010101b30107b5000bb600064236f3430fd544000709002bf3025802c700001d17100680712a00000001669a3668c80015e0e40fff343cda0758012d120015fd0e06c80045010101b301fd03fe0e06b5000bb600064236f3430fd544000709002b02c700001d17100680712a00000001669a3668d20015e0e40fff343cda0758012d120015f30d04c80045010101b30107b5000bb600064236f3430fd544000709002bf3025802c700001d17100680712a00000001669a366cb00015e0e21bff343db207580127130015fd0e06c80045010101b301fd03fe0e06b5000bb600064236eb430fd544000709002b02c700001d28100680713b00000001669a366cba0015e0e21bff343db207580127130015f30d04c80045010101b30107b5000bb600064236eb430fd544000709002bf3019002c700001d28100680713b00000001669a3678680015e0dd5aff34417907570143120013000c04c80045010101b30106b5000bb600064236eb430fd544000709002b02c700001d28100680713b000e0000d7a2",
      "ignition":true,
      "charge":false,
      "blocked":false,
      "battery":4.053,
      "distance":4.94,
      "totalDistance":158514.7,
      "motion":true,
      "priority":0,
      "Event":"253",
      "driverUniqueId":"0"
   }
}

Is this also expected behaviour ?

Anton Tananaev6 years ago

Where are you getting IO16 from?

Quade dennis6 years ago

Its my own basic app i've written to decode the raw data to read odometer

Quade dennis6 years ago

This is what I get when I decode

<IO_Element>
       <IO_EventGen_ID>253</IO_EventGen_ID>
       <IO_1byte ID="200">0</IO_1byte>
       <IO_1byte ID="69">1</IO_1byte>
       <IO_1byte ID="1">1</IO_1byte>
       <IO_1byte ID="179">1</IO_1byte>
       <IO_1byte ID="253">3</IO_1byte>
       <IO_1byte ID="254">16</IO_1byte>
       <IO_2byte ID="181">9</IO_2byte>
       <IO_2byte ID="182">6</IO_2byte>
       <IO_2byte ID="66">13986</IO_2byte>
       <IO_2byte ID="67">4053</IO_2byte>
       <IO_2byte ID="68">7</IO_2byte>
       <IO_2byte ID="9">43</IO_2byte>
       <IO_4byte ID="199">7424</IO_4byte>
       <IO_4byte ID="16">109080851</IO_4byte>
   </IO_Element>
<raw_data>080E000001669A3659280015E0E998FF34378307590142130010FD0E06C80045010101B301FD03FE1006B50009B600064236A2430FD544000709002B02C700001D00100680711300000001669A3659320015E0E998FF34378307590142130010F30D04C80045010101B30107B50009B600064236A2430FD544000709002BF3000002C700001D00100680711300000001669A365D100015E0E87CFF3439020759013E120010FD0E06C80045010101B301FD02FE1A06B5000CB600064236F7430FD544000709002B02C700001D06100680711900000001669A365D1A0015E0E87CFF3439020759013E120010F30D04C80045010101B30107B5000CB600064236F7430FD544000709002BF301E002C700001D06100680711900000001669A366CB00015E0E21BFF343DB207580127130015000C04C80045010101B30106B5000BB600064236F3430FD544000709002B02C700001D17100680712A00000001669A3660F80015E0E750FF343A500759013A130010FD0E06C80045010101B301FD02FE1706B5000BB600064236F3430FD544000709002B02C700001D17100680712A00000001669A3661020015E0E750FF343A500759013A130010F30D04C80045010101B30107B5000BB600064236F3430FD544000709002BF3019002C700001D17100680712A00000001669A3664E00015E0E5D1FF343BAE07590135130014FD0E06C80045010101B301FD03FE0E06B5000BB600064236F3430FD544000709002B02C700001D17100680712A00000001669A3664EA0015E0E5D1FF343BAE07590135130014F30D04C80045010101B30107B5000BB600064236F3430FD544000709002BF3025802C700001D17100680712A00000001669A3668C80015E0E40FFF343CDA0758012D120015FD0E06C80045010101B301FD03FE0E06B5000BB600064236F3430FD544000709002B02C700001D17100680712A00000001669A3668D20015E0E40FFF343CDA0758012D120015F30D04C80045010101B30107B5000BB600064236F3430FD544000709002BF3025802C700001D17100680712A00000001669A366CB00015E0E21BFF343DB207580127130015FD0E06C80045010101B301FD03FE0E06B5000BB600064236EB430FD544000709002B02C700001D28100680713B00000001669A366CBA0015E0E21BFF343DB207580127130015F30D04C80045010101B30107B5000BB600064236EB430FD544000709002BF3019002C700001D28100680713B00000001669A3678680015E0DD5AFF34417907570143120013000C04C80045010101B30106B5000BB600064236EB430FD544000709002B02C700001D28100680713B000E0000D7A2</raw_data>
Anton Tananaev6 years ago

Traccar should decode all the attributes.

Quade dennis6 years ago

Ok, Let me dig a little deeper to see if its an issue with traccar.