Automatically translate this page?

How to combine messages from several flespi devices into a single Wialon unit

Using flespi plugins to pack together the data coming from two or more related devices.

There are many cases when data from different devices must be analyzed under the same business logic. For example:

  • The truck and the trailer both have trackers installed. The positioning and CAN-bus data from the truck must be analyzed together with sensor values from a trailer in a single report.

  • The vehicle and the driver. The data from the vehicle tracker must be analyzed along with the data from the driver’s personal tracker or soft-tracker app.

  • The vehicle and the emergency beacon tracker. Security companies hide an additional beacon-tracker inside the car to catch its position if the intruder disables the main tracker.

Our goal is to combine the data from two (or more) related devices into the same Wialon unit for easy processing and more comprehensive reports.

Traditional dataflow: HTTP stream to “flespi gateway” devices in Wialon

Normally, the HTTP stream to “flespi gateway” uses the ident message parameter as an identifier mask for Wialon:

traditional stream from flespi devices to wialon units

Using plugins to combine two flespi devices into a single Wialon unit

With the flespi plugin, you can add a custom field (in the example above it’s “Unique ID”) to each device that can be used as an identifier mask for Wialon. Setting this field to a common value for a group of devices allows combining messages from different devices into one Wialon unit.

using plugins to combine two flespi devices into one wialon unit

The following how-to guide assumes that two different devices are already connected to flespi. And the goal is to make them report into a single Wialon unit.

Step 1. Create a custom plugin 

  • Navigate to Telematics hub -> Plugins -> “+” to add new plugin.

  • Add a string-type field with alias unique.id

create flespi plugin

Step 2. Add plugin to devices 

  • Open each flespi device you want to combine into a single Wialon unit.

  • Navigate to the Plugins tab.

  • Add the plugin created in the previous step into each device.

  • Type a common value into the plugin’s Unique ID field for each device.

add plugin to devices

Step 3. Create an HTTP stream from flespi to Wialon and add both devices to it

  • Create a stream to Wialon.

  • Use the %plugin.unique.id% as the identifiers mask.

  • Go to the Devices tab in the stream settings and assign both devices to the stream.

create http stream to wialon

Step 4. Create an “aggregating unit” in Wialon. 

  • Create a new unit in Wialon.

  • Set the device type to “flespi gateway”.

  • Specify the same Unique ID that you used in the respective plugin field.

create wialon unit to get data from two flespi devices

Step 5. Check messages for the new unit

When you open the Messages pane, you should see messages from different flespi devices:

check messages for wialon unit

Mission completed.

Conclusion

A careful reader might notice that there is no problem in joining not only two but any number of flespi devices into one Wialon unit.

If you have a need to send configurational commands to devices connected to Wialon via a flespi stream, you can use the ident in the custom plugin field. Thus it will work with only one device of joining the group.

Ages ago we forced our customers to use a python script for that task. The number of accomplished projects with such an approach was close to zero :) Plugins do this job natively.


See also
Some examples of the mathematical functionality supported in MQTT Tiles.
Configure variables in MQTT Tiles to select from the lists of like entities and populate the widgets with their values.