Compute Attributes Howto Teltonika TMT250

Proteinschwester2 years ago

Hi,

it took me some time trying to write down my question - cause i am stuck in understanding the problem and i cant figure out the solution.

i am using a teltonika tmt250. A great amount of the data sent to traccar ist mapped to a variable - so that i can use it to display values in the webfrontend (lat, long, battery voltage,...) but some stuff is missing - like the battery level - it is sent to the server (https://www.euromobile.com.ua/files/teltonika/tmt250/TMT250-Protocols-V-1.2_ENG.pdf). how can i grab this data? do i need to compute a attribute?

Anton Tananaev2 years ago

You need to figure out which IO ids your device uses to report that data. It should be somewhere in Teltonika docs. Once you have the id, you can check if you see that id in Traccar. And if yes, then you can use a computed attribute to convert it into a meaningful attribute, like battery level.

Proteinschwester2 years ago

Hi Anton!

Thank you a lot for your help!!

After some reasearch in the forum i found out that i am not the only one having issues with the thought process of mapping the data from the device to a variable. So i'll try to explain where i am right now and how its done:

first: https://www.traccar.org/forums/topic/teltonika-computed-attributes/ - in this post there is a good explenation that helps to understand the process.

the event/io id and the data sent by the event/io can be found here - https://wiki.teltonika-mobility.com/view/TMT250_AVL_ID_List

for eg: if i want to raise an event if a button is clicked:
the avl id of the buttonclick event is 389 (in traccar: event==389). and the button data (what button is clicked how often) should be found in io389.

so to compute a variable i would need to use this expression

event==389 ? io389 : null

in words: if a button is clicked and the event 389 is raised (event ==398) write the value of io389 in the computed attribute (what button is clicked and how often) otherwise do nothing.

if i test this i get the value of 33 if the power button is clicked once, 34 if the button is clicked twice, 18 is the alarmbutton is clicked once, 19 if the button is clicked twice...
the device sends the button information as hex value and traccar gets it as dec. so eg. 19 (dec) is 13 (hex) indication that button 1 (alarm button) is was long pressed (3). 33 (dec) is 21 (hec) indication button 2 (power button) was clicked once

same would go for the battery
the avl id is 113. so the value of the according battery level (in percent) is written in io113. so i can compute a variable with the expression

io113 ? io113 : null

in words: if io113 is present, take this value otherwise its null.

is this thoughtprocess the right one?

thanx in advance

Anton Tananaev2 years ago

The battery level sounds right. Not sure about the other stuff.

gonzalo2 years ago

hi!
resolved

event? (event == "389" ? "sos" : null):null

greetings