Bosch IoT Insights

FAQ

Q: How can I get to my data?

The easiest way to view the data is within the Data Browser or with the help of Project Specific Pages (such as dashboards for example). Further on, data can be received by using the Data Analyzer or by requesting the RESTful MongoDB Query Service.

Please regard that MongoDB queries for Bosch IoT Insights must comply with the extended JSON format.


Q: How can I upload my data?

Data can be sent to the Bosch IoT Insights backend using the Data Decoder Service interface. As described, authentication has to be given, as well as the selection of a project-specific collection.


Q: How can I download my data?


Q: How can I send own aggregation queries against my collections?

When the data shall not only be browsed but rather be selected in a more complex way, own MongoDB aggregation queries can be sent against the project-specific collections. This can be done by utilizing the Data Analyzer or by accessing the MongoDB Query Service of the backend using HTTP REST requests. Please regard that MongoDB queries for Bosch IoT Insights must comply with extended JSON format.


Q: Why doesn’t Bosch IoT Insights accept my MongoDB queries which work fine from within other applications?

Since all MongoDB queries from within the Bosch IoT Insights (UI and REST API) require to be written in extended JSON format, follow our example.
It explains further details and gives examples of valid and invalid queries. It furthermore exemplifies how to convert queries to comply with the extended JSON format.


Q: How can I retrieve my old queries?

Within the user interface, the Query History stores and lists all old queries of the user. Further on, they can be filtered by selecting a tag name. The MongoDB Query Service also offers the possibility of requesting all queries from the authenticated user.


Q: How can I see the data metrics of my project?

Within the Data Analyzer, statistical information of the project-specific collections is displayed next to the query editor.


Q: How can I access my data from within Matlab?

Newer Matlab versions already offer the possibility of requesting RESTful services directly.
However, additional extensions are required when working with older versions. Matlab can then call the MongoDB Query Service and process the received data locally afterwards.


Q: How can I get my JSON data in a CSV and Excel-ready format?

The JSON data of the collections can be downloaded as CSV within the Data Analyzer.


Q: How do I authenticate when requesting Bosch IoT Insights with a REST client?

There are basically two authentication options when requesting a RESTful endpoint of the Bosch IoT Insights backend:

  • The typical HTTP authentication parameter or

  • An API key parameter that can be added to the header of the request

Find details of these methods at Authentication options.


Q: When using the Swagger-UI, I get a 403 status code and a message saying something about CSRF tokens.

We protect you against Cross-Site-Request-Forger - CSRF - and therefore you need to authenticate for some API operations.


Q: My HTTP-Client is complaining that it can’t find the given host address.

Maybe you are behind a proxy server.

Most companies use a proxy server for routing all outgoing internet traffic. If you work behind a proxy server, you have to configure your HTTP client to use it. Your internet browser should already be set up correctly by your IT department, hence you should find the proxy settings there. This also means that you don’t have to configure your proxy settings if you use a browser plugin as your HTTP client. Please also consider that some proxy servers require authentication furthermore. For details, please contact your IT department.


Q: Which resources does my REST client need to request?

On one hand, when data shall be ingested, the endpoint of the Data Recorder Service needs to be requested.

On the other hand, when data shall be accessed, the REST resource of the MongoDB Query Service has to be addressed.


Q: Why can’t I paste code snippets from the clipboard into text fields while using Internet Explorer?

Since the Internet Explorer blocks access to the clipboard by default, this access has to be granted manually. Doing so, no administration rights are required (although a warning text within the security settings indicates this). The following screenshots show how to enable access to the clipboard within the security settings ([Internet Options] > [Security] > [Internet] > [Custom Level] > [Scripting] > enable [Allow Programmatic Clipboard Access]).

Further information can be found at https://docs.microsoft.com/ > MSDN

images/confluence/download/attachments/1019716673/settings-version-1-modificationdate-1566572712000-api-v2.png images/confluence/download/attachments/1019716673/settings1-version-1-modificationdate-1566572712000-api-v2.png


Q: My HTTP-Client is complaining that I can not connect via http (http connection refused)?

We are only allowing HTTPS connectivity to ensure security during communication. Therefore pure HTTP connections are not supported and will be refused.


