# Kontakt.io

## Eliona app for Kontakt.io - Digital building solutions

*Kontakt.io* manufactures intelligent IoT devices, cloud solutions, and powerful APIs that help turn buildings into indoor spaces useful to people on their daily journey toward achieving their goals, at work or in care, in a safe and sustainable indoor environment.

## Installation

The app *Kontakt.io* can be installed via the App Store in Eliona.

## Assets

*Kontakt.io* automatically creates all necessary asset types and assets that are accessible via the configured endpoints. The following asset types are created:

* *Day*: Any type of BLE smart tag that indicates location.
* *Badge*: A Smart Badge or Asset Tag 2 that indicates location like a tag, but has a temperature sensor and two buttons (not yet implemented).
* *Beacon*: Beacons capture the locations of tags and badges and provide information about air quality.
* *Portal Beam*: Like Beacons, but also counts the number of people in the room.

The following attributes are defined:

<table><thead><tr><th width="224">Attributes</th><th width="157">Description</th><th width="40">Day</th><th>Badge</th><th>Beacon</th><th>Portal Beam</th><th>Filterable</th></tr></thead><tbody><tr><td><code>position</code></td><td>Position</td><td>x</td><td>x</td><td></td><td></td><td></td></tr><tr><td><code>temperature</code></td><td>Temperature</td><td></td><td>x</td><td>x</td><td>x</td><td></td></tr><tr><td><code>air_pressure</code></td><td>Air pressure</td><td></td><td></td><td>x</td><td>x</td><td></td></tr><tr><td><code>humidity</code></td><td>Humidity</td><td></td><td></td><td>x</td><td>x</td><td></td></tr><tr><td><code>light_intensity</code></td><td>Light intensity</td><td></td><td></td><td>x</td><td>x</td><td></td></tr><tr><td><code>air_quality</code></td><td>Air quality</td><td></td><td></td><td>x</td><td>x</td><td></td></tr><tr><td><code>people_count</code></td><td>People count</td><td></td><td></td><td></td><td>x</td><td></td></tr><tr><td><code>firmware</code></td><td>Firmware version</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td></tr><tr><td><code>model</code></td><td>Model of the device</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td></tr><tr><td><code>battery_level</code></td><td>Battery level</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td></tr><tr><td><code>product</code></td><td>Product name</td><td></td><td></td><td></td><td></td><td>x</td></tr><tr><td><code>name</code></td><td>Name in Kontakt.io</td><td></td><td></td><td></td><td></td><td>x</td></tr></tbody></table>

## Dashboards

*Kontakt.io* provides a dashboard with all automatically created assets. This can be created automatically via the Eliona frontend `Copy Dashboard > Kontakt.io` and then customized as desired.

<figure><img src="/files/95df1909e55eaf7cdf73b7b253137de960e73cbe" alt=""><figcaption></figcaption></figure>

## Configuration

{% hint style="info" %}
More information on configuring apps can be found [↗ here](https://doc.eliona.io/collection/dokumentation/einstellungen/apps).
{% endhint %}

The *Kontakt.io* The app is configured by defining one or more API tokens. Each configuration requires the following data:

| Attributes        | Description                                                                                                                                                                                                                                   |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `apiKey`          | API key                                                                                                                                                                                                                                       |
| `enable`          | Flag to enable or disable fetching from this API                                                                                                                                                                                              |
| `refreshInterval` | Interval in seconds for collecting data from API                                                                                                                                                                                              |
| `requestTimeout`  | API query timeout in seconds                                                                                                                                                                                                                  |
| `assetFilter`     | Filter for asset creation, more details can be found in app's README                                                                                                                                                                          |
| `projectIDs`      | List of Eliona project ids for which this device should collect data. For each project id, all smart devices are automatically created as an asset in Eliona. The mapping between Eliona is stored as an asset mapping in the Kontakt.io app. |

The configuration is done using a corresponding JSON structure. The following JSON structure can be used as an example to define an endpoint:

```
{
  "apiKey": "VGhlIGNvbmZpZ3VyYXRpb24gaXMgZG9uZSB2",
  "enable": true,
  "refreshInterval": 60,
  "requestTimeout": 120,
  "assetFilter": [
    [{ "parameter": "Product", "regex": ".*Tag.*" }, { "parameter": "Product", "regex": ".*Beacon.*" }],
    [{ "parameter": "Mac", "regex": "(70:82:0E:12:28:CC|70:56:06:12:.*)" }],
    [{ "parameter": "Name", "regex": ".*Lobby.*" }]
  ],
  "projectIDs": [
    "99"
  ]
}
```

Endpoints can be created in Eliona with this structure under `Apps > Kontakt.io > Settings`. To do this, select the /configs endpoint with the PUT method.

### Floor height settings

Since the system refers from *Kontakt.io* to rooms instead of 3D coordinates of tags, the app must internally convert between the two systems in order to display assets on the map and in the BIM model in Eliona. For this, the app must know the height above the floor of each storey (the Z-coordinate).&#x20;

To make this setting easier, the app retrieves all floors configured in the system *Kontakt.io* and displays them in a widget on the dashboard. Here, the user can set the heights of the floors that the app should use from that moment on.

<figure><img src="/files/4a69483c09c0e9d2f984fab3e8cf868eab553133" alt=""><figcaption></figcaption></figure>

Once the heights have been set, the widget can be removed. For later changes, the Asset Management section can be used.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.buildings.ability.abb/collection/english-v14/apps/apps/kontakt.io.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
