Other apps
Wialon for Android/iOS
Wialon Local
Wialon Hosting
Distance Tag

All How-Tos
How to Send Commands from Wialon to flespi Devices
  • commands

This guide describes the sequence of actions required to send commands from the Wialon system to physical devices registered on the flespi platform, including the creation of devices in flespi (hereinafter flespi devices).

  1. Create a device in flespi. To do this, open the Devices tab in the Telematics Hub, click on the button  in the lower right corner of the screen, fill in the required fields, and click Save.
  2. Create a channel to receive data in flespi: open the Channels tab, click on the button  in the lower right corner of the screen, fill in the name and protocol_id fields (the protocol corresponds to the type of the physical device), and click Save.
  3. Point the physical device (tracker) to the channel address (IP and port).
  4. Create a stream to redirect data. To do this, open the Streams tab, and click . Fill in the сonfiguration and uri (address of the flespi gateway device) fields, activate the ident option.

    IP varies depending on the data centre.

  5. Assign the flespi device created in step 1 to the stream. To do this, go to the Devices tab and click on the line with the flespi device to open the settings window. Next, on the Streams tab, click  and select the required stream.
  6. Copy a token on the flespi platform (the Tokens tab).
  7. In Wialon, paste the copied token into the Token field on the Security tab of the top account settings.
  8. Create a unit in Wialon. The device type should be the one indicated in the Device type field in step 1. It should be marked as flespi in brackets.
  9. Create a new command in the unit properties in Wialon.

    When creating the command, you can configure its parameters in the flespi form. In this way, you will not have to do it manually every time before sending the command to the unit.
  10. Send the command to the unit from the Monitoring tab.
  11. If the parameters of the command were not configured in its settings, specify them in this step.

How to Calibrate a Fuel Tank
  • hardware

To calibrate a tank for  a fuel level sensor (FLS), follow the steps below.

  1. Empty the fuel tank. Make sure the car battery is charged and won't die during the calibration.
  2. If the FLS is not installed yet, install it according to the manual.
  3. Configure the tracker in such a way that the data is saved at least once every 10 seconds while you are calibrating the tank.
  4. Prepare a table with two columns: X and Y. In the Y column, you should indicate the amount of fuel in the tank, and in the X column, the corresponding voltage value. To find out this value, request data messages from the unit in the Wialon monitoring system and find the value of the FLS parameter (this parameter is different for different trackers).

    We don't recommend using a voltmeter to determine the X value due to the voltage drop in the circuit and the accuracy difference between the voltmeter and the tracker.

    If you are using a digital FLS, you can take the values for the X column from the configurator (a special application for fuel level sensors).

    The table should contain as many rows as you conditionally divide the tank into parts, as well as an additional row corresponding to a volume of 0 litres.

  5. Write down the start time of the calibration. You can also write down the time of adding each part of fuel to find the corresponding messages in Wialon easily.
  6. In the X column of the first table row, specify the voltage value before adding the fuel. Enter 0 in the Y column of this row.
  7. Divide the entire volume of the tank into 10-20 parts.
  8. Pour a part of fuel. In the Y column, enter the resulting fuel volume in litres. Wait 2-3 minutes until the fuel level in the tank becomes even and the tracker records a few more messages.
  9. Repeat the previous step until you fill the entire tank.
  10. In Wialon, take several messages generated 2-3 minutes after adding each part of the fuel. In these messages, find the parameter with the voltage value from the FLS, calculate the average voltage value ​​for each such group and enter it in the X column.

Next, follow the instructions for filling out the calculation table in Wialon.

See the examples of configuring a calculation table for an FLS here.

How to Configure a Unit in Wialon for Obtaining Data from CMSV6
  • hardware

This guide describes the way of obtaining data from CMSV6 in Wialon on the example of live-streaming. This process includes creating and configuring a unit. At the end of this document, you can also find the commands available for units with the CMSV6 Gateway device type.

To get live streams in Wialon, it is required to set up a proxy server on the side of CMSV6 and configure data transfer via HTTPS connection. An HTTP connection allows transmitting telematic data, but not live-streaming.

Creating and configuring a unit

