Bosch IoT Insights

2022

Retention Time Management & Improvements

Dec 21, 2022

Retention Time Management

We are introducing a new general feature into our Service.
Users will now be able to define retention times on datasets on their own, to fulfill their project specific use cases, data privacy regulations and requirements.

For now, only some specific datasets are yet included and available in the new retention management,
but we will include all other datasets (e.g processed data, query history, …) in the following weeks step by step.

The following retention times can already be set now:

  • Calendar events created by using the Calendar Widget.
    The project admin can define based on the booking date of an event, how long it will be kept.

  • Device History entries, previously if a device was deleted (without purge of history) the history was kept forever and restored when the same device was created again.
    Now the project admin can set a retention time of X days to have them purged automatically from device history X days after deletion date.

  • User accounts, a admin can define if non used accounts are deleted from his subscription.
    As an example: If user a does not login into the subscription for more x days, his access to the subscription is removed.

Some additional background info regarding this new feature:

  • Retention Time Management is now available for all subscription and their project admins under Admin -> Retention

  • Minimum retention time for all datasets will be at least 1 day and can be set to any higher number of days

  • The retention logic can differ depending on the use case of the specific dataset

  • If no retention time is set (∞) then data is kept indefinitely; this is the default for most datasets

  • Setting a retention time does not delete the data immediately to avoid performance issues

    • Technically a background job is added to a queue, which will create a retention index in background to prevent performance issues and high load scenarios

    • Based on the subscription plan and the size of the dataset applying a new retention time can take up to several hours

images/confluence/download/attachments/2920048916/retention_management-1-768x435-version-1-modificationdate-1686665107000-api-v2.png

Update: Migration state BIC to Microsoft Azure

Due to our migration from the Bosch IoT Cloud (BIC) to Microsoft Azure we have removed RabbitMQ in all our shared data pipelines, which effects Free Plan and PayAsYouGo customers without a dedicated pipeline.
The positive effect of this change is that the processing speed of those subscription has slightly improved.

Currently on on-going is the migration of data processing for all dedicated pipelines, which will be finished soon.

Update of Swagger UI to v4

