Bosch IoT Insights

Data Decoder Service

Next to the user interface (navigate to Decoder at the Services tab within the navigation bar), Bosch IoT Insights also provides a REST API for the Data Decoder Service. Using this feature, Insights offers the possibility to upload specific ODX or FIBEX decoder files (project-specific) and to decode CAN trace lines (in HEX string format), using a given decoder file. It therefore supports users while developing and testing new decoder files and offers the possibility to decode HEX-based CAN trace files on the fast. Note that the test CAN trace files and their decoded output is not stored within the Bosch IoT Insights backend, since it is mainly a service for test purposes, but Insights returns a complete log of every decoding request (or the valid output, of course) to find possible errors.

Please also note that the service within the UI offers the same functionality as the REST interface. But the limitation of the user interface is that it only supports manual tasks, of course. For automated tests or decoding multiple CAN trace files, the exposed REST API is therefore the means of choice.

Default specification

The following list states the default specifications of the Data Decoder Service (please note that the values are default settings which might have been modified and configured differently):

  • Supported formats: ODX and FIBEX

  • Expiry time of a decoder file (after which the file is deleted automatically by the system): 1 week

  • Maximum file size of decoder specifications: 15 MB

  • Maximum lines of CAN traces per decoding request: 10.000

Further on, the detailed Swagger documentation can be found here, dividing the REST interface into mainly three resources:

  • Decoder: Decode HEX-based CAN trace lines, using a given decoder specification file (ODX or FIBEX)

  • Decoder Requests: Access previous decoder requests (but not the decoded output, since it is not stored)

  • Decoder Specifications: Manage (view, upload or delete) decoder specification files

Examples

Java-based examples of how to deal with the REST API can be found here, showing how to upload a new decoder file and how to test CAN trace lines against it.