Perform the following actions in the monitoring or administration system:

  1. Create a unit.
  2. On the General tab, select CMSV6 Gateway as a device type.
  3. Enter the unique identification number of the device indicated in CMSV6.
  4. Go to the device settings by clicking on the icon .
  5. In the dialog box which opens next, fill in the fields described below.

    CMSV6 web host: the IP address or domain name from the URL of the CMSV6 website. If you use a secure connection, you should specify the protocol (for example, or https://yourcmsv6site.com). As stated above, live-streaming requires a secure connection.

    CMSV6 web port: the port from the URL of the CMSV6 website, if any. You can also specify the host and port in the CMSV6 Web Host field. In this case, you don't need to fill in the CMSV6 Web Port field.
    ▪ CMSV6 account: account name in CMSV6.

    ▪ CMSV6 password: account password in CMSV6 (twice).
    ▪ Prefer Flash Player for Live Stream: this option is obsolete and doesn't affect live streams.
    ▪ CMSV6 Timezone in minutes: the difference between the time zone of the device and GMT +0 in minutes, if they differ. For example, if the time zone of the device is GMT +3, the field should contain 180 (without the plus sign). The device as well as CMSV6 and Wialon accounts must have the same time zones.
  6. Click ОК.

Watching the live stream

To watch the live stream, follow the steps below.

  1. Make sure the prerequisites are met.
  2. Create one or several cameras in the unit properties.
  3. Open the Video tab in the monitoring system and select the required unit in the list.

In the right part of the window, the live streams from the unit cameras are displayed.

Saving the files

The data sent by the devices, such as photo and video files, are stored on the CMSV6 server. You can access them using the commands created in the unit properties (see Command types below).

You can also save video files in Wialon in one of the following ways:

You can see the saved files on the Video tab, in messages and in reports.

Command types

In addition to some standard commands, CMSV6 Gateway devices support the commands described below.


When this command is sent, the video playback is uploaded from the device to the CMSV6 server. If there is no connection with the device, the request execution is postponed until the device is connected to the server. To see if a video is uploaded to the CMSV6 server, execute the get_video_records_info command.


This command allows you to request the last GPS location.


Using this command, you can request a photo from a camera in real time.


The command allows you to request the telematic data of the unit for the indicated period of time (similarly to the import of messages in Wialon).


This command allows you to request information about the video that is stored in the device or on the CMSV6 servers. You can select the location of the data in the command properties.

After the command is executed, if there are available files, the icon  becomes active on the Monitoring tab (the Media option). Also, a numeric indicator shows up over the same icon in the bottom panel.

Besides, you can request messages from units for the necessary interval (the Data messages type, show parameters as raw data). The icon  will be displayed in the Media column of the resulting table. Click on it to view the found photo and video files.

The messages with media files contain the following parameters:

  • video uri: the link for playing the video;
  • loc: the file location (loc=2 indicates that the file is stored on the CMSV6 storage server);
  • cha_n: the number of the video channel.

How to Configure a Unit in Wialon for the Eco Driving Application to Work with Teltonika Devices
  • hardware
  • eco_driving
  • teltonika

This guide describes how to prepare a device manufactured by Teltonika and to configure a unit which uses this device so that the Eco Driving application can work with this unit. The guide is suitable for all devices of the FMB, C, M, U lines, except for the FMC640, FMM640, FMB640 models.

  1. Enable the Codec 8 Extended option for the Data Protocol setting on the System tab in the device configurator.
  2. Configure the 258 parameter (Eco Driving Maximum) in the device.

  3. Open the Sensors tab of the unit properties in Wialon.

  4. Create a custom sensor Accel_MAX. In the Parameter field, specify the following formula:





  5. Create a custom sensor Brk_MAX. In the Parameter field, specify the following formula:





  6. Create a custom sensor Crn_MAX. In the Parameter field, specify the following formula:









  7. Open the Eco driving tab and add custom criteria for the created sensors.

    • The Acceleration criterion for the Accel_MAX sensor.

    • The Braking criterion for the Brk_MAX sensor.

    • The Cornering criterion for the Crn_MAX sensor.

Now you can track the driving quality of the unit in the Eco Driving application.

There are no pictures in the gallery

How to Use Bitwise Parameter Control
  • hardware

Some devices allow transferring user data. In Wialon, this data is registered as unsigned integers by default, regardless of the form in which it is sent from the device. In order for the reports and messages in Wialon to display  "clear values", that is, the values as they are sent from the device, you can use the bitwise parameter control method. This guide describes three examples of using this method to work with source data.

Example 1

Consider the case when a unit sends data, for example, in the user_d1 parameter as two double-byte unsigned integers. In Wialon, this data is registered as user_d1=2646793773.

  1. Convert the received number in Wialon to the binary system: 2646793773 → 10011101110000101101111000101101.

    In Wialon, bits are calculated from one.

  2. Divide the resulting number by two (according to the double-byte number count): 1101111000101101 and 1001110111000010.
  3. Create a custom sensor numeral_1 in the unit properties in Wialon. In the Parameter field, specify the following formula:

    user_d1:1*const1+ user_d1:2*const2+ user_d1:3*const4+ user_d1:4*const8+ user_d1:5*const16+ user_d1:6*const32+ user_d1:7*const64+ user_d1:8*const128+ user_d1:9*const256+ user_d1:10*const512+ user_d1:11*const1024+ user_d1:12*const2048+ user_d1:13*const4096+ user_d1:14*const8192+ user_d1:15*const16384+ user_d1:16*const32768

  4. Create a custom sensor numeral_2. In the Parameter field, specify the following formula:

    user_d1:17*const1+ user_d1:18*const2+ user_d1:19*const4+ user_d1:20*const8+ user_d1:21*const16+ user_d1:22*const32+ user_d1:23*const64+ user_d1:24*const128+ user_d1:25*const256+ user_d1:26*const512+ user_d1:27*const1024+ user_d1:28*const2048+ user_d1:29*const4096+ user_d1:30*const8192+ user_d1:31*const16384+ user_d1:32*const32768

As a result, the reports and messages in Wialon display the values of two double-byte sensors (numeral_1=56877 and numeral_2=40386) instead of user_d1=2646793773.

Example 2

In this example, consider the case when a unit sends data as a number with floating point (float). In Wialon, the data is registered as user_d3=1017282565.

  1. Convert the received number in Wialon to the binary system: 1017282565 → 111100101000101000000000000101.
  2. Create a custom sensor float in the unit properties in Wialon. In the Parameter field, specify the following formula:


    The formula for the sensor parameter is created on the basis of the formula for converting to the 32-bit IEEE 754 format: F=(-1)S2(E-127)(1+M/223).

As a result, Wialon displays the values of the float sensor instead of user_d3=1017282565.

Example 3

Consider the case of the Teltonika FMT100 device when the io_258 parameter registers the values of the accelerometer on three axes when exceeding the values specified in the device. The data of this parameter is useful when working with the Eco Driving application. In Wialon, the data is registered as io_258=932034904003. The values should be converted into g.

The image below shows the parameter structure.

The values on the axes are signed. In Eco Driving, only the values on the X and Y axes are used. On the X-axis, depending on the sign, the acceleration and braking are determined. On the Y-axis, the transverse acceleration is determined which will be used as an absolute value (module) because the sign (left/right) is not taken into account in Eco Driving.

  1. Create a custom sensor Accel_MAX in the unit properties in Wialon. In the Parameter field, specify the following formula :


  2. Create a custom sensor Brk_MAX. In the Parameter field, specify the following formula :


  3. Create a custom sensor Crn_MAX. In the Parameter field, specify the following formula:


    Two bytes are provided for the Y-axis. The bit numbers in Wialon are from 17 to 32. Since the module (absolute) values are taken into account, the formula is a little longer than the previous ones.

The given examples show that the application area of the bitwise control is not limited to the control of a specific bit. This is a comprehensive tool which allows creating custom sensors in Wialon. You can formulate the logic and calculation of such sensors on your own to fulfil the most challenging tasks.

  How can I find out what commands have been sent to the unit?

Once the unit executes a command, it is displayed in the log.

To view the data on the sent commands, you can query messages of the Sent commands type or execute a report on the sent commands for the required interval.

  Why do I fail to send a command via the TCP and UDP channels if I have all the required rights?

To send commands via the TCP and UDP channels, the unit should be connected to the server. You can see the connection state of the unit on the Monitoring tab.

  The unit was not connected to the server while several commands were sent via the Virtual channel. After the connection had been restored, not all of the commands were executed. Why did that occur?

Depending on the device type, the number of virtual commands in a queue for execution can be limited. If the queue is overfull, the commands sent first are deleted.

  The unit has received the command, but its text is incorrect. Why?

This problem occurs mainly while sending SMS commands, when the encryption protocol of the communication service provider differs from the Wialon protocol. In this case, contact the communication service provider because the message has been decrypted incorrectly.

  Why has the tracker not executed the command or sent a response to it after the command was received?

The reasons can be mainly as follows:

  • incorrect command format (depends on the device type);
  • incorrect configuration or faulty equipment.

  Can I register a work shift for a driver post factum if, for example, the automatic assignment has not worked?

Yes, use the Register working interval feature on the Drivers tab.

  Can the drivers’ assignments be registered automatically using imported messages?

No, the assignments cannot be registered automatically using imported messages or messages of the past period.

  Can more than one driver be assigned to one unit at the same time?

Yes. Read more about simultaneous assignments of the drivers.

  How can I prevent the simultaneous assignment of several drivers to one unit?

For real-time assignments, activate the Exclusive option in the properties of the drivers. Read more about simultaneous assignments of the drivers.

  How long are the drivers’ assignments stored in the system?

The storage period of messages about the assignments of drivers corresponds to the history period of the account to which the resource belongs.

  Do reports display the data on the manual assignment of the driver after the data storage period expires?

Yes, but only if the driver has not had other assignments since he was last assigned to the unit.

  The driver is not assigned to the unit when using a key. What should I do?

Check if a sensor of the Driver assignment type with a parameter (usually it is avl_driver) is configured in the unit properties. In messages, this parameter should contain the information about the driver’s code.

Make sure that the driver’s code from the message with the parameter corresponds to the code in the properties of the driver.

Check if the unit belongs to the list of the units to which the drivers from this resource can be assigned using the automatic assignment method.

  The units send different codes for the same RFID tag. What should I do?

When you use different devices, they might interpret the driver’s code differently. To bring this code to one form, use one of the methods described below.

Method 1. Specify the mask (IButton card number parsing mask) in the configurator of the device type (the icon  in the general properties of the unit).

Method 2. Indicate the formula avl_driver:16 (where avl_driver is the parameter of the driver) as the parameter of the sensor. It allows converting text from hexadecimal (HEX) to decimal (DEC) number format. In the XY pairs, you can use the obtained decimal value as X and specify an arbitrary value (or, for example, the driver’s code) in the Y column.

  How can I upload a map to Gurtam Maps?

To add a new map, send your request to support@gurtam.com. Attach a vector map in one of the supported formats (MP, MapInfo, ESRI Shape, OSM, or KML) to your email and give us a link to download the map. If the size of the map does not allow sending it by email, you will be given FTP access. The data must be in the WGS 84 coordinate system.

  I have a list of addresses in an XLS table. Can you add them to Gurtam Maps?

A CSV or XLSX table can be used to upload addresses to Gurtam Maps. Such table should contain the following columns: house number, street, city/twon, region (optional), X and Y coordinates in WGS-84 in decimal degrees (for example, 64.78236, -17.20469).

  Can I use data from AutoCAD for import to Gurtam Maps?

Gurtam Maps do not support the DWG format, but AutoCAD allows you to export data to other formats supported for import (MP, MapInfo, ESRI Shape, OSM, KML). Make sure that WGS-84 is set for the data.

  Can I upload a satellite image to Wialon?

To upload satellite images or other raster data to Wialon, you should use third-party cartographic services, for example, Mapbox or ArcGIS.

  Can I make a map available only to one client?

You can limit the access to custom maps with a billing plan. If you want a map to be available only to one client, create a separate billing plan, assign it to the client’s account, and specify the name of this billing plan in your request to support@gurtam.com. The map will be available only to the users that use accounts with the created billing plan. It will not be available to other Wialon users.

  Incorrect address information is displayed in reports, notifications, or the search tool. What can I do?

Please, send your request to support@gurtam.com indicating the coordinates of the place and the correct address.

  Gurtam Maps do not display addresses in my region. What can I do?

In this case, it is necessary to upload a more detailed map to Gurtam Maps. If you have a map of your region in one of the supported formats (MapInfo, ESRI Shape, OSM, KML), you can send it to us for adding to Gurtam Maps. We can also use the data of open sources, for example, OpenStreetMap. You can add the missing information to OpenStreetMap and then email us to support@gurtam.com. We will try to upload the data to Gurtam Maps.

  What can I do in case of an error, incorrect address, or no address in Google, Yandex, HERE, and other maps?

Consult the service directly. We can only connect third-party cartographic services and are not responsible for their contents.

  A vehicle has completed a trip. There are messages with 70 kph speed, but the trip is not shown in the report. What is the reason and what should I do?

Possible explanations and actions:

  • Movement detection is set incorrectly in the trip detector, e. g., the ignition sensor is out of operation or configured improperly.
  • If some filtration of intervals is selected in the reports template (by minimum mileage, by stops, etc.), those filters can weed out this trip. Clear the filters or correct them.
  • The interval for data transmission which is set in the device is bigger than Minimum parking time option set in the trip detector. Either configure the tracker to send data more often or increase minimum parking time value.
  • Check other parameters of the trip detector.
  Reports show incorrect mileage. What should I do?

Possible explanations and actions:

1. Outliers of data.

To detect such outliers, build a track of unit movement for the appropriate period. Outliers of data will be seen on the track as dashed lines.

Ways to overcome outliers:

  • Enable filtration of unit positional information in messages (on the Advanced tab of unit properties). This will not affect old messages but applied to new ones.
  • To correct data in reports, change settings of trip detection, in particular, reduce Maximum interval between messages and increase Minimum satellites.

2. Incorrect settings or operation of the mileage counter.

  • Check the mileage counter settings on the General tab of unit properties.
  The Engine hours table shows incorrect intervals. What should I do?

Possible explanations and actions:

  • If engine hours are detected by the ignition sensor, the reason can be that data coming from this sensor is incorrect. Check sensor properties: parameter, calculation table, validation, etc.
  • For accurate engine hours calculation, the equipment should send a valid parameter value of an engine sensor. In case of receiving an invalid value, it is necessary to replace sensor with validator using the correct value (for example, 0).
  • The value of Maximum interval between messages (adjusted on the Advanced tab of unit properties) is less than a typical interval between messages transmission. That is why intervals of engine hours are wrong. In this case, set the parameter Maximum interval between messages as zero or give it another adequate value.
  A vehicle has been refuelled, but I cannot find this filling in the report. Why?

Possible explanations and actions:

1. Incorrect settings for trip detector.

The option to analyze fuel filling only at stops is set in the properties of the fuel level sensor, however, the trip detection is not adjusted correctly. Either disable filling detection at stops or change trip detector settings (in particular, increase minimum moving speed or maximum distance between messages).

2. High filtration level of FLS.

Decrease the filtration level of FLS in its properties (recommended are values up to 15) or set the Calculate filling volume by raw data option.

3. High value of minimum filling.

Decrease the value of the minimum filling volume in the properties of the fuel level sensor.

  There has been a fuel theft, but it is not shown in the report. Why?

Possible explanations and actions:

1. Test theft right before fuel filling.

If you made a defueling for test purposes and then refueled the vehicle right away, the system may regard this as an outlier of data. In real situation, when a theft is not followed by immediate refueling, such theft will be detected.

2. Theft during a prolonged shutdown of the device.

A theft can be detected only if the Calculate fuel consumption by time option is off (see the properties of the fuel level sensor) and if there is a trip after switching on the device again.

3. High filtration level of FLS.

Decrease the filtration level of FLS in its properties (recommended are values up to 15) or set the Calculate theft volume by raw data option.

4. High value of minimum theft.

Decrease the value of the minimum theft volume in the properties of the fuel level sensor.

  What is the difference between time-based and mileage-based calculation of fuel level?

1. Mileage-based calculation

In a standard situation, all calculations of fuel level are mileage-based. That means data from the FLS is taken only during intervals of movement (trips). Those trips are defined according to parameters set in the trip detector.

Thefts and fillings are detected if there is a difference between the fuel level on the following movement interval (X) and the fuel level on the previous movement interval (Y). If (X — Y) > 0, it is a filling; if (X — Y) < 0, it is a theft; if X = Y, it is neither. Of course, there can be some inaccuracy in data coming from the FLS. That is why, to avoid false thefts and fillings, set the following parameters in the FLS properties:

  • minimum fuel filling volume,
  • minimum fuel theft volume,
  • minimum stop duration to detect a fuel theft,
  • and some others.

2. Time-based calculation

This type of calculation is more complicated and is based on the following algorithm: the speed of the decrease of fuel level according to the FLS is compared with the consumption calculated mathematically. The time-based calculation is necessary for stationary units. It is also widely used for moving units for controlling thefts during the movement, for example.


A vehicle stayed at a parking lot during 10 hours. Defueling was made in small portions over the whole parking period. As a result, 60 liters of fuel were stolen. It is possible to determine if it was a theft o fuel consumption according to the state of the unit's ignition sensor. ​

  Why doesn't consumption by math work?

Since the consumption math mechanism is based on the values of the ignition sensor, check its properties and operation. You may not have this sensor created or there may be 0 l/h indicated for the fuel consumption in its properties.

  How to configure consumption by math if the unit doesn't have ignition?

You may use one of the approaches described below.

Variant 1

Create a virtual ignition sensor. We recommend that you use average speed (speed+#speed)/const2 as its parameter.

Variant 2

Even if you haven't installed an ignition sensor in the unit or are not sure of the name of the parameter that responds for the ignition, in the parameters of the device there may be some characteristic that corresponds to the operation of the engine. To use it, compare two messages from the unit: one — when the ignition the most probably off; the other — when it's on.


During a long time interval the unit sends approximately the following set of parameters:

hdop=1, odo=0, adc2=2.0475, adc12=1037, c1=0, c2=0, c3=0, c4=0, mcc=260, mnc=2, lac=56720, cell_id=43811, ta=1,
gsm_lvl=55, total_fuel=407154, can_fls=101, can_taho=4797, can_engine_hrs=230420, can_mileage=137603392, engine_temp=123,
srv_dist=0, j1939_air_temp=9072, J1708_eng_hrs=230420, J1708_fl_used=430282, J1708_fl_lvl=101, I/O=80/0

While moving at some speed — approximately the following:

hdop=1, odo=847.358764648, adc2=2.3595, adc12=1117, c1=0, c2=0, c3=0, c4=0, mcc=260, mnc=2, lac=56720, cell_id=60167, 
ta=1, gsm_lvl=71, total_fuel=407178, can_fls=101, can_taho=9940, can_engine_hrs=230447, can_mileage=137609550, 
engine_temp=124, srv_dist=0, j1939_air_temp=9353, J1708_eng_hrs=230447, J1708_fl_used=430307, J1708_fl_lvl=101, I/O=d1/0

Straight before the start of the movement, as a rule, the ignition turns on:

hdop=1, odo=0, adc2=1.4937, adc12=895, c1=0, c2=0, c3=0, c4=0, mcc=260, mnc=2, lac=56720, cell_id=60268, ta=2, 
gsm_lvl=64, total_fuel=407166, can_fls=100, can_taho=996, can_engine_hrs=230439, can_mileage=137605711, engine_temp=120, 
srv_dist=0, j1939_air_temp=9369, J1708_eng_hrs=230439, J1708_fl_used=430295, J1708_fl_lvl=100, I/O=80/0

Discard the parameters that are obviously imprecise: hdop (precision), adcN (it's difficult to determine the regularity), odo (relative odometer in meters), mcc mnc cell_id and lac (LBS data section), gsm_lvl (the level of the GSM signal), etc. The parameter J1708_eng_hrs for this unit seems the most probable, as it doesn't change during the night parking. As a rule, it is also possible to use pwr_ext. Is the ignition is digital, you can follow the values' changes in the block 'I/O =' (see more details in the Inputs and outputs section).

Variant 3

If you have already connected the ignition, find out its parameter by means of the method described above or from the manual of the manufacturer.

  Why does mathematical calculation show enormous values?

Possible reasons:

  • In some cases, the system may consider that during the interval with no messages from the unit its ignition was on. Adjust the default value '0 seconds' on the Maximum interval between messages option on the Advanced tab of unit properties. The influence of the option on the fuel calculation is described in the documentation.
  • Several engine efficiency sensors can be created. Check up their values. The easiest way to evaluate it is to create in a report a simple chart with one of the curves Fuel consumption by math.
  How to determine fuel consumption, if I know how much fuel the unit consumes within the city, and how much outside it?

Let us suppose that the fuel consumption in the urban cycle is 10 l/100 km and 7 l/100 km — in the suburban cycle.

  • Create an ignition sensor (as in the example above) and set 1 l/h for the consumption during idling.
  • The average consumption in the urban cycle is 36 km/h, in the suburban — 80 km/h.
  • The unit will cover a distance of 100 km driving at a speed of 36 km/h in 2.8 hours. 10 l / 2.8 = 3.57. Let us calculate the value of the increasing coefficient when moving in the city: 3.57 / 1 (idling) = 3.57.
  • As a result of a similar calculation for the suburban cycle, we obtain the coefficient equal to 5.6.
  • Create an engine efficiency sensor, taking into account the fact that the unit cannot consume less fuel than during the idling, and that it is stationary before the beginning of the movement. As a parameter we use the average speed (speed + # speed) / const2 and fill in the calculation table (manually or using the calculation table wizard):

Note that the last pair of points is how the system calculated before (the fuel consumption was considered constant for a speed above 80 km/h). You cannot use this method and change the set of points. Also '3' in this example is the minimum speed from the unit's trip detector, consequently, this parameter can be different for your unit.

Result: in our example, the average consumption has been calculated for the unit. It has been calculated relative to the speed and time between messages and taking into account the values of the vehicle operation.

  How does the mathematical calculation algorithm work?

During the mathematical calculation, fuel consumption is computed separately for each pair of messages.

The following algorithm is used:

  1. The status of each engine sensor (engine ignition, absolute and relative engine hours sensors) in the current message is determined.
  2. For the operating sensors the values indicated in the field Consumed, l/h of their properties are summed.
  3. The values of the engine efficiency sensors are calculated.
  4. The received values are summed according to the formula k1 + (k2 - 1) + (k3 - 1) + … + (kn – 1). In that way, the coefficient is formed. If the sum of the coefficients is less than 0 or invalid, the total coefficient will be 1.
  5. To determine the current fuel consumption of the unit, the value from point 2 is multiplied by the value of point 4.
  6. The value from the previous message till the current one is multiplied by the value from point 5.
  7. The consumption for each message pair for the indicated interval is summed and in that way, the fuel consumption is determined by consumption math.
  Where is the Consumption by rates setting?

This setting is on the Advanced tab.

  How is the seasonal coefficient calculated?

As a rule, the seasonal coefficient supposes increased fuel consumption. For instance, the consumption in winter is 30% higher than in summer. Let us suppose, that the winter in your climate is from December, 1 to March, 1.

  1. Create an engine efficiency sensor with the parameter time:d.
  2. Find out which numbers of the day in the year do your dates correspond to. High precision is not obligatory: a year may be a leap one and the season itself may be longer or shorter. For the period indicated above, for example, the numbers are '334' and '59' approximately.
  3. Create a calculation table as seen in the screenshot below.

time is the parameter that is present in any message from any device, and the system will calculate the number of the day automatically on its basis. In that way, as the season starts, 30% will automatically be added to the fuel consumption.

  What is LBS?

LBS (location-based service) is a service that determines the location of a unit according to the coordinates of GSM base stations.

  When can I need LBS?

GPS may be unavailable for various reasons: GPS antenna failure, dense urban development, tunnels, parking garages, and so on. In such cases, it is advisable to use LBS. Due to shorter waves, the probability of LBS catching the signal in places with obstacles (reinforced, metal, shielded surfaces) is much higher.

  How accurate is LBS compared to GPS?

The accuracy of LBS is generally lower: it depends on local radio conditions, the density of the base station network, cell configuration. However, it is easier to catch the signal using LBS. This increases the chance of receiving positional data in a message when GPS is not available.

  Where is LBS used in practice?

If technical conditions are met, the service can be configured for any monitoring unit. For the most part, LBS is used in the fields where the exact coordinates are not so important as the fact of arrival, departure, moving, or stopping.

For example, in container shipping, a device installed inside the container does not catch the satellite signal. However, the LBS messages show the fact of delivering the goods to the warehouse, unplanned stops, significant deviations from the route.

LBS is also used for monitoring stationary units, especially if the device does not have a source of direct current. This saves the battery life of the device, while a disabled GPS module would significantly increase it.

  From what devices can Wialon receive LBS data?

You can find a list of supported devices in the Hardware section of our site.

  How does Wialon determine the location by LBS after receiving a message from a unit?

When the monitoring unit does not send positional data via satellites, Wialon reads the identification number of the base station and searches for the coordinates in the database.

  What database of coordinates is used in Wialon and how is it updated?

Wialon uses its own database. It is updated as new messages with LBS and GPS coordinates are received from the units. Before adding new points to the database, they are additionally checked. At the moment, the database includes more than 62 million points.

  What data should the device send to determine its location by LBS?

The messages should contain 4 parameters: cell_id (identification number of the base station of the mobile operator), mcc, mnc, and lac (service parameters). To verify the fact of their correct transmission and reception, request data messages on the Messages tab.

  How can I check the last unit location determined by LBS?

To see the last unit location determined by LBS, use the LBS detector.

  How can I configure a unit so that its LBS data is used in Wialon and what will it affect?

In order for the LBS data of the unit to be saved in Wialon, open the Advanced tab of the unit properties, enable message validity filtration and activate the Allow positioning by cellular base stations option. After that, the LBS coordinates will be used in reports and when displaying the unit on the map. For notifications, activate the Process LBS messages option in their settings.

The LBS coordinates of the unit are saved only if they are determined later than the GPS coordinates in the message.

  How do I know that the unit location is determined by LBS?

If the location of the unit is determined by LBS, you can tell this by how it is displayed on the map and by the icon  which is shown opposite the unit name in the work area of the Monitoring tab.

  My device does not support LBS according to the Gurtam website. What should I do?

Send a request to hw@gurtam.com indicating the type of device for considering the issue.

  The device is configured to send LBS data, but there are no parameters in the message. What should I do?

If advanced support is specified for your type of device, send an email to hw@gurtam.com with all the details. You can also ask for help in configuring other devices.

  The location of the unit is determined by LBS in most cases, but sometimes the messages are received without coordinates. What should I do?

Send a request to support@gurtam.com indicating the values of the parameters ​​mcc, mnc, lac, cell_ID.

  The messages from the device contain LBS parameters, but there is no way to use them in the monitoring system (in sensors, messages, reports, notifications, and so on). What should I do?

Make sure that positioning by LBS is configured for the unit on the Advanced tab of its properties. In the case of notifications, also check if the Process LBS messages option is activated in their settings. If the problem is still unresolved, write to support@gurtam.com specifying all the details.

  How does the monitoring system work?

The AVL hardware installed in a vehicle figures out the location of that vehicle with help of satellites, gathers data from various accessories and sensors and transmits the data through a cellular or satellite network to Wialon data center. This data can be interpreted to monitor in the Wialon web interface the whereabouts and other parameters of a vehicle in real time.

  I haven’t found my device in the list of supported hardware in Wialon. What should I do?

We’re ready to support a new device by customer’s request. All you need to do is to email us at hw@gurtam.com. Please specify the following information in your email if possible:

  • Share your plans on project where you’re going to use this device;
  • Specify device model name and the manufacturer;
  • If you’re in contact with the manufacturer and you have an opportunity to request the device communication protocol, this will speed up the integration process a lot.

In case you don’t have the information mentioned above, don’t worry – we will contact the manufacturer ourselves and try to get whatever is required for integration.

  I want to use LoraWan, Sigfox or other similar devices with Wialon. What should I do?

The integration of LoraWan, Sigfox and other similar devices is the same as for any GSM hardware. If the device is not integrated yet, kindly contact us at hw@gurtam.com.

  I have found an interesting device at gurtam.com. How can I buy it?

At Gurtam we do not sell any hardware devices. We’re the software developer only. Nevertheless, we’re trying to inform our customers about various hardware compatible with Wialon platform.

Therefore to get the device you’re interested in, please contact the manufacturer or your local supplier.

  I don’t want to buy GPS hardware, but I want to use Wialon. What should I do?

Your option is the WiaTag application – our proprietary software tracker. The application serves for basic tracking and efficient mobile workforce management.

WiaTag is absolutely free to download and install on iOS/Android devices.

User manual for Android

User manual for iOS

  I’ve designed my own GPS device. Which communication protocol should I implement?

We recommend you to use Wialon IPS protocol. Wialon IPS communication protocol was developed by Gurtam for personal and vehicle GPS/GLONASS trackers, which send data to the satellite monitoring system server over TCP.

Wialon IPS protocol is freely distributed under GNU FDL and can be used by manufacturers of GPS and GLONASS equipment as the main protocol for data transmission between GPS/GLONASS trackers and communication server of the satellite monitoring system.

  Which tracker works best with Wialon?

Our goal is to support full trackers functionality in Wialon. We remain hardware agnostic company and do not distinguish any manufacturer leaving the choice to our customers. When choosing hardware you may refer to Gurtam rating of manufacturers or decide on any other device even if it is not integrated with Wialon yet.

  I want to use some sensors with my tracker. Should they also be integrated with Wialon?

In most cases, there is no need to integrate additional hardware with the platform since they work in conjunction with a GPS tracker. Therefore if the tracker is integrated with Wialon, you can connect various sensors to it.

In case when a sensor has its own GPS module or works through transparent channel, integration might be needed and we will list it as a separate device type in Wialon.

  I don’t know my unit ID. What should I do?

To check device unit ID, please use id.wialon.net service.

  • Point your device to IP, specify device port (you may check your device port here).
  • When the device connects to the server, there will appear its unique ID in the table of id.wialon.net service.
  • Save this unique ID in unit properties. Then redirect the GPS tracker to send data to Wialon.
  How can I set up a tracker?

First, please learn the device user manual provided by the manufacturer or supplier. If you still have difficulties with device configuration, email us at hw@gurtam.com and we’ll do our best to assist you.

  Which time zone should I set for my tracker?

Though it is common to set up local time zone on GPS devices, it is not recommended, as Wialon works with data in UTC+0h time zone only. This is a mandatory requirement for correct data display in the system. So please reset time zone to UTC+0h in your device. Whereas, local time zone should be set in your Wialon account.

Yet there is an exception from the rule – GPS watch. In this case, you should set a local time zone in the device. When integrating such device type we allow for specifying local time zone in unit properties, after that Wialon will automatically adjust it to UTC+0h.

  Seems like I set everything correctly, but the device doesn’t show online. What’s wrong?

  • Make sure that the balance of the SIM card is positive and the PIN code is disabled.
  • Check your APN, IP and port settings as well as unique unit ID in unit properties in your Wialon account. Make sure there are no extra spaces, dots, etc.
  • Check that the device ‘sees’ the satellites. For instance, if the device is in the office, set the GPS antenna of the tracker outside the window. If the antenna is built into the device case, place it on the sill of an open window.
  • Make sure that you set the frequency of sending data.
  • Take a test drive with the device. Some trackers do not send coordinates if the unit does not move.

If after that the tracker still doesn’t show online in Wialon, please contact us at hw@gurtam.com and we will try to assist you.

  Wialon doesn’t store raw data from units. Why?

Raw data storage requires huge drive space and is not of practical value for users.

  My device sends only LBS messages. What’s wrong with it?

There could be a few reasons for it: your tracker doesn’t see satellites, GPS module or GPS antenna is not working.

  My tracker does not send LBS data. Why?

There could be the following reasons for it.

  • Your device is not able to send LBS data.
  • Your device has incorrect settings. To get LBS data, a device needs to transmit at least 4 parameters: mcc, mnc, lac, cell ID. Please check your device settings and make sure your device can transmit those parameters.
  • You haven’t activated message validity filtration. On the Advanced tab of the unit properties, tick the checkbox Message validity filtration, then activate the Allow positioning by cellular base stations function.
  Can I use dash cameras and MDVRs with Wialon?

Yes, you can! Wialon supports video hardware which allows for real-time video tracking as well as getting video files from the device's memory by command or event.

The full list of supported video hardware is available here.

  I have a video device which is not in the list of supported. How can I integrate it with Wialon?

Video monitoring in terms of GPS tracking is quite a young industry therefore not all video devices are suitable for working with GPS tracking platforms. To integrate a video device with Wialon, it should meet some requirements from our side. If you want to have your device supported in the system, kindly email us at hw@gurtam.com and we will analyze the possibility of integration.

  Can HU-GO users receive technical consultation?

If you want to receive technical consulting on HU-GO products call +37052078283 and we will analyze your problem.

  I remove access to a unit from a user, however, this unit remains available to this user. Why?

A possible explanation is that the unit is included in a group to which the user has some access.

  Why are 'stars' displayed in the parking points on the track?

The reason is a slight inaccuracy in coordinates sent by the tracker. It is absolutely normal for any type of equipment. This inaccuracy is appreciable, particularly at parkings. A unit stays still, however, the coordinates sent by the tracker slightly differ from each other. That is why 'stars' appear at the places of parkings.

You may want to get rid of those 'stars' to make the track look more intelligible. To weed off the stars at parkings, apply the trip detector to that track:

  • When building a track on the Tracks tab or by quick track method, activate the checkbox Apply trip detector on the Tracks tab.
  • When getting a track through reports, in the report template choose Trip routes (and not All messages on map) to apply the trip detector. If you build a track on the Messages tab, the trip detector cannot be applied because that track shows all the messages registered in the unit database.

Make sure that the trip detector is adjusted correctly. Additionally, you can activate the message validity filter on the Advanced tab of unit properties.

  How can I start to use tachographs and unload DDD files from a driver's card?

1. You need a tachograph and a tracker which supports unloading DDD files.

2. Create a driver in the monitoring interface. The value of the Code field must correspond to his personal card's number.

3. Create a sensor of the Driver assignment type and add the unit to the driver's automatic assignment list.

4. Create a command for unloading a DDD file on the Commands tab of the unit properties. The command syntax may vary depending on the device type.

5. For sending a command of querying a DDD file, the unit must have an open TCP connection (the timeout depends on the type and the configuration of the tracker).

6. After unloading a DDD file the following line appears in the messages: 

  • driver_card1_file=C_хх_1256.ddd, register_ddd=0 — the unloading has been successful, but the file hasn't been attached to the driver (not enough access rights to the resource or there is no driver with such a code);
  • driver_card1_file=C_хх_1256.ddd, register_ddd=1 — the unloading has been successful, the file has been attached to a definite driver.

The syntax of the response depends on the type of device used. Some devices send an additional response by means of the Chat with drivers window.

The time needed for unloading a file depends on the tracker (it may take from 5 to 30 minutes approximately).

7. You can view the downloaded file and check the driver's work for a previous interval in the application TachoView.

8. The DDD files from a driver's card are stored in a resource. The storage period of such files is not limited; they are deleted together with the resource they belong to.

  Why can values differ in the Wialon application for Android/iOS and the Wialon reports?

Different algorithms are used when processing messages for the mobile application and the Wialon reports. In some cases, the results of processing may differ. See more about the reasons for such discrepancies.


Learn more about the monitoring system interface and the basic settings required to work with Wialon.

Quality Control and Training,Department


Learn more about creating, configuring and working with notifications.

Quality Control and Training,Department


Learn more about creating and executing reports.

Quality Control and Training,Department

Transferring Units

Learn more about transferring units from one account into another.

Quality Control and Training,Department

Controlling Fuel

Learn more about configuring and controlling fuel in Wialon.

Quality Control and Training,Department

Eco Driving

Learn more about configuring and using the Eco driving module.

Quality Control and Training,Department


All Miscellaneous
How to Choose the Number of Digital Input/Output (I/O)
Sensors: Calculation Table Explained
Math Consumption
Differences in Fuel Algorithms
How to Get Rid of False Fuel Thefts