The Insights Swagger UI (e.g. https://bosch-iot-insights.com/ui/pages/api/project-management/latest) was updated to version 4.
Among other new things this update overhauled the design to increase usability and added a new filter functionality

images/confluence/download/attachments/2920048916/swagger_ui-935x306-version-1-modificationdate-1686665107000-api-v2.png

Custom logo with link

Users could already replace the Bosch logo of their subscription with their own logo.
Now it is also possible to put a link on the logo to navigate to a company page or custom “home” page.

images/confluence/download/thumbnails/2920048916/logo_link-300x289-version-1-modificationdate-1690270073000-api-v2.png

Embedded iframe shows links with URL of outer frame

When using Bosch IoT Insights inside an iFrame, the dashboard hyperlinks are used to forward to its target regardless of the embedded state.
If pointing to a Bosch IoT Insights dashboard, the hyperlink caused the navigation to exit its outer frame. By introducing a new parameter, this behavior can be avoided, now.

Pass your frame server URL into the Bosch IoT Insights iFrame by using the prefixUrl parameter in the URL. Assuming https://your-frame-server.com/insights is your frame server URL on which you’d like to embed your Bosch IoT Insights Project, add the Parameter as follows:
https://your-frame-server.com/insights?prefixUrl=https://your-frame-server.com/insights
The prefixUrl parameter will – just as all Embedding-Parameters – vanish from the URL once the page has finished loading. Though, the parameter is considered within your Bosch IoT Insights frame.

Raw data storage of September and October 2022

Unfortunately there was a small bug while migrating Object Storage from BIC to Azure in September: usage data was not properly collected for some projects and therefore not currently shown to users.
Also the Billing is based on this usage data that is automatically collected and sent to the appropriate systems.
Therefore the collected usage data has been updated and an billing update will be sent out in December to affected users.

Further improvements

  • Changing a thing name through the UI will be reflected (synced) in the booking events right away.
    On the other hand when changing a thing name via API directly in order for the sync to happen the user needs to click on a booking event in the calendar.

  • The Timeline view of the Calendar Widget has been improved to be less space-consuming and more responsive.
    The Listing has been changed to use a smaller font and icon size and to break its content accordingly to its parent column size.
    Furthermore, the Timeline View now displays a hint on day cells that contain the full date.

  • We changed the indication of the present day in the “timeline” view.
    The old indicator was removed and replaced by a light blue coloring for the present day, so that the design is aligned with the “calendar” view of the calendar widget.
    Furthermore, when pressing the “today” button or when initially loading a view, the horizontal scrolling will move to the present day.

  • Calendar booking mails will now look like normal meeting invites in case the user is using Microsoft Outlook as his mail application.

  • External data source & action button REST calls now support compression / content encoding (gzip, deflate, brotli).
    Which will reduce the amount of transfered data and speed up transmission.

Bug fixes

In this release, we have addressed and fixed the following bugs:

  • INS-4316 – Reprocessing shouldn’t execute SMS and Email Notification

  • INS-4591 – Delete Function in UI works not as expected and always deletes all entries

  • INS-4560 – Device Type: “Visible for role” checkbox should be saved

  • INS-4569 – Rich Text Widget: Changed Data Source input references should be stored

  • INS-4318 – Filter Widget – Device Multi Selection Value is incorrectly from Design and has bad UX impact

  • INS-4422 – Inconsistent data types for multi selection attributes in Device History

  • INS-4506 – Automatic Mandatory Device selection not working for some vehicles

  • INS-4668 – Async queries show results only after click

  • INS-4599 – Device Type UI bug when changing order of property with type selection

Update to IP filter necessary

Dec 19, 2022

As announced we are currently migrating the Bosch IoT Insights service to Microsoft Azure Germany (Frankfurt).

This announcement addresses customers, that use IP filtering to protect their servers and which receive or send HTTP requests from/to Bosch IoT Insights.
If no such measures are in place, then there is nothing to do on customer side.

Today and this week, we’re transferring the components, which are responsible to

  • execute the HTTP request behind the Action Button widgets

  • query HTTP data sources for widgets

  • execute Conditional Action REST actions

Also affected are custom step implementations communicating with other servers.

To allow Bosch IoT Insights to continue communicating with your servers, include the following IP range to the inbound accept list of your filtering:

CIDR: 4.184.103.160/29

That are the following IP addresses: 4.184.103.160 – 4.184.103.168.

For those, that filter outgoing requests from their servers:

The bosch-iot-insights.com domain name is also going to resolve to a new IP address in the next couple of days: 20.113.151.77

Add this IP to your outbound accept list, if necessary.

The Azure migration will be finalized until end of 2022. We do not expect any downtime for incoming or outgoing HTTP traffic.

Now fully hosted on Microsoft Azure Frankfurt

Dec 13, 2022

We are happy to announce that we successfully finished the migrating of the Bosch IoT Insights service to Microsoft Azure Germany (Frankfurt).

The migration was already finalized on December 12th, 2022.

We are also happy to announce the first benefits out of this migrations for all our customers:

  • We now support HTTP 2.0 for in- and outgoing traffic.
    This significantly increases the performance of high frequent requests and reduces latency.
    The benefit of this can already been seen in out UI, were all pages now have a better loading time.

  • Improved database scalability.
    The service is now able to scale underlying database clusters in faster manner to react on customer demands.

  • Support of TLS1.3 to increase the security level of our service for all users.

If you have questions regarding the migration, please feel free to directly contact us.

Widget improvements, more options, improvements for edge cases, and more

Nov 25, 2022

CSV export for all chart widgets

For more flexibility for our customers, all chart widgets now offer an option to download the displayed data both as JSON and CSV files. Use the Download Button underneath the Widget to download the desired content.

The CSV Export will respect the content displayed in the chart. Only data visible will be exported. For example, disabled lines or hidden data points will be ignored.

images/confluence/download/attachments/2920048916/2022-11-18_09h16_52-version-1-modificationdate-1686665107000-api-v2.png images/confluence/download/attachments/2920048916/2022-11-18_09h39_36-e1668783023738-version-1-modificationdate-1686665107000-api-v2.png

Furthermore, several options are available once you click on CSV.
We provide two default formats. The RFC 4180 CSV Standard and the Excel DE German Format.
If necessary, as a user, you can select the format and choose from many customizing options:

images/confluence/download/attachments/2920048916/2022-11-18_09h22_13-version-1-modificationdate-1686665107000-api-v2.png images/confluence/download/attachments/2920048916/2022-11-18_09h25_53-version-1-modificationdate-1686665107000-api-v2.png

Extend the device deletion with a purge option

Currently, removing the device only deletes the device, not the device history of it.
The new purge option will delete the device as well as the device history and all device links.

This action cannot be reverted. No restore of the device is possible. Use this option with care.

images/confluence/download/attachments/2920048916/2022-11-18_13h11_35-version-1-modificationdate-1686665106000-api-v2.png images/confluence/download/thumbnails/2920048916/2022-11-18_15h40_56-300x286-version-1-modificationdate-1686665106000-api-v2.png


Improvement of loading behavior for the map widgets

Unfortunately, the map might not load correctly in some bad network situations (low bandwidth or company proxy).
Consequently, we implemented a retry logic to make sure that the map gets loaded as far as possible.
Furthermore, we now display an error message if the map content still could not be loaded after 10 seconds and all retry attempts.

Calendar widget: advanced search and a different color for weekends

A user is able to display and define custom device details in the calendar.
For more consistency, we extended the filtering option to also respect those device details if the user has checked the corresponding box.

images/confluence/download/attachments/2920048916/2022-11-18_11h30_51-version-1-modificationdate-1686665106000-api-v2.png

Additionally, we changed the background color for Saturdays and Sundays,
so that it is easily possible to distinguish them from the usual days at a glance.

images/confluence/download/attachments/2920048916/2022-11-18_11h35_15-version-1-modificationdate-1686665106000-api-v2.png

Rich Text widget extension – Possibility to define an optional tooltip for links

Sometimes, a link without a description might be confusing for some users.
Therefore, we now provide the option to add a tooltip for links in our rich text widget.
Example:

images/confluence/download/attachments/2920048916/2022-11-18_12h17_59-version-1-modificationdate-1686665106000-api-v2.png images/confluence/download/attachments/2920048916/2022-11-18_12h16_15-version-1-modificationdate-1686665106000-api-v2.png

OAuth 2.0 support for conditional actions

In order to extend the possibilities of the REST requests in the conditional actions, we introduced a new authentication method.
In addition to the Basic Auth(Username + Password), the user can now use the OAuth 2.0 flow for authentication.
A new configuration dialog with details for this flow is now available.

images/confluence/download/attachments/2920048916/2022-11-18_12h31_44-version-1-modificationdate-1686665106000-api-v2.png

User management extension – last seen of a user

We extended the user overview table in the Admin section by the “lastSeen” attribute,
i.e. the date when the user last logged in.

This new attribute is available for normal and technical users and it is also possible to filter for this attribute.

Bug Fixes

  • In this release, we have addressed and fixed the following bugs:

  • INS-4379 Table Widget edit mode: Line brake does not work when using long URLs in rich text columns

  • INS-4378 Table Widget: Iterator should work in the custom column “rich text”

  • INS-3880 Conditional actions (only REST request forwarding and labeling) during reprocessing should work

  • INS-4387 Query Info does not work for FIND, DISTINCT or COUNT

  • INS-4242 Template Float parameter “-” must be hit twice to work

  • INS-4245 A new collection is only selectable after creating a new one in the pipeline output

  • INS-4134 Default Parser creates garbage documents while processing images

ISO 27001 and TISAX certified

Oct 27, 2022

We are happy to announce that Bosch IoT Insights is now compliant with ISO 27001 and TISAX next to ISO 9001 : 2015 and ISO / IEC 20000-1 : 2018. We continue to strengthen our quality of service for our customers.

ISO 27001 is an international standard for information security management systems. Bosch IoT Insights meets all the requirements for data security and information security.

TISAX stands for Trusted Information Security Assessment Exchange. It is a standard based on the key aspects of information security such as secure information processing and data privacy.

To complete the certifications, Bosch IoT Insights was successfully audited by an accredited independent assessor.

images/confluence/download/thumbnails/2920048916/iso-iec-27001-version-1-modificationdate-1686665107000-api-v2.png

Time series preparation, widget updates, and more

Oct 20, 2022

Preparation of time series functionality

We continue our work of the integration of the Time Series Functionality into Bosch IoT Insights and treat this still in a closed ALPHA Test phase. Reach out our support@bosch.io if you are interested.

We introduced the possibility to create a time series collection on the database via an UI dialog using the new subtype “Time Series” of processed data.
By selecting such a output collection the parser gets automatically adjusted to use the flat design without our known schema of metaData and processedData as you can see in the example screenshots.
The integral step by creating a time series collection is to define the time field, as only data that contains this field can be stored.
All data without this will not be processed by the corresponding pipeline. Also, the “meta” field is important as it is used to define the resulting buckets in the underlaying database structure and gain the performance increase we want to reach with this feature. Please be aware that the “meta” field cannot be changed after the creation!

So far known limitations of this collections which will be addressed in the further test/beta phase are:

  • the from vendor missing possibility to delete time series data is blocking the normal deletion and

  • to make sure to use the buckets/meta field correct we will introduce default templates for such collections.

Since this feature is in early stages of development, it is not yet visible for customers and will be rolled out all at once, when all necessary parts are available.

images/confluence/download/attachments/2920048916/CreateTimeSeriesSubType-1-version-1-modificationdate-1686665106000-api-v2.png
images/confluence/download/attachments/2920048916/TimeSereiesFlatExampleOutput-1-version-1-modificationdate-1686665106000-api-v2.png
images/confluence/download/attachments/2920048916/TimeSereiesFlatExampleParser-1-version-1-modificationdate-1686665106000-api-v2.png

ICS file in booking email

The emails for newly, changed or deleted booking events will now contain a corresponding ICS,
so that the user can import the booking into their calendar in their local time zone.

Updated design of the Filter widget

We reworked the design of our Filter Widget to improve the overall experience.
The new design gets rid of the large popup where all filters are shown at once. Instead it shows each filter in its own.
We hope that users will find adding and configuring filters easier, more useful and less confusing.

images/confluence/download/attachments/2920048916/filter_widget2-2-version-1-modificationdate-1686665106000-api-v2.png

Global filter for Table widget

A new global filter for the table widget was introduced.
The filter can be enabled from the widget configuration and its role is to search over all visible table columns.
If a column filter is also applied, the global filtering will be executed before the column specific filters.

images/confluence/download/attachments/2920048916/activate_global_table_filter-version-1-modificationdate-1686665106000-api-v2.png

images/confluence/download/attachments/2920048916/global_table_filter_active-version-1-modificationdate-1686665105000-api-v2.png

Table widget fixed height with fixed table header

Users are now able to configure the amount of table rows that they would like to be visible in the table settings panel when editing a table through the new “maximum visible rows” field.
The table will grow and shrink accordingly with a scrollbar, so that if you not want a particular table to span the whole page, you will be able to do that.

Enable placeholder for filter input in multiple devices data source

The Multiple Devices data source available in some of the widgets now supports placeholders as part of the filter query.
Now you can use the filter parameters or user context placeholders in the query, i.e.,
eq(attributes/type,”${filterParams.deviceType}”), eq(attributes/type,”${insights.user.id}”)

Further improvements

The following improvements are also part of this release:

INS-3421 Whitelabeling – Preload the project specific branding to prevent flickering

Bug fixes

  • In this release we have addressed and fixed the following bugs:

  • INS-4019 History overview pagination should reset when accessed from the device mgmt

  • INS-4184 Response for Count Query is not visualized

  • INS-3936 History data should be shown when multiple devices is chosen as a data source

  • INS-4256 Table Filter does not work properly in some cases

  • INS-4321 Rich text widget links should support UI navigation

  • INS-4325 CML upstream not work with azure object storage

  • INS-4142 Routing to http resources should not be possible

  • INS-3470 A Custom Step file should not be deleted if used in another Custom Step

System stabilization and updates

In this release we have done the following tasks to stabilize and update our System:

INS-4062 Update Angular to 14.x.x
INS-4215 Nexus IQ/Update org.yaml : snakeyaml : to 1.31

Maintenance window for infrastructure migration of the object storage to Microsoft Azure

Sep 19, 2022

As announced we are currently in the middle of migrating the Bosch IoT Insights service to Microsoft Azure Germany.
As a next step for the migration to Azure, we will migrate the object storage.

This has influence on Input History data and Device attachments.
We have prepared a proxy for all related object storage requests. The proxy will automatically translate all requests to Azure.
No changes in the API or in the usage of your pipeline are needed, all relevant interfaces have already been prepared.
Still, during the maintenance, projects that use the object storage within Bosch IoT Insights, will experience a short downtime of their processing pipelines for a maximum of 30 minutes but rather 6 minutes.
We apologize for this inconvenience.

Targeted maintenance window:
From: 4 Oct 2022 08:00
Until: 4 Oct 2022 17:00

If you might face problems with this maintenance window, please feel free to directly contact us, so that we can together find an alternative slot for your project.

Preparation of time series data and other improvements

Sep 14, 2022

Time series

We still work on the integration of the time series functionality into IoT Insights.

Currently we implement the support of Timeseries collection in the Processing Pipeline OutputStep and Parser.

This feature is still in early stages of development and we gather further experience in a closed ALPHA test phase.

Therefore this feature is not yet visible for customers and will be rolled out all at once, when all necessary parts are available.

Dashboard – custom color configuration for action buttons

In the Action Button Widget it is now possible to change the background and foreground color of the Action Button. So that it is possible to differentiate the functions of a button on a dashboard.

images/confluence/download/attachments/2920048916/ActionButtonColor-935x343-version-1-modificationdate-1686665105000-api-v2.png

images/confluence/download/attachments/2920048916/ActionButtonColor2-935x270-version-1-modificationdate-1686665105000-api-v2.png

Preselection of mandatory devices while creating a calendar booking

If the mandatory device fields are empty, the application will search for linked mandatory devices from your booked device.
Information blocks of type ‘details’ are used to search for device links.

Collection category selection

When selecting a collection (e.g. in the data browser or data analyzer) it is now possible to filter them by choosing a category.
The shown categories (All, Processed Data, Time series and System Internal) depend on which category is allowed for the current view.

Device information block provides a description

Information Blocks for Device Types have been extended to support the option of custom description.
This will allow you to describe the purpose of each information block, which will make the usage more transparent.
The description – if set – will then be displayed when managing the respective information block, i.e on the Device View when editing the Information Blocks on Device Level.

images/confluence/download/attachments/2920048916/DeviceInformationBlockShouldProvideADescription-935x418-version-1-modificationdate-1686665105000-api-v2.png

Table widget – filtering in alphabetic order

The Table Widget Column filter displays a list of selectable filter values in the case of less than 25 distinct column values.
The sorting for these selectable Filter Values in the Table Widget Column Filter Popup has now been improved to be alphabetically sorted.

Further improvements

The following improvements are also part of this release:

INS-3138 – Calendar widget – “Search” should rather be an “intelligent filter” to be more UX friendly (Search should include the whole booking content)
INS-4094 – The device type id should always be shown in the information block view

Bug fixes

  • In this release we have addressed and fixed the following bugs:

  • INS-4131 Device Type – Information Block: technical name validation broken

  • INS-4143 User Management: Name column should be all sorted by “name”

  • INS-4087 Views: Two charts instead of one, due to some exception

  • INS-4148 DBC Parser: Inefficient usage of regex parser

  • INS-3722 Input History: “Download All” does not work if one input data document is corrupt

  • INS-4158 Data Browser: Unusable if document contains too many paths

  • INS-4086 Users: Hide User Consent Column after Consent deletions

  • INS-3470 Processing Pipelines: Do not delete a Custom Step file if it is used in another Custom Step

  • INS-4144 Calendar Widget: Fix the search behavior in calendar when the text field is empty

  • INS-4156 Calendar Widget: Calendar entries disappear when changing displayed time interval

  • INS-4091 Table Widget: Custom Column Configuration should not be stored

  • INS-4182 Pagination should use the selected page size

New Consent Management

Aug 24, 2022

We are releasing a new feature in Bosch IoT Insights – Consent Management.

What is Consent Management?

In Consent Management, project admins manage the consent documents for their projects.
These documents can contain legal issues, data privacy topics, or project-specific information which each project member should know about and accept before gaining access to any data.

That means, if a consent document has been uploaded to your Bosch IoT Insights project, each project member receives an email with the request to read and agree to the consent document. If a user does not agree to the document, project access cannot be granted anymore.

images/confluence/download/attachments/2920048916/consent_process-1-version-1-modificationdate-1686665105000-api-v2.png

What are the benefits of this?

  • Provide an easy-to-manage consent document if your project contains confidential data and needs agreements

  • Offere a guideline for a project and inform users about dos and don’ts before giving them access

  • Monitor who has agreed and who has not in your project’s Admin section

  • Get an audit-able export of agreed consents

  • Update the consent document as often as necessary via integrated document versioning

Find more information on consent management in the Bosch IoT Insights documentation.
If you have any questions contact us via support or our Microsoft Team Channel.

Subscription information page, bug fixes, and more

Aug 23, 2022

The latest version of Bosch IoT Insights comes with various improvements.

Marketplace / Subscription information page

We introduced a subscription page in the Admin Tab which shows the subscription information for a project.
That way a person with the role “Manager” can review the subscription information on a central page.
You can find more details in the appropriate User Guide section in the Help or directly by clicking here.

images/confluence/download/attachments/2920048916/SubscriptionDetail-1-version-1-modificationdate-1686665105000-api-v2.png

Pending invites – mark expired invites

We improved the display of Pending Invites so that expired invites are clearly marked.
Previously there was just the text like “2 months ago” which didn´t help much managing Invites and removing expired ones.
Now expired ones are marked in red so that one can see at a glance what status an invite has.

images/confluence/download/attachments/2920048916/PendingInvites-version-1-modificationdate-1686665105000-api-v2.png

Time series

We took our next steps to integrate time series functionality into IoT Insights.
This time we extended the capabilities of Data Browser and Data Analyzer for initial support of time series functionality.
This feature is still in early stages of development and we gather further experience in a closed ALPHA test phase.
Therefore this feature is not yet visible for customers and will be rolled out all at once, when all necessary parts are available.

Further improvements

The following improvements are also part of this release:

  • Implement Retry Logic for IoT Suite Client Token generation to increase robustness

  • Adapt User Management to list users for a specific consent version and filter them

Bug fixes

In this release we have addressed and fixed the following bugs:

  • INS-2945 iTramsDecoder – Exception handling for Incomplete file handling does not work as expected

  • INS-3776 Fix error log event & exceptions related to the Swagger Documentation

  • INS-4055 Remove blocking pipeline startup query

  • INS-3781 Calendar Widget: Jump to “newly” created bookings not working when hidden via horizontal scroll bar

  • INS-4048 Multi selection filter for some Custom Column types does not work

  • INS-4061 Booking user is not filled out automatically in booking dialog

  • INS-4095 User List displaying incorrect Consent Acceptance Date

System stabilization and updates

In this release we have done the following tasks to stabilize and update our System:

  • INS-3985 Nexus IQ [org.webjars.npm : moment : 2.29.1] – CVE-2022-31129

  • INS-3986 Nexus IQ [org.eclipse.jetty : jetty-server : 9.4.45.v20220203] – CVE-2022-2047

  • INS-4056 Nexus IQ [com.squareup.okhttp3 : okhttp : 3.14.9 – sonatype-2022-4262]

  • INS-4046 Update aws-java-sdk-s3

Widget updates, database improvements, and time series preparation

Aug 15, 2022

The latest version of Bosch IoT Insights comes with various improvements.

Scatter chart now support ‘discrete’ signals / steps

The Scatter chart was extended to support ‘discrete’ signals / steps. Related to this, the following options were added/updated:

  • A new “Shape” option that determines the line shape – linear(default), spline and step-wise line shapes.

  • Also a new option “Fill” is available to highlight the area. Default value is none.

  • “Display mode” is extended with option “None” – which will hide the actual line and only show the filled area.

images/confluence/download/attachments/2920048916/ScatterChart-discreteSignalsOrSteps-version-1-modificationdate-1686665105000-api-v2.png

Table widget filters: multi value selection

New filter logic for columns with up to 25 unique values. Until now the only filter option was by conditions like ‘contains’ which are now only presented if there are more than 25 unique values in a column. For up to 25 unique values you get the multi-selection field populated with these values, so that you can directly select the values you are looking for.

images/confluence/download/attachments/2920048916/TableWidgetFilters-version-1-modificationdate-1686665105000-api-v2.png

Calendar – multiple mail recipients

With this release a calendar event can have multiple recipients for confirmation E-Mails. Until now there was only a owner and one confirmation E-Mail recipient possible. This was changed so that several E-Mail addresses can be added in the Confirmation E-Mail Addresses field. For privacy reasons E-Mails are send individually to each recipient.

images/confluence/download/attachments/2920048916/Calender-multipleRecipients-version-1-modificationdate-1686665105000-api-v2.png

Query Templates now support FIND, COUNT, DISTINCT operators

In addition to aggregation which is already supported by Query Templates we implemented find, distinct and count as options in the Template Definition.
Dependent on your use case this operators provide a more performant and easier way to solve them.
With these additional operations Query Templates now offer the same query options as the Data Analyzer.

images/confluence/download/attachments/2920048916/QueryOptions-including-FindCountDistinct-version-1-modificationdate-1686665105000-api-v2.png

Reduce impact of MongoDB replication lags

We identified places where something was written into the database and extracted short time afterwards in our UI.
Because of the replication between different MongoDB nodes configurations such as dashboards did show older states then from the user expected.
To prevent this behavior we optimized the read behavior to access those information directly from the same node.
Still the general concept of mongoDB can in some unexpected cases still cause lags, for further details see the distributed node concept on MongoDB.

Preparation of time series functionality

To prepare the integration of the Time Series Functionality we are adapting several places in Bosch IoT Insights and gather experience in closed ALPHA Test phase. In the past two sprints we introduced the possibility to define a corresponding collection type so time series process data collections can be created.
As a next step we will work on the ability to save data to this new collection type.
Since this feature is in early stages of development, it is not yet visible for customers and will be rolled out all at once, when all necessary parts are available.

Further improvements

The following improvements are also part of this release:

  • ReadTicket Management – Added UI-icons for new states POLLING_TIMEOUT and DOWNLOADING

  • Tour Map Widget: Now a tour is shown even if only one GPS point is available (shown as a point/dot)

  • We implemented the support to allow connection to the INT Stage subscriptions of the IoT Suite

  • Calendar Widget

    • Replaced the table component with a new implementation concept

    • Project Admins can now restore deleted booking events via an API call

    • Local storage concept for widget settings was optimized

  • Processing Pipeline – Improvement of UI environmental variable handling

  • Signals Widget can now be combined with other charts

  • Update of the base MongoDB driver to improve performance

Bugs fixes

In this release we have addressed and fixed the following bugs:

  • INS-3326: Audit log in Project related APIs fixed

  • INS-3461: Action Button Widget now shows OK if used to send data to the Insights Data Recorder instead of 209

  • INS-3697: Device History: Notes Blocks are tracked again

  • INS-3894: Widgets use own default value if linked filter widget value is invalid

  • INS-3942: Query Request Info in Data Browser and Data Analyzer shows the query again

  • INS-3968: Query History – Overall Execution Time is no longer doubled for “Terminated”, “No Ticket”, “Polling Timeout” Queries

  • INS-3981: UI error messages after login for some users happen no longer

  • INS-3636: Placeholder chips in richtext editor now editable

  • INS-3640: Pagination of Custom Step selection now show the correct custom steps

  • INS-3892: Calendar Widget: select date via date picker jumps to the correct position

  • INS-3918: Document handling in the consent process improved

  • INS-3966: Improved communication error-message handling

  • INS-3971: Fixed loading animation while deleting a file

  • INS-3998: Fixed thing history handling

  • INS-3528: Device History – Show what was changed

  • INS-3724: Mongo Query execution errors are shown incorrectly

  • INS-3943: Pipeline handling improved

  • INS-3964: Device Details Widget – edit notes now working

  • INS-4004: Optimized Signal chart config value storage

  • INS-4037: Deleted Calendar Bookings no longer preventing New Booking Creation

New login option for Bosch users

Aug 3, 2022

The latest release of Bosch IoT Suite comes with a new authentication option for Bosch employees.

As of now, Bosch IoT Suite supports single sign-on (SSO) for Bosch associates with their Bosch accounts, also known as Bosch AD as an identity provider system.

When opening Bosch IoT Suite, you can choose which user you want to authenticate:

  • Bosch Login is the single-sign-on approach recommended for all Bosch employees. It works with the Bosch AD as an identity provider (IDP).

  • Bosch ID is the login for all non-Bosch users. It works with the Bosch ID as an identity provider (IDP) and is now primarily intended for external customers. However, it is still available for Bosch employees as well.

images/confluence/download/attachments/2920048916/orga-login-version-1-modificationdate-1686665105000-api-v2.png

If you have already registered a Bosch ID as a Bosch employee, you can choose which option you want to continue using, as the new one is offered in addition to the login with a Bosch ID.

Migration option

Please note, that both options require valid identification with a secure underlying identity provider (IDP) and lead to two different user accounts.

In case you have already registered a Bosch ID as a Bosch employee and prefer to move all privileges to the Bosch user, i.e. use the new SSO option, please proceed as follows:

  1. Choose Bosch Login and sign up with a new account.
    The new account setup is also necessary, but only once.
    When you have created your account, an organization will be created for it automatically.
    However, as a member, you can also be invited to other organizations.

    images/confluence/download/attachments/2920048916/Bosch-login-sign-up-for-an-account-1-version-1-modificationdate-1686665105000-api-v2.png


    NB: For legal reasons, all three checkmarks are required to proceed, including the confirmation that you are registering as an entrepreneur and not as a consumer.

  2. Use another browser or at least a new session and log in with the user (Bosch ID) who is the organization owner or manager of your former subscription.

  3. Invite the “new” Bosch AD user. This will result in an invitation email.
    The IDP column shows which identity provider has assured the respective identity: Bosch ID or Bosch AD, which is the Bosch internal active directory.

    images/confluence/download/attachments/2920048916/orga-Bosch-AD-version-1-modificationdate-1686665105000-api-v2.png
  4. Accept the invitation – make sure you use the Bosch Login this time.

  5. When redirected to the list of subscriptions, you will still view your new account in the context of its main organization and will not yet see the subscriptions of the Bosch ID account and organization.

  6. In your Bosch Login account, switch the organization – select the one you were just invited to. Then you should see a list of the respective subscriptions created within that organization.

    images/confluence/download/attachments/2920048916/switch-organization-version-1-modificationdate-1686665105000-api-v2.png
  7. For example, check the Devices view of a subscription to see if this new user now has read and write permission to the same list of devices as your old Bosch ID user account.

  8. If in doubt, check and adjust the policy of the respective digital twins.

Optionally, the organization owner or manager can exclude the old Bosch ID user account from the subscription.

In case you need support, please do not hesitate to contact us.

On this occasion, various minor bugs have also been fixed.

Calendar widget supports device details content and other improvements

Jul 28, 2022

The latest version of Bosch IoT Insights comes with various improvements.

Calendar widget – Device details content are now extendable/customizable

We have extended the device details content of the calendar widget with following options:

  • The user is now able to choose and display additional device details in the calendar.

  • You are now able to see the device details in the event popover, timeline and in the table view.

  • The additional details are based on the device type and can be configured in the calendar configuration.

images/confluence/download/attachments/2920048916/calendarWidgetDeviceDetails1-version-1-modificationdate-1686665105000-api-v2.png

images/confluence/download/attachments/2920048916/calendarWidgetShowDeviceDetails1-1136x386-version-1-modificationdate-1686665104000-api-v2.png

Find more details in the documentation: Calendar widget – Bosch IoT Insights

CML upload API is now available for all projects

As of now every project can use the already existing CML (CarMediaLab) Upstream Service.
Using the CarMediaLab (CML) Upstream Service, you can directly send data from the CML Flea box (3 or 4) to your Bosch IoT Insights project via HTTP(S) using the CML upstream protocol.

images/confluence/download/attachments/2920048916/CML_flea-version-1-modificationdate-1686665104000-api-v2.png

For more information, please take a look at our online documentation: CML Upstream Service
The API reference you can find at: API references.

Project specific whitelist for identity provider

Before the update, there was a dialog message to confirm user selection.
If a user does not have access to a specific project he will get an error screen with an option to log out and log in again with a different identity provider.
Now, the admin users are able to set the allowed identity provider by choosing from the supported identity providers.
You can find this inside the Admin > Project > Access page.

images/confluence/download/attachments/2920048916/adminProjectAccess-768x523-version-1-modificationdate-1686665104000-api-v2.png

Refresh client authorities without log out and log in

Previously, users had to log out and log back in for new roles to be applied.
We have adjusted the logic when roles are changed. A refresh of the user session occurs with the next request triggered by that user. The new roles are now being applied immediately.

Calendar events are now exportable as ICS

Users are now able to export a booking events via an ICS file into their local outlook calendar.

Further improvements

  • Implement a delay queue in case of in-performant Keycloak access

  • E2E test finding – Data Browser Pagination invalid, since dbstats invalid

  • MongoDB Query Service extension to whitelist new Timeseries operators

  • Calendar widget: improvement for calendar horizontal scrolling

  • Making the decoder request history project specific and accessible via lookup

Bugs fixes

We also have addressed the following bugs and fixed them accordingly:

  • INS-3714: Map Widget does not show on Mobile Phone

  • INS-3555: REST API definition should be deleted if a dashboard is deleted

  • INS-3873: Action button widgets should be correctly saveable

  • INS-3792: History entry for device linking does not show up for parent device

  • INS-3794: Playback Widget – Does not show title

  • INS-3633: Calendar Booking email template: heading and text still say SFDE

  • INS-3648: Calendar: Possibility in Mobile mode to enter a DateTime in Calendar Booking dialog

  • INS-3871: Device details widget – notes block not working

  • INS-3916: Access Denied Handling corrupted in the UI

  • INS-3917: Resource not found exception during consent process

  • INS-3919: Security – Major Security Bug due to Consent Management

  • INS-3498: Read Ticket Management – UI timeout handling does not work well

System stabilization and updates

  • INS-3783: Nexus IQ [org.tallison : metadata-extractor : 2.17.1.0] SONATYPE-2021-4936

  • INS-3862: Nexus IQ [org.apache.tika : tika-core : 1.28.2] CVE-2022-30973

  • INS-3863: Nexus IQ [org.bouncycastle : bcprov-ext-jdk15on : 1.60]

  • INS-3476: completely remove Java 8 from Jenkins Build(Docker Container)

  • INS-2839: Update Python version information hints to 3.9

Changing processing pipeline base from Debian to Ubuntu

Jul 28, 2022

Bosch IoT Insights will update the underlying file system image of all customer data processing pipelines from Debian to Ubuntu. We do not expect any impact on our customers’ pipelines by this change.

Data processing pipelines allow projects to transform, normalize, enrich, and clean the incoming data. Pipelines can be configured with an editor. The editor provides several improvement/processing steps. The editor also allows uploading project-specific processing logic in Java or Python.

If you have any questions about the update, please contact our support.

Update details

See the following list for a detailed description of the effects caused:

File system (base-image):

  • Update from Debian 11.4 to Ubuntu 22.04 (Jammy Jellyfish).

  • Ubuntu has Debian in its’ roots and is compatible in all relevant technical details.

  • See image documentation for more information: https://hub.docker.com/_/ubuntu

Java:

Python:

  • Update from 3.9.2 to 3.9.13.

  • Relocation of binaries from /usr/bin/ to /usr/local/bin/ (e.g. /usr/bin/python3 to /usr/local/bin/python3). Bosch IoT Insights will automatically use the new location to run python steps.

  • On startup of migrated processing pipelines, Bosch IoT Insights will use `pip` to install the compatible packages: No impact on pipelines expected.

  • The Python project publishes a detailed changelog: https://docs.python.org/release/3.9.13/whatsnew/changelog.html#changelog

Standard C-Library (libc):

GNU Compiler Collection (gcc):

Outlook

With this change, we’ve kept the version of Python on 3.9, although Ubuntu actually contains version 3.10 already. This should simplify the transition from Debian to Ubuntu for our customers. That said, we are preparing the update of Python currently, as some customers have asked for Python 3.10 already.

That and further updates are going to be announced on this channel as usual at least two weeks in advance.

New Read Ticket Management

Jul 8, 2022

We will activate the Read Ticket Management on July 26, 2022.

Bosch IoT Insights activates this new feature which was already introduced with the pay-as-you-go price model.

What is Read Ticket Management?

Read Ticket Management can be seen as a load balancing concept which ensures the stability of your database and prevents peak load scenarios that could potentially block your users. This feature gives you also the full control of your project’s performance.

We provide two kinds of read tickets:

  • UI read tickets
    Define how many query requests can be performed from UI side at the same time

  • API read tickets
    Define how many query requests can be performed from API side at the same time

Admin users can easily adjust the number of the read tickets in the Admin area of their project and steer the load distribution in Bosch IoT Insights. Specify any number of read tickets that allows your project to run smoothly and prevent your users from blocking each other.

Monitor your read tickets in the new Query History Chart to always have an overview of queued query times and queued read tickets. This helps you to detect possible bottlenecks and peaks and lets you decide whether you want to increase the number of read tickets. Have a look at our documentation for further details on the Query History Chart.

images/confluence/download/attachments/2920048916/MicrosoftTeams-image-20-version-1-modificationdate-1686665104000-api-v2.png

Please check the price model of your plan for the current conditions.

Find more information on how to configure and monitor read tickets in the Bosch IoT Insights documentation. If you have any questions contact us via support or our Microsoft Team Channel.

Table widget filter support standard data format handling and parameterizable

Jun 20, 2022

The latest version of Bosch IoT Insights comes with various improvements.

Table Widget filter support standard data format handling and parameterizable (String & Datetime)

We extended the table widget with new formatting options.
If you choose custom column definitions in the table widget, you can now specify the data type and corresponding formatting for this type, such as prefix and suffix.
You can also use this to display dates using predefined time formats:

images/confluence/download/attachments/2920048916/image-2022-05-13-15-03-17-558-version-1-modificationdate-1686665104000-api-v2.png

Find more details in the documentation: Table widget – Bosch IoT Insights (bosch-iot-insights.com)

Reporting / Charts for Read Tickets

To make the new metrics of API and UI Read Tickets more understandable and traceable, now we provide a reporting functionality in query history. Project administrators can see the number of queued requests and the total time queries must wait because the read ticket limit was reached. So, they can check for bottlenecks and peaks.
This gives them an indication if they need to increase the number of tickets or not.

Since the Read Ticket Management is yet not active, the content will be empty in most projects for now.

images/confluence/download/attachments/2920048916/QueryHistoryCharts-version-1-modificationdate-1686665104000-api-v2.png

Rich Text editor now supports placeholders while inserting hyperlinks

The rich text editor – in the Rich Text Widget and Table Widget Column now do support placeholders while inserting hyperlinks.
Also an option for choosing to open the link in a new tab or in the same tab is now available.

Further improvements

  • MDF Decoder extended, to support a mode to ignore unsupported Blocks (see documentation)

  • Calendar Widget now highlight “newly” created bookings

  • The Richtext Widget was extended to also support Data Sources, like all charts widgets

Bug fixes

We also have addressed the following bugs and fixed them accordingly:

  • INS-3513 -“Sign in” Button after Session timeout doesn’t work

  • INS-3533 – Device History – Deleting a parent device is not displayed correctly

  • INS-3538 – Device Widget Property Dialog should close when Save or Cancel is clicked

  • INS-3681 – Device history: No children visible in history details

  • INS-3327 – Cancel Download all InputHistory documents

  • INS-3510 – Limit Settings in Data Browser are not stored in local storage

  • INS-3537 – Table Widget should not scroll dashboard when refreshing

  • INS-3599 – Broken Footer Settings Link on Admin Page

  • INS-3723 – PipelinesAppSettings should be able to handle environment=null

  • INS-3731 – Decoder – DBC decoding does an invalid handling of single bit values

  • INS-3626 – Table Widget – Rich Text Column Sort Feature

  • INS-3627 – Table Widget – Rich Text Column Filter

  • INS-3634 – Strange Pixels on Dashboards

  • INS-3662 – Fix wrong format of Object ID in data browser page

  • INS-3677 – Link processing information to processed data not working

  • INS-3704 – Action Link: Incorrect handling for resolved absolute links

Direct remove option for booking events and further improvements

May 25, 2022

The new release of Bosch IoT Insights comes with the following improvements:

Remove option for booking events

We added an easier way to remove bookings from the calendar by placing a corresponding button inside of the booking details popover.

Update the datetime picker component in all "table" filters

We replaced the old datetime-pickers in the Input History, the Processing Information, the Audit Log and the Conditional Actions with our new datetime-picker component.
With this, it is now possible to specify the hour and minute of a day and also to select the relative time ranges.

Processing event queue rare hang ups

In rare cases, a high reprocessing rate and a simultaneously high number of input documents may exceed a Mongo-internal limit (oplog-size).
For this rare scenario we implemented a failure handling behavior that ensures that every input document is processed anyway.

New mode “X-accepts_incomplete” for Mongo Query Service – support intelligent switching between synchronous and asynchronous

Our MongoDB Query API did support synchronous and asynchronous calls, but switching between those modes was done by the client manually.

With the new flag “X-accepts_incomplete” you can now start a query in synchronous mode and the backend will switch automatically to asynchronous mode, if the response takes longer then 2 seconds.

This improves the latency handling for fast queries especially in our UI, and also reduces the overhead for normal queries.
We also switched our own UI to use this mode, which did improve the loading of optimize dashboards by up to 70%.

See our Swagger API documentation for more information.

Further smaller improvements

Data Explorer and Data Analyzer – Its possible to stop a query if its in Queued State

Bug fixes

We also have addressed the following bugs and fixed them accordingly:

  • INS-3120 – Device attachment must be downloadable even if name was changed

  • INS-3420 – Index Hints do not work – UI ignores index directions in the Query Template

  • INS-3536 – Input Data Link in Data Browser does not show the linked document in Input History

  • INS-3639 – Data Explorer: Download of JSON and CSV does not work

  • INS-3411 – Pipeline DBS Parser throws Timeouts – Possible Memory Leak

  • INS-3465 – Allow multiple filter values does not work

  • INS-3638 – Broken Pagination Limit Selection in Data Browser

  • INS-3634 – Strange Pixels on Dashboards

  • INS-3479 – Open File link in Hyperlinks does not work

Table widget with Rich Text column

May 17, 2022

The latest version of Bosch IoT Insights comes with various improvements.

Rich Text column support for Table widget

The Table widget now support rich text editor column type when defining a custom column definition.
All the features available for the editor are also available here: styling, linking, inserting images, and more.
References to data source are also supported and can be inserted by using the ${path} syntax.

images/confluence/download/attachments/2920048916/image-2022-03-31-16-45-31-242-1600x800-version-1-modificationdate-1686665104000-api-v2.png

Legal regulations update

Project administrators are obliged to provide their company’s legal obligations. These can be configured in the Project Footer Settings by linking the Bosch IoT Insights Dashboard, or by providing an URL.

Calendar widget – Linking to a device details page which is type-specific

The Calendar Widget has been extended and now includes clickable Device Name Links which route to the dedicated Details Page of the clicked device.
The device’s details can now be directly accessed from the following places:

  • Device Listing in the Timeline View

  • Booked and mandatory Devices in the Booking Details Popover

You may also define Custom Device Details Links in the calendar widget configuration settings. Custom links can be defined per device type and/or using a default device link. If no device type has been defined, the default link will be used for every device.

images/confluence/download/attachments/2920048916/2022-03-25_13h18_42-300x271-version-1-modificationdate-1686665104000-api-v2.png

Hide and hover widget actions

The General Functions icons below the widgets are now hidden by default.
However, they appear when you hover the mouse on the respective widget.
This ensures that the charts get the most prominent part of the dashboards.

Calendar widget – separate filter for mandatory devices

We introduced the possibility to restrict the mandatory devices selection by having a filter for each of the mandatory device types within the Calendar Widget configuration. For further information, please have a look at our documentation.

Further improvements

  • Gateway whitelistedRedirectUris should allow dynamic paths

  • Implementation of consent API

Bug fixes

We also have addressed the following bugs and fixed them accordingly:

  • INS-3531 – Wrong URL called in Table Widget Action Button after sorting or filtering

  • INS-3534 – Filter widget doesn’t work in calendar widget timeline view

  • INS-3561 – Bootstrap database fails on all projects

  • INS-3308 – Query Template – Invalid error handling in case of missing device parameter

  • INS-3500 – User Management – Searching should also work with pagination

  • INS-3557 – ‘Cursor’ not valid error in devices linking dialog

  • INS-3562 – Data Browser should show the data of the selected collection

  • INS-3333 – Action button: Response JSON is not shown

  • INS-3378 – MIME Type is now shown during Upload

  • INS-3451 – Display issue of device icons in calendar timeline view

  • INS-3466 – Checkbox value changes wen expanding other filters in editor mode

  • INS-3472 – Action Button: HTTP headers not usable

  • INS-3481 – CSV Export for images/action buttons not returning a meaningful value

  • INS-3482 – Calendar Widget throws an exception in the console if there is no devices for mandatory device type

  • INS-3526 – Calendar/Filter Widget | join Feature not working

Change of the email sender domain

May 10, 2022

As preparation for the migration of Bosch IoT Insights to Azure we need to migrate our email and sms services to a new email/sms provider.

Therefore, the sender domain will change from bosch-iot.com (e.g. insights-<your-project>-no-reply@bosch-iot.com) to mail.bosch-iot-insights.com (e.g. insights-<your-project>-no-reply@mail.bosch-iot-insights.com).
All mails send out by our service will afterwards be sent out by the new domain.

If you have any kind of mail rules configured to trigger on the existing domain, we advice you to update them accordingly.

We do not expect any other problems nor downtime for the maintenance.
If you expect problems of any kind regarding you specific use-case, please use our support so we can find a solution for you.

Drag and Drop support for the property type “Selection” and more

Apr 27, 2022

The new release of Bosch IoT Insights comes with the following improvements:

Drag and Drop support for the property type “Selection”

For the Devices Section, we have introduced new functionality to customize the order of predefined options for the Property Type “Selection”. A drag and drop icon has been introduced to easily move the predefined options.

The re-arranged order is considered any time the Property Type gets accessed i.e., in the Device Type Filter or the Device Details.

New editor for Rich Text Widget and Device block

Previously we used the Quill editor library for the Rich Text Widget and Device block – ‘Notes’, this was changed to now use the Slate library. There is a minor change in look and feel, but no customer action for the current widget/blocks is needed.

The new editor offers bigger flexibility and will allow us to deliver new functionalities and features very soon. Also, it ensures the security of the service to use well-maintained libraries.

Mandatory device type for calendar

We introduced a new booking type for devices. You can now mark a booking device as ‘bookable’, ‘mandatory’, or ‘not bookable’.

Mandatory devices need to be set in the bookings dialog and don’t follow the normal bookings rule as the defined booking status. These new options can be used for use cases, where you want to ensure that for example specific equipment is always also booked.

More dynamic filtering of the input history and processing information

We improved the filter possibilities of the Input History and the Processing Information a lot. The new approach works in a similar way as the Data Browser.

It’s now possible to freely define your filter definitions and combine them, in any way the user wants it to be. You can find more information in our documentation at https://bosch-iot-insights.com/static-contents/docu/html/Input-History.html

Possibility to give an API User a friendly name & description

We implemented the option for API technical users to be created with a custom username and description, as well as the ability to edit existing users and change the username and description.

This shall make it easier to describe and control what a technical user account is being used and give a better overview. The default behavior of creating users with a random username still exists though, when a username is not specified upon creation.

The new feature is documented in Creating an API user.

Queued Queries are shown in Dashboards

Users can now see additional information under the loading spinner of the widgets, so when the maximum amount of parallel UI read tickets of a project has been reached, a corresponding info message will appear. This shall help to identify performance bottlenecks, created by the project admin using restrictions via reading ticket limits.

Further minor improvements

  • The Data Browser should use ASYNC queries instead of SYNC queries, to prevent timeouts in case of long-running queries.

  • Error Handling for the data browser improved in case of unavailability of UI read tickets

Bug fixes

We also have addressed the following bugs and fixed them accordingly:

  • INS-3116 – Device type properties editor allows adding “name” property a seconds time in General information blocks

  • INS-3136 – Sender mail address should stay constant in conditional actions response mail

  • INS-3369 – Manage Information Blocks dialog cannot deal with unknown definitions

  • INS-3385 – Pipeline: Memory failures while (re-)processing of ZIP with a file size between 100kb-150kb

  • INS-3257 – Booking conflict is not working for BLOCKED bookings

  • INS-3397 – Drag and dropping calendar events that shouldn’t logically be allowed in the same time frame stick in the UI until you refresh

  • INS-3196 – Calendar Widget – selected user gets removed if a booking is saved too fast

  • INS-3445 – Calendar booking dialog doesn’t allow editing of events that overlap each other in a valid way

  • INS-3463 – Device History is broken

  • INS-3471 – Editing a pending invited user should not lead to an error

MongoDB upgrade to 5.0 [finished]

Apr 6, 2022

We would like to inform you that we have as announced upgraded all our MongoDB clusters to version 5.0, see also release notes of Feb 2022.

Our goal is to always support the latest productive ready MongoDB version, to provide you the most recent features available, such as time series collections.

To easily use the newest MongoDB features, we will in the next step extend our service further to provide you an out-of-the-box usage for time series data.

Please see also our previous announcement, if you are still using a outdated MongoDB driver in your processing pipeline and might have problems with the new version.

Embedding Dialog Window and other further improvements

Mar 21, 2022

The new release of Bosch IoT Insights comes with the following improvements:

Embedding Dialog Window

We introduced a new embedding dialogue for our dashboards. In the past the functionality was only available by using our API. Now, there exists a new Embed Button at each dashboard view. Henceforth, admin users can create dashboard embedding links in a more convenient way. For further information, please have a look at our documentation.

images/confluence/download/thumbnails/2920048916/EmbedButton-1-300x46-version-1-modificationdate-1686665104000-api-v2.png

images/confluence/download/attachments/2920048916/EmbedDialog-version-1-modificationdate-1690270073000-api-v2.png

Embedding supports full-screen mode

We have extended our embedding functionality to allow an embedded Bosch IoT Insights frame to be loaded in full screen mode by using the query parameter fullscreen=true.
For further information, please have a look at our documentation.

Bosch IoT Things instances are migrated from BIC to Azure

In our effort to migrate Bosch IoT Insights to the Azure hosting environment, all Free Plans instances of Bosch IoT Insights booked after March 1st 2022 use for device management, underneath a Bosch IoT Things Free Plan on Azure Netherlands.
Newly booked paid plans will follow this procedure soon.
Existing Bosch IoT Things subscriptions which are managed by Bosch IoT Insights will be migrated to Azure Europe in future.
This will be announced separately.

Input History: The filename on download is now the same as on upload

Often users want to have the same filename when downloading it as on upload, because the filename often contains relevant information.
We adjusted the logic, so that the filename on download is now the same as on upload.

Table Widget supports device images

With this change, the user of a Table Widget is able to create an image column, using one of the three different sources:

  • Device Image – in case of a device, a path to the image can be provided. Will fallback to the device type image if not found.

  • Base64 Image – a valid base 64 image string can be provided to display

  • URL Image – using a URL (also placeholders are supported)

You can also adjust the height/width of the image according to your needs.

images/confluence/download/attachments/2920048916/DeviceImage-version-1-modificationdate-1690270073000-api-v2.png

“Pick-List” property type for devices

We introduced a new property type for device types called “selection“. This new property type allows selecting multiple values as well as defining custom value entries, if enabled. A single value selection already exists before and existing device type using this property type are migrated to the new, specific property type.

images/confluence/download/attachments/2920048916/DeviceProperty-version-1-modificationdate-1690270073000-api-v2.png

Booking a device directly from the device details page

We introduced a new way to create bookings for devices directly from the device details view. For this, we have added two new buttons, one located in the action bar, the other within the booking information block of a device.

images/confluence/download/attachments/2920048916/CreateBookingButton-version-1-modificationdate-1690270073000-api-v2.png


White labeling will also be used for “Licenses”, “Cookies” and “More Settings”

To improve the navigation, the project context will be kept if you navigate to footer or header sites, as licenses, cookies, or user settings. These sites are still available without login. The improvement is that you still see the project navigation bar and the URL containing the project in case you have been logged in beforehand.

Further improvements

  • Redirect UI access from bosch-sfde.com to bosch-iot-insights.com

  • Dashboards – Optimize rendering performance of dashboards based on widget visibility

  • Make Query Templates project specific

  • MDF Decoder – CANOpen Date and Time should be supported

  • Disable sending of usage data for Free Plan

  • Device type tables use the new table component to match the new Bosch brand guide

Bug fixes

We also have addressed the following bugs and fixed them accordingly:

  • INS-3137 – Project name send in conditional actions mail must match the used project

  • INS-3309 – Table Widget – JSON download behaves differently in comparison to CSV download

  • INS-3171 – CSV download not possible for DISTINCT queries

  • INS-3313 – If dashboard contains only Custom Role its not visible to the Project Admin anymore

  • INS-3382 – Filters with checkbox “i.e. Duplicate” cannot be saved

  • INS-3396 – Input History: Byte Size should not be shown with digits

  • INS-2779 – If a pipeline input data queue runs “full” and some input files do get “lost” / are never processed

  • INS-3338 – Pipeline step – python example not locally runnable with Python 3.9

  • INS-3145 – Calendar View Table – Linking to the Calendar Event is gone / missing

  • INS-3144 – Responsible is not available in the calendar table view

  • INS-3096 – Calendar booking data selection – Timezone usage incorrectly used during date selection

  • INS-3377 – Deleting old attachments does not work

  • INS-3303 – Calendar Widget not showing device-less events

  • INS-3306 – Calendar Widget: Query Parameters are deleted after clicking on (x)

Things History Improvements and Breaking Changes

Mar 1, 2022

Bosch IoT Insights is preparing a service update with improvements and breaking changes in the next two weeks.
We would like to inform you in advance about an upcoming update of our feature to track the change history of a device in Bosch IoT Things.

The Thing History feature tracks modifications on devices over time:

images/confluence/download/attachments/2920048916/2022-03-01_14h33_45-version-1-modificationdate-1686665104000-api-v2.png

Projects can enable the tracking in the device type configuration:

  • Per information block

    images/confluence/download/attachments/2920048916/2022-03-01_11h40_25-1-version-1-modificationdate-1690270073000-api-v2.png
  • Per defined property

    images/confluence/download/attachments/2920048916/2022-03-01_11h44_53-version-1-modificationdate-1686665103000-api-v2.png

The currently planned update will increase effectiveness and performance, incorporating the knowledge built up over three years of operating and supporting projects using it:

  • Enforcement of the “Tracking activated” configuration of device type properties

  • Reduction of unused fields and optimized storage usage

  • Reduction of database load by uniting commands and redesigning indexes

Most of the improvements where possible without big changes on the data model or the UI. All those changes are located in the Thing History collection. You may observe it in query templates or the REST API if you use the Thing History collection. It also can affect processing pipelines, that use the Thing History collection directly.

The changes in detail

  • No tracking of devices, that do not have a device type name in their thing ID or were the device type does not exist.
    Examples:
    ✔️ Thing ID namespace:devicetype_deviceid makes tracking possible.
    namespace:deviceid or namespace:nonexistingtype_deviceid cannot be tracked.

  • Only information blocks and properties are actually inserted to the thing history, which explicitly are marked “to be tracked”. In the past “not defined” properties were also tracked.

  • The history entries, which include all snapshots of all the child entries (device tree), do need more time to appear. This happens, because incorporating history events of related devices into the timeline of their parent is deferred. This delay allows to react better on inter-service message exchange latencies between Bosch IoT Things and Bosch IoT Insights and finally improves data quality.

  • Existing history collection of free plans and projects, which have not make use of the history feature yet, are cleared.

The thing history entry structure also changes:

  • Newly introduced fields:

    • validityBegin – contains the time, when the change happened in real world. I.e. entries can be backdated, if these differ.

    • hasSnapshot– replaces status, see migration instructions below

    • deviceTreeBuilt– replaces status, see migration instructions below

  • Modified fields:

    • revision – converted to an array, was a single value field before.

    • change – converted to an array, was a single value field before.

    • snapshots – contains the snapshot of the current device at index position 0 now. Simplifies accessing the actual thing data of that entry.

    • createdAt – contains the time, when the change in Bosch IoT Things actually has happened technically (and the new field, validityBegin contains the time, when the change happened in real world. I.e. entries can be backdated, if these differ.

  • Removed fields: trigger, status, deviceTree, user, untracked, errorInfo, snapshots.deviceType

Migration guide:

  • status – replaced by hasSnapshot and deviceTreeBuilt

    • hasSnapshotfalse, when the entry just includes the change received. Changes to true, when this entry has its snapshots field set with its things content. I.e., the predecessor event could be found, had its snapshot included, and this change could be applied to it. This field supports having a database index for entries in both states, because snapshots alone, which is an array field, cannot be used that way in an index. Indexes are important to optimize queries against the database.

    • deviceTreeBuiltfalse, when the entry has not been processed for propagation to its parent entries. True, if the processing has happened and all the entry propagation has been done. Similar to hasSnapshot, the new field allows for improved indexing and reduction of load in the database.

  • deviceTree – which device is a child of which other device is available in snapshots.features.deviceLinks.properties.parentId

  • user – is available in the change.user

  • snapshots.deviceType – is available in snaphots.attributes.type

SSL certificate replacement pending

Feb 21, 2022

The SSL certificate for the domain https://bosch-sfde.com will expire on March 3rd, 2022, and therefore the certificate is subject to be renewed in calendar week 9, 2022. If you hard coded the current certificate, you will need to update after renewal.

See our FAQs for further help: https://bosch-iot-insights.com/static-contents/docu/html/FAQ.html

Improved login process

Feb 11, 2022

The new release of Bosch IoT Insights comes with the following improvements:

Improved Login Process

The IoT Suite Auth was removed from our identity-provider chain to reduce complexity and improve the performance of the login process. After that, the login is faster and more stable.

Improved Pipeline Processing

The MongoDB uses the oplog to process data. If there were too many incoming documents during processing and reprocessing, the oplog was not able to store all the content because it was not large enough. In this case, handling became slow. As of now, there is a fallback handling that searches for the required input documents and processes them again.

Support of device provisioning API

In case the Bosch IoT Device Management was used, it was necessary to use the device provisioning API to create devices. In case a user created a device through our UI, it only was created in Bosch IoT Things, but neither Bosch IoT Rollouts or Bosch IoT Manager were aware of it. As of now, we support the device creation via the device provisioning API. The user is now able to define if he is using just Bosch IoT Things or a IoT Suite package like the Bosch IoT Device Management.

images/confluence/download/attachments/2920048916/things-setting-device-provisioning-endpoint-version-1-modificationdate-1690270073000-api-v2.png

Support of custom URL schemes for hyperlinks

Besides the default URL schemes, like HTTP and HTTPS, the user is now able to “whitelist” custom schemes as hyperlinks for his subscription. That allows the user to enable application-specific links. The application-specific links can be defined in the Project Security Settings.

images/confluence/download/attachments/2920048916/security-settings-custom-url-scheme-version-1-modificationdate-1690270073000-api-v2.png

Download input data file with original file name

The user can now download a file with the same filename and extension that it had when it was uploaded.
To do this, we extended the API to allow the file name to be defined with its own meta attribute.

More details can be seen in our api documentation.

Further improvements

  • Angular update – Support of Angular version 13.0.0.

  • Data explorer – Improved label filter to handle a larger amount of labels and to pick several labels.

  • Table widget – Filtering on a column with hyperlinks or action buttons.

  • Embedded dashboard – The language code

    can be provided

    to Bosch IoT Insights by an embedding parent page.

  • Processing information – Tables are compliant with the recent Bosch Brand Guide.

  • Device type – Tables are compliant with the recent Bosch Brand Guide.

  • Conditional actions – Tables are compliant with the recent Bosch Brand Guide.

  • User management – Possibility to regenerate password for technical users.

    images/confluence/download/attachments/2920048916/technical-user-regenerate-password-version-1-modificationdate-1686665103000-api-v2.png
  • Pipeline configuration – Added responsibility hint in the custom step upload.

    images/confluence/download/attachments/2920048916/custom-step-responsibility-hint-1-version-1-modificationdate-1690270072000-api-v2.png

Bug fixes

We also have addressed the following bugs and fixed them accordingly:

  • INS-2091 – Deletion of CIAM-userdata should not use the Keycloak username field.

  • INS-2475 – Value widget: incorrect value behavior.

  • INS-2867 – Data browser: button Next does not work on the last documents.

  • INS-2922 – Value widget: thousand-separator option is not selectable.

  • INS-2947 – iTraMS parser step: Default Decoder Selection does not work.

  • INS-2949 – Page selection in document browsing.

  • INS-2946 – Broken reprocessing jobs UI layout.

  • INS-2965 – UI does not allow another reprocessing though no pipeline runs.

  • INS-2995 – Remove 100,000 page limitation from pagination.

  • INS-3006 – Table widget should show correct pagination bar.

  • INS-3024 – Wrong timestamp format in iTraMS pipeline.

SSL certificate replacement pending

Feb 9, 2022

The SSL certificate for the domain https://bosch-sfde.com will be renewed since it expires on 03 Mar 2022. If you hard coded the current certificate, you will need to update after renewal.

See our FAQs for further help: https://bosch-iot-insights.com/static-contents/docu/html/FAQ.html

Improvement to device attachment management

Feb 4, 2022

We would like to inform you that we have updated the way that device attachments are managed in Bosch IoT Insights and that we have deprecated the old API endpoints used for device attachment management.

With the new change, the user is able to store attachments with dedicated access rights for a specific device. Now, a user must have READ access for a specific device in order to view or download associated attachments, or have WRITE access for the device in order to upload new attachments and rename or delete existing attachments. Updating device images now no longer requires MANAGE access, and can be done by users with WRITE access. Deleting a device also deletes all attachments associated with it.

All existing attachments will be migrated to follow the new attachment concept.

Technical hint: Previously, device attachments were stored in a separate collection, and each attachment could be used with multiple devices with the same name.

Further details on how to handle attachments: Attachments information block

Change in sub-processors (preliminary information)

Jan 21, 2022

We would like to inform you in advance about a planned change in our list of sub-processors starting Q4/2022.

With Microsoft Azure | Microsoft Azure Services Netherlands we will have a new sub-processor for cloud hosting, data processing, and data storage for Bosch IoT Insights. Data location will be Frankfurt/Main, Germany.

What does this mean for Bosch IoT Insights customers?

All subscriptions running on Bosch IoT Cloud Stuttgart (EU-2) are affected by this change. It will enhance our ability to deliver our service and provide new features to our customers, such as an online data archive.

The change in sub-processors will be fully handled by us, i.e. there will be no activities required on customer side and no downtimes to be expected by this.

Bosch IoT Insights: Data Processing Under Commission

According to §7.1 of our “Data Processing Under Commission Agreement”, we will inform our customers in due time before the actual migration date.

After timely receipt, customers may object to such a change. Any objection must be lodged within 14 days, and all reasons must be specified explicitly. If no objection is lodged within this time limit, consent to the involvement or replacement is deemed to have been given. If there is an important reason which cannot be eliminated by the provider by adjusting the assignment, the customer is granted an extraordinary right of termination. More information can be found here.

You can find the list of our current sub-processors here.

Bosch IoT Suite portal and authorization: TLS 1.0 and 1.1 removal and disabling of weak cipher suites

Jan 17, 2022

TLS 1.0 and 1.1 removal and disabling of weak cipher suites

At the moment, Bosch IoT Suite Portal and Authorization still supports TLS versions 1.0 and 1.1.
Our goal is to always offer an up-to-date and secure service. However, the TLS versions 1.0 and 1.1 have been considered insecure. (IANA)

Consequences:

If your devices, applications or user agents are still using TLS version 1.0 or 1.1, they will no longer be able to connect to Bosch IoT Suite Portal and Authorization from March 01, 2022.

As a customer having a paid plan §15.3 Changes of the Service and the Terms and Conditions of the SaaS Terms and Conditions applies : “[…] If Customer does not object within 30 days of receipt of the notification and continues to use the Service after expiry of the period for objection, then the changes shall be deemed to have been effectively agreed as from the expiry date of the time limit. In the event of an objection, the contractual relationship shall be continued subject to the conditions applying hitherto. If an objection is raised, Provider is entitled to terminate the contractual relationship subject to a one (1) month’ notice period.”

The following domains are affected by the change:

Our API will only support the following cipher suites and therefore only TLS 1.2 or higher:

  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

  • TLS_RSA_WITH_AES_128_GCM_SHA256

  • TLS_RSA_WITH_AES_128_CBC_SHA256

  • TLS_RSA_WITH_AES_256_GCM_SHA384

  • TLS_RSA_WITH_AES_256_CBC_SHA256

Support

If you have any further questions, please do not hesitate to contact us via support.

More processed-data collections

Jan 13, 2022

The new release of Bosch IoT Insights comes with the following improvements:

Processed data collections

We have now increased the number of processed-data collections you can add yourself with paid plans from 10 to 500. As a result, we had to make changes to the UI, in order to make that many collections manageable. So at each place where you have to select one of these collections, there is now a drop-down list with a search function.
For example, here in the Data Analyzer:

images/confluence/download/attachments/2920048916/data-analyzer-version-1-modificationdate-1686665103000-api-v2.png

Enter the name or label of the collection to find it in the list:

images/confluence/download/attachments/2920048916/collection-search-box-example-version-1-modificationdate-1686665103000-api-v2.png

Further improvements

  • Query history – Queries can now have more states than before, which are including the following: queued, finished, interrupted and expired. For more information about the states, please visit our User Guide (INS-2499)

  • Calendar widget – The calendar now uses our new device filter (INS-2563)

  • Action button – You can now define a URL trigger for action buttons that opens the desired page based on the returned response code (INS-2313)

  • Documentation – We have improved the documentation of the UI Backend API (INS-1103)

  • Table widget – The width is now the same for all columns, resulting in better readability (INS-2175)

  • Data sources – You can now use user context parameters for all data sources, not only for external ones.

  • Table widget – You can now set action buttons to the custom columns (INS-2204)

    images/confluence/download/attachments/2920048916/table-action-button-version-1-modificationdate-1686665103000-api-v2.png
  • Widgets – You can now use up to five data sources per widget instead of three

    images/confluence/download/attachments/2920048916/data-sources-version-1-modificationdate-1686665103000-api-v2.png

Bug fixes

We also have addressed the following bugs and fixed them accordingly:

  • INS-2529 – Filter widget parameter default value should be used in U

  • INS-2729 – Conditional Actions – Parameterized Mails do not work

  • INS-2452 – Editing / creating footer links text/URL/label should only change when saved when they are saved

  • INS-2646 – Fixed name validation on device creation. So you can now use Unicode characters for your device name

  • INS-2702 – A user invitation should not overwrite the roles of the accepting user, if he is already a member of the project

  • INS-2713 – Fixed two scrollbars in the custom column definition selection

  • INS-2723 – Creation of a linked device with backdating is now working again

  • INS-2846 – Creating multiple Widgets via UI Dashboard API in a row leads to lost update

  • INS-2843 – Booking Dialogue: No user was selectable, if you don’t have the admin project role

  • INS-2868 – The UI is now able to display all roles and not only the first 100

  • INS-2241 – The date-time picker now takes the selected time zone into account

Log4j

Regarding the recent zero-day vulnerability in the log4j library, we have taken immediate actions to secure all our services. Further, we have also protected the processing pipelines as much as we can from our side. If you using log4j for yourself in a custom step, we still recommend that you keep the library up to date.