1 August, 2022

July 2022 change log

Major flespi improvements in July 2022.

In July despite the hot vacation season, the flespi team has done enormous amount of work, the highlights of which I’m happy to announce today. This was done on top of a perfect 100% monthly uptime — the level of service which I’m always especially proud of.

First of all I would like to mention that for our clients in Ukraine we decided to continue the provision of free service until the end of the year. For some of them the business is frozen, but others manages to double the volumes of the flespi usage since February which gives hopes that the Ukrainian economics is showing signs of life and even some local development.

  • We implemented a msg-geofence plugin that performs geofence tests during device message processing and saves test results into the message. Each plugin allows to define 1024 geofences to test against and it is possible to stack multiple plugins together to test even larger volumes. The range of applications for the geofence plugin is huge — from toll roads, cities, countries and states detection to user-defined objects. This is especially interesting when flespi is used as a hub for telematics data forwarding to another application which is unable to process large volumes of geofences for device messages.
  • We implemented a stream to mapon — a powerful fleet management & asset tracking platform. Mapon utilizes flespi to widely enhance the list of its integrated devices and protocols.
  • We’ve introduced changes to the flespi.io interface. We linked it with the changelogs on our forum and are automatically subscribing users to the corresponding topics depending on which channel, stream and plugin protocols they are using. In practice it means that for any update we publish there, the user will get a notification in the flespi.io interface. Additionally changelog information about devices and protocols is now available under the INFO tab. The very first announcement you should receive in flespi.io should be the announcement of that feature by itself.
  • We implemented a special x-flespi-app HTTP header processing in our REST API system and now each REST API call is logged with the value from the header in the app field. If you are using flespi via REST API, please put a name of your application in that header and in the logs of REST API calls you will be able to filter calls from your application and in general have a much clearer view of how your applications are utilizing flespi API.
  • One additional feature for developers is a new PATCH API method that can be used to update part of configuration of devices and plugins without the requirement to provide the whole entity configuration at once.
  • We integrated two new protocols into flespi: General Motors OnStar Data Services and Watret.
  • We also described the FOTA process that can be used to upgrade firmware for protocols this feature is already integrated with.

I would like to drag your attention to one application that we worked heavily on in July and just released for internal use. It is called pvmtool, designed for device protocol engineering and it allows us to simulate trackers, test for protocol operation correctness, test coverage level per each protocol and the most importantly (for you and us) trace parsing engine. The tool itself deserves a dedicated article and there will be a day when we make this tool available to our users with a nice GUI or REST API, but let me just show you how it’s output for Queclink TCP is visualized in a special pvm-trace-viewer application:

pvmtool teaser

It took me a minute to generate and view this file once I knew the raw traffic. Now whatever problem we may have in parsing — whether is it a device sending wrong data or a platform with wrong protocol support — with this tool we have a very clear picture of the problem and may address any parsing issues ten times quicker with much higher quality without the need to read full protocol documentation and parse a packet manually symbol by symbol. The tool shows the protocol source code in the right pane and this is the only thing that stops us from delivering it to our users but I’m sure in a not-so-distant future we will find the solution and provide our users with this powerful possibility to self-diagnose any issue with the device behavior.

August is the hottest summer month in the Northern Hemisphere and I hope that heat waves will pass soon. It’s an interesting fact that the average summer temperature of 22 degrees centigrade (ranging from 16 to 30) observed in Lithuania is considered most comfortable for our bodies. The ideal temperature, isn't it?