# Connect devices with ABB BuildingPro

## About this chapter

This chapter describes how to connect external devices to ABB BuildingPro and display data from these devices in ABB BuildingPro.

## Procedure

### Overview

The first step is to establish a communication connection between ABB BuildingPro and the devices to be connected. In Fig. 1, this is phase "B".

In the second step, the incoming raw data usually has to be decoded. This is because external devices send their transmitted data (payload) encoded or in some other unusable format.&#x20;

In the third step, finally, the decoded data values are assigned via formats to the individual [↗ attributes](#asset-templates) of an asset.

The last two steps take place in phase C.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/doTuFx5ObF1jBfMfHfYQ/architektur-eliona.jpg" alt=""><figcaption></figcaption></figure>

### Details

Fig. 1 schematically shows the data flow from an external device to ABB BuildingPro.

<div data-full-width="true"><figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/WZbj6sAoFJLYNdhIXWj6/Eliona%20Verbindungen%20Visualisierung.png" alt=""><figcaption><p>Fig. 1 – Data flow from external devices to ABB BuildingPro </p></figcaption></figure></div>

#### Phase A

Phase A takes place entirely outside of ABB BuildingPro. In phase A, raw data is sent from individual devices to a server or broker. An example of such a server is [↗ TTN \[External Link\]](https://www.thethingsnetwork.org/)

The details, e.g. which transmission format is used, vary greatly depending on the manufacturer and device. Phase A is not part of ABB BuildingPro and is not explained in more detail in this documentation. Consult the documentation of the external devices or server to learn more about this topic.&#x20;

{% hint style="info" %}
For the further steps in this document, it is assumed that you have access to correctly configured external devices and/or access to a server.&#x20;
{% endhint %}

#### Phase B

In phase B, the actual connection of Eliona and the device data takes place. In this phase, a data connection is established between Eliona and the external devices.&#x20;

Eliona accepts the following interfaces:&#x20;

* [↗ MQTT](https://docs.buildings.ability.abb/collection/english-v14/connectivity-as-a-service/connect-devices-with-abb-buildingpro/connect-devices-via-mqtt)
* [↗ Webhook](https://docs.buildings.ability.abb/collection/english-v14/connectivity-as-a-service/connect-devices-with-abb-buildingpro/connect-devices-via-webhook)
* [↗ RESTful](https://docs.buildings.ability.abb/collection/english-v14/connectivity-as-a-service/connect-devices-with-abb-buildingpro/connect-devices-via-restful)
* [↗ Kafka](https://docs.buildings.ability.abb/collection/english-v14/connectivity-as-a-service/connect-devices-with-abb-buildingpro/...with-kafka)
* [↗ OPC UA](https://docs.buildings.ability.abb/collection/english-v14/connectivity-as-a-service/connect-devices-with-abb-buildingpro/connect-devices-via-opc-ua)

Click on a link to jump directly to the guide describing how to establish a data connection via the respective interface.

#### Phase C

In phase C, the data is processed and made usable within Eliona.

* The data sent by the external devices and received in Eliona is in most cases not readily readable. Depending on the manufacturer, this raw data is encoded or is in a format that cannot be used any further. Therefore, this raw data is **↗** **Features** decoded and converted into a human-readable .json format.&#x20;
* The decoded data is assigned to the individual attributes of an asset via **↗ formats** .

## Requirements

To connect external devices, the following prerequisites must be met:

#### Correctly configured external devices and servers

The devices to be connected must be correctly configured and send data properly.

Servers and brokers must be correctly configured.

#### Existing access data for servers, brokers and other services

The access data for servers and brokers must be known.

#### Asset Templates

It is assumed that you have created the correct asset templates. The asset template must have the necessary asset attributes&#x20;

#### Assets

Based on the asset template, assets must be created.