Q: When I try to connect to Bosch IoT Insights, I get an SSL certification error / SSL certification invalid?

This can have multiple reasons. The most common is that the root certificate in our SSL certificate is not installed on your system.

See https://en.wikipedia.org/wiki/Root_certificate for further information.

We are using certificates from Let's Encrypt. The Self-Signed Root Certificate as seen on the official website should be installed in the trust store of your device: https://letsencrypt.org/certificates/.

On Linux-based devices the connection can be debugged with the command:

openssl s_client -showcerts -servername bosch-iot-insights.com -connect 20.113.151.77:443

If the result contains an error and a line like i:O = Digital Signature Trust Co., CN = DST Root CA X3, this points to an outdated trust store. The 'DST Root CA X3' expired in September 2021, refer to https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/.

On some Linux devices with an older OpenSSL version, put the self-signed ' ISRG Root X1 ' certificate into the trust store (if possible overwrite the cross-signed version) and remove the expired 'DST Root CA X3' certificate.


Q: Why do I suddenly get an SSL certificate error on my device?

Based on the HTTPS standard we are regularly updating our certificate. Probably our previous certificate was hard installed on your device, which causes the problem now. Hence, due to our certificate update the old one is not valid anymore. You can reinstall the new one again on your device, however, we do not recommend this procedure, as one year later you will have the same problem again. You should rather install a valid HTTPs Client which supports a correct SSL root certification validation.

See https://en.wikipedia.org/wiki/Root_certificate for further information.


Q: How to send data from Bosch IoT Things to Bosch IoT Insights?

To send data from Bosch IoT Things to Bosch IoT Insights you need to configure a connection in your Bosch IoT Things instance.
See Use Bosch IoT Insights for further information on how to create a connection.


If you do not have an own IoT Instance, you can book this on the Bosch IoT Suite Service Catalog.
To not only get the data but also to see and manage your devices in Bosch IoT Insights, some more steps are needed. See Bosch IoT Things.


Q: My custom pipeline step is failing because of Timeout Exception, can I adjust the Timeout?

To not block the entire pipeline, a timeout per step is in place. If really needed, this can be adjusted by project admins via api:
https://bosch-iot-insights.com/ui/assets/swagger-ui/index.html?url=/project-management-service/api-docs?group=latest#!/Pipelines/updatePipelineDefinitionUsingPUT

Get the existing pipeline definition via the get endpoint above of the linked one, copy over the values and add the field "timeoutInS" to the step defintion, as shown in the example screenshot.

images/confluence/download/attachments/1019716673/stepTimeout-version-1-modificationdate-1639574205000-api-v2.png


Q: Is there an easy way to see my pipeline app id (pipelineAppId) and my defintion id (pipelineDefinitionId)?

The IDs of a pipeline are easily visible inside the UI. Navigate to the Pipeline Detail page (see screenshot), then the URL shows first the pipelineAppId (yellow underlined) and second the active pipelineDefinitionId (blue underlined).
images/confluence/download/attachments/1019716673/image2021-12-10_15-15-39-version-1-modificationdate-1639574204000-api-v2.png


Q: Which cookies are set by the service?

Bosch IoT Insights services uses the following cookies:

  • JSESSIONID

    • Type: Session

    • Category: Necessary
      This cookie exists only during your visit of this website and will be automatically deleted when you close your browser or the browser window that contains this website.

    • Purpose: Identifies the user once logged in for the duration of a session.

  • XSRF-TOKEN

    • Type: Session

    • Category: Necessary
      This cookie exists only during your visit of this website and will be automatically deleted when you close your browser or the browser window that contains this website.

    • Purpose: Protection against Cross-Site-Request-Forgery.

  • __VCAP_ID__

    • Type: Session

    • Category: Necessary
      This cookie exists only during your visit of this website and will be automatically deleted when you close your browser or the browser window that contains this website.

    • Purpose: Used to stick the session of a user to the same service instance.

  • ap

    • Type: Permanent

    • Category: Necessary
      This cookie is set after the first login and stores the authentication provider which has been used. The cookie will be deleted after 60 days or after logout.

    • Purpose: Used to enable automatic Single Sign On of a user.


Q: Why was the current page updated by itself?

In case your permissions were changed by an Admin, a forced refresh can happen to update your current user session.