B.One Middleware Howto: Connection to the IoT Platform Kaa

- 📖🕓 ≈  6 min -

In my last article I already showed you how you can connect the B.One Middleware to the IoT platform TagoIO. Today we come to the next platform in my little series of posts. This is Kaa.

Like the first platforms in this series, Kaa also offers us the opportunity to collect data, process it and visualize it on dashboards using so-called widgets. Kaa also has a free version. However, this limits us to a maximum of five devices that we can configure on the platform. In the article I will go into how to create a sensor on the platform, how to connect the middleware to the platform (http) and last but not least how to visualize the data on so-called dashboards.

Step 1: Create a Device

When we create devices in Kaa, they are classified according to applications. An application can have several versions (application version). The versions are practically different configurations of the application. In the respective applications/application versions, it is possible, for example, to configure how incoming data is to be handled. In these instructions we only use one version per application and only assign one device to it (several are possible).

To create our first application, we navigate to DeviceManagement/Applications in the main menu. There we can then name and create our first application via “Add application”.

Kaa: Create application

Now a version has to be added to the application. Simply click on the + icon and name the version.

Kaa: Create application version

We then navigate to DeviceManagement/Devices. Before we click on “Add Device” there to create our first device, we select the application we have just created on the left.

Kaa: Create device

When configuring the device, we can specify an application version and an “endpoint token”. For the version we choose the version we just created and for the token any character string. The token is later used to authenticate the device.

Kaa: Configure device

Step 2: Connection of the B.One Middleware

Step 2.1: Set up Forwarding

After we have created the device on the platform, the connection to the B.One Middleware follows. In this post, we use HTTP as the transmission standard. You can read about how to set up a corresponding forwarding in the block entry “ B.One Middleware forwarding options”. The redirect URL must conform to the following format:


We replace the values APP-VERSION-NAME and ENDPOINT-TOKEN with our application version and the token of our device.

Step 2.2: Processing the incoming Data

So that a widget can later access the incoming data, it must be stored in the so-called “Time series data”. If we send JSON data to the platform and the keys in it each have only one associated value (no further nesting/map), each key/value pair is automatically stored in the “Time series data”. Since this is not the case for us, we have to make an adjustment.

Example nested data:

“data”: {
“unmapped”: {
“temperature” : 12,
“gps_quality” : 8798,
“latitude” : 1,
“longitude” : 1,


For customization, we navigate to DeviceManagement/Applications. There we open our application and then the epts (endpoint timeseries service) Field. When the epts window is open, we can use the “Add endpoint timeseries” button to define which data should be saved.

Kaa: open ept field

We find most of the relevant values in the telegrams sent by the middleware under data/unmapped. To read the temperature of a sensor, for example, the following configuration must be made:

Kaa: Configure ept (endpoint timeseries).

To be able to show us the location of a device later, we combine the values for longitude (longitude) and latitude (latitude) into one value location.

Kaa: Configure ept (endpoint timeseries).

If we navigate to DeviceManagement/Devices and open our device, we can now trace the history of the incoming data, provided we have done the previous configuration.

Kaa: Device overview

Step 3: Visualization of the Sensor

Step 3.1: Create Dashboard

We can display our data in Kaa on dashboards. A dashboard can contain multiple widgets. Widgets can be simple maps where we can display individual values, but also more complex things like maps to show location or graphs to visualize data over time. For an overview, the dashboards in Kaa are arranged according to solutions. A solution can therefore contain several dashboards. To create our first solution, we navigate to Solutions and click on “Add solution”.

Kaa: Create solution

When we create a new solution, there is already a dashboard in it. To create more dashboards, we can click on “Add dashboard” on the top right. We now open the existing dashboard and switch to “Edit mode”. In this we can edit the dashboard.

Kaa: Edit dashboard

Step 3.2: Create Map Widget

Map widgets are maps that we can use to show the location of devices. To create a map widget, we click on “Add widget” in the top bar and select the geopositioning widget there. The widget then needs to be edited. To do this, click on the pen icon above the widget and open the editing window. For now it’s enough for us if we only adjust the “data source”. We choose our application and the rest of the relevant parameters. Our first widget is ready.

Kaa: create map widget

Kaa: Configure map widget

Step 3.3: Create Time Series Widget

Now let’s create a time series widget. To do this, we click on the Time series Widget and select the “Multi-series line chart”. Then we switch back to the editing mode of the widget and adjust the “data source”. In addition, you can choose whether we want to display all (numerical) values of the application or only certain ones.

Kaa: Configure Time series widget

Kaa: Configure Time series widget

If you have set all the appropriate parameters, you will now see both widgets.

Kaa: Dashboard overview

So now you know how the B.One Middleware can be connected to the Kaa platform and how you can visualize your data on dashboards there. In the next article I will show you this using the Thingsboard platform. Until then, have fun trying it out again!

Recommend0 recommendationsPublished in B.One Middleware, Operating Aids, Visualization

Related Articles