> For the complete documentation index, see [llms.txt](https://docs.efento.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.efento.io/nb-iot-loggers/integrations/thingsboard.md).

# Thingsboard

This tutorial walks you through configuring Efento NB-IoT loggers to seamlessly transmit data to your [ThingsBoard](http://thingsboard.io/) instance using the native CoAP protocol.

## Prerequisites

Before starting, ensure you have the following ready:

* ThingsBoard instance (v3.2 or newer) with a static IP address accessible through your cellular provider's APN.
* Efento NB-IoT sensors running firmware version `06.02` or newer.
* Efento mobile application installed on an Android / iOs device.

{% stepper %}
{% step %}

## ThingsBoard platform setup

You must first create a specific device profile and register your sensors on ThingsBoard before they can authenticate and parse data.

### 1. Create an Efento device profile

1. Log in to your ThingsBoard administrator account.
2. Navigate to **Device Profiles** on the left menu and click the "+" icon in the top right corner to select Create new device profile.
3. Enter a profile name (e.g., `Efento NB-IoT`).
4. Click Next: **Transport configuration**.
5. From the **Transport type** dropdown menu, select **CoAP**.
6. From the CoAP device type dropdown menu, select `Efento NB-IoT` (or other name created in the previous step).<br>

   <figure><img src="/files/jHFiqv1Sr9kRcDb6JFKu" alt=""><figcaption></figcaption></figure>
7. Optionally, configure Alarm rules or Device provisioning if required by your project, then **save** the profile. If you want to learn more about these features please refer to ThingsBoard [documentation](https://thingsboard.io/docs/getting-started-guides/helloworld/).
8. Once the profile is ready you will see it on the list in the “Device profiles” section. If you plan to use your ThingsBoard instance only with Efento sensors you can set the profile as default.[<br>](https://getefento.com/wp-content/uploads/2021/04/Screenshot-2021-04-29-at-17.14.37-2.png)

   <figure><img src="/files/UIGLHz04F1PqGK9CjW9g" alt=""><figcaption></figcaption></figure>

### 2. Register your logger

1. Navigate to **Device Groups** and select a group (such as the default "All" group).
2. Click the "+" icon in the top right corner to add a new device.
3. Give the device a name, and choose Select existing profile to assign the `Efento NB-IoT` profile you just built.<br>

   <figure><img src="/files/BfGVtK9GvBxcfC9QmYfG" alt=""><figcaption></figcaption></figure>
4. Click Next: Credentials.
5. Choose Add credential and input a unique text string in the Access token field. Configuration of the token is optional. If you skip this step, ThingsBoard will create a random access token for this device. This token will act as the secure password your physical sensor uses to authenticate. You will need it during the logger configuration.
6. Once the device is added, it appears within group “All” list in “Device groups” section.

   <figure><img src="/files/WSudgf8YkuB48dmUxvby" alt=""><figcaption></figcaption></figure>

{% endstep %}

{% step %}

## Physical Sensor Configuration

To point your Efento sensor to the ThingBoard endpoint, you must use the Efento mobile application for [iOS](https://apps.apple.com/pl/app/efento/id6479740909) or [Android](https://play.google.com/store/apps/details?id=pl.efento.cloud\&hl=en).

{% hint style="warning" %}
If you use Android application, enable Power User Mode: Open the Efento mobile app menu and quickly tap the Efento logo 5 times.
{% endhint %}

### 1. Verify Cellular Connectivity

Before proceeding, confirm your cellular network allows data transport to your private server destination:

1. Connect to your sensor over Bluetooth in the app.
2. Open the settings menu (Android - three dots, iOs - gear icon) and select **Cellular network status**.
3. Verify that Registration status reads either `REGISTERED` or `REGISTERED_ROAMING`.

### 2. Configure the Destination Server & Authentication

1. Connect to the logger over Bluetooth and navigate to **Server configuration**.
2. Change the server selection type to **Other**.
3. Input your ThingsBoard server address (IP or domain). The default port for ThingsBoard CoAP communication is `5683`.
4. Set the authentication mode to **Custom Token**.
5. Paste or type the exact Access Token you generated in ThingsBoard in the [previous steps](#id-2.-register-your-logger).

### 2. Define CoAP Resource Endpoints

Navigate to the CoAP endpoints settings and adjust the resource paths exactly as follows:

* Data: `efento/m`
* Time: `efento/t`
* Configuration: `efento/c`
* Device Info: `efento/i`
  {% endstep %}

{% step %}

## Verify the Connection

To confirm data is flowing seamlessly:

1. In the Efento mobile app menu, click Trigger transmission to force an immediate uplink.
2. Switch over to your ThingsBoard dashboard, navigate to your device, and click the Latest telemetry tab.
3. You should see incoming decoded environmental readings appear in real-time.<br>

   <figure><img src="/files/KPgVR0l0jSDGbYuAdPyi" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
For orders exceeding 250 devices, Efento can pre-configure hardware directly at the factory to point out-of-the-box to your designated ThingsBoard instance. You will receive a structured `.csv` asset file to provision all your devices to ThingsBoard simultaneously.
{% endhint %}

{% endstep %}
{% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.efento.io/nb-iot-loggers/integrations/thingsboard.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
