This part of the document applies to LC-313, LC-260, LC-261, LC-305. These are teltonika’s new devices that share the same protocol (Named Codec 8). The devices can base ignition on Din1 (OBD2), Accellerometer and power voltage
Teltonika have a new configurator with shared functionality over all FMB and FMT Devices. This configurator connects over USB. The configurator is found on google drive:
You will need to have the Teltonika FMB driver installed
Connecting to the device is pretty simple. Install the Drivers. then connect the device over usb (It needs to have external power as well) and then open the configurator app. By default it loads the configuration of the device and let you know the status.
Fota web can be found at https://fm.teltonika.lt/
Here we can update device configuration and firmware over the air. You can upload a configuration made in the Teltonika configurator and upload it to the FOTA webpage.
By default, the devices connect every 720 minutes -> every 12h to connect to Fota Web.
You can speed up the process by sending “SMSlogin SMSpasw web_connect” SMS/GPRS command to the device.
Alternatively, if you want to set up the device to connect to Fota Web periodically more often you can use “SMSlogin SMSpasw setparam 13002:newperiod”
minimum period – 30 min.
|‘ web_connect’ (notice the whitespace in front, quotes should not be send to the device)|
|‘ setparam 13002:newperiod’ (notice the whitespace in front, quotes should not be send to the device)|
By default without login and password the command will be ” web_connect” notice the 2 spaces in the first position
If you are missing some data values in the message you can add them in the I/O Section. Please note the more elements you add here the bigger the message data will be
We have some configurations pre-made. They can be found in google drive at:
Old FMA devices
This part of the document applies to LC-312A and LC-324.
Example of the LC-312A
The LC-312A (TeltonikaFMAxx) is currently used on our platform.
The LC-324 (TeltonikaFM11xx) was not fully integrated.
There are some subtle differences between LC-312A and LC-324. Although both devices use the same protocol, the protocol contains
(enumId, value)-pairs. The
enumIds used by both models does not always match. For example, the
enumId for Dallas temperature sensor 1 is different.
How to contact support
Send an email to: firstname.lastname@example.org
How does the device pin-out look?
|Pin Nr.||Pin Name||Description|
|1||VCC (1030)V DC (+)||Power supply for module. Power supply range (10…30) V DC|
|2||OUT 2||Digital output. Channel 2. Open collector output. Max. 300mA.|
|3||OUT 1||Digital output. Channel 1. Open collector output. Max. 300mA.|
|4||DIN 2||Digital input, channel 2|
|5||DIN 1||Digital input, channel 1 DEDICATED FOR IGNITION INPUT|
|6||GND(VCC(1030)V DC)(-)||Ground pin. (1030)V DC ( ― )|
|7||AIN 1||Analog input, channel 1. Input range: 0-30V/0-10V DC|
|8||DATA_DALLAS||Data channel for Dallas 1-Wire® devices|
|9||DIN 3||Digital input, channel 3|
|10||Ucc_DALLAS||+ 3,8 V output for Dallas 1-Wire® devices. (max 20mA)|
How to interpret the LEDs?
|Permanently switched on||GPS signal is not received|
|Blinking every second||Normal mode, GPS is working|
|Off||GPS is turned off because:Deep sleep mode, or;GPS module is turned off|
|Blinking every second||Normal mode|
|Blinking every 2 seconds||Deep sleep mode|
|Blinking fast for a short time||Modem activity|
|Blinking fast constantly||Boot mode|
|Off||Device is not working, or;Device firmware is being flashed|
How to find supplier documentation
There are a number of links and credentials available:
- %USERPROFILE%\Google Drive\GD – 360L\Documentation\Devices\Teltonika\FM12xx\passwords.txt
I found none of the information on these websites very helpful. You are better off with the documents already in drive.
How to provision
The Teltonika uses auto provisioning in combination with USB-based configuration tool provided by the supplier.
- Obtain a configuration tool
See %USERPROFILE%\Google Drive\GD - 360L\Documentation\Devices\Teltonika\FMA120\FMA1YX.01.27.05.Rev.0\FMA_Configurator_v126.96.36.199\FMA Configurator.exe
- Obtain a configuration
- Configure the device
How to configure remotely
Teltonika offers SMS and SMS over GPRS (DeviceSettingChanges) to configure the device remotely.
SMS requires a login and password, which are set to
'' (blank) in default configuration.
A typical remote configuration change looks like:
'setparam <parameterId> <value>' (without the quotes)
To read a parameter remotely you can use
- If send through SMS the device will reply to your phone.
- If send through GPRS consult the GatewayDatalog for the device.
To obtain the correct
parameterId see either
enums.cs:TeltonikaParameterId or consult the user manual
%USERPROFILE%\Google Drive\GD - 360L\Documentation\Devices\Teltonika\FMA120\FMA120-User-Manual-v1.13.pdf
GPRS configuration supports the same commands as SMS configuration does, but does not require a login and password:
|setparam <teltonikaIoId> <value>|
The final packet send out to the device is slightly different from, for example,
setparam 1002 1234, since the packet needs to be length-prefixed and crc’d.
- This prefixing and crc-ing is done in
- When implementing a GPRS setting in
TeltonikaParser.HandleReplyyou can simply return the string
setparam 1002 1234
- When sending manual settings you can also simply set the
DeviceSettingChange.Value = "setparam 1002 1234"
- When implementing a GPRS setting in
- This also means that the packet in the gateway datalog will be slightly different from
setparam 1002 1234.
|Read here how to implement new setting changes|
The Teltonika accepts SMS from any phone and is login and password protected, but by default these are
If the Teltonika is in deep sleep (not implemented yet), it will not receive SMS until it wakes up.
|‘ setparam <teltonikaIoId> <value>’ (notice the whitespace in front, quotes should not be send to the device)|
|‘ getparam <teltonikaIoId>’ (notice the whitespace in front, quotes should not be send to the device)|
|Consult the SMS COMMAND LIST in |
|If the device is not replying to your SMS, make sure to prepend two spaces to the command.|
How to find IO ids
TeltonikaIoIds are scavenged from over the internet.
The TeltonikaParameterIds are imported from the ids listed in the user manual.
Get Firmware Version
This is done by sending a custom command,
getver, through device setting overview page (Back Office).
Decoding the message can be done with a hex-to-string converter (http://string-functions.com/hex-string.aspx)
To: Ver:03.10.08_00 GPS:AXN_5.10_3333 Hw:FMB120 Mod:24 IMEI:352093081065384 Init:2018-10-17 11:6 Uptime:1203761 MAC:001E42960127 SPC:1(0) AXL:0 OBD:0 BL:1.6 BT:4
How to Upgrade Firmware
Teltonika offers a dedicated windows application to upgrade your firmware through USB.
- %USERPROFILE%\Google Drive\GD – 360L\Documentation\Devices\Teltonika\FMA120\FMA1YX.01.27.05.Rev.0\Firmware Updater v2.2.0\FM Updater.exe
- %USERPROFILE%\Google Drive\GD – 360L\Documentation\Devices\Teltonika\FMA120\FMA1YX.01.27.05.Rev.0\Firmware Updater v2.2.0\FMA1YX.01.27.05.Rev.0.e.CFW
How to Debug / Retrieve device log
You can connect using USB to retrieve a device-side log. Below I show how to do this using Putty:
Connect using Serial at speed 115200
Make sure to log all session output to a file (it will be much easier to search through and analyse after)
Make sure to enable “Implicit LF in every CR” or your linebreaks won’t work
The exact Serial settings. You might use a different serial line than COM5.
After performing this elaborate setup, make sure to save this to a putty profile.
See also Debug Mode in
%USERPROFILE%\Google Drive\GD - 360L\Documentation\Devices\Teltonika\FMA120\FMA120-User-Manual-v1.13.pdf for a list of all the SMS commands.
How does Ignition Detection work?
Teltonika has a dedicated ignition input (input 1). The device reports a virtual ignition id, containing the status of the ignition column.
This virtual ignition can be based on three different sources:
- Power Voltage
- Digital Input 1 (recommended) (set in our provided configuration)
- Movement sensor
You can query and configure the source using the
getparam 1004 and
setparam 1004 1 command.
|Despite having configured the ignition source to Digital Input 1, there were occasions where the device reported |
Update this table whenever you get a question that can not be captured by the Device capability chart / Integration checklist
How to (im)mobilize in combination with controlled starting / buzzer?
Currently we only support one type of controlled starting, which is immobilization (this is also used with buzzer).
First, disable the immobilization:
|‘ setparam 1903 0’ (quotes are provided for clarity w.r.t. whitespace, please don’t send them to the device)|
Then, set the first output to low (for indefinite amount of time):
|‘ setdigout 0?’ (quotes are provided for clarity w.r.t. whitespace, please don’t send them to the device)|
Or to high (depending on how the device circuitry is connected):
|‘ setdigout 1?’ (quotes are provided for clarity w.r.t. whitespace, please don’t send them to the device)|
How to change server AP and port ?
|‘ setparam 1245 188.8.131.52’ (quotes are provided for clarity w.r.t. whitespace, please don’t send them to the device) ‘ setparam 1246 49041’|
How to change APN ?
|‘ setparam 2001:apn;2002:user;2003:pass’ ‘ setparam 2001:apn’|
How to set the ro
How to set the roaming intervals?
Currently we do not support home and roamining intervals for Teltonika.
Teltonika supports three different intervals:
We assume no operator code is entered, which means the device will operate in Unknown interval.
Currently this is the only interval that is configurable through our platform (i.e., when changing the device interval in the BackOffice, it will change the Unknown interval).
Should the device not report at the expected interval, verify that no Home and Roaming operators are set:
Example of a configuration in which no Home and Roaming operators are set, causing the device to report at the Unknown interval
How to implement new device setting changes?
Teltonika does not allow multiple
setparams in a single packet. However, some of our
SettingId do not match directly to a single
For example, consider the following line in the configurator:
Each column in the row is controlled by a separate
setparam. This means that to configure a temperature sensor alert, we need to send the following
setparam 1500 1 // Enable the reporting of Dallas temperature 1
setparam 1501 1 // set the priority to high (report as event)
setparam 1502 0 // set the high-value threshold (yes, high value precedes low level)
setparam 1503 0 // set the low-value threshold
setparam 1504 0 // generate event on exit of the range
setparam 1505 10 // generate the event if the range is exited more than 10 seconds
To remember which part of the setting we are in, the
DeviceSettingChange.CommandId is used.
Fortunately, all these details are already abstracted for you (but they can still be useful to know if you need to send manual changes). Here’s how a temperature sensor change is implemented:
|return S( operation, new TeltonikaIoSetting( parameterId: TeltonikaParameterId.Dallas_Temperature_1, enabled: true, averagingLengthSeconds: Math.Min(tempChange.LowerTempDurationInSeconds, tempChange.UpperTempDurationInSeconds), highValueThreshold: (int)(tempChange.UpperLimitCelcius * 10), lowValueThreshold: (int)(tempChange.LowerLimitCelcius * 10), priority: TeltonikaParameterPriority.High, operand: TeltonikaParameterLogicOperand.OnRangeExit ));|
S function above is translating the
TeltonikaIoSetting into the correct
You also don’t have to worry about incrementing
CommandIds, or inserting new
DeviceSettingChanges if your change requires any subsequent
setparam-commands (all this is done by
The routing from a
DeviceSettingChange into multiple
setparams happens in
The routing from a
DeviceSettingChange into a single
setparam happens in