# Help Center

<h2 align="center">What can we help you find?</h2>

<p align="center">Browse the topics below or use the AI Assistant to ask anything you need help with.</p>

<p align="center"><a href="https://docs.efento.io/?ask=" class="button primary">Ask AI Assistant</a> <a href="https://help.efento.io/" class="button secondary">Contact support</a></p>

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td><h4><i class="fa-cloud">:cloud:</i></h4></td><td><strong>Efento Cloud</strong></td><td>Manuals and guides that explain how to configure, operate, and manage Efento Cloud. It provides clear instructions, best practices, and troubleshooting tips to help you get the most out of your monitoring platform.</td><td><a href="/spaces/OZ7FanYxG2hiIStESXW1/pages/LThc2RqOxBKU56Qt3TMy">/spaces/OZ7FanYxG2hiIStESXW1/pages/LThc2RqOxBKU56Qt3TMy</a></td><td><a href="/files/yArkVur3AoUBhPykGK7k">/files/yArkVur3AoUBhPykGK7k</a></td></tr><tr><td><h4><i class="fa-router">:router:</i></h4></td><td><strong>Efento Gateways</strong></td><td>Manuals, guides, and resources for Efento Gateways. All the documentation you need to install, configure, integrate and troubleshoot your devices.</td><td><a href="/spaces/SAMGOBd5D40UODsJVCVL/pages/I3bWzWSpd2vrQCcFHgSR">/spaces/SAMGOBd5D40UODsJVCVL/pages/I3bWzWSpd2vrQCcFHgSR</a></td><td><a href="/files/gQe1tgCuzJuHBa9MjioR">/files/gQe1tgCuzJuHBa9MjioR</a></td></tr><tr><td><h4><i class="fa-bluetooth-b">:bluetooth-b:</i></h4></td><td><strong>Efento Bluetooth Low Energy (BLE) Loggers</strong></td><td>Instructions on installing, configuring, and operating Efento Bluetooth Low Energy loggers.</td><td><a href="/spaces/MmZlbWwFvjXyDA4JhEUP">/spaces/MmZlbWwFvjXyDA4JhEUP</a></td><td><a href="/files/dFZigUoea4yk7WnYzgRA">/files/dFZigUoea4yk7WnYzgRA</a></td></tr><tr><td><h4><i class="fa-signal-bars">:signal-bars:</i></h4></td><td><strong>Efento NB-IoT Loggers</strong></td><td>Instructions on installing, configuring, and operating Efento Nb-IoT loggers.</td><td><a href="/spaces/GPFUI36OraG706yJS7dJ">/spaces/GPFUI36OraG706yJS7dJ</a></td><td><a href="/files/i9MMvHZO4NIpCyAe4H9C">/files/i9MMvHZO4NIpCyAe4H9C</a></td></tr></tbody></table>


# Welcome

Welcome to the **Efento Cloud Knowledge Library** - your go-to resource for guides, tutorials, and best practices on using Efento’s monitoring solutions. Here you’ll find step-by-step instructions, product updates, and expert tips to help you make the most of Efento Cloud. Whether you’re setting up your first sensors or optimising large-scale deployments, this library is designed to help you work smarter, faster, and with confidence.

* We encourage you to read this manual thoroughly to fully understand and leverage all the features of Efento Cloud.
* If you have any questions while using the platform, start by asking our AI assistant (Type your question into the search field in the page header and click **Ask**).
* If you can’t find an answer, our support team is ready to help at [help.efento.io](https://help.efento.io).

### Jump right in

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Getting started</strong></td><td>All you need to know to set up your monitoring system</td><td><a href="/files/2iR6d3Hfhwpsj7g2C1XT">/files/2iR6d3Hfhwpsj7g2C1XT</a></td><td></td><td><a href="/pages/7FvWQMF0kTK7HGhlQfmo">/pages/7FvWQMF0kTK7HGhlQfmo</a></td></tr><tr><td><strong>Adding devices</strong></td><td>How to quickly provision your Efento Bluetooth and NB-IoT devices</td><td><a href="/files/Lvwwdc97rJVwbOMR79hE">/files/Lvwwdc97rJVwbOMR79hE</a></td><td></td><td><a href="/pages/sDkcwrlfvTUd56dh21lF">/pages/sDkcwrlfvTUd56dh21lF</a></td></tr><tr><td><strong>Basics</strong></td><td>Basic features and configuration of Efento Cloud</td><td><a href="/files/hhch8J3jmBG2Ql0L20xt">/files/hhch8J3jmBG2Ql0L20xt</a></td><td></td><td><a href="/pages/aOjs4gC5WzIpifbjuGsn">/pages/aOjs4gC5WzIpifbjuGsn</a></td></tr><tr><td><strong>Advanced</strong></td><td>Advanced configuration of Efento Cloud platform available for Administrators and Mangers</td><td><a href="/files/AmwICxxqhYJ6Pmk9Btxl">/files/AmwICxxqhYJ6Pmk9Btxl</a></td><td></td><td><a href="/pages/dj9yV19miUKSvPuCxyq6">/pages/dj9yV19miUKSvPuCxyq6</a></td></tr><tr><td><strong>Integrations</strong></td><td>Learn how to integrate Efento Cloud with third party applications</td><td><a href="/files/I3tVHIZ5MLr72dvdfnjJ">/files/I3tVHIZ5MLr72dvdfnjJ</a></td><td></td><td><a href="/pages/rHRHICSWqfzZScrsKmJ2">/pages/rHRHICSWqfzZScrsKmJ2</a></td></tr><tr><td><strong>Documents</strong></td><td>Terms of use, SLA, privacy policy, compliance, etc.</td><td><a href="/files/5kbXLZBVoosxqeXE4yYD">/files/5kbXLZBVoosxqeXE4yYD</a></td><td></td><td><a href="/pages/IdruoV3mu86tQPZeq0hi">/pages/IdruoV3mu86tQPZeq0hi</a></td></tr></tbody></table>


# Creating Efento Cloud account

To start using Efento Cloud, you first need to create a user account. There are two ways to do this:

1. **Direct registration:** You can go directly to [cloud.efento.io](https://cloud.efento.io) and register a new account. This method allows you to set up your own account and create a new Organization in the platform.
2. **Invitation via email:** If you have been invited to join an existing Organization, you will receive an email invitation. Click the link in the email to register your account.

Regardless of which method you use, the account registration process is the same and is described in the following steps.

{% stepper %}
{% step %}

### Create an Efento Cloud account

Enter your username, first and last name, email address, and a password. Click "Create Efento account".

{% hint style="info" %}
Your password must be between 8 and 64 characters long. When creating it, we recommend choosing only those rated as **“Good”** or **“Strong”** by the password strength checker.
{% endhint %}

<figure><img src="/files/IpnpI87ZBwmEr204TM2L" alt="" width="424"><figcaption></figcaption></figure>

{% endstep %}

{% step %}

### Confirm account activation

After completing your registration, you’ll receive an activation link at the email address you provided. Click the link to activate your account.
{% endstep %}

{% step %}

### Sign in to Efento Cloud

Your account has been successfully registered and activated. You can now sign in to Efento Cloud, configure your setup, and start using your monitoring system.
{% endstep %}
{% endstepper %}


# First steps

Once your [**Efento Cloud account** ](/efento-cloud/getting-started/quickstart)has been created, you can begin setting up your monitoring system. Efento Cloud includes a built-in **onboarding process** that guides you through each required step to configure your installation. Follow the instructions in sequence to ensure your system is configured quickly, correctly, and conveniently.

{% hint style="info" %}
The onboarding process in Efento Cloud can be completed using either a **web browser** or the **Efento mobile application**. For the best and most seamless experience, we recommend using the **mobile app**. Please note that certain configuration steps, such as [adding **NB-IoT sensors**](/efento-cloud/adding-devices/nb-iot-loggers) or [configuring an **LTE Gateway**](/efento-cloud/adding-devices/bluetooth-low-energy-loggers/publish-your-docs), can only be performed through the mobile application.
{% endhint %}

{% stepper %}
{% step %}

### Create your Organisation

Efento Cloud uses a **multi-tenant architecture**, where each **Organisation** functions as an independent, isolated workspace. All measurement data, users, and configuration settings are stored **exclusively within that Organisation**, and no users outside of it can access its data.

Organisations make it possible to share sensor data with multiple users, create a structured hierarchy of locations for organising sensors, and assign **view** or **modify** permissions for individual locations to selected users.

During onboarding, you will be prompted to **create and name your Organisation**. As the owner, you receive full administrative rights, including the ability to invite additional users and configure sensors.

Select Organisation name and click **Next**.

<figure><img src="/files/zf3Ol2mKeKTFwL1wivCC" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Select how would you prefer to configure your devices

Efento Cloud supports both **Bluetooth Low Energy (BLE) sensors** and **NB-IoT sensors**, and the configuration process depends on the type of devices and gateways you are using. Before proceeding, please identify the hardware installed in your system and select the appropriate configuration method:

* **NB-IoT sensors or Bluetooth–LTE Gateway:**\
  The recommended and most convenient method is to configure these devices using the **Efento mobile application**.
* **Bluetooth–Ethernet Gateway:**\
  Configuration can be performed either through the **Efento mobile application** or via a **web browser**. For ease of use and reliability, we recommend using the **mobile application**.

Please select the type of devices and gateway you are using and fpress **Next**.

<figure><img src="/files/A6tWysKPDuX3AnywsfI6" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Add activation code

An **Activation Code** is used in Efento Cloud to add the services and resources purchased for your Organisation. Entering a valid activation code assigns the corresponding service packages to your account. Depending on the purchased plan, an activation code may include:

* **Sensor licences** – allow you to add a specified number of sensors for a defined time period.
* **NB-IoT and/or LTE SIM activation licences** – required to activate and use SIM cards with NB-IoT or LTE gateways.
* **Notification credits** – used for sending SMS messages or initiating phone call alerts.

After entering the activation code, the assigned services become immediately available for use within your Organisation.

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

After the activation code is entered, the system will display a summary of all services included in the code. Review this information and click **Next** to confirm and add the services to your Organisation. If anything appears incorrect or unexpected in the list, please contact our support team at [**help.efento.io**](https://help.efento.io) before proceeding.

<figure><img src="/files/g79ec5Bbvo9fqBUMLmrx" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Add your phone number

Efento Cloud allows users to receive **SMS** and **phone call notifications**. To enable these features, you must add a valid phone number to your account. You can provide your phone number during the onboarding process or add it later at any time from the **Profile Settings** section.

After entering your phone number, click **Send  code**. A code will be sent via SMS; enter this code in the verification field to confirm your number. Once the number is successfully verified, click **Next** to continue.

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

If you do not wish to add a phone number at this stage, select **Skip** to proceed without enabling phone-based notifications.
{% endstep %}

{% step %}

### Add your devices

Configure your devices to add them to the Efento Cloud platform by following the **on-screen instructions** provided during the onboarding / setup process. If you require additional guidance, this user manual includes detailed instructions for adding each device type: the [**LTE Gateway**](/efento-cloud/adding-devices/bluetooth-low-energy-loggers/publish-your-docs), the [**Ethernet Gateway**](/efento-cloud/adding-devices/bluetooth-low-energy-loggers/publish-your-docs-1), and [**NB-IoT sensors**](/efento-cloud/adding-devices/nb-iot-loggers). Refer to the relevant section for step-by-step assistance.
{% endstep %}
{% endstepper %}

Once the onboarding process is finished, your Efento Cloud environment is ready for further configuration. You can now proceed with the next steps, such as **adding additional users**, **setting up alarm rules**, **creating and managing locations**, or **configuring integrations** with other systems. At this stage, you can also configure **automatic reports**, allowing the platform to generate and send scheduled measurement reports directly to selected recipients. These options allow you to tailor the platform to your monitoring needs and fully prepare your Organisation for operation.

{% content-ref url="/pages/AD9lDCmpddI5WAY92HgG" %}
[Alarm rules](/efento-cloud/advanced/markdown)
{% endcontent-ref %}

{% content-ref url="/pages/i73g4LZQanoLj7XtSO18" %}
[Access - Users / API tokens](/efento-cloud/advanced/editor)
{% endcontent-ref %}

{% content-ref url="/pages/uVoaf7yBkCD7hAsYfsVY" %}
[Locations](/efento-cloud/advanced/locations)
{% endcontent-ref %}

{% content-ref url="/pages/qpmduGHeXmasfrhkAqYv" %}
[Integrations](/efento-cloud/advanced/organization-settings/integrations)
{% endcontent-ref %}

{% content-ref url="/pages/ItXdhQB2ph7aPxKzqehw" %}
[Automatic reports](/efento-cloud/advanced/automatic-reports)
{% endcontent-ref %}


# Bluetooth Low Energy loggers

[Efento Bluetooth Low Energy (BLE) loggers](https://getefento.com/product-categories/bluetooth-low-energy-sensors/) are wireless devices designed to measure and transmit data such as temperature, humidity, or other environmental parameters. These loggers communicate via Bluetooth and require an Efento Gateway to send the collected data to the Efento Cloud platform. Depending on the network configuration, users can choose between two types of gateways: [**Bluetooth–Ethernet**](https://getefento.com/product/efento-gateway-bluetooth-ethernet/) and [**Bluetooth–LTE**](https://getefento.com/product/efento-gateway-bluetooth-lte/). The Ethernet gateway connects directly to a local network via cable, while the LTE gateway uses a mobile network connection to transmit data.

Please identify which type of gateway you are using and follow the corresponding configuration instructions in the next sections.

{% content-ref url="/pages/QPzbTvC6XsT5gERiU43E" %}
[LTE Gateway configuration](/efento-cloud/adding-devices/bluetooth-low-energy-loggers/publish-your-docs)
{% endcontent-ref %}

{% content-ref url="/pages/wRs1HxUaZDjbjGqjJLyA" %}
[Ethernet Gateway configuration](/efento-cloud/adding-devices/bluetooth-low-energy-loggers/publish-your-docs-1)
{% endcontent-ref %}


# LTE Gateway configuration

Efento Gateways are mobile network-connected devices that receive data from nearby Efento Bluetooth Low Energy sensors and transmit it over LTE to the Efento Cloud platform.

## SIM card requirements

Efento Bluetooth–LTE Gateways use mobile network connectivity to transmit data to the Efento Cloud. To enable this connection, a SIM card provided by a mobile operator is required. Please ensure the SIM card meets the following requirements:

* **Card size:** Nano SIM
* **Data plan:** Minimum of **200 MB per month** to ensure stable data transmission
* **Contract type:** Recommended **automatic renewal or auto top-up** plan to prevent service interruptions due to insufficient balance or expired contracts
* **Activation:** The SIM card must be **active and unlocked (no PIN code required)** before installation

## Gateway set up and configuration

Configuration of Efento LTE Gateways is done with a free mobile application for Android and iOS devices. Please follow the steps below to connect Efento Bluetooth - LTE Gateway to your Efento Cloud organisation

{% stepper %}
{% step %}

### Connect the antennas

Connect **both antennas** to their respective connectors as indicated.

The connectors are designed to prevent incorrect installation and each antenna fits only into the appropriate connector.

<figure><img src="/files/xifxkWhyP9JUPBWFYHVo" alt=""><figcaption><p>Efento Bluetooth - LTE gateway back panel</p></figcaption></figure>
{% endstep %}

{% step %}

### Insert the SIM card

Insert a nanoSIM card to the SIM card slot on the gateway's back panel. The SIM card slot is marked with **SIM**
{% endstep %}

{% step %}

### Place the gateway in its location

Place the gateway in its installation location.

{% hint style="info" %}
**Ensuring Good Signal Conditions**

To ensure optimal Bluetooth communication performance, consider the following recommendations when selecting the installation site for the gateway:

* Place the gateway in an open area, at least 1 meter above the ground.
* Avoid installing the gateway close to corners, or large metal surfaces that may block or reflect Bluetooth signals.
* Keep the gateway away from sources of electromagnetic interference such as Wi-Fi routers or industrial equipment.
* Avoid placing the gateway inside cabinets, enclosures, or behind objects that may reduce signal strength.
* If multiple gateways are used, maintain sufficient spacing between them to minimize mutual interference.
* After installation, verify Bluetooth signal quality and communication stability with all connected devices to confirm proper operation.
  {% endhint %}
  {% endstep %}

{% step %}

### Power up the gateway

Connect the gateway to the power source (5V, 1A) and once connected, press the **PWR** button located on the back panel to switch the device on.

{% hint style="warning" %}
**Power Supply Requirements**

Use only approved power sources to power the Efento Gateways. Ensure it provides a **stable 5V output with a minimum current of 1A**.

Using an **improper charger** (e.g., one with an output below 1A) may result in:

* Insufficient power delivery, leading to unstable operation or unexpected shutdowns,
* Permanent damage to the gateway’s internal components,
* Loss of communication with connected loggers.

Failure to follow these guidelines may void the device warranty and cause equipment malfunction.
{% endhint %}
{% endstep %}

{% step %}

### Run the mobile application

Download Efento mobile application for [Android](https://play.google.com/store/apps/details?id=pl.efento.cloud\&hl=en) or for [iOS](https://apps.apple.com/pl/app/efento/id6479740909), open it and login to your Efento Cloud account. If you don't have an account yet, please [create one](/efento-cloud/getting-started/quickstart) before proceeding.
{% endstep %}

{% step %}

### Follow the instructions on the screen

The sensor provisioning process in the mobile application has been designed for maximum simplicity and ease of use.\
Follow the on-screen instructions carefully to complete the gateway configuration.
{% endstep %}
{% endstepper %}


# Ethernet Gateway configuration

Efento Gateways are network-connected devices that receive data from nearby Efento Bluetooth Low Energy sensors and transmit it to the Efento Cloud.&#x20;

You can configure your Efento Gateway using one of the following methods: [follow the instructions for configuration via the mobile application](#efento-mobile-application), use a [web browser](#web-browser), or [watch the instructional video](#movie-efento-ethernet-gateway-configuration) demonstrating gateway configuration through a web browser.

## Before you start

The Efento Gateway relies on your network infrastructure to communicate with Efento Cloud. Ensure that there are **no network restrictions** that could block this communication. If a firewall is in use, make sure that connections are allowed to the following domains and ports:

* **api.efento.io, gwm.efento.io, update.efento.io** on **ports 443 and 80**
* **pool.ntp.org** on **port 123**

Failure to allow these connections will prevent the gateway from sending data to Efento Cloud.

## Efento mobile application

Configuration of Efento Gateways with mobile application is the quickest and easiest way of the device configuration.

{% stepper %}
{% step %}

### Connect the antenna

Before you proceed with gateway configuration, make sure the Bluetooth antena is connected
{% endstep %}

{% step %}

### Power up the gateway

Connect the gateway to the power source. The Ethernet Gateway can be powered by either a USB power supply (5V, 1A) or a PoE (802.3 af) connection. The Gateway powers on automatically when connected to the power source.

{% hint style="warning" %}
**Power Supply Requirements**

Use only approved power sources to power the Efento Gateways.

* When using a USB power supply, ensure it provides a **stable 5V output with a minimum current of 1A**.
* When using Power over Ethernet (PoE), connect the gateway **only to network equipment compliant with the IEEE 802.3 af PoE standard**.

Using an **improper charger** (e.g., one with an output below 1A) or **non-standard PoE equipment** may result in:

* Insufficient power delivery, leading to unstable operation or unexpected shutdowns,
* Permanent damage to the gateway’s internal components,
* Loss of communication with connected loggers.

Failure to follow these guidelines may void the device warranty and cause equipment malfunction.
{% endhint %}
{% endstep %}

{% step %}

### Run the mobile application

Download Efento mobile application for [Android](https://play.google.com/store/apps/details?id=pl.efento.cloud\&hl=en) or for [iOS](https://apps.apple.com/pl/app/efento/id6479740909), open it and login to your Efento Cloud account. If you don't have an account yet, please [create one](/efento-cloud/getting-started/quickstart) before proceeding.
{% endstep %}

{% step %}

### Follow the instructions on the screen

The gateway provisioning process in the mobile application has been designed for maximum simplicity and ease of use.\
Follow the on-screen instructions carefully to complete the gateway configuration.
{% endstep %}
{% endstepper %}

## Web browser

{% stepper %}
{% step %}

### Connect the antenna

Before you proceed with gateway configuration, make sure the Bluetooth antena is connected
{% endstep %}

{% step %}

### Power up the gateway

To set up your Efento Gateway through a web browser, first connect the gateway to a power source using a USB cable. The device will automatically power up.
{% endstep %}

{% step %}

### Connect to the gateway via web browser

Then, use an Ethernet cable to connect the gateway to your computer. Finally, adjust the settings of the network card on your computer that is connected to the gateway:

* IP address: 192.168.120.0/24 (e.g. 192.168.120.2),
* Subnet mask 255.255.255.0.

Access the Efento Gateway by opening your internet browser and navigating to **192.168.120.89**. This is the default gateway address. Log in using the default **username and password printed on the label at the bottom of the device**.
{% endstep %}

{% step %}

### Configure the network settings

To configure your Efento Gateway for internet access, go to the **Settings > Network** section and input all the required network settings. This includes the IP address of both the Efento Gateway and the network gateway, the subnet mask, and the DNS address. Click 'Save' to apply these changes.

The Efento Gateway also supports DHCP. If you enable DHCP, the network configuration will be downloaded automatically from your router (ensure that the DHCP is enabled on the router).
{% endstep %}

{% step %}

### Set the Organisation token

An Organization token, a unique number assigned to your Organization, is used to assign a gateway to your Organization. By entering this token into the Efento Gateway, measurement data from all sensors within range will be automatically sent to your Organization's Efento Cloud account. This allows data from multiple Efento Gateways, even those in distant locations, to be assigned to a single Organization, enabling measurement data from numerous facilities to be sent to your Organization's account.

To locate your Organization token, log into your Efento Cloud account. Then, select the settings icon (gearwheel) on the left side menu, and click on *Organization settings*.

![](/files/cd8a7e4c0b3a143edef7a69d4bd186bcc1dbc15d)

To automatically transmit measurements from all sensors within range to the Efento Cloud platform, input the Organization token into the 'Token' field on the Efento Gateway configuration page, found under **Settings > Server**.

<figure><img src="/files/PAtyAsA7TXNhF8IC4Zu1" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Place the gateway in its location

After completing the configuration, disconnect the Efento Gateway from your computer and connect it to the network using an Ethernet cable.\
If the network switch, router, or injector supports Power over Ethernet (PoE) 802.3af, the Ethernet cable will provide both power and network connectivity. If PoE is not available, connect the gateway to a 5V, 1A USB power supply in addition to the Ethernet cable.

Once the necessary connections are made, place the gateway in its final installation location.

{% hint style="info" %}
**Ensuring Good Signal Conditions**

To ensure optimal Bluetooth communication performance, consider the following recommendations when selecting the installation site for the gateway:

* Place the gateway in an open area, at least 1 meter above the ground.
* Avoid installing the gateway close to corners, or large metal surfaces that may block or reflect Bluetooth signals.
* Keep the gateway away from sources of electromagnetic interference such as Wi-Fi routers or industrial equipment.
* Avoid placing the gateway inside cabinets, enclosures, or behind objects that may reduce signal strength.
* If multiple gateways are used, maintain sufficient spacing between them to minimize mutual interference.
* After installation, verify Bluetooth signal quality and communication stability with all connected devices to confirm proper operation.
  {% endhint %}
  {% endstep %}

{% step %}

### Check communication with Efento Cloud

Reconnect to the gateway using the new IP address. If the gateway has been properly configured, in the "Status" tab it will show the date and time of the last server connection, as well as Network status and Server status information.

![](/files/db4903aa0fb256061750872995c588b346786cf6)
{% endstep %}
{% endstepper %}

## Movie: Bluetooth - Ethernet Gateway configuration

{% embed url="<https://www.youtube.com/watch?v=x0TMhk0vusM>" %}


# Adding Bluetooth loggers

To add sensors, open the **Organisation Settings** menu. You must have **Administrator** or **Manager** permissions to perform this action.

![](/files/3d4c9eeeed29f401c6033ee718b07bce6fec356d)

## Before you start

Before adding sensors, ensure that:

* A **gateway** (either [Ethernet](/efento-cloud/adding-devices/bluetooth-low-energy-loggers/publish-your-docs-1) or [LTE](/efento-cloud/adding-devices/bluetooth-low-energy-loggers/publish-your-docs)) has been configured and is active. Additionally, the loggers must be within range of the gateway (approximately **30 meters indoors** and up to **80 meters in open spaces)** to ensure successful connection.
* You have a valid **licence** to add loggers, which can be obtained by entering an **activation code**. If you did not add the activation code during onboarding, you can do it at any time in the **Licence Manager** section.

## Adding loggers

Click the **Add** button next to the **Sensors** field to begin adding a sensor. From the list provided, select the desired sensor and assign it a **custom name** (by default, all new sensors are named "New Sensor"). The sensor’s name, together with its **serial number**, will be displayed on the platform. Next, specify the **location** for the sensor. Once all details are entered, click **Save** to complete the addition of the sensor.

The sensor can be renamed or relocated at any point in time. For a comprehensive guide on how to do this, refer to the [Sensor Configuration](/efento-cloud/advanced/editing-sensor-configuration) section.

## Calibrated loggers

Loggers can be purchased with calibration service. If you order a calibrated device, the **calibration certificate** will be automatically available in Efento Cloud. When adding a calibrated sensor to the platform, you will be notified that it comes with a calibration certificate. You can also choose to set a **reminder** to alert you when the sensor requires recalibration. This feature is optional but convenient, as it helps ensure your devices remain accurate without having to remember calibration dates manually.

## Custom formulas / custom measurement types

Efento Cloud enables users to convert raw sensor measurements, such as **pulse counts**, **current (4–20 mA)**, or **voltage (0–10 V)** readings, into easily understandable physical values, making it simpler to interpret the results within the platform.

Additionally, the platform allows you to create [custom measurement types](broken://pages/x9zVgllFe45R0BzJ4W76). These can be used to transform raw data into meaningful units, for example, converting pulse counts into visitor numbers or 4–20 mA readings into wind speed.

If you are adding a sensor that will use formulas or a custom measurement type, ensure that **Channel Redefinition mode** is enabled.

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

## Troubleshooting

When adding Bluetooth sensors to Efento Cloud, you may encounter issues with sensor detection. Use the following guidance to resolve common problems:

* **I don’t see any available loggers to add:**
  * Ensure the **gateway is powered on** and properly connected.
  * Confirm that the **loggers are within the gateway’s range** (approximately 30 meters indoors or 80 meters in open space).
* **I see some loggers, but one of them is missing**
  * Make sure the logger is **powered on** - the **plastic protective covers** has been removed.
  * Verify that the logger is within the **range of the gateway**.
  * Ensure the logger has not already been **added to another Organisation**, as this may prevent it from appearing in your list.

If problems persist after these steps, consult the support team at [help.efento.io](https://help.efento.io) for further assistance.


# NB-IoT loggers

You must have **Administrator** or **Manager** permissions to perform this action.

## Before you start

Before adding sensors, ensure that:

* you have a valid **licence** to add loggers,
* you have a valid licence that allows you to activate NB-IoT SIM card.
* you have a mobile device (iPhone / Android phone)

Both licences can be obtained by entering an **activation code**. If you did not add the activation code during onboarding, you can do it at any time in the **Licence Manager** section.

## Adding NB-IoT loggers

To add NB-IoT logger to your Efento Cloud organisation:

1. mobile application for [Android](https://play.google.com/store/apps/details?id=pl.efento.cloud\&hl=en) or for [iOS](https://apps.apple.com/pl/app/efento/id6479740909), open it and login to your Efento Cloud account. If you don't have an account yet, please [create one](/efento-cloud/getting-started/quickstart) before proceeding.
2. Log into your Efento Cloud account and:
   1. Android devices: navigate to the main menu (three lines in the upper left corner) -> select **Organisation settings** -> **Add sensors** -> choose  **NB-IoT**
   2. iPhones: Press the "**+**" button in te upper right corner -> **Add deivces**
3. Follow the on-screen instructions to complete the configuration process.

## Troubleshooting

If you are not able to add a sensor use the following guidance to resolve common problems:

* Ensure the sensor is **powered on**.
* Confirm the sensor is within the **coverage area of the NB-IoT network**.
* Verify that the **SIM card is properly installed and activated** in the device.
* Check the **PLMN and APN settings**. If you are unsure how to configure them, start by setting both to **“Auto”**. If the issue persists, contact your **connectivity provider** for the correct settings.
* Make sure the sensor has not already been **added to another Organisation**, as this may prevent it from appearing in your list.

If problems persist after these steps, consult the support team at [help.efento.io](https://help.efento.io) for further assistance.


# Dashboard

The **Dashboard** provides an overview of all sensors in your Organization and is accessible to **all users**, regardless of their permission level (Administrator, Manager, or Analyst). It serves as the central place to quickly assess sensor status, review recent measurements, and navigate to more detailed views.

The Dashboard displays the following information for every sensor assigned to your Organization:

* **Sensor name and serial number**
* **Assigned location** within the Organisation
* **Current sensor status**, including the number of active and pending alarms
* **Latest measurement value**
* **Time since the last measurement**

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

The main features of the Dashboard include:

* **Displaying sensor details** such as name, serial number, status, current measurements, and last communication time
* **Filtering sensors** by location, sensor type, or status to quickly find specific data
* **Generating reports** for selected sensors directly from the Dashboard
* **Comparing measurements** from multiple sensors on a single chart
* **Displaying sensor information on a location map** to visualize placement and status within a building or room

If you want to learn more about any of these functions, you can navigate to the corresponding detailed sections in this user manual, such as [*Sensor details*](/efento-cloud/basics/sensor-details), [*Generating Reports*](/efento-cloud/basics/images-and-media/generating-reports), [*Measurement Comparison*](/efento-cloud/basics/images-and-media/comparing-measurements), [*Location Maps*](/efento-cloud/basics/images-and-media/location-map), or [*Filtering and Sorting Sensors*](/efento-cloud/basics/images-and-media/filetering-and-sorting).


# Filetering and sorting

To help you find the information you need, the Dashboard offers two filtering methods:

## **Location filtering**

Select a location from the Locations panel on the left to display only the sensors assigned to that location and its sublocations. [Locations can be fully managed](/efento-cloud/advanced/locations) by users with **Administrator** or **Manager** permission levels.

![](/files/5e4e327a56bb6823f61a1481aaa494b472201490)

## Dashboard filters

Use the filter tools to narrow results within the selected location. You can:

* Search by **Sensor name** or **Serial number**
* Sort by any column (Name / Serial number, Location, Status, Measured)
* Use the **Filters** button (top right) to filter sensors by type (e.g., temperature, humidity, pressure) or status (Disabled, OK, Lost, Battery, Alarm, No license, Archived)

By default, all sensors except archived ones are shown. To reset filters, clear the search field or refresh the page.

![](/files/69887c5b86f0143db88daddda996b13bcad4618d)


# Location map

The **Location Map** allows you to visually monitor your sensors by placing them on a floor plan, building layout, or any other map image. This feature provides a quick and intuitive way to assess sensor status, identify alarm conditions, and understand the physical layout of your installation.

The Location Map is accessible to **all users who have access to a given location**, but only **Administrators and Managers** can upload maps or modify sensor placement.

![](/files/7d962fcf9f85898b68f21c2c685a04d806f9a387)

## **Uploading and Managing Maps**

Each location can have **one map** assigned to it. To upload or manage a map:

1. Open the **Dashboard** tab.
2. Select the desired location in the left-side location tree.
3. Click the **Location Map** button.
4. Click **Edit** to access map options:
   * **Upload map** (PNG, JPG, JPEG, BMP, GIF, max 4 MB)
   * **Replace existing map**
   * **Remove map**
   * **Add or remove sensors**

Large or high-resolution images may take several minutes to upload and process. For best results, use clear, high-contrast floor plans.

## **Placing and Managing Sensors on the Map**

Once the map is uploaded, sensors assigned to the selected location can be placed on it.

To add sensors:

1. Click **Edit**
2. Select **Add sensors**
3. Choose sensors from the list
4. Drag them to the correct location on the map
5. Click **Save**

To adjust or remove sensors:

* Select **Edit sensors**
* Drag sensors to reposition them
* Click **Remove** to delete a sensor from the map (this does not remove it from the organisation)

## **Viewing Sensor Status on the Map**

The Location Map provides real-time visibility of sensor conditions. Each sensor is represented by an icon whose color indicates status:

* **Green** – Sensor operating normally
* **Red** – Active alarm
* **Yellow** – Low battery
* **Gray** – Lost sensor / no communication

Hover over or click a sensor to display:

* Current measurement
* Sensor name and serial number
* Last communication time
* Alarm details (if applicable)

This makes the map a powerful tool for maintenance teams, allowing quick identification of problem areas.

## **Customising Map Display**

You can tailor which sensor details are shown on the map. Click **Edit**, then select which information to display:

* Sensor name
* Serial number
* Status
* Current measurement

If all options are disabled, sensors are displayed as status-colored dots only—useful for dense sensor networks or cluttered maps.

![](/files/6603a91cd3a050ec4133f1c3e923ff554c9871af)


# Comparing measurements

Efento Cloud allows you to compare measurements from multiple sensors on a single chart.

To compare:

1. Click **Batch actions** (1) above the sensor table
2. Select up to **6 sensors** (2)
3. Click **Compare measurements** (3)

![](/files/15d747c4adac8e36dab0b33217de2126d0d1d04f)

You can display up to:

* **6 measurement channels of the same type**, or
* **2 measurement channels of different types**

Select the channels you want to compare to generate a dynamic comparison chart.

![](/files/110adf126fd01471787814c899411e93c42d46c1)


# Generating reports

Efento Cloud allows **all users**, regardless of their permission level (Administrator, Manager, or Analyst), to generate measurement reports.

To create a report, click the **Generate Report** button located in the upper left corner of the sensor table.

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

{% stepper %}
{% step %}

### Select sensors

select the sensors you want to include by clicking **Add sensors**. If you have many sensors, use the search bar above the list to quickly locate a device by name or serial number. After selecting the sensors, click **Next** to continue.

![](/files/ae77dec2b8a46c3e4ec964452131c2936e55aebe)
{% endstep %}

{% step %}

### Select export format

In the **Report type** section, choose the desired export format: **PDF (chart)**, **PDF (table)**, or **CSV**.\
If you select **PDF-table** or **CSV**, you may optionally reduce the number of measurements by exporting every 5th, 10th, or 20th reading. You can also choose to include information about alarm threshold exceedances by selecting the appropriate option. Click **Next** to confirm your selection.

![](/files/cb1dd263b7e1bf669ed6b8e93f58f045908ec545)
{% endstep %}

{% step %}

### Select timeframe of the report

In the **Period** section, specify the timeframe for the report. You can manually enter start and end dates or choose from predefined ranges such as *last 7 days* or *last month*.

![](/files/cb50953d5996bbdc08643a352cdbe784fbde2e89)

Once you click **Generate**, the report will be created and sent to the email address associated with your Efento Cloud account within a few minutes.

{% endstep %}
{% endstepper %}


# Sensor details

Clicking a sensor on the **Dashboard** or **Location Map** opens the **Sensor Details** view. This section is available to **all users**, regardless of permission level (Administrator, Manager, Analyst). It provides access to:

* Alarm history with timestamps
* Measurement data in both chart and table formats
* Downloadable calibration certificate (if available)
* Exporting measurements as PDF (chart or table) or CSV
* Viewing basic device information such as:
  * Sensor name and serial number
  * Assigned location
  * Last and next measurement timestamps
  * Measurement interval

In the top-right corner of the Sensor Details page, three function buttons may appear:

* **Calibration certificate** – Download the sensor’s calibration certificate. Displayed only for sensors that have one.
* **Generate report** – Create a custom report for any chosen timeframe in PDF (chart/table) or CSV format. Reports are delivered to your email within minutes.
* **Edit sensor** – Available **only to Administrators and Managers**. Analysts can view sensor details, but cannot make changes.

![](/files/69742f8dd63c878001ba4ca15a431e868f13ea66)

## **Sensor Data Tabs**

Sensor data is organised into five tabs for easy navigation:

### **Live Metrics**

Shows measurements from the previous day, separated by channel. Charts provide a quick overview of the most recent data.

<figure><img src="/files/9Eb44XrGtuETMWPrr5vo" alt=""><figcaption></figcaption></figure>

### **History**

Displays historical measurement charts with channel selection checkboxes.

* Use the date picker to specify the time range.
* Zoom in by selecting a region on the chart.
* Use the **Zoom Out** (four-arrow) button to reset the view.
* If alarm rules are configured, threshold lines appear on the chart (red = upper limit, blue = lower limit), each labelled with its rule name.

![](/files/add2f6eff3a2eab91282e4d5efcc19fa85b0ad43)

### **Measurements**

Shows all readings in a table.

* Minimum, maximum, and average values for the selected timeframe appear at the top.
* Adjust the time range using the date picker.

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

### **Alarms**

Lists all alarms triggered by the sensor with timestamps and rule names.

* Users can **acknowledge alarms** once values return to normal.
* View alarms in **Table view** or **Calendar view**. (For more details, refer to the [*Alarms*](/efento-cloud/basics/alarms) chapter.)

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

### **Rules**

Displays the alarm rules applied to this sensor. To learn how to add or remove a sensor from a rule, refer to the [*Alarm Rules*](/efento-cloud/advanced/markdown) section.

<figure><img src="/files/2UJpHDGUPd597qoxlbFR" alt=""><figcaption></figcaption></figure>

## **Edit Sensor menu**

The **Edit sensor** menu (available for Administrators and Managers only) provides tools for managing the selected device. The details of each of the actions are described in [*Sensor configuration*](/efento-cloud/advanced/editing-sensor-configuration) section.&#x20;

Available actions include:

* [**Change location**](/efento-cloud/advanced/editing-sensor-configuration#location) – Move the sensor to a different location in the organisation structure.
* [**Rename**](/efento-cloud/advanced/editing-sensor-configuration#name) – Update the sensor’s display name.
* [**Formula settings**](/efento-cloud/advanced/editing-sensor-configuration#formula-settings) – Configure or edit formulas and custom measurement types (see [*Formulas*](broken://pages/x9zVgllFe45R0BzJ4W76) chapter).
* [**Swap device**](/efento-cloud/advanced/editing-sensor-configuration#swapping-a-sensor) – Swap the sensor for a new one while keeping its historical measurements.
* [**Calibration reminder**](/efento-cloud/advanced/editing-sensor-configuration#calibration-reminder) – Set or modify reminders for future calibration dates.
* [**Remote sensor configuration**](/efento-cloud/advanced/editing-sensor-configuration#remote-configuration-of-nb-iot-sensors) – Available for NB-IoT sensors only; allows changing technical parameters directly from the platform.
* [**Enable / disable sensor**](/efento-cloud/advanced/editing-sensor-configuration#disabling-enabling-sensors) – Temporarily deactivate or reactivate the sensor on the platform.
* [**Archive / delete sensor**](/efento-cloud/advanced/editing-sensor-configuration#archiving-deleting-measurements) – Archive the device to stop monitoring while preserving data, or permanently delete it from Efento Cloud.

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


# Alarms

The **Alarms** feature in Efento Cloud provides an overview of all active and past alarms for your Organisation. It is accessible to **all users**, regardless of permission level (Administrator, Manager, or Analyst).

## **Alarms Preview**

In the **Alarms** menu, you can see a list of current and historical alarms. Each alarm has a status:

* **Active** – The alarm threshold is currently exceeded
* **Inactive** – The threshold was exceeded in the past but has not yet been confirmed
* **Confirmed** – A user has acknowledged the alarm, and the sensor measurements are no longer exceeding the threshold

{% hint style="warning" %}
Alarms can only be **confirmed** when sensor measurements have returned within normal thresholds.
{% endhint %}

![](/files/86c60f3529724aa2f335a7cf696a86b170c68deb)

***

## **Alarm detsils**

To quickly review the notifications sent for an alarm, including the **channels**, **users**, and **timestamps**, click the **Show details** button in the **Notification** column. A dialog box will display all relevant information.

![](/files/8f957539c677e5084c126f7771552cf72a784f0b)

To view when the alarm occurred on a chart, click the **Preview icon** (chart symbol) on the right side of the alarms table.

![](/files/93dc3d921afc39acfead55a50d4cd3485a374cf9)

For detailed sensor data during the alarm period, click the sensor’s **serial number** in the list. You will be redirected to the [Sensor’s details page](/efento-cloud/basics/sensor-details), showing measurements over a **4-hour period**, with the moment of the alarm highlighted by a **red circle** on the chart.

## **Confirming Alarms**

The **Confirm** function is used to mark alarms that have already been resolved, indicating that the situation has been addressed and measurements have returned to normal. This helps maintain an accurate alarm history and prevents unnecessary notifications for resolved events. To confirm an alarm:

1. Click the **Confirm** button in the alarm list.
2. Optionally, enter a **comment** describing the cause of the alarm or the actions taken to resolve it.
   * This comment will be displayed when hovering over the **Confirmed** status in the alarm list.
   * Adding a comment is recommended for documentation purposes but is not mandatory.

Once confirmed, the alarm status changes to **Confirmed**, and the system recognises that no further immediate action is required for that event.

## **Exporting Alarm List**

Efento Cloud allows users to export a list of alarms for record-keeping, reporting, or analysis. This feature is available to **all users**, regardless of permission level. To export the alarm list:

1. Select the desired **time range** in the upper-right corner of the table
2. Click the **Export alarm list** button

The alarm list will be sent as a **PDF file** to the email address associated with your Efento Cloud account.

![](/files/14c149a8316618c4f1c0e9501bf3c823af696068)

## Sorting and filtering alarms

You can sort alarms by:

* Date of occurrence
* Status
* Alarm type
* Cause
* Current sensor measurement
* Rule name
* Notification recipients

Additionally, you can:

* Search for a specific sensor by **name** or **serial number**
* Limit the **date range** for displayed alarms
* Display only alarms for a **selected location** using the location menu on the left


# Profile

This section describes how to manage your personal Efento Cloud account settings. From updating your contact information and password to configuring automatic logout, creating new organizations, or leaving existing ones, all account-related options are available in your profile settings. These tools help you personalize your experience and maintain full control over your access and organizational membership.

These settings are only accessible to the user who owns the profile; no other users can view or edit this information.&#x20;

You can access your personal profile settings by clicking your **initials** in the lower-left corner of the screen. From this menu, you can either **log out** or open your **profile settings**.

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

## **User information**

In the **Information** section, you can update your personal information, including:

* First and last name
* Email address
* Password for your Efento Cloud account
* Phone number used for notifications. To use SMS or phone call notifications, you must first add and verify your phone number. Enter your number in the profile settings and save the changes. Efento Cloud will send a verification code to the provided number. Enter the code and save the settings again. Once verified, the phone number will be marked as **“Verified”**, and you will be able to receive notifications from the platform.

After making any changes, click **Save** to apply them.

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

## **Settings**

In the **Settings** section you can:

* Select the time zone
* Select the interface, notifications and reports language
* Enable automatic logout - configure how long the system should wait before automatically logging you out due to inactivity. To set the timeout period, choose a value from the **Automatic logout after** dropdown list. To completely disable automatic logout, set the option to **Disabled**.

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

## Changing password

To change your password, enter a new password and save the settings. The password must be between 8 and 64 characters. Efento Cloud will check the strength of the password, and we recommend using only passwords rated as **Good** or **Strong** for better security.

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

## **Creating a new Organization and leaving an Organization**

In the **My Organizations** section, you can manage your membership in organizations.

To create a new organization, click **New Organization** above the organization list. Enter the name of the new organization and confirm by clicking **Next**.

To leave an organization, go to the **My Organizations** section and click **Leave** next to the selected organization. After leaving, you will immediately lose access to all of its data and measurements.

{% hint style="danger" %}
If you are the **last remaining member** of an organization, leaving it will cause the entire organization—including all stored measurements—to be permanently deleted from Efento Cloud.
{% endhint %}

You can view and switch between all organizations you belong to by clicking the icon with your initials in the lower-left corner of the screen.

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

## Deleting account

If you wish to permanently remove your Efento Cloud account, click **Delete Account**. This action deletes your user account along with all personal data stored in the system (name, email, phone number, etc.).

{% hint style="danger" %}
**Warning:** Deleting your account is permanent and cannot be undone!
{% endhint %}

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


# Locations

Efento Cloud allows you to **organise your locations and sensors** using a flexible, tree-based hierarchy. You can create a structure that fits your needs, whether **geographical** (e.g., Country > State > City > Building), **functional** (e.g., Building Type > City > Location), or any other format that aligns with your Organisation.

## **Adding /** e**diting Locations**

Users with **Administrator** or **Manager** permissions can edit locations in the **Organisation Structure** panel on the left side of the screen. The **location tree** displays all existing locations, starting with the **root location**, which cannot be deleted and defaults to your Organisation’s name. New locations are added as **sub-locations** of an existing location.

To add / edit a location:

1. Click the location’s name.
2. Select the **three dots** on the right to access the menu.
3. Available options:
   * **Rename** – change the location name
   * **Add Sub-location** – create a new location under the selected one
   * **Remove Location** – delete the location
   * **Change Parent Location** – move the location under a different parent

{% hint style="warning" %}
**Important:** To remove a location, you must first remove any **sub-locations** or **assigned sensors**.
{% endhint %}

![](/files/abeaab69c281bbce45bc7fc9a934e64b101bfddf)

## **User Permissions**

When adding a new user or creating an API token, you can select the **specific locations** they will have access to. This ensures that users can only view or modify data relevant to their assigned locations, enhancing **data security** within your Organisation.

Users with **Administrator** or **Manager** permissions can manage these settings in the [Access](/efento-cloud/advanced/editor) panel. Properly assigning permissions helps maintain control over your monitoring system while allowing collaboration across teams.


# Alarm rules

Users with **Administrator** or **Manager** permissions can configure alarm rules by selecting **Rules and Notifications** from the settings menu.

![](/files/e0ee1debc256affa3aab3fae22c8e844d1d30ded)

In Efento Cloud, **alarm rules** determine which events trigger notifications or alarms. Each rule consists of three main components:

1. **Stimulus** – The monitored value or condition, such as a sensor measurement (e.g., temperature).
2. **Condition** – The threshold or criteria that must be met to trigger the alarm (e.g., rises above 10°C).
3. **Action** – The response to the alarm, such as sending an SMS, email, or simply logging the event.

Alarm rules are fully **customizable**. For example, you can configure different recipients to receive notifications depending on the severity of the threshold breach, or set rules to only log events without sending notifications. Users can create multiple alarm rules and assign them to specific sensors or gateways as needed.

There are **two types of rules** in Efento Cloud:

* **Sensor rules** – Monitor sensor measurements and trigger alarms based on defined thresholds.
* **Gateway rules** – Monitor the status and health of gateways, such as connectivity or operational issues.

To learn how to configure each rule type, please refer to the sections below.

{% content-ref url="/pages/xhGWHP1uGcKDMTrvXJjY" %}
[Sensor rules](/efento-cloud/advanced/markdown/sensor-rules)
{% endcontent-ref %}

{% content-ref url="/pages/eVzX2r91W50axGrM4pLC" %}
[Gateway rules](/efento-cloud/advanced/markdown/gateway-rules)
{% endcontent-ref %}

## Managing Alarm rules

Once alarm rules are created, Efento Cloud provides several tools to help you efficiently organize, review, and maintain them. All configured rules are displayed in a structured list that includes key information such as the rule name, threshold type and value, assigned recipients, and the sensors or locations covered by the rule. This overview allows administrators and managers to quickly verify how each rule is set up and ensure that the monitoring system operates as intended.

In the **Actions** column on the right side of the rules table, you will find several management options:

* **Edit (pencil icon)** – Opens the full configuration panel where you can modify any part of the rule, including thresholds, notification recipients, schedules, and assigned sensors.
* **Delete (trash can icon)** – Permanently removes the selected rule from the platform. Deleted rules cannot be recovered, so use this option with caution.
* **Clone** – Creates an exact copy of the selected rule, including its conditions, assigned devices, notifications, and schedules. This feature is especially useful when setting up multiple similar rules, as it saves time and ensures configuration consistency.

![](/files/f994c6803f365f14cbc6fe1421d332678f3892de)

On the **left side of the Rules view**, a location tree is available. This tool helps you organize and filter alarm rules based on the structure of your organization. When you select a location, the platform displays only the rules associated with sensors assigned to that location and its sub-locations. All other rules remain hidden, which is particularly helpful in large, multi-site deployments where dozens or even hundreds of rules may exist.

Using the location-based filtering system, administrators and managers can:

* Quickly review rules relevant to a specific facility or area
* Reduce clutter by hiding unrelated rules
* Simplify maintenance in complex monitoring environments

<figure><img src="/files/933bba6856958f2ee2944998ef1d03a4b47228ff" alt=""><figcaption></figcaption></figure>

## **Exporting the Rules List**

To export all alarm rules, click the **Export rules list** button. A PDF file containing the complete list of configured rules will be generated and sent to the email address associated with your Efento Cloud account.

![](/files/c909daf7b8d6781f5b36a37161c7ff4112f70304)

<figure><img src="/files/649605d78868c35ce66c69a45365e7e888e1073b" alt=""><figcaption></figcaption></figure>


# Sensor rules

Sensor rules in Efento Cloud enable you to monitor sensor measurements and automatically trigger alarms or notifications when specific conditions are met. These rules help ensure timely responses to critical events, improve system reliability, and allow for automated monitoring of your environment. Sensor rules are highly configurable, allowing you to define thresholds, timing, recipients, and notification methods for each sensor or sensor channel.

All rule management options are available exclusively to users with **Administrator** or **Manager** permissions. Users with other roles can view alarms triggered by the rules but cannot access or modify the rules themselves.

## Types of sensor rules

Sensor rules can be triggered by different types of events or **stimuli**, depending on what you want to monitor. Understanding the types of rules available helps you choose the appropriate conditions for your monitoring needs:

1. **Threshold exceeded** – Triggered when a sensor measurement goes beyond a defined value. This type of rule is ideal for monitoring environmental or physical conditions such as temperature, humidity, pressure, or other measurable values. You can specify whether the alarm should be triggered when the measurement exceeds an upper threshold (**Above**) or falls below a lower threshold (**Below**).
2. **Low power level** – Monitors the sensor’s battery status. When a low battery condition is detected, the platform generates an alarm. The sensor continues operating for approximately 30 days after a low battery alert, giving you time to replace it before it stops reporting measurements.
3. **Lost connection** – Triggered if the platform does not receive measurements from a sensor within the expected timeframe. This type of rule ensures you are immediately notified of sensors that stop transmitting data, allowing you to investigate potential issues quickly.

## Creating a Sensor rule

Creating a sensor rule involves defining the conditions that trigger the alarm and configuring how it should behave. This section explains the step-by-step process to ensure the rule works as intended. To create a new rule click **Create new rule** in the upper-left corner of the **Sensors** tab.

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

{% stepper %}
{% step %}

### Define conditions

1. Enter a **rule name** (up to 50 characters) to easily identify it later.
2. Select the **event type** (stimulus) for the alarm.
   * For threshold-based rules, choose **Above** or **Below** and enter the threshold value.
   * For low battery or lost connection rules, no additional fields are required.

![](/files/056cc898dc8d4375dc306ec913fe4154678a6d04)

{% hint style="info" %}
You may optionally configure a **delay** for evaluating the rule’s condition and/or l**imit the rule so that it is active only during selected time periods**. Click the expandable sections below to learn how to set these options.
{% endhint %}

<details>

<summary>Delay (optional )</summary>

Use the **delay feature** to avoid triggering alarms for short-term fluctuations. Check **Use delay in assessing the rule’s condition** and set a delay in minutes. The alarm will only trigger if the condition persists beyond this delay

</details>

<details>

<summary>Rule schedule (optional)</summary>

By default, every rule in Efento Cloud is active **24 hours a day, 7 days a week**. This means that any time the rule’s condition is met (regardless of day or hour) an alarm will be generated and notifications will be sent to assigned recipients.

However, in many real-world scenarios, you may want a rule to apply **only during specific time periods**. Examples include:

* Temperature monitoring required only during business hours
* Weekend-only supervision of storage areas
* Alarm rules that should be active outside working hours (e.g., "after-hours door opening")
* Rules that must be inactive during scheduled maintenance periods

The **Rule Schedule** feature allows you to precisely control *when* a rule is monitored and *when* notifications can be triggered.

**Enabling Scheduled Operation**

To limit a rule to specific days and times:

1. In the rule configuration window, check the box **Enable the rule only within the specified time ranges**.
2. A weekly table will appear, showing all days of the week and indicating when the rule is active.
3. Click **Add hours ranges** to define one or more time intervals during which the rule should operate.

**Defining Time Ranges**

When the **Add hours ranges** button is selected:

* Choose one or multiple days of the week.
* Define the time period during which the rule should be active (start and end hours).
* Click **Save** to add the interval.

<p align="center"> <img src="/files/b95aaa88da2c429614511d24a271a00417fa5d72" alt="" data-size="original"></p>

**Multiple intervals per day are supported.**\
This allows precise scheduling for complex work patterns or shift-based operations. Examples:

* **Business-day monitoring:**
  * Monday–Friday, 08:00–17:00
* **Out-of-hours monitoring:**
  * Monday–Sunday, 00:00–08:00
  * Monday–Sunday, 17:00–23:59
* **Shift-based activity:**
  * Monday–Sunday: 06:00–14:00, 14:00–22:00

Each defined range appears as a removable "chip" under the selected day(s). To remove a range, click the **“X”** icon in the chip.

**How Scheduled Rules Work**

Once schedules are configured, Efento Cloud will:

* Trigger alarms only during active periods
* Send notifications only when the rule is active
* Ignore threshold breaches that occur outside scheduled time windows
* Automatically resume monitoring once the scheduled active period begins again

This prevents unnecessary alerts and ensures alarms are raised only when relevant for your operational requirements.

{% hint style="info" %}
**Important Notes**

* Scheduled rules apply to **all devices assigned to the rule**.
* If a rule is disabled due to scheduling and an alarm occurs outside active hours, it **will not be recorded** and **no notifications** will be sent.
* If a measurement exceeds a threshold just before the scheduled time period begins, the alarm will be triggered immediately once the rule becomes active.
* If you need rules active 24/7, leave scheduling disabled (default).
  {% endhint %}

</details>
{% endstep %}

{% step %}

### Assign sensors

Once the rule is defined, you need to assign the sensors it applies to. This determines which devices will trigger the rule:

1. **Assign to all sensors in a location** – Automatically applies the rule to every sensor in the selected location, including sensors added in the future. This is useful for universal rules like *Low battery* or *Sensor lost*.
2. **Select individual sensors** – Allows you to choose specific sensors and channels. Navigate to **Select sensors**, click **Add sensors**, and select the desired devices and channels. This method provides precise control for rules that apply only to certain sensors.

Assigned sensors appear in the configuration summary. Remove sensors by clicking the **trash can icon**. Save the rule after assigning sensors. Existing rules can be modified anytime from the rule list.

![](/files/35a083c9e8f10faf07e5691f6157d7448026c323)
{% endstep %}

{% step %}

### Select notification recipients

To ensure that alerts reach the right people, you must assign recipients for each rule. Efento Cloud provides multiple notification channels, allowing flexibility in how users are informed:

* **Email** – Sent to the user’s registered email address
* **Phone call** – Automatically calls the user (requires phone number in Profile)
* **SMS** – Sent to the user’s phone number (requires phone number in Profile)
* **Push notification** – Sent to users with the Efento mobile app

{% hint style="danger" %}
To use push notifications, the recipient must install [Efento mobile application for Android](https://play.google.com/store/apps/details?id=pl.efento.cloud\&hl=en) and log into their Efento Cloud account
{% endhint %}

To activate notifications, click **Add recipients** and select the desired users. For each recipient, click **Select recipient**, then **Save**. You can then define notification channels for each recipient by clicking **Add notifications** and configuring how and when they are notified:

* **Notification delay** – Stagger notifications for escalation purposes. For example, the first user receives a push notification immediately, and another user receives a phone call if the alarm persists.
* **Notification channels** – Choose one or multiple channels: email, SMS, phone call, push.
* **Notification repetitions** – Determine how often notifications are resent while the alarm remains active.

![](/files/06442d4bbae447b85b761736b6ed854f98552999)

Multiple notifications can be added for the same user to create escalation workflows. **Email and push notifications are free**, while **SMS and phone call notifications** require a purchased message or call pool.

{% hint style="danger" %}
Phone call notification is repeated three times (5 minute gaps), if unanswered. If the user’s mobile phone is out of the network range or switched off they won’t get the notification. If the user has voicemail enabled, they also won’t be notified.
{% endhint %}
{% endstep %}

{% step %}

### (Optional) Add integrations

You can connect **Webhook** or **Slack** integrations to any alarm rule. When the rule is triggered, the platform will automatically send a message to the configured channel:

* [**Webhooks**](/efento-cloud/integrations/alert-webhooks) – Sends JSON data to a specified HTTP endpoint for third-party integration
* [**Slack**](/efento-cloud/integrations/slack-integration) – Sends messages to a Slack channel

To attach an integration to a rule, click **Connect integration**, choose the integration type (Slack or Webhook), and select the appropriate notification channel. If needed, you can also enable repeated notifications by checking **Repeat notifications** and defining how often the message should be resent while the rule remains active.

{% hint style="warning" %}
You must configure the integration in the [*Integrations*](/efento-cloud/integrations/measurement-webhooks) section before enabling it.
{% endhint %}
{% endstep %}
{% endstepper %}


# Gateway rules

### Status-based rules for gateways

Gateway rules in Efento Cloud enable you to monitor gateway statuses and automatically trigger alarms or notifications when specific conditions are met. These rules help ensure timely responses to critical events, improve system reliability, and allow for automated monitoring of your environment. Gateway rules are highly configurable, allowing you to define conditions, timing, recipients, and notification methods for each gateway or group of gateways.

All rule management options are available exclusively to users with **Administrator** or **Manager** permissions. Users with other roles can view alarms triggered by the rules but cannot access or modify the rules themselves.

## Types of gateway rules

Gateway rules can be triggered by several types of events, allowing you to monitor the operational status and health of your gateways. Each condition type serves a specific purpose and helps ensure continuous, reliable data transmission. The available rule conditions include:

* **Loss of connection with a gateway**\
  Triggered when Efento Cloud does not receive data from the gateway within the expected timeframe. This may indicate network issues, hardware failure, or power outages. Use this rule to be alerted immediately when a gateway goes offline so you can restore connectivity as soon as possible.
* **Power source change in LTE gateways**\
  LTE gateways are equipped with an internal backup battery. This rule is triggered when the device switches from the main power supply to the internal battery or back to main power. Such an alert helps you detect power interruptions or unstable electrical conditions in the monitored facility.
* **Low battery level in LTE gateways**\
  Triggered when the gateway’s internal backup battery reaches a low charge level. Although the battery is intended only for temporary backup operation (up to 8 hours), monitoring its status ensures it remains functional during unexpected power outages. This rule helps you maintain gateway readiness and prevent data loss during power-related events.

These rule types allow you to closely track gateway behavior and respond quickly to any operational issues.

To set up an alert rule for gateways, select *Rules and notifications* from the main menu and navigate to the *Gateways* tab and select the *Add rule* button located in the upper left corner of the screen.

The configuration process for these alert rules mirrors the configuration of alert rules for sensor statuses. This includes the ability to configure identical notification channels (SMS, push, email, phone call, webhooks), calendars, delays, and alert repetition. Rules can be assigned either to specific gateways or to all gateways within selected locations.

## Creating a gateway rule

Creating a gateway rule involves defining the conditions that trigger the alarm and configuring how it should behave. This section explains the step-by-step process to ensure the rule works as intended. To create a new rule click **Create new rule** in the upper-left corner of the **Gateways** tab.

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

{% stepper %}
{% step %}

### Define conditions

1. Enter a **rule name** (up to 50 characters) to easily identify it later.
2. Select the **event type** (stimulus) for the alarm.
   * Gateway is lost - triggered when Efento Cloud does not receive data from the gateway within the expected timeframe
   * Gateway battery level is low (LTE gateways only) - triggered when the gateway’s internal backup battery reaches a low charge level.
   * Power supply source has changed (LTE gateways only) - triggered when the device switches from the main power supply to the internal battery or back to main power.

![](/files/4ceed045ab0d6b032ea6d1e8c3df9715f630e050)

{% hint style="info" %}
You may optionally configure a **delay** for evaluating the rule’s condition and/or l**imit the rule so that it is active only during selected time periods**. Click the expandable sections below to learn how to set these options.
{% endhint %}

<details>

<summary>Delay (optional )</summary>

Use the **delay feature** to avoid triggering alarms for short-term fluctuations. Check **Use delay in assessing the rule’s condition** and set a delay in minutes. The alarm will only trigger if the condition persists beyond this delay

</details>

<details>

<summary>Rule schedule (optional)</summary>

By default, every rule in Efento Cloud is active **24 hours a day, 7 days a week**. This means that any time the rule’s condition is met (regardless of day or hour) an alarm will be generated and notifications will be sent to assigned recipients.

However, in many real-world scenarios, you may want a rule to apply **only during specific time periods**. Examples include:

* Temperature monitoring required only during business hours
* Weekend-only supervision of storage areas
* Alarm rules that should be active outside working hours (e.g., "after-hours door opening")
* Rules that must be inactive during scheduled maintenance periods

The **Rule Schedule** feature allows you to precisely control *when* a rule is monitored and *when* notifications can be triggered.

**Enabling Scheduled Operation**

To limit a rule to specific days and times:

1. In the rule configuration window, check the box **Enable the rule only within the specified time ranges**.
2. A weekly table will appear, showing all days of the week and indicating when the rule is active.
3. Click **Add hours ranges** to define one or more time intervals during which the rule should operate.

**Defining Time Ranges**

When the **Add hours ranges** button is selected:

* Choose one or multiple days of the week.
* Define the time period during which the rule should be active (start and end hours).
* Click **Save** to add the interval.

<p align="center"> <img src="/files/b95aaa88da2c429614511d24a271a00417fa5d72" alt="" data-size="original"></p>

**Multiple intervals per day are supported.**\
This allows precise scheduling for complex work patterns or shift-based operations. Examples:

* **Business-day monitoring:**
  * Monday–Friday, 08:00–17:00
* **Out-of-hours monitoring:**
  * Monday–Sunday, 00:00–08:00
  * Monday–Sunday, 17:00–23:59
* **Shift-based activity:**
  * Monday–Sunday: 06:00–14:00, 14:00–22:00

Each defined range appears as a removable "chip" under the selected day(s). To remove a range, click the **“X”** icon in the chip.

**How Scheduled Rules Work**

Once schedules are configured, Efento Cloud will:

* Trigger alarms only during active periods
* Send notifications only when the rule is active
* Ignore threshold breaches that occur outside scheduled time windows
* Automatically resume monitoring once the scheduled active period begins again

This prevents unnecessary alerts and ensures alarms are raised only when relevant for your operational requirements.

{% hint style="info" %}
**Important Notes**

* Scheduled rules apply to **all devices assigned to the rule**.
* If a rule is disabled due to scheduling and an alarm occurs outside active hours, it **will not be recorded** and **no notifications** will be sent.
* If a measurement exceeds a threshold just before the scheduled time period begins, the alarm will be triggered immediately once the rule becomes active.
* If you need rules active 24/7, leave scheduling disabled (default).
  {% endhint %}

</details>
{% endstep %}

{% step %}

### Assign gateways

Once the rule is defined, you need to assign the gateways it applies to. This determines which devices will trigger the rule:

1. **Assign to all gateways in a location** – Automatically applies the rule to every gateway in the selected location, including gateways added in the future.
2. **Select individual gateways** – Allows you to choose specific gateways. Navigate to **Select devices**, click **Add gateways**, and select the desired devices. This method provides precise control for rules that apply only to certain devices.

Assigned gateways appear in the configuration summary. Remove sensors by clicking the **trash can icon**. Save the rule after assigning sensors. Existing rules can be modified anytime from the rule list.

<figure><img src="/files/LFCnEgHTDbpRTNv4snj8" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Select notification recipients

To ensure that alerts reach the right people, you must assign recipients for each rule. Efento Cloud provides multiple notification channels, allowing flexibility in how users are informed:

* **Email** – Sent to the user’s registered email address
* **Phone call** – Automatically calls the user (requires phone number in Profile)
* **SMS** – Sent to the user’s phone number (requires phone number in Profile)
* **Push notification** – Sent to users with the Efento mobile app

{% hint style="warning" %}
To use push notifications, the recipient must install [Efento mobile application for Android](https://play.google.com/store/apps/details?id=pl.efento.cloud\&hl=en) and log into their Efento Cloud account
{% endhint %}

To activate notifications, click **Add recipients** and select the desired users. For each recipient, click **Select recipient**, then **Save**. You can then define notification channels for each recipient by clicking **Add notifications** and configuring how and when they are notified:

* **Notification delay** – Stagger notifications for escalation purposes. For example, the first user receives a push notification immediately, and another user receives a phone call if the alarm persists.
* **Notification channels** – Choose one or multiple channels: email, SMS, phone call, push.
* **Notification repetitions** – Determine how often notifications are resent while the alarm remains active.

![](/files/06442d4bbae447b85b761736b6ed854f98552999)

Multiple notifications can be added for the same user to create escalation workflows. **Email and push notifications are free**, while **SMS and phone call notifications** require a purchased message or call pool.

{% hint style="warning" %}
Phone call notification is repeated three times (5 minute gaps), if unanswered. If the user’s mobile phone is out of the network range or switched off they won’t get the notification. If the user has voicemail enabled, they also won’t be notified.
{% endhint %}
{% endstep %}

{% step %}

### (Optional) Add integrations

You can connect **Webhook** or **Slack** integrations to any alarm rule. When the rule is triggered, the platform will automatically send a message to the configured channel:

* [**Webhooks**](/efento-cloud/integrations/alert-webhooks) – Sends JSON data to a specified HTTP endpoint for third-party integration
* [**Slack**](/efento-cloud/integrations/slack-integration) – Sends messages to a Slack channel

To attach an integration to a rule, click **Connect integration**, choose the integration type (Slack or Webhook), and select the appropriate notification channel. If needed, you can also enable repeated notifications by checking **Repeat notifications** and defining how often the message should be resent while the rule remains active.

{% hint style="warning" %}
You must configure the integration in the [*Integrations*](/efento-cloud/integrations/measurement-webhooks) section before enabling it.
{% endhint %}
{% endstep %}
{% endstepper %}


# Editing sensor configuration

The **Edit sensor** button, located in the upper-right corner of the sensor view, allows **Administrators and Managers** to modify configuration, location, and operational settings for any selected sensor.

![](/files/5592c71cc1e1aac39590e497ef555e9c41038084)

## Changing Location

To move a sensor to a different location, select **Change location** from the edit menu. In the window that appears, choose the new location and click **Save**. The sensor will immediately be reassigned.

## Renaming a Sensor

To rename a sensor, select **Rename** from the edit menu. Enter the new name in the dialog box and click **Save** to apply the change.

## Swapping a Sensor

The **sensor swapping** feature allows you to replace a device without losing measurement history or interrupting monitoring. This is especially useful during periodic calibration, sensor replacement, or when upgrading hardware. Swapping keeps all configuration settings - such as alarm rules, automatic reports, integrations (e.g., webhooks), and formulas - intact. The new sensor immediately begins sending data using the original configuration, and the swap is logged in **Audit trails**. No additional license is required to perform sensor swapping.

**Swapping a Bluetooth Sensor**

For Bluetooth sensors, swapping can be done entirely from the Efento Cloud interface.

1. **Turn on the replacement sensor** and place it within the communication range of the gateway.
2. In Efento Cloud, open the sensor you want to replace and select **Swap device** from the edit menu.
3. Choose the replacement sensor from the list of available Bluetooth devices.

Once completed, all configuration settings are automatically transferred, and the new sensor takes over seamlessly.

**Swapping an NB-IoT Sensor**

NB-IoT sensors require activation and configuration through the **Efento Mobile Application**. Therefore, the swapping workflow uses the app instead of the Cloud interface.

1. Open the Efento mobile app, locate the sensor you want to replace, and **press and hold (long-click)** on it.
2. Select **Swap sensor** from the menu.
3. Follow the on-screen steps to activate the SIM card, configure the replacement sensor, and complete the swap.

After the process is finished, the replacement NB-IoT sensor automatically downloads configuration from Efento Cloud, continues measurements using the previous settings, and resumes data transmission normally.

<figure><img src="/files/7ApSgHsuZdSrNj9QTrXb" alt=""><figcaption></figcaption></figure>

## Formula Settings

For analog (4–20 mA / 0–10 V) sensors and pulse counters, you can modify the measurement conversion formula.\
If a formula already exists, a **Redefine** button appears. This allows the formula to be reapplied to the channel of a newly swapped sensor. For details on creating and managing formulas, refer to the [*Formulas*](broken://pages/x9zVgllFe45R0BzJ4W76) chapter.

![](/files/1e208a806ec4e2eae9988045a2d2465f6c10eb02)

## Remote Configuration of NB-IoT Sensors

NB-IoT sensors support remote configuration. To adjust their settings, select **Edit configuration** from the edit menu.\
A dialog displays the current parameters in the **Current** column. To apply changes, enter new values in the **Expected** column and save. Updated settings are applied the next time the sensor connects to the server (indicated by a synchronization icon).

You can modify:

* **Measurement interval -** Defines how often the sensor takes readings (in seconds). Minimum values depend on the sensor type.
* **Transmission interval -** Defines how often recorded data is sent to Efento Cloud (300–604,800 seconds). A warning appears if set below 1 hour, as this increases battery consumption.
* **ACK interval -** Determines how often the server confirms data transmission.
  * **Always** (recommended): every transmission is confirmed.
  * **Custom**: choose an interval (300–2,592,000 seconds). Larger intervals can extend battery life but increase the risk of lost data.
* **BLE turnoff time -** Enables remote control of the sensor’s Bluetooth interface.
  * **Always on**: Bluetooth remains available for mobile app access.
  * **Custom**: Bluetooth stays enabled for a defined period (60–604,800 seconds) after turning on the device, then turns off to save battery.

{% hint style="warning" %}
**Important:** When you swap a sensor, the replacement device automatically downloads and applies the configuration of the original one.
{% endhint %}

![](/files/d64d025a8a9e6abd19ecd159b5ece9b4525f9d6a)

## Disabling and Enabling Sensors

Sensors can be temporarily deactivated by selecting **Disable** from the edit menu.\
When disabled:

* Measurements are not saved,
* Webhooks are not triggered,
* Alarms are not generated.

The sensor status changes to **Disabled** until you re-enable it by clicking **Enable**.

## Archiving and Deleting Measurement Points

Efento Cloud allows you to archive or permanently delete measurement points:

#### **Archiving**

Removes a measurement point from the dashboard, reports, rules, and other areas, but **keeps its historical measurements**.\
Archived measurement points:

* Do not require licenses,
* Can be reassigned to new sensors,
* Remain available for viewing under Dashboard → Filters → *Archived*.

Archived measurement points can also be restored by selecting **Add sensor** and choosing a device to attach to the measurement point.

#### **Deleting**

Permanently removes the measurement point **and all associated data**. This action cannot be undone. A measurement point must be archived before it can be deleted.

Actions are available via the **Archive** or **Delete** options in the edit menu.&#x20;

## Calibration Reminder

For devices with calibration certificates, you can set a reminder to notify you when calibration is due. Options include:

* Reminder **24 months** after certificate issue,
* Custom interval (any number of months),
* No reminders.

Email notifications are sent one month before, and again on, the expiration date. Recipients are managed in the **Notification Manager**.

## Batch Actions

Administrators and Managers can perform edits on multiple sensors at once from the Dashboard:

1. Click **Batch actions** in the upper-left corner of the sensor table.
2. Select the sensors you want to modify.
3. Choose an action:
   * **Remove**,
   * **Change location**,
   * **Archive sensors**.

Batch actions make managing large sensor groups faster and more efficient.

![](/files/9b08ab9ea1a44d92d2417fc3be705c89c88c911f)


# Automatic reports

Efento Cloud allows users to receive **automatically generated measurement reports** delivered directly to their email inbox. Reports can be generated as **PDF files** (table or chart format) or **CSV files**, and can include sensor measurements along with key events such as **threshold exceedances, communication loss, or low battery alerts**.

Only users with **Manager** or **Administrator** permissions can configure automatic reports. However, these reports can be delivered to **any user within the same Efento Cloud organisation**, regardless of their permission level.

To open the configuration panel, click **Settings** (gear icon) in the left-hand menu and select **Automatic reports**.

![](/files/96bc0dffa5a3ce6ebaa4b402088350fb1f7784b0)

## **Schedule a New Report**

Click **Schedule new report** located in the upper-left corner of the Automatic reports table to begin configuring a new report.

{% stepper %}
{% step %}

### **Define Report Details**

Provide the basic information for your report:

* **Report name** – Enter a descriptive name that will help you identify the report later.
* **Recipients** – Click **Add recipients +** and select one or more users from the list.\
  All users in your organization—regardless of permission level—can receive automatic reports.

![](/files/7739e7f041e845d5e1e31ca75c385383f3fcd826)
{% endstep %}

{% step %}

### **Select the Sensors**

Choose which sensors will be included in the report:

* Click **Add sensors**.
* Select **up to 10 sensors** to include in the report.
* If your organization has many sensors, use the **search bar** above the table to quickly find a device by name or serial number.
* When finished, click **Next** to proceed.

![](/files/5c2e14b39174311d22673919f96b5770434c35af)
{% endstep %}

{% step %}

### **Set the Report Format and Frequency**

1. Choose one of the following:
   1. **PDF (chart)** – Presents data as easy-to-read graphs, ideal for visual trend analysis.
   2. **PDF (table)** – Shows measurements in a structured table.\
      To reduce the report size, you may export **every measurement**, or **every 5th, 10th, 20th, 120th, or 240th measurement**.
   3. **CSV** – Exports raw data suitable for spreadsheet or analytical tools.\
      To reduce the report size, you may export **every measurement**, or **every 5th, 10th, 20th, 120th, or 240th measurement**.
2. Select how often the platform should send the report:
   1. **Daily** – Sends a report every day with data from the previous 24 hours.
   2. **Weekly** – Sends one report per week summarizing the selected week.
   3. **Monthly** – Sends one report each month containing data for the entire previous month.
3. Optionally, you can include information about exceeded alarm thresholds by selecting the corresponding checkbox.

![](/files/e702dbe8642ec6f4a1c9208ab6a437dfc3d66cf9)

Click **Save** to finalize the configuration. The report becomes active immediately and will be generated and emailed automatically according to the selected schedule.
{% endstep %}
{% endstepper %}

## Managing automatic reports

All configured automatic reports are listed in the Automatic reports section. This view provides several tools to help you manage and organize reports efficiently, especially in larger deployments.

#### **Filtering reports**

You can filter the list of reports using the options above the table. Reports can be filtered by:

* **Report type** (PDF table, PDF chart, CSV)
* **Schedule** (daily, weekly, monthly)
* **Owner** (the user who created the report)

These filters make it easier to locate specific reports or review all reports configured by a particular user.

#### **Editing, cloning and deleting reports**

For each report listed in the table, the following actions are available on the right side:

* **Edit (pencil icon)** – Opens the report configuration so you can update recipients, sensors, format, or schedule.
* **Clone (copy icon)** – Creates a duplicate of the selected report with the same settings. This is useful when you want to create similar reports for different locations or users.
* **Delete (trash can icon)** – Permanently removes the report from the system.

#### **Enabling and disabling reports**

Each report has an activation switch.

* Toggle the switch **off** to temporarily disable the report. When disabled, it will not be generated or sent, but all settings remain saved.
* Toggle the switch **on** to reactivate the report.

This allows you to pause reporting during holidays, maintenance periods, or when sensors are temporarily not in use—without deleting the configuration.

![](/files/7a9c04d4595e6f4ecee65dd3792f5e5988b9e312)


# Access - Users / API tokens

The **Access** section in Efento Cloud is designed for **user and API token management** and is **available only to Administrators**. It provides full control over who can access your Organization, what permissions they have, and which locations they can access.

Within the Access section, Administrators can:

* [**Manage Users**](/efento-cloud/advanced/editor/users)**:** Add new users, assign permission levels (Administrator, Manager, Analyst), define location access, edit existing users, or revoke access.
* [**Manage API Tokens**](/efento-cloud/advanced/editor/api-tokens)**:** Create and manage API tokens for third-party applications to access Efento Cloud data in a **read-only** mode. This includes specifying locations the token can access, editing, deactivating, or deleting tokens.

By centralizing user and API token management in one location, the Access section ensures that Administrators can securely control access to sensitive data and integration points within the Organization.


# Users

In Efento Cloud, **user permissions** are used to control what actions each user can perform within an Organization. This ensures that users can only access the features and data that the Organization owner or administrators intend them to. By assigning appropriate permission levels, you can protect sensitive data, manage sensors and alarm rules securely, and maintain overall control of the Organization’s settings. Within an Efento Cloud Organization, users can be assigned one of three permission levels: **Administrator**, **Manager**, or **Analyst**.

* The **creator of the Organization** is automatically granted **Administrator** permissions, with full access to all locations and features.
* Additional users can be **invited** to join the Organization. When inviting a user, you can assign their **permission level** and define which **locations** they can access, ensuring data security and controlled access.

The table below provides an overview of the **platform functions available to each permission level**.

|                                                                    | Administrator | Manager | Analyst |
| ------------------------------------------------------------------ | ------------- | ------- | ------- |
| **Dashboard preview**                                              | **✔**         | **✔**   | **✔**   |
| **Generating reports**                                             | **✔**         | **✔**   | **✔**   |
| **Alarm preview**                                                  | **✔**         | **✔**   | **✔**   |
| **Configuration of automatic reports**                             | **✔**         | **✔**   | **✘**   |
| **Configuration of alarm rules**                                   | **✔**         | **✔**   | **✘**   |
| **Sensors, structures and location maps configuration**            | **✔**         | **✔**   | **✘**   |
| **Integrations (Webhooks / Slack)**                                | **✔**         | **✔**   | **✘**   |
| **Formulas / custom measurement types**                            | **✔**         | **✔**   | **✘**   |
| **Archiving measurements**                                         | **✔**         | **✔**   | **✘**   |
| **Notification manager**                                           | **✔**         | **✔**   | **✘**   |
| **SIM card manager**                                               | **✔**         | **✔**   | **✘**   |
| **Editing of permissions, adding and removing users / API tokens** | **✔**         | **✘**   | **✘**   |
| **System logs preview**                                            | **✔**         | **✘**   | **✘**   |
| **Organization account management**                                | **✔**         | **✘**   | **✘**   |

Efento Cloud allows **Administrators** to manage users, including adding new users, modifying permissions, and revoking access within an Organization. To manage users, select the **Settings** icon (gear) in the left-hand menu, then choose **Access**.

![](/files/33c8a0ed4966b1af217371a9dc09d6b4d3a8530f)

## **Adding New Users**

New users can be added via the **invitation system**:

1. Click **Add new user** in the top-left corner of the table
2. Enter the user’s **email address** and assign a **permission level**
3. Choose the **locations** that the user is allowed to access.

The invited user will receive an email invitation to join your Organization. If they do not yet have an Efento Cloud account, they will need to create one first. You can invite multiple users at once and assign different permissions as needed.

{% hint style="warning" %}
**Note:** Administrator permissions provide full control over users, sensors, alarm rules, and Organization settings. Assign these privileges only to trusted individuals.
{% endhint %}

* Invited users appear in the **Awaiting Invitations** tab with a **"Sent"** status, indicating the invitation email has been sent but not yet accepted.
* Once the invitation is accepted, the user moves to the **Users** tab.
* If the invitation is declined, the status changes to **"Refused"**.

### Best practices for assigning Efento Cloud permissions

To maintain the highest security and operational efficiency, it is vital to follow the principle of Least Privilege when assigning roles. This means users should only be granted access to the specific data and features necessary to perform their job. When adding new users and assigning privileges on the platform, remember these two crucial best practices:

* **Avoid assigning Administrator / Manager permissions to all users**. Only assign Administrator or Manager permissions to users who are fully aware of the platform’s comprehensive features, as these roles wield significant control over sensors, data, and system-level configuration. Remember that Administrator rights, in particular, grant full control over users, sensors, alarm rules, and the Organisation’s account, and should therefore be reserved for highly trusted personnel only.
* **Assign the permission only to selected locations**. It is a fundamental best practice to assign a permission level and grant access based on specific locations within the organisation’s structure. This ensures that, for instance, a Manager responsible for a specific warehouse can configure sensors in that location but has no visibility or control over another facility.

## **Editing user's permissions**

The table displays all users with access to your Organization and their assigned **permission levels**.

* To **edit a user's permissions**, click the **pencil icon** on the right side of the table. You can adjust the user’s permission level and specify which locations within the Organization they can access.
* To **revoke a user’s access**, click the **pencil icon** and uncheck all locations assigned to that user. This will remove their access to your Organization, but it will **not** delete their Efento Cloud account. Full account deletion can only be performed by the user themselves (see section *Changing the username, language, and password, and deleting the account*).

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

## **Exporting Users List**

To export a list of all users in your Organization, click **Export users list** in the upper-left corner of the table. A PDF file will be sent to the email address associated with your Efento Cloud account.

![](/files/59416947ba2a2c4da608ac296175ed979c0fa272)


# API tokens

API tokens allow third-party applications to access Efento Cloud data in a **read-only** mode. This includes measurement points, measurements, and alerts, while maintaining security and control over your Organization’s data. **Only users with Administrator permissions can create and manage API tokens.**

**Creating a New API Token**

1. Click the **Settings** icon (gear) in the left menu and select **Access**.
2. Navigate to the **API Tokens** tab.
3. Click **Add API Token**.
4. Specify the **location** the token will have access to.

Once created, the API token value will be displayed in the **API Tokens** list.

**Managing API Tokens**

* **Edit:** Click the **pencil icon** to change the location(s) the token can access.
* **Delete:** Click the **trash can icon** to permanently remove the token.
* **Deactivate:** Toggle the switch in the **Actions** column to temporarily disable the token without deleting it.

![](/files/214e12b6832bd90d0c6ad1c0b22cd90c3b42e23a)

Documentation of API endpoints along with information how to retrieve the data is available in the [API integration](/efento-cloud/integrations/api-integration) section.


# Custom dashboards

The "Monitoring Zone" module in the Efento Cloud platform allows for the flexible design of personalized dashboards. This solution enables the simultaneous observation of key measurement data, device statuses, and active alarms from selected locations in a way that is tailored to the specific operational needs of the company.

{% hint style="info" %}
**A maximum of 5 dashboards can be configured for each organization**. Dashboards are **visible to all users**, but only users with **Administrator and Manager** permissions can edit them.
{% endhint %}

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

### First launch and initialization

Upon entering the module for the first time (indicated by the four squares/tiles icon in the main menu), the system displays a welcoming configuration screen with the message *"Monitor as you need"*.

To start working with the module, click the central "Add first dashboard" button.

### Choosing the creation mode (templates vs. project from scratch)

After clicking the add button, the system will open a dashboard creation dialog box offering five options:

* **Create dashboard from scratch**: A blank workspace where the user independently defines the layout and type of all tiles.
* **Monitor a large organization**: A template optimized for accounts with more than 20 loggers. It utilizes ready-made *Location Status* and *Alarms* tiles.
* **Learn when to react**: A template focused on diagnosing errors and critical situations. It aggregates tiles that inform about alarm states and incidents.
* **Monitor a large organization with maps**: A layout designed for distributed infrastructure (over 20 loggers), combining *Location Status* with an interactive *Object Map*.
* **Overall organization overview**: Dedicated to smaller infrastructures (up to 20 devices). It automatically deploys *Location Status* tiles and a direct preview of the current *Measurement*.

<figure><img src="/files/2z3Cad04yZOMk3X0GrAs" alt=""><figcaption></figcaption></figure>

### Dashboard parameterization and permissions

After selecting a template or a project from scratch, the user proceeds to the metadata configuration window:

* **Select location**: Select the physical location from the drop-down list from which data will be presented on this dashboard.

{% hint style="info" %}
**Note**: The dashboard will filter and display data (alarms, loggers, statuses, maps) *exclusively* from the location selected here.
{% endhint %}

* **Dashboard name**: Enter a unique identification name (e.g., "Cold Rooms – Main").
* **Who can edit this dashboard**: The system informs about the default access rights. Permissions to modify the tile layout and settings are held exclusively by the following roles: Owner, Administrator, and Manager.

Once the fields are filled out, the "**Add dashboard >"** button in the lower right corner will become active.

### Configuration and adding widgets

After creating a blank project or while editing an existing dashboard (via the "Edit dashboard" button in the upper right corner), the user clicks the "**Add widget**" button. The system displays a component selection window:

* **Measurement**: Displays the current, numerical value from the selected logger (e.g., current temperature). When configuring this tile, the user can select which specific logger it should apply to.
* **Line chart (data from the last 24 hours)**: Presents the historical progression of parameter changes from the logger in the form of a time chart from the last 24 hours. When configuring this tile, the user can select which logger it should apply to. If the logger has more than one channel, it is possible to select which channels should be presented on the chart.
* **Location status**: Generates a donut chart summarizing the health of the devices (the number of devices operating correctly, lost, in an alarm state, or without a valid license). When configuring this tile, the user can choose which location it should apply to and which statuses should be visible on the chart.
* **Alarms**: Displays a tabular list of threshold breach events and failures in real time. When configuring this tile, the user can choose whether to present active or inactive alarms. If inactive alarms are selected, it is additionally possible to choose the time range (last 24 hours, last 7 days, last 30 days).
* **Text**: Allows the user to add a custom header, subtitle, or instructions for personnel. It is used to organize the dashboard into logical sections.
* **Map**: Embeds a map / room blueprint with sensor markers superimposed, making it easier to locate devices in the field. When configuring this tile, the user can specify the content of the markers (name, serial number, status, measurement value).

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

### Working with a ready dashboard

A fully configured monitoring zone allows for multitasking and quick situation assessment:

#### Navigation between dashboards (tabs)

At the top of the screen, the system generates a convenient tab system. The user can instantly switch between different dashboards. A new tab can be added at any time using the "**+**" button.

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

#### Control tools

In the upper right corner of the active dashboard, quick management buttons are available:

* **Refresh**: Forces an immediate download of the latest data packets from the server. Dashboards automatically refresh every 10 minutes.
* **Edit dashboard**: Launches the reconfiguration mode, allowing the user to change the position of tiles, delete them, or add new widgets. Additionally, it is possible to rename or delete the dashboard.

<figure><img src="/files/9Rb6qP6HLqHYT8vgE3JK" alt=""><figcaption></figcaption></figure>

#### Editing tiles

Tile editing is accessible after entering the dashboard editing mode. Once editing is complete, the changes must be saved by clicking the "**Save**" button or discarded by clicking "**Discard changes**". The following functions are available in the editing mode:

* **Moving tiles** – Press and hold the four-arrows icon to change the position of a tile. Tiles can be moved freely. When a tile is moved, the remaining tiles will adjust their positions automatically.<br>

  <figure><img src="/files/4bcRhKb4RY5fqOrROgXX" alt="" width="375"><figcaption></figcaption></figure>
* **Resizing a tile** – Press and hold the arrow on the side / bottom right corner of a tile to increase or decrease its size.<br>

  <figure><img src="/files/CTDPDGDD82GnNiIJJItR" alt=""><figcaption></figcaption></figure>
* **Editing a tile** – Changes the parameters of the selected tile; the scope of editing depends on its type. To enter the tile editing mode, select the three dots in its upper right corner and then choose "**Edit**".
* **Duplicating a tile** – Duplicates the selected tile for subsequent editing. To enter the tile duplication mode, select the three dots in its upper right corner and then choose "**Duplicate**".
* **Deleting a tile** – Removes the selected tile from the dashboard. To delete a tile, select the three dots in its upper right corner and then choose "**Delete**".

<figure><img src="/files/rVFb4uMGf4pCwSffBisR" alt="" width="375"><figcaption></figcaption></figure>


# Device information

The **Device information** section provides an overview and detailed information about NB-IoT sensors and Efento Gateways. This section is accessible only to users with **Manager** or **Administrator** permissions. To open Device Management, click the **gear icon** in the menu bar and select **Device information**.&#x20;

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

The content of the **Device information** section adapts to the devices present in your organization. If your organization has **Efento Gateways**, a **Gateways** tab will be displayed. If it includes **NB-IoT sensors**, the **NB-IoT Sensors** section will be shown.

## NB-IoT sensors

![](/files/fd539e4dfb785d38cf0f358efd1dd82e2f2540bf)

Information located in the NB-IoT tab:

* **Firmware** - device firmware version,
* **Cell ID (Hex) /  TAC / PCI** - parameters allowing to determine the base station providing NB-IoT communication,
* **Band** - used by the device to send the data via the NB-IoT network,
* **NB-IoT signal quality** - the values of the following parameters are highlighted in different colors depending on the range they fall within (<mark style="color:green;">**green - very good**</mark>**,&#x20;**<mark style="color:yellow;">**yellow - medium**</mark>**, red - poor**)
  * RSRP - <mark style="color:green;">**> -102**</mark>**&#x20;|&#x20;**<mark style="color:yellow;">**from -102 to -110**</mark>**&#x20;|&#x20;**<mark style="color:red;">**< -110**</mark>
  * RSRQ - <mark style="color:green;">**> -9**</mark>**&#x20;|&#x20;**<mark style="color:yellow;">**from -9 to -11**</mark>**&#x20;|&#x20;**<mark style="color:red;">**< -11**</mark>
  * RSSI - <mark style="color:green;">**> -75**</mark>**&#x20;|&#x20;**<mark style="color:yellow;">**from -75 to -84**</mark>**&#x20;|&#x20;**<mark style="color:red;">**< -84**</mark>
  * SINR - <mark style="color:green;">**> 10**</mark>**&#x20;|&#x20;**<mark style="color:yellow;">**from 10 to 8**</mark>**&#x20;|&#x20;**<mark style="color:red;">**< 8**</mark>
  * ECL - <mark style="color:green;">**0**</mark>**&#x20;|&#x20;**<mark style="color:yellow;">**1**</mark>**&#x20;|&#x20;**<mark style="color:red;">**2**</mark>
* **TX power** - current transmitting power of the NB-IoT module,
* **Battery voltage** - the last measured voltage of the sensors’ battery (the battery qualifies for replacement when its voltage drops below 2.7V),
* **Received at** - Timestamp of the received device information,
* **History** - allows you to view the above-mentioned historical data. The window view is shown in the screenshot below.

![](/files/c956bac8dcf908c02e8b657e3fb938c6f7900859)

## Gateways

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

The "**Gateways**" tab enables full supervision over the operation of base stations, which are responsible for receiving data from Bluetooth (BLE) loggers and transmitting it to the cloud platform.

To navigate to this view, select the devices section from the main menu, and then click the "**Gateways**" tab on the top toggle switch (next to the *NB-IoT* tab).

#### Filtering and sorting the list

At the top of the table, directly next to the MAC column header, there are utility icons:

* **Magnifying glass icon (Search)**: Allows for a quick filtering of a specific base station by entering its MAC address.
* **Arrow icon (Sorting)**: Allows for alphabetical sorting of devices up or down based on the MAC address or the date of the last update.

#### Table columns

The table contains key diagnostic metrics for each gateway:

* **MAC**: Unique hardware identification address of the device (serial number). It is crucial when verifying a physical device against its representation in the system.
* **Location**: The name of the location or sub-location to which the base station has been assigned.
* **Status**: Current operational state of the device. The "LOST" label (orange color) indicates that the base station has not established contact with the Efento Cloud server for a long time and requires on-site verification at the installation location.
* **Cellular signal**: Informative of the connection quality with the LTE cellular network. Clicking on the value opens a window displaying a history of parameters related to the LTE signal quality (RSSI, RSRP, RSRQ, SINR) over time.<br>

  * A crossed-out antenna icon with a "No connection" message indicates a complete lack of network signal.
  * The status "n/a" (not applicable) appears for devices operating exclusively on an Ethernet network.

  <figure><img src="/files/kQ899iLNQhkwvFFJajOD" alt="" width="563"><figcaption></figcaption></figure>
* **Loggers in range**: The number of wireless Efento sensors from which the given base station is currently receiving data packets. Clicking the "Check details" link expands a full list of associated loggers along with information on the connection quality between the logger and the gateway. Additionally, it is possible to display a list of devices within the gateway's range that have not yet been added to the organization in Efento Cloud.<br>

  <figure><img src="/files/XAeFZzMghEzAaKl5N1OR" alt="" width="563"><figcaption></figcaption></figure>
* **Power supply**: Presents the current status of the power source and the condition of the internal battery:
  * **Charging** (plug icon): The device is correctly connected to a permanent mains power supply.
  * **Percentage indicator** (e.g., 12%, 15%): No mains power supply – the device is running on backup (battery) power. A low level (below 20%) requires immediate connection of the power adapter.
* **Updated**: The exact date and time of the last received control packet (ping) from the base station.

#### Available actions and device management

On the right side of each row, there are operational buttons that allow for interaction with a specific gateway:

* **Device details**: Clicking this link opens a dialog where information about the firmware version and device model is available.
* **Pencil icon (Edit)**: Allows the gateway to be assigned to a selected location.
* **Trash can icon (Delete)**: Allows for the complete removal of the base station from the organization's account in Efento Cloud. Note that this option only applies if the gateway is inactive; if you remove the gateway from an organization, it will automatically be added back to the list upon its next data transmission.


# Audit trail

The Audit Trail provides a comprehensive record of all changes made within your Efento Cloud Organization. It is accessible only to users with **Administrator** permissions and helps track modifications across sensors, locations, reports, rules, and user or organization settings. The Audit Trail ensures transparency and accountability, allowing administrators to monitor who made changes, what was changed, and when.\
To access the Audit Trail, select **Settings** (the gear icon) from the left-hand menu, then choose **Audit Trail**.

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

## **Audit trail entry details**

Each entry in the Audit Trail contains detailed information about a specific action performed within the organization:

* **Date** – the exact date and time when the action was taken
* **User** – the individual who performed the action
* **Action type** – the nature of the change, such as Added, Updated, Removed, Activated, Disabled, Notified, or Expired
* **Object** – the item affected by the action (e.g., sensor, location, report, rule, or user)
* **Parameter changes** – the values of the object before and after the modification

To view the complete history of any object, click the **history icon** (![](/files/b35dc7c03b53d4d8cfb5dddb8bb2c842d7547322))  next to its name. This opens a log showing all changes made to the object since its creation, including timestamps for each modification, enabling full traceability and accountability.

![](/files/1e1f85178154515a8b144b82e735f7f582912d84)

You can search and filter the Audit Trail to quickly find relevant entries. The list can be filtered by the **user** who performed the action (use search bar in the User column), by the **type of object** (e.g., sensors, locations, reports, rules, or users), or by the **action type** (Added, Updated, Removed, Activated, Disabled, Notified, or Expired). Additionally, you can define a **time range** to display only the logs recorded within a specific period, helping you focus on the changes that matter most.

### Exporting the Audit trail

To export the Audit Trail, click the **Export logs list** button. A PDF file containing the audit logs will be sent to the email address associated with your Efento Cloud account.


# Organization settings

To modify Organization settings, open **Settings** (the gear icon) from the menu on the left and select **Organization settings**. These options are available exclusively to users with **Manager** or **Administrator** permissions.

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

In the Organization settings the user can:

* change the name of the Organization,
* view the Organization Token,
* add Activation Token,
* [Add Bluetooth Low Energy sensors](/efento-cloud/adding-devices/bluetooth-low-energy-loggers),
* manage [Licenses](/efento-cloud/advanced/organization-settings/license-manager),
* manage [SIM cards](/efento-cloud/advanced/organization-settings/sim-cards-manager),
* manage [Notifications settings](/efento-cloud/advanced/organization-settings/notification-manager),
* [top up the SMS / phone calls pool](/efento-cloud/advanced/organization-settings/topping-up-the-sms-phone-call-pool),
* manage [Channel formulas](/efento-cloud/advanced/organization-settings/channel-formulas),
* manage [Custom measurement types](/efento-cloud/advanced/organization-settings/custom-measurement-types),
* manage [Integrations](/efento-cloud/advanced/organization-settings/integrations),
* change the [Theme settings](/efento-cloud/advanced/organization-settings/theme-settings) for this Organization.


# License manager

To use sensors in Efento Cloud, each device must have an active license. Licenses are activated within the Efento Cloud platform using an **Activation Code** provided by Efento. When placing an order, customers specify the number of sensors and the desired license duration. A single Activation Code can generate multiple licenses. For example, ordering five sensors may result in one Activation Code, which, when entered into Efento Cloud, will enable the addition and usage of all five sensors for the specified license period (e.g., two years).

Using the License Manager, users with **Manager** or **Administrator** permissions can easily monitor license status, expiration dates, and manage license assignments across all sensors in their organization, ensuring seamless operation of the Efento Cloud platform.

## Adding Licenses

Efento Cloud prompts you to enter an Activation Code that provides licenses during the onboarding process. Additional Activation Codes can be added at any time through the **Organization Settings**. To add a license:

1. In the Organisation settings click the **Open** button next to **License Manager**.
2. Press the **Add** button and enter the Activation Code provided by Efento.

Once the code is successfully added, the **Licenses left** value will increase, allowing you to assign sensors to Efento Cloud.

## License Lifetime

Each license has a predefined lifetime, which determines the period during which the assigned sensor can send data to Efento Cloud. When the license expires:

* New measurements from the sensor will no longer be saved or processed.
* Historical measurements and previously triggered alerts remain accessible.

Efento Cloud sends notifications about expiring licenses [to the selected users via email](/efento-cloud/advanced/organization-settings/notification-manager):

* 1 month before the expiration date
* On the expiration day

To continue using a sensor with an expiring license, you must provide a new Activation Code. If there are unassigned licenses available, Efento Cloud will automatically renew the license for the sensor.

## Managing Licenses

The **License Manager** provides a complete overview of all sensors and their assigned licenses.

![](/files/7b6618fb8e4680a5fe3e815b6b257d4c15e3281b)

The list contains the following information:

* **Sensor serial number / name**
* **Activation date** – the date the sensor was assigned to a license; license lifetime starts from this date
* **Expires at** – license expiration date and the number of days remaining
* **Key** – license key assigned to the sensor; if a single license key covers multiple licenses, the number of licenses assigned is shown in brackets

On top of that, there are two additional columns in the licences table:

* **Add License (“+” button next to each sensor)** – Manually assign a license key to a specific sensor. A sensor can have multiple licenses queued, and once the current license expires, the next one will be applied automatically.
* **Auto Renewal** – When enabled, Efento Cloud automatically assigns a new license from the available licences pool to a sensor when its current license expires. This feature is enabled by default, ensuring uninterrupted operation. To maintain continuous service, users only need to enter new Activation Codes before the existing ones expire.


# SIM cards manager

Efento NB-IoT sensors can be equipped with special SIM cards that operate across **32 countries**. These SIM cards are designed exclusively for Efento NB-IoT devices and can be used to send data either to **Efento Cloud** or to **any external server** of your choice.

Regardless of where your NB-IoT sensors report their data, the **SIM Card Manager** provides you with a complete overview of all your SIM cards and their operational status. Through this panel, you can access key information, including SIM card status and activation / expiry dates.

In addition to viewing details, the SIM Card Manager enables you to **activate SIM cards** and **renew their validity**, either **manually** or **automatically**, ensuring uninterrupted sensor operation.

The SIM Card Manager is available to users with **Administrator** or **Manager** permissions and can be accessed from the **Organization settings** menu.

## SIM cards details

The SIM Card Manager contains detailed information about all SIM cards installed in NB-IoT Efento sensors assigned to your Organization. It can be accessed from the Organization Settings and provides full visibility into the status, usage, and validity of each SIM card.

![](/files/9efb32ca8b8163c0c36583678b25d126e4bd8e1a)

The following information is available for every SIM:

* **ICCID – Unique SIM Card Number**\
  The ICCID (Integrated Circuit Card Identifier) is a globally unique number assigned to each SIM card. It allows you to identify, manage, and track SIM cards across your organization.
* **Sensor Details – Device Name and Serial Number**\
  For each SIM card, the manager displays the name and serial number of the Efento NB-IoT sensor in which the SIM card is currently installed. This helps you quickly determine which device is using a particular SIM, simplifying diagnostics, replacements, or inventory management.
* **SIM Status – Active, Deleted, Blocked, or Expired**\
  The SIM card manager shows the current operational state of each SIM:
  * **Active** – The SIM is fully functional, registered in the operator’s network, and able to transmit NB-IoT data. No action is required.
  * **Blocked** – The SIM has been manually or automatically blocked. It cannot connect to the operator network or send data. Blocking may occur due to security reasons, misuse, or administrative actions. A blocked SIM can typically be unblocked by the [Efento support team](https://help.efento.io/).
  * **Deleted** – The SIM has been permanently removed from your account or subscription pool. Deleted SIM cards cannot be reactivated and are no longer usable in sensors.
  * **Expired** – The SIM’s subscription period has ended. Once expired, the card becomes inactive and cannot send data. The system displays an “Expired” label in addition to the expiration date. Expired SIM cards cannot be reactivated and are no longer usable in sensors
* **Activation Date**\
  The date on which the SIM was activated and became operational in the NB-IoT network. This helps track subscription cycles, billing periods, and expected renewal timelines.
* **Expiration Date**\
  The date when the SIM’s service period ends. After this date, the SIM stops transmitting data unless renewed. If the SIM has already expired, the system additionally marks it with an **Expired** label to ensure users clearly see that action is required.
* **Auto-renewal toggle**\
  When enabled, the SIM card will automatically renew upon expiration, as long as a valid activation code is available. This helps ensure uninterrupted sensor connectivity without requiring manual renewal.
* **Activation Keys**\
  Displays the activation keys used to activate or extend a SIM card, along with a complete history of all previously applied codes. This allows you to track renewals, confirm activation actions, and maintain a clear record of subscription changes over time.

## Activating SIM cards

Efento NB-IoT SIM cards must be activated before they can transmit data. The activation procedure depends on whether you plan to use your NB-IoT sensors with Efento Cloud or with an external server.

### **Using NB-IoT sensors with Efento Cloud**

If your sensors will send data to Efento Cloud, activation happens automatically during device provisioning. All you need to do is following the steps described [in this manual](/efento-cloud/adding-devices/nb-iot-loggers).

The mobile application will handle the SIM card activation automatically. No further steps are required.

### **Using Efento NB-IoT sensors with your own server or third-party cloud**

If your sensors will send data to an external system, SIM cards must be activated manually through Efento Cloud:

1. Go to [**cloud.efento.io**](https://cloud.efento.io) and create an Efento Cloud account and Organization.
2. Enter the **activation code** you received with your purchase. This unlocks access to the SIM Card Manager and shows how many activation keys are available. Activation codes can be added at any time once the Organization is established. To add a new code, click the **Add activation code** button.
3. Click **Activate SIM card**.
4. Enter the **SIM card number (ICCID)** and **PIN2**, both printed on the SIM card holder. Because these numbers are long, using a scanner is recommended.\
   ![](/files/KDDS2B6zFEkcuJs1b7x4)
5. Select the activation key you want to use. Activation keys differ in validity duration, so choose the one that matches your needs.
6. Save the settings. The SIM card is now activated and ready to be used in your Efento NB-IoT devices.

## Renewing SIM cards

When a SIM card is approaching its expiration date, Efento Cloud will send you a notification via email. These notifications can be customized in the **Notifications Manager**. To extend a SIM card, you must have at least one available activation key. The renewal process depends on the **Auto-renewal toggle** for each SIM card:

* **Auto-renewal enabled:** If the toggle is active, a free activation key will automatically be applied to the SIM card on its expiration date. No manual action is required. You will receive an email confirming that the SIM card has been successfully extended.
* **Auto-renewal disabled:** If the toggle is inactive, you must manually assign an activation key to the SIM card before it expires. To do this, click **Manage Activation Keys** in the row of the selected SIM card. This view displays all activation keys associated with the SIM card, including used, currently active, and unused keys. To extend the SIM card, click **Attach New Key** and select the desired key(s) from the list by checking the corresponding boxes in the **Add** column. After saving the settings, the SIM card will be renewed using the selected activation key(s) upon expiration. If multiple activation keys are added, the total validity period of the SIM card will equal the combined duration of all selected keys.

{% hint style="danger" %}
**Important:** The SIM card must be renewed before its expiration date. Once a SIM card has expired, it cannot be extended or reactivated.
{% endhint %}

## Roaming network information

Efento-supplied SIM cards are compatible with the operators listed below and will operate in the corresponding countries.

{% hint style="warning" %}
The countries, operators, and frequency bands listed in the table are for informational purposes only. Efento cannot guarantee that an NB-IoT sensor will operate in every listed location or with every listed operator without prior verification. Network availability, coverage, and technical requirements vary by country and operator. In some regions, additional procedures may be required, such as registering the device with a local operator, before NB-IoT communication can be enabled. Users should always verify network compatibility and any local regulatory requirements before deploying devices.
{% endhint %}

#### NB-IoT in Europe

| Country        | Operator             | PLMN ID | Technology | Deployment Bands |
| -------------- | -------------------- | ------- | ---------- | ---------------- |
| Austria        | A1 Telekom           | 23202   | NB-IoT     | 20               |
| Austria        | Magenta Telekom      | 23203   | NB-IoT     | 8                |
| Belgium        | Orange               | 20610   | NB-IoT     | 20               |
| Belgium        | Proximus             | 20601   | NB-IoT     | TBC              |
| Belgium        | Telenet              | 20620   | NB-IoT     | 20               |
| Bulgaria       | A1 Bulgaria          | 28401   | NB-IoT     | 8                |
| Croatia        | Hrvatski Telekom     | 21901   | NB-IoT     | 20               |
| Czech Republic | T-Mobile Czech       | 23001   | NB-IoT     | 20               |
| Denmark        | Telia                | 23820   | NB-IoT     | 20, 8            |
| Estonia        | Telia                | 24801   | NB-IoT     | 20               |
| Finland        | Telia                | 24491   | NB-IoT     | 20, 3            |
| France         | Bouygues Télécom     | 20820   | NB-IoT     | 20               |
| France         | SFR                  | 20810   | NB-IoT     | 20               |
| Germany        | Deutsche Telekom     | 26201   | NB-IoT     | 8                |
| Germany        | Telefónica Germany   | 26203   | NB-IoT     | 20               |
| Germany        | Vodafone             | 26202   | NB-IoT     | 20               |
| Greece         | Cosmote              | 20201   | NB-IoT     | 20               |
| Hungary        | Magyar Telekom       | 21630   | NB-IoT     | 20, 8            |
| Iceland        | Siminn               | 27401   | NB-IoT     | 3, 7, 28         |
| Ireland        | Three (Hutchison)    | 27205   | NB-IoT     | 20               |
| Italy          | TIM                  | 22201   | NB-IoT     | 20               |
| Italy          | Vodafone             | 22210   | NB-IoT     | 20               |
| Latvia         | LMT                  | 24701   | NB-IoT     | 20               |
| Liechtenstein  | Swisscom             | 22801   | NB-IoT     | 20               |
| Malta          | Melita Ltd           | 27877   | NB-IoT     | 20               |
| Netherlands    | T-Mobile Netherlands | 20416   | NB-IoT     | 8                |
| Netherlands    | Vodafone Libertel    | 20404   | NB-IoT     | 20               |
| Norway         | Telenor              | 24201   | NB-IoT     | 20               |
| Norway         | Telia                | 24202   | NB-IoT     | 20               |
| Poland         | T-Mobile Poland      | 26002   | NB-IoT     | 20               |
| Portugal       | Meo                  | 26806   | NB-IoT     | 1, 3, 7, 20      |
| Slovenia       | A1 Slovenija         | 29340   | NB-IoT     | 3, 20            |
| Slovakia       | Slovak Telekom       | 23102   | NB-IoT     | 20               |
| Spain          | Orange Spain         | 21403   | NB-IoT     | 20               |
| Spain          | Telefónica Spain     | 21407   | NB-IoT     | 20               |
| Spain          | Vodafone             | 21401   | NB-IoT     | 20               |
| Sweden         | Tele2                | 24007   | NB-IoT     | 8                |
| Sweden         | Telenor              | 24042   | NB-IoT     | TBC              |
| Sweden         | Telia                | 24001   | NB-IoT     | 20               |
| Switzerland    | Swisscom             | 22801   | NB-IoT     | 20               |
| United Kingdom | Vodafone             | 23415   | NB-IoT     | 20               |

#### NB-IoT outside Europe

| Country | Operator               | PLMNID      | Technology | Deployment Bands |
| ------- | ---------------------- | ----------- | ---------- | ---------------- |
| China   | China Mobile           | 46000       | NB-IoT     | TBC              |
| India   | Reliance Jio           | 405840 (\*) | NB-IoT     | 3                |
| Russia  | MTS Mobile TeleSystems | 25001       | NB-IoT     | TBC              |
| Taiwan  | Chunghwa Telecom       | 46692       | NB-IoT     | 8                |
| USA     | T-Mobile US            | 310260      | NB-IoT     | 2, 4, 12         |
| Vietnam | VNPT International     | 45202       | NB-IoT     | TBC              |

## FAQ

<details>

<summary><strong>What does it mean that the SIM card will expire?</strong></summary>

Efento NB-IoT sensors are equipped with SIM cards, thanks to which they can send data via the cellular network. When purchasing the sensors, you selected the period for which the SIM card is activated. If the SIM card validity is not extended, it will automatically expire on the date specified above.

</details>

<details>

<summary><strong>What happens when the SIM card expires?</strong></summary>

The NB-IoT sensor will not be able to send data to the platform, which will prevent the system from working correctly (collecting measurements, notifications of exceedances, etc.).

</details>

<details>

<summary><strong>What should I do to extend the validity of the SIM card?</strong></summary>

To extend the validity of the SIM card, please contact our sales department: <sales@getefento.com>

</details>


# Topping Up the SMS / Phone Call Pool

To send SMS or phone call notifications, your organization must have an available pool of messages and calls. You can view the current balance in **Organization Settings**.

To increase the pool:

1. Purchase an SMS / phone call package from Efento.
2. In **Organization Settings**, click the **Add +** button next to the **Available SMS / Phone Calls** field.
3. Enter the activation code you received with your purchase and click **Next**.
4. Verify that the number of added SMS / phone call credits matches your purchase. If the values are correct, confirm and save the changes.

If the code is valid, the number of available SMS messages and phone calls will be increased according to the purchased package.


# Notification manager

The Notification Manager allows **Administrators** to assign users to receive organization-level notifications regarding critical resources and statuses within Efento Cloud.

## Types of notifications

The following notifications can be configured:

* **Low SMS / Phone Call Balance:** Alerts when the remaining SMS or phone call credits fall below the threshold defined in the [Low SMS / phone calls balance notification threshold settings](#low-sms-phone-call-balance-notification-threshold).
* **Resource is about to expire**
  * **License Expiration:** Notifies when a license assigned to a sensor is approaching its expiration date or has expired.
  * **SIM Card Expiration:** Alerts when a SIM card installed in an Efento NB-IoT sensor is close to expiring.
  * **Sensor Calibration Reminder:** Sends a reminder when a sensor’s calibration date (defined during sensor setup) is due.
* **Phone number removal:** Notifies when a user assigned to an alarm rule with SMS or phone call notifications has removed their phone number from their profile, preventing delivery of alerts.

## Adding users to notifications

To assign users to a notification type, click **Add recipients +** and select the users who should receive the notification by checking the corresponding box next to their name.

To remove a recipient from notifications, simply uncheck the box next to the user’s name.

All notifications are sent via **email** to the addresses specified in the users’ profiles and are triggered automatically when the corresponding condition occurs, such as an approaching license expiration, a calibration due date, or a low SMS/phone call balance.

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

## **Low SMS / phone call balance notification threshold**

Efento Cloud can automatically notify selected users when the remaining number of SMS messages or phone calls falls below a specified threshold. By default, notifications are sent when the balance drops below **10**, and repeated alerts are sent when it reaches **5** and **0**.

You can adjust the **threshold value** in the Notification manager. To do this enter the desired value in the **Low SMS / Phone Calls Notification Threshold** field.

Efento Cloud sends notifications at four key points:

1. When the number of available messages or calls reaches the set threshold.
2. When the balance falls to **50%** of the set threshold.
3. When the balance falls to **25%** of the set threshold.
4. When the balance reaches **0**, indicating no remaining SMS messages or phone calls.

These notifications help ensure that critical alerts continue to reach users without interruption.


# Custom measurement types

Efento Cloud allows organizations to define **custom measurement types** to support non-standard sensors, proprietary measurement units, or any scenario where the default set of measurement types is insufficient.

Together with [Channel formulas](/efento-cloud/advanced/organization-settings/channel-formulas), this feature ensures that any type of sensor, standard or highly specialized, can be used within Efento Cloud while retaining full compatibility with all platform functionalities, including dashboards, alarm rules, automatic reports, APIs, and data exports. This provides complete freedom in configuring measurement logic while keeping the system consistent, accurate, and easy to interpret.

The configuration of custom measurement types is performed through the **Measurement Type Manager**, available in the **Organization Settings**. Only users with Administrator and Manager permissions can access and manage this section.

![](/files/d43bc723ecba5bcd878e65087389e46373fd9494)

## **Adding a new measurement type**

Click the **Add +** button in the upper-left corner. A configuration window will appear.

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

{% stepper %}
{% step %}

### &#x20;**Define basic information**

When creating a new measurement type, you must configure:

**Name**

* Enter a descriptive name that clearly identifies the measurement (e.g., "CO₂ Flow Rate", "Air Quality Index", "Custom Pressure").
* The name will be visible throughout the Cloud platform: dashboards, sensor views, reports, rules, etc.

**Tag**

* Assign a unique tag for internal communication.
* Tags are used by the **API, backend processes, and integration mechanisms**.
* All custom measurement type tags must start with an **underscore “\_”** (e.g., `_co2_flow`, `_custom_temp`).
* Tags must be unique across the organization—duplicates are not allowed.

**Icon (optional but recommended)**

* You may upload a custom icon that will visually represent the measurement type wherever it appears.
* Icons must be in **SVG format** for best scaling and clarity.
* Use **square-shaped icons** to ensure proper alignment in the interface.

![](/files/29ca00c5f214109fbb1cfd83276f7d4bfb3f8fd7)
{% endstep %}

{% step %}

#### **Configure measurement properties**

Efento Cloud allows you to define how values for this measurement type should be interpreted and displayed:

**Minimum and maximum range**

* Set the expected numerical range for this measurement type.
* If a sensor reports a value **outside this range** (after formula conversions), the measurement will be flagged with an error such as *“Value out of range”*.
* Range limits help maintain data quality and quickly detect sensor or configuration issues.

**Unit**

* Specify the unit used for displaying values (e.g., °C, %, mA, ppm, kPa).
* The unit will appear in dashboards, exports, charts, and reports.

**Resolution**

* Define the number of decimal places shown for measurements.
* This setting helps ensure that values are displayed with the appropriate precision (e.g., whole numbers - 0, one decimal place - 1, etc.).

![](/files/f957d3932739f1bcd65e74ebf307a6475afe8745)

Once a custom measurement type is created, it becomes fully available across the entire organization. You can now use it in it [channel conversion formulas](/efento-cloud/advanced/organization-settings/channel-formulas).
{% endstep %}
{% endstepper %}

## **Managing custom measurement types**

#### **Editing**

Existing custom measurement types can be edited by selecting the **pencil icon**:

* Adjust names
* Change units
* Update icons
* Modify ranges and resolution

However, **modifying tags is not possible**, as they are tied to API integrations and formulas.

#### **Deleting**

Custom measurement types can only be deleted when no sensor channels are using them.\
If a measurement type is still assigned anywhere in the system, you must first detach it (e.g., change formulas or measurement types for the affected channels).


# Channel formulas

The **Channel Formulas Manager** enables organizations to create and manage formulas that convert raw sensor signals, such as **pulse counts**, **4–20 mA current**, **resistance** or **0–10 V voltage,** into meaningful measurement values (e.g., wind speed, flow rate, visitor count). This allows you to use virtually any type of analog or pulse-based sensor with Efento Cloud while preserving compatibility with platform features such as charts, alarms, reports, and webhooks.

The Channel Formulas Manager is located in the **Organization settings** and is available to users with **Administrator** or **Manager** permissions.

![](/files/a9e2b8c1d51ee1e4b84ac1f25a7bc115caf80805)

The main list shows all formulas created within the Organization, along with their names, access levels, and available actions. From this view, you can:

* **Add a new formula**
* **Review change history** (e.g., modifications, creator, date)
* **Edit an existing formula**
* **Delete a formula**, provided it is not in use
* **Check which sensors are using each formula**

![](/files/c7f5c43729dc1844648fe5eec0b1ee87ebaebf16)

## **Creating a new formula**

Creating a formula includes two stages: defining general properties and specifying conversion logic.

{% stepper %}
{% step %}

### **General settings**

When adding a new formula, you must:

* **Enter a unique formula name:**\
  Choose a clear name describing the transformation, such as *“Voltage to Pressure”*.
* **Define source and target types**\
  The source type specifies the type of data received from the sensor, while the target type determines the measurement type that will be produced after the formula is applied. Select both types from the list of available measurement types.

  If you need to use a measurement type that is not supported natively in Efento Cloud, [create a custom measurement type](/efento-cloud/advanced/organization-settings/custom-measurement-types#adding-a-new-measurement-type) first. Once created, it will appear in the list and can be selected as the target type for the formula.
* **Set the formula’s access level:**
  * **Private** – Only the creator can edit it.
  * **Public** – Any user with access to the Formula Manager can modify it.

![](/files/ec3c27862c0389c376a2c4972282ccda93ccaa58)
{% endstep %}

{% step %}

### **Defining logical conditions and conversion expressions**

Each formula is built from **one or more conditions**, allowing highly flexible transformations. A condition contains:

* A **logical range** specifying when the condition applies
* A **conversion formula** that transforms the raw sensor value

#### **Using mathematical expressions**

All formulas use **X** to represent the incoming sensor reading.\
Examples:

* Convert milliamps to temperature: `X * 12.5 - 25`
* Scale a voltage reading: `(X / 10) * 100`
* Convert a pulse count into liters based on a pulse factor: `X * 0.5`

Mathematical rules supported:

| Operator | Meaning        |
| -------- | -------------- |
| `+`      | Addition       |
| `-`      | Subtraction    |
| `*`      | Multiplication |
| `/`      | Division       |
| `( )`    | Grouping       |

Conversion expressions must be **valid equations** and no longer than **32 characters**.

After completing the condition and conversion formula, add the formula by pressing '**+**' in the **Actions** column, which will display the formula condition below, ready to be saved.

![](/files/6f879dd643cef1ddec228096be26be53f872ce9e)

#### **Building multi-condition formulas**

You can define multiple conditions within a single formula. For example:

* If X < 10 → apply `X * 2`
* If X = 10 → apply `X * 3`
* If X > 10 → apply `X * 4`

This supports advanced use cases such as:

* **Non-linear sensors**
* **Pulse counters with different ranges**
* **Sensors requiring multi-step calibration curves**

After entering a condition and formula, click **+** to add it to the list.\
Conditions are evaluated in order and the first matching condition is used. Each condition formula can be **edited** (pencil icon), **deleted** (trash bin icon), or **reordered** using the **up and down arrow** buttons to adjust its position in the list.

![](/files/9cdeae777c7e0e9204cb9a56078a2c00a7edb442)
{% endstep %}
{% endstepper %}

### **Assigning formulas to sensor channels**

Formulas can be assigned to sensors that provide **electrical or pulse-based outputs**, such as:

* 4–20 mA industrial sensors
* 0–10 V analog sensors
* Resistance sensors
* Pulse-output devices (e.g., flow meters, counters)

#### **Assigning formulas during device setup**

When adding a sensor to the platform:

1. Enter the **sensor name**
2. Enable **Channel redefinition**
3. Select the **target measurement type** for the selected sensor channel(s)
4. Choose an **existing formula**, or create a new one

![](/files/4cb330d99f092ec2a8b14c1c3ea86bc17421649c)

Once the sensor is added:

* You may change formulas **only within the same target measurement type**
* To change the target type, you must **remove and re-add the device**

This ensures data consistency and prevents accidental loss of measurement history.

### **Formula errors**

Efento Cloud automatically validates every converted measurement. If a problem occurs, the platform displays a **Channel error** message next to the sensor on the dashboard.

Possible causes include:

* **Division by zero**
* **Value outside the allowed measurement range** defined in the measurement type
* **Sensor reading does not match any condition**
* **Incorrect or invalid formula syntax**

To view details about the error, hover your cursor over the red **Formula error** indicator.

![](/files/3b3427d094519d6e15130b4ddaf38d62bfae5cab)


# Integrations

Efento Cloud integrates with third-party applications to enable seamless data exchange and enhance interoperability with external systems. A number of integration options are currently available, allowing users to connect Efento Cloud with other platforms, automate data flows, and incorporate sensor data into broader IT ecosystems.

<table data-view="cards"><thead><tr><th></th><th data-type="content-ref"></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td><p><strong>Measurement web hooks</strong></p><p>once a new measurement arrives in Efento Cloud, it will be automatically be forwarded to the set URL.</p></td><td><a href="/pages/ismCyOUBR4ONxCBXqkE5">/pages/ismCyOUBR4ONxCBXqkE5</a></td><td><a href="https://images.unsplash.com/photo-1488590528505-98d2b5aba04b?crop=entropy&#x26;cs=srgb&#x26;fm=jpg&#x26;ixid=M3wxOTcwMjR8MHwxfHNlYXJjaHw0fHx3ZWJ8ZW58MHx8fHwxNzYyMTg5MzAzfDA&#x26;ixlib=rb-4.1.0&#x26;q=85">https://images.unsplash.com/photo-1488590528505-98d2b5aba04b?crop=entropy&#x26;cs=srgb&#x26;fm=jpg&#x26;ixid=M3wxOTcwMjR8MHwxfHNlYXJjaHw0fHx3ZWJ8ZW58MHx8fHwxNzYyMTg5MzAzfDA&#x26;ixlib=rb-4.1.0&#x26;q=85</a></td></tr><tr><td><p><strong>Alert web hooks</strong></p><p>If a condition set in the alert rule is met, the web hook is triggered and the data is sent to the set URL.</p></td><td><a href="/pages/KlOWh4pFWovgq7IwE1jh">/pages/KlOWh4pFWovgq7IwE1jh</a></td><td><a href="https://images.unsplash.com/photo-1461749280684-dccba630e2f6?crop=entropy&#x26;cs=srgb&#x26;fm=jpg&#x26;ixid=M3wxOTcwMjR8MHwxfHNlYXJjaHw2fHx3ZWJ8ZW58MHx8fHwxNzYyMTg5MzAzfDA&#x26;ixlib=rb-4.1.0&#x26;q=85">https://images.unsplash.com/photo-1461749280684-dccba630e2f6?crop=entropy&#x26;cs=srgb&#x26;fm=jpg&#x26;ixid=M3wxOTcwMjR8MHwxfHNlYXJjaHw2fHx3ZWJ8ZW58MHx8fHwxNzYyMTg5MzAzfDA&#x26;ixlib=rb-4.1.0&#x26;q=85</a></td></tr><tr><td><strong>Slack</strong><br>Used to send alert related notifications to Slack private / public channels.</td><td><a href="/pages/gZCbQhIGAYs7Tq4rBJEe">/pages/gZCbQhIGAYs7Tq4rBJEe</a></td><td><a href="https://images.unsplash.com/photo-1557200134-3103da7b6bff?crop=entropy&#x26;cs=srgb&#x26;fm=jpg&#x26;ixid=M3wxOTcwMjR8MHwxfHNlYXJjaHwxfHxzbGFja3xlbnwwfHx8fDE3NjIyNzMzNjd8MA&#x26;ixlib=rb-4.1.0&#x26;q=85">https://images.unsplash.com/photo-1557200134-3103da7b6bff?crop=entropy&#x26;cs=srgb&#x26;fm=jpg&#x26;ixid=M3wxOTcwMjR8MHwxfHNlYXJjaHwxfHxzbGFja3xlbnwwfHx8fDE3NjIyNzMzNjd8MA&#x26;ixlib=rb-4.1.0&#x26;q=85</a></td></tr><tr><td><strong>API Integration</strong><br>Use the Efento Cloud API to retrieve measurement data sent to the platform by your sensors and</td><td><a href="/pages/Hd71jBOlGTOhOTTqyqJN">/pages/Hd71jBOlGTOhOTTqyqJN</a></td><td><a href="https://images.unsplash.com/photo-1604884223364-9bd06ccb3c8c?crop=entropy&#x26;cs=srgb&#x26;fm=jpg&#x26;ixid=M3wxOTcwMjR8MHwxfHNlYXJjaHw0fHxhcnJvd3N8ZW58MHx8fHwxNzYzNTgzMTk0fDA&#x26;ixlib=rb-4.1.0&#x26;q=85">https://images.unsplash.com/photo-1604884223364-9bd06ccb3c8c?crop=entropy&#x26;cs=srgb&#x26;fm=jpg&#x26;ixid=M3wxOTcwMjR8MHwxfHNlYXJjaHw0fHxhcnJvd3N8ZW58MHx8fHwxNzYzNTgzMTk0fDA&#x26;ixlib=rb-4.1.0&#x26;q=85</a></td></tr></tbody></table>


# Theme settings

The **Theme Settings** section allows you to customize the visual appearance of your Organization within the Efento Cloud platform. Users with Manager or Administrator permissions can adjust the interface to match their branding by modifying colors, the organization name, and the logo. These settings affect the platform's navigation bar, email notifications, and generated reports.

* **Name**\
  This is the display name of your Organization. It appears in the navigation bar and in user invitations. The name must contain between 5 and 16 characters.
* **Primary Color**\
  Applies to key interface elements such as headers, checkboxes, and switches.
* **Secondary Color**\
  Used for buttons and the navigation bar in mobile view.
* **Accent Color**\
  Highlights active navigation elements and other accentuated components.
* **Background Color**\
  Defines the overall background color of the application.
* **Logo**\
  Your custom logo will appear in the navigation bar and in all exported documents.\
  The file must be in **SVG** format and must not exceed **40 KB**.

After adjusting the theme, click **Save** to apply your changes. If you wish to revert back to the default appearance at any time, select **Reset theme**.

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


# Measurement webhooks

### Configuration

Webhooks configuration can be accessed by users with Administrator or Manager permissions.

In order to configure webhooks, from the menu on the left, select Settings (the gear icon), and then Webhooks.

![](/files/79eab8d1f2a22cfede8cb4092b7a3371cc6a293a)

On the list you can see all the sensors added to your organization along with the information, if the webhook is set for this device, when the webhook was triggered last time and what was the received response. To add a webhook, click on the + button in the URL column and add the URL, to which the incoming measurements will be pushed. The URL must contain “http\://” or “https\://” prefix and at least three characters (including the dots in the URL).

![](/files/2e52c01ccfb114b1f24d122320dd652790ee95cd)

It is also possible to add up to five user defined headers to the webhook configuration. These headers will be added to each frame sent over webhooks. For each of the custom headers users can define a pair “Name” and “Value”, maximum length of each of these parameters is 512 characters.

To add custom headers to the webhook, check the box next to the “Use custom headers” and configure the headers according to your needs.

Before saving the webhook, you can test it by pressing the TEST button. Efento Cloud will send a mock payload to the set address and display the server’s response.

Once a webhook is set, it will be visible on the list of sensors along with the information on when it was triggered and status, based on the response received from the third party application.

![](/files/c93c6dfdac8a02182922247090e60892ea6c5343)

There are six possible statuses of a webhook:

* New - webhook was configured but never triggered yet
* OK - webhook was triggered and proper response (2XX, e.g. 200, 201) received from the server
* No response - webhook was triggered, but the server did not return any response (timeout)
* Error - webhook was triggered but the server returned response with the code different then 2XX
* Temporarily disabled - Efento Cloud temporarily disabled the webhook. This happens, if the server did not return any response to the webhook five times in a row. In that case Efento Cloud automatically disables the webhook for six hours. After that time the webhook is automatically enabled again.
* Disabled - If Efento Cloud does not receive any response from the server to which it pushes the data for 30 hours, the webhook is automatically disabled and has to be manually enabled by the user.

To edit or remove a webhook, click on its URL. The webhook configuration dashboard allows also searching for the specified measurement point on the webhooks list, filtering the webhooks by their statuses (*Filters* -> *Status*) and filtering the measurement points based on the webhook assignment (*Filters* -> *webhook configured?* -> *Yes* / *No*).

### Payload

Efento Cloud sends the measurements as JSON using the POST method. The JSON contains:

* Information about measurement point (ID and its name in Efento Cloud)
* Serial number of the sensor that took the measurements
* Channel types
* Time range of the measurements (from, to)
* Measurement values along with the measurement period, timestamps and statuses

In order to minimize the payload sent over the webhooks, Efento Cloud sends the measurements in the form of Measurement Events. A Measurement Event occurs, if there was a change in the measurement value, measurement period or measurement status.

When receiving the data, the third party application has to extrapolate the measurements. Examples of data extrapolation are included in this user manual in chapter [*Extrapolating the measurements*](#_fcteptokrrml).

JSON is structured as below:

```json
{
"deviceSerialNumber": "282C024FFFFF",
"firstMeasurementTimestamp": "2023-02-01 08:08:00",
"lastMeasurementTimestamp": "2023-02-01 08:12:00",
"nextTransmissionTimestamp": "2023-02-01 08:32:00",
"measurementPointId": 70437,
"measurementPointName": "Test sensor",
"measurementsReceivedAt": "2023-02-01 08:13:28",
"signalStrength": -47,
"batteryStatus": "OK",
"measurementsEvents": [
    {
    "channelNumber": 1,
    "channelType": "TEMPERATURE",
    "events": [
        {
        "timestamp": "2023-02-01 08:08:00",
        "value": 21,
        "period": 60,
        "status": "OK"
        }
    ]
    },
    {
    "channelNumber": 2,
    "channelType": "HUMIDITY",
    "events": [
        {
        "timestamp": "2023-02-01 08:08:00",
        "value": 45,
        "period": 60,
        "status": "OK"
        }
    ]
    },
    {
    "channelNumber": 3,
    "channelType": "PULSE_COUNTER",
    "events": [
        {
        "timestamp": "2023-02-01 08:08:00",
        "value": 0,
        "period": 60,
        "status": "OK"
        }
    ]
    }
]
}
```

| deviceSerialNumber        | Serial number of the sensor that took the measurements                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| firstMeasurementTimestamp | Timestamp (UTC) of the first measurement in the batch                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| lastMeasurementTimestamp  | Timestamp (UTC) of the last measurement in the batch                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| nextTransmissionTimestamp | The UTC timestamp for the next communication between the logger and Efento Cloud. This also dictates when Efento Cloud will trigger the next webhook to the user application.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| measurementPointId        | ID of the measurement point in Efento Cloud                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| measurementPointName      | Name of the measurement point in Efento Cloud                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| measurementsReceivedAt    | Timestamp (UTC) when Efento Cloud received the measurements batch that is sent over webhook                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| signalStrength            | Signal strength reported by the sensor                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| batteryStatus             | Status of sensor’s battery, possible values: - OK - battery level is good, - LOW - battery needs to be replaced                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| measurementsEvents        | Array of the sensor’s channels. Contains measurements taken by the sensor on all its channels.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| channelNumber             | Channel number (a single sensor can have up to 6 channels)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| channelType               | Channel type. Units of the measurement (“value” field) are based on the channel type.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| events                    | Array of Measurement Events - measurements taken by a sensor on a particular channel. Includes only the measurements that have different values than the previous ones.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| timestamp                 | Measurement Event timestamp (UTC)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| value                     | Measurement value. Depending on the “status” value: - for statuses from OK group, value of the measurement, unit based on the “channelType” - for status MISSING, the value is always NULL - for status ERROR, value contains the error code                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| period                    | Measurement period set on the sensor                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| status                    | Status of the measurement. Available statuses: - OK - default status. There are no issues with the measurement - MISSING - there is a gap in the measurements received by Efento Cloud (e.g. a sensor was out of the gateway’s range and did not resent the data yet) - OK\_CALIBRATION\_REQUIRED - used for VOC (IAQ) sensors and pulse counters. Information that the measured values may be inaccurate, as the device needs to perform auto-calibration (VOC sensor) or manual calibration (pulse counters) - OK\_ACCURACY\_LOW - used only for VOC (IAQ) sensors. Information that the measured values may have poor accuracy, as the device is performing auto-calibration - OK\_ACCURACY\_HIGH - used only for VOC (IAQ) sensors. Information that the measured values may have good - ERROR - the measurement sent by the sensor is out of the specified range. This usually mean that there is a hardware issue with the sensor (e.g. the probe is not connected or the sensor is physically damaged) - INCOMPLETE - used only for pulse counters, before the first measurement period is completed - OUT\_OF\_RANGE - the measurement taken by a sensor is out of the defined range. This usually indicates a hardware issue - NOT\_SYNCHRONIZED - used only for pulse counters. This status indicates that the user did not set the initial value of the pulse counter |

### E**xtrapolating** the measurements

In order to minimize the payload sent over the webhooks, Efento Cloud sends the measurements in the form of Measurement Events. A Measurement Event occurs, if there was a change in the measurement value, measurement period or measurement status.

This means that if the value measured by the sensor did not change, it is not included in the JSON. The third party application that receives the data from Efento Cloud has to extrapolate the measurement based on the measurement period (“period” field in the JSON’s objects “events”) and the time range of measurements (“firstMeasurementTimestamp”, “lastMeasurementTimestamp”). Examples:

**Changes in the “value” field**

The measurement period of the sensor is set to 60 seconds.

1. At 12:00:00 the sensor measured 20°C
2. At 12:01:00 the sensor measured 20°C
3. At 12:02:00 the sensor measured 20°C
4. At 12:03:00 the sensor measured 21°C
5. At 12:04:00 the sensor measured 21°C

Data sent over the webhook contains: 12:00:00 value: 20°C and 12:03:00 value: 21°C, as the measurement values at 12:01:00 and 12:02:00 were the same as the one at 12:00:00 and the value at 12:04:00 was the same as the one at 12:03:00. The JSON will look as below:

```json
{
"deviceSerialNumber": "282C024FFFFF",
"firstMeasurementTimestamp": "2023-02-01 12:00:00",
"lastMeasurementTimestamp": "2023-02-01 12:04:00",
"nextTransmissionTimestamp": "2023-02-01 12:32:00",
"measurementPointId": 70437,
"measurementPointName": "Test sensor",
"measurementsReceivedAt": "2023-02-01 11:46:10",
"signalStrength": -47,
"batteryStatus": "OK",
"measurementsEvents": [
    {
    "channelNumber": 1,
    "channelType": "TEMPERATURE",
    "events": [
        {
        "timestamp": "2023-02-01 12:00:00",
        "value": 20,
        "period": 60,
        "status": "OK"
        },
        {
        "timestamp": "2023-02-01 12:03:00",
        "value": 21,
        "period": 60,
        "status": "OK"
        }
    ]
    }
]
}
```

**Changes in the “period” field**

Initially, the measurement period of the sensor is set to 180 seconds. Measurement period was later on changed to 60 seconds.

1. At 12:00:00 the sensor measured 20°C
2. At 12:01:00 the measurement period changed to 60 seconds and the sensor measured 20°C
3. At 12:02:00 the sensor measured 20°C
4. At 12:03:00 the sensor measured 21°C

Data sent over the webhook contains 12:00:00 value: 20°C, 12:01:00 value: 20°C, 12:03:00 value: 21°C. As there was a change in the measurement period at 12:01:00. The “events” array in the JSON will look as below:

```json
"events": [
{
"timestamp": "2023-02-01 12:00:00",
"value": 20,
"period": 180,
"status": "OK"
},
{
"timestamp": "2023-02-01 12:01:00",
"value": 20,
"period": 60,
"status": "OK"
},
{
"timestamp": "2023-02-01 12:03:00",
"value": 21,
"period": 60,
"status": "OK"
}
]
```

**Changes in the “status” field**

The measurement period of the sensor is set to 60 seconds.

1. At 12:00:00 the sensor measured 20°C
2. At 12:01:00 the sensor’s probe was unplugged and the device was not able to take a measurement
3. At 12:05:00 the sensor’s probe was plugged again and the sensor measured 20°C

Data sent over the webhook contains: 12:00:00 value: 20°C (status: OK), 12:01:00 value: 10000 (status: ERROR), 12:05:00 value: 20°C (status: OK). The “events” array in the JSON will look as below:

```json
"events": [
{
"timestamp": "2023-02-01 12:00:00",
"value": 20,
"period": 60,
"status": "OK"
},
{
"timestamp": "2023-02-01 12:01:00",
"value": 10000,
"period": 60,
"status": "ERROR"
},
{
"timestamp": "2023-02-01 12:05:00",
"value": 20,
"period": 60,
"status": "OK"
}
]
```

**None of the fields (“value”, “period”, “status”) did not change their values in the whole batch of the measurements sent over webhook**

In this case the “events” array will only contain a single value. This means that the value was the same for the whole time period defined by "firstMeasurementTimestamp" and "lastMeasurementTimestamp". The JSON will look as below:

```json
{
"deviceSerialNumber": "282C024FFFFF",
"firstMeasurementTimestamp": "2023-02-01 11:00:00",
"lastMeasurementTimestamp": "2023-02-01 11:42:00",
"nextTransmissionTimestamp": "2023-02-01 11:52:00",
"measurementPointId": 70437,
"measurementPointName": "Test sensor",
"measurementsReceivedAt": "2023-02-01 11:46:10",
"signalStrength": -47,
"batteryStatus": "OK",
"measurementsEvents": [
    {
    "channelNumber": 1,
    "channelType": "TEMPERATURE",
    "events": [
        {
        "timestamp": "2023-02-01 11:00:00",
        "value": 20,
        "period": 60,
        "status": "OK"
        }
    ]
    }
]
}
```

In this example, the sensor took 43 measurements (11:00:00, 11:01:00, 11:02:00, …, 11:42:00), but as their value was always 20°C, only the first one was included in the JSON.

### Limitations

There are few limitations that should be considered when using the webhook service:

* It is possible to configure one webhook per measurement point
* The application, to which Efento Cloud sends the data, needs to respond within 10 seconds from the moment when the webhook was triggered
* Efento Cloud does not resend the measurements. If the application that receives the data was not responding the data will not be resent and needs to be pulled using Efento Cloud API
* The only accepted response codes, confirming that the measurements were received are 2XX codes (200, 201, etc.)
* The maximum URL length is 500 characters, including the mandatory “http\://” or “https\://” prefixes
* It is possible to configure up to five custom headers per webhook
* It is impossible to change the structure of the payload (JSON) sent


# Alert webhooks

Efento Cloud allows you to use alert webhooks as a notification method for your rules.

### Before You Start

To configure and use **Efento Cloud webhooks**, you’ll need the following:

* **An application** capable of receiving incoming webhooks, parsing their content, and responding with a `201` status code to each received message.
* **An Efento Cloud account** with *Administrator* permissions for the selected organisation.

### Create a new webhook integrations

{% stepper %}
{% step %}

#### **1. Create a New Webhook**

1. In the left-hand menu, go to **Settings** (gear icon) → **Organization settings**.
2. Navigate to the **Integrations** tab.
3. In the **Webhook** section, click **Add Webhook**.
4. Enter the **Webhook name** and **URL**.
   * *(Optional)* To use **custom headers** for webhooks sent by Efento Cloud, check **Use custom headers** and add the desired header names and values (up to 5 headers).
5. Click **Test connection**.
   * If the setup is correct, a <img src="https://s.w.org/images/core/emoji/16.0.1/svg/2705.svg" alt="✅" data-size="line"> checkmark will appear next to the button.
   * If the test fails, verify that:
     * The webhook URL is correct.
     * All required headers are properly configured.
     * Your application responds with the correct HTTP status code (`201`).
6. Once successful, click **Add Webhook** to save your configuration.

<img src="https://getefento.com/wp-content/uploads/2025/10/Efento-Cloud-webhook-2-597x620.png" alt="" height="620" width="597">
{% endstep %}

{% step %}

#### **Enable Webhooks for Selected Rule(s)**&#x20;

1. Go to **Settings** (gear icon) → **Rules and notifications**.
2. Select or create a rule, configure its parameters, and click **Next**.
3. Choose the **sensors** or **locations** the rule will apply to, then click **Next**.
4. In the **Notifications** section, click **Connect integration**.
5. From the **Integration** dropdown, select **Webhook**, then choose the name of the webhook integration you created earlier.
6. Click **Connect Integration** and save your changes.

Once configured, any time the rule is triggered, Efento Cloud will automatically send a webhook notification to your specified URL.

<figure><img src="https://getefento.com/wp-content/uploads/2025/10/Efento-cloud-webhook-1-620x482.png" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

{% hint style="info" %}
You can **reuse a single webhook integration** across multiple rules. Simply assign the same connection to different rules — when any of them is triggered, the same webhook endpoint will receive the notification.
{% endhint %}

### Payload

Efento Cloud sends the alerts as JSON using the POST method. The alert webhook is triggered twice:

1. when the alarm rule is activated - the rule’s condition is met (e.g. temperature crossed the threshold),
2. when the alarm rule is deactivated - the rule’s condition is not active anymore (e.g. temperature got back to the safe range).

The JSON contains:

* Timestamp when the alert was created (condition of the rule was met)
* Timestamp when the alert was revoked
* Organization and location names
* Rule information (name, condition, parameter, threshold value)
* Measurement point information (name and serial number of the sensor assigned to it along with the channel)
* Value of the measurement that triggered the alert and value of the measurement that revoked the alert

JSON is structured as below:

```json
{
"createdAt": "2023-04-25 09:07:00",
"neutralizedAt": null,
"organizationName": "Test_org",
"locationName": "Test",
"ruleName": "test_above",
"ruleCondition": "MORE_THAN",
"ruleParameters": ["TEMPERATURE"],
"ruleType": "MEASUREMENT_MEASUREMENT_POINTS",
"deviceSerialNumber": "FFFFFFFFFF",
"webhookReminderCounter": 0,
"alertId": 1,
"resourceInfo":{
"id": 1,
"name": "Test integration for https://example.com",
"type": "MEASUREMENT_POINT"
},
"details": [
{"key": "channelNumber", "value": "1" },
{"key": "triggeringMeasurement", "value": "10" },
{"key": "revokingMeasurement", "value": "10" },
{"key": "thresholdValue", "value": "10" }
]
}
```

| createdAt              | Timestamp (UTC) when the alert was triggered (e.g. measurement received by the platform was over the threshold; sensor was lost)                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| neutralizedAt          | Timestamp (UTC) when the alert was deactivated (e.g. measurement received by the platform got back below the threshold; sensor started sending the data to the platform again). If the webhook was triggered by meeting the rule’s condition, this field has ‘null’ value.                                                                                                                                                                                                                                                                             |
| organizationName       | Name of the Organisation in Efento Cloud in which the rule is configured                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| locationName           | Name of the location in which the measurement point is located                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ruleName               | Name of the rule in Efento Cloud                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ruleCondition          | Rule condition. Available values: - more\_than - measured value is over the set threshold - less\_than - measured value is below the set threshold - occurred - binary sensor changed its state or low battery / lost rule condition is met                                                                                                                                                                                                                                                                                                            |
| ruleParameters         | Type of the measurement. Available values: TEMPERATURE, HUMIDITY, ATMOSPHERIC\_PRESSURE, DIFFERENTIAL\_PRESSURE, ALARM, WATER\_METER, ELECTRICITY\_METER, PULSE\_COUNTER, LOST, LOW\_BATTERY, IAQ, FLOODING, SOIL\_MOISTURE, CO\_GAS, NO2\_GAS, H2S\_GAS, AMBIENT\_LIGHT, PM\_1\_0, PM\_2\_5, PM\_10\_0, NOISE\_LEVEL, CH4\_GAS, NH3\_GAS, HIGH\_PRESSURE, DISTANCE\_MM, WATER\_METER\_ACCUMULATIVE, CO2\_GAS, STATIC\_IAQ, CO2\_EQUIVALENT, BREATH\_VOC, PERCENTAGE, VOLTAGE, CURRENT, PULSE\_COUNTER\_ACCUMULATIVE, ELECTRICITY\_METER\_ACCUMULATIVE |
| ruleType               | Type of the rule. Available values: LOST\_MEASUREMENT\_POINTS, LOW\_BATTERY\_MEASUREMENT\_POINTS, MEASUREMENT\_MEASUREMENT\_POINTS, LOST\_GATEWAYS, POWER\_SUPPLY\_SOURCE\_CHANGE\_GATEWAYS, LOW\_BATTERY\_GATEWAYS                                                                                                                                                                                                                                                                                                                                    |
| deviceSerialNumber     | Serial number of the sensor assigned to the measurement point                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| webhookReminderCounter | This field shows the number of times a webhook has been repeated. If webhook repetition was enabled during rule configuration, this value increases with each repetition.                                                                                                                                                                                                                                                                                                                                                                              |
| alertId                | Unique ID of an alert                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| resourceInfo           | Details about the measurement point / gateway that triggered the rule. id - unique identifier of the measurement point / gateway in Efento Cloud, name - name of the measurement point / gateway in Efento Cloud, type - type of the device - sensor (MEASUREMENT\_POINT) or gateway (GATEWAY).                                                                                                                                                                                                                                                        |
| details                | This section details alarm information, including the channel number of the measurement point that triggered the alarm(channelNumber), the measurement value that triggered it (triggeringMeasurement), the threshold value (thresholdValue), and the measurement value that revoked the alarm (if the webhook was triggered by meeting the rule’s condition, this field has ‘null’ value (revokingMeasurement).                                                                                                                                       |

Efento Cloud accepts responses with response code 2XX (e.g. 200, 201). All the other response codes are invalid.

{% hint style="warning" %}
**Important!** **If Efento Cloud receives an invalid response code five times in the row, the alert webhook will be disabled and has to be manually enabled by the user in Efento Cloud.**
{% endhint %}

### Limitations

There are few limitations that should be considered when using the alert webhooks:

* Multiple webhooks can be assigned to a single alert rule.
* A single webhook can be utilized across multiple alarm rules.
* The application, to which Efento Cloud sends the data, needs to respond within 10 seconds from the moment when the webhook was triggered
* Efento Cloud does not resend the alerts. If the application that receives the data was not responding the data will not be resent and needs to be pulled using Efento Cloud API
* The only accepted response codes, confirming that the measurements were received are 2XX codes (200, 201, etc.). **If Efento Cloud receives an invalid response code five times in the row, the alert webhook will be disabled and has to be manually enabled by the user in Efento Cloud.**
* The maximum URL length is 500 characters, including the mandatory “http\://” or “https\://” prefixes
* It is possible to configure up to five custom headers per webhook
* It is impossible to change the structure of the payload (JSON) sent


# Slack integration

Integrating Efento Cloud with Slack enables your team to receive real-time alerts directly in the communication channels you use every day. This seamless ensures that important information reaches the right people instantly, without the need to constantly monitor dashboards or emails. By automating notifications through Slack, teams can respond to issues faster, improve collaboration across departments, and maintain full visibility into environmental and operational data within Efento Cloud - all while keeping communication streamlined and efficient.

### Before you start

To integrate Slack with Efento Cloud you will require:

* **Slack account and Slack workspace** either paid or free account
* Efento Cloud account with **Administrator** permission to the selected organisation

### Slack configuration

{% stepper %}
{% step %}

#### Create a Slack app

1. **Log in** to your Slack account
2. Go to [Slack API: Your Apps](https://api.slack.com/apps)
3. Click **Create New App**
4. Choose **From scratch**
5. Enter an app name (e.g. `Efento Cloud notification bot`) and select the workspace
6. Click **Create App**
   {% endstep %}

{% step %}

#### Configure bot permissions

1. In the left-hand menu, go to **OAuth & Permissions**
2. Scroll down to **Scopes** section and under **Bot Token Scopes**, click **Add an OAuth Scope** and add permission to `chat:write`<br>

   <figure><img src="https://getefento.com/wp-content/uploads/2025/10/Efento-Cloud-Slack-7-e1760341104126-620x276.png" alt=""><figcaption></figcaption></figure>
3. If you wish, you can customise bot’s appearance.  In the left-hand menu, go to **Basic Information** and scroll down to **Display Information** section. Set colour, app icon and descriptions and save changes
   {% endstep %}

{% step %}

#### Install the app to your workspace

1. Scroll to the top of the page and press **Install to Workspace** button<br>

   <figure><img src="https://getefento.com/wp-content/uploads/2025/10/Efento-Cloud-Slack-6-620x403.png" alt=""><figcaption></figcaption></figure>
2. Authorise the requested permissions
3. After installation, copy the **Bot User OAuth Token** (starts with `xoxb-...`)
   {% endstep %}

{% step %}

#### Invite the bot to a channel

1. Open Slack (web or desktop)
2. Navigate to the desired channel (e.g., `#general`)
3. Type `/invite @YourBotName` and press Enter
4. The bot must be a member of the channel to post messages
   {% endstep %}

{% step %}

#### Copy the channel ID / name

1. Click on the channel name<br>

   <figure><img src="https://getefento.com/wp-content/uploads/2025/10/Efento-Cloud-Slack-9-620x181.png" alt=""><figcaption></figcaption></figure>
2. Copy the channel ID<br>

   <figure><img src="https://getefento.com/wp-content/uploads/2025/10/Efento-Cloud-Slack-10-464x620.png" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
You can also use the **Channel name** for the integration. However, using the **Channel ID** is more reliable, as it remains constant. If you choose to use the channel name and it’s later changed by someone in your workspace, the integration will stop working.
{% endhint %}
{% endstep %}
{% endstepper %}

### Efento Cloud configuration

{% stepper %}
{% step %}

### Create a new Slack connection

1. In the left-hand menu go to **Settings** (gear icon) and **Organisation settings**
2. Navigate to **Integrations**
3. In the Slack section click the **Add new Connection** button
4. Set connection parameters by:
   1. Adding connection name (e.g. Slack integration channel)
   2. Pasting the **Bot User OAuth Token** (starts with `xoxb-...`) (this is the token you have copied in step 3 in the ‘Install the app to your workspace’ section of Slack configuration)
   3. Entering the channel ID / name (step 1 in the  ‘Copy the channel ID’ section of Slack configuration)<br>

      <figure><img src="https://getefento.com/wp-content/uploads/2025/10/Efento-Cloud-Slack-2-583x620.png" alt=""><figcaption></figcaption></figure>
5. Click the **Test connection** button. If the connection is successful, you will see a test message in your Slack channel.

<figure><img src="https://getefento.com/wp-content/uploads/2025/10/Efento-Cloud-Slack-1-620x100.png" alt=""><figcaption></figcaption></figure>

If no message is received, verify if:

* The bot has been invited to the channel
* The token and channel ID are correct
* The app has the necessary permissions
* Save the connection by clicking **Add connection**
  {% endstep %}

{% step %}

#### Enable Slack notifications for selected rule(s)

1. In the left-hand menu go to **Settings** (gear icon) and **Rules and notifications**
2. Select rule name and parameters and press the **Next** button
3. Select sensors / location to which the rule will be assigned and press the **Next** button
4. In the **Notifications** section press the **Connect integration** button
5. In the **Integrations** drop down menu select **Slack** and  in the **Connect Integration** drop down select the name of the added integration. Press the **Connect Integration** button and save changes. From now on, if the rule is triggered, you will receive the integration to the selected Slack channel

<figure><img src="https://getefento.com/wp-content/uploads/2025/10/Efento-Cloud-Slack-8-620x498.png" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Please note the following:

* You can **reuse a single integration across multiple rules**. Simply create several rules and select the same connection for each. With this setup, if any of the rules are triggered, the bot will send messages to the same Slack channel.
* You can use **one Slack bot to send notifications to multiple channels**. To do this, create additional integrations in the Organisation settings, using the same Bot User OAuth Token but different Slack Channel IDs.
* This integration allows Efento Cloud to send notifications to both **public and private Slack channels**, but it does **not support sending direct (private) messages** to individual users in your workspace.
  {% endhint %}


# API integration

The Efento Cloud API enables you to securely retrieve measurement data from sensors connected to your Organization. Using the API, you can pull data from all sensors or only selected devices, depending on your needs. **Before accessing any data, you must** [**generate an API token**](/efento-cloud/advanced/editor/api-tokens)**, which authorizes your requests and ensures secure communication with the platform.**

In this chapter, you will find step-by-step examples showing how to use the API to:

* retrieve the most recent measurements from all sensors within a chosen location, and
* download historical measurement data for a specific time period.

These examples will help you quickly integrate Efento Cloud data with your own applications, dashboards, or analytical tools.

{% stepper %}
{% step %}

## Get lists of organisations

Check the IDs of the organisations, to which you have access, by sending the following request to Efento API:

**Method**: GET

**Endpoint**: <https://cloud.efento.io/api/v2/organizations>

**Headers**: Authorization: <mark style="color:red;">API token</mark> (e.g. “adsFcdc34rf…”)

In the response from Efento API, you will receive JSON that contains the list of all the organisations to which you have access along with their IDs and names:

```json
{
   "totalCount": 1,
   "organizations": [
       {
           "id": 2881,
           "name": "Organisation 1",
           "createdAt": "2022-05-25 11:09:27",
           "updatedAt": "2022-05-25 11:09:27",
           "token": "hf04gb0e-bsd3-440c-9fb9-ad0daad420e0",
           "smsSent": 0,
           "smsLeft": 0,
           "licensesLeft": 0,
           "measurementPointsCount": 1
       },
       ]
}
```

**You will need the ID of the organisation in the next request ("id": 2881).**

{% endstep %}

{% step %}

## Get list of all locations in your organisation

Sensors in organisations are grouped by locations. To receive the list of all locations in your organisation use the following request:

**Method**: GET

**Endpoint**: <https://cloud.efento.io/api/v2/locations?organization-id=><mark style="color:red;">ID-OF-YOUR-ORGANISATION</mark> (*e.g.  <https://cloud.efento.io/api/v2/locations?organization-id=2881>*)

**Headers**: Authorization: <mark style="color:red;">API token</mark> (e.g. “adsFcdc34rf…”)

In the response from Efento API, you will receive JSON that contains the list of all the locations to which you have access along with their IDs and names:

```json
{
   "locations": [
       {
           "id": 5655,
           "name": "TOP",
           "organizationId": 2881,
           "createdAt": "2022-05-25 11:09:27",
           "parentId": 0
       }
   ],
   "totalCount": 1
}
```

**You will need the ID of the location in the next request ("id": 5655).**

{% endstep %}

{% step %}

## Get list of the measurement points with their most recent measurements

To receive the list of all measurement points in the selected location use the following request:

**Method**: GET

**Endpoint**: <https://cloud.efento.io/api/v2/measurement-points?location-ids=><mark style="color:red;">ID-OF-THE-LOCATION</mark> (*e.g.  <https://cloud.efento.io/api/v2/measurement-points?location-ids=5655>* )

**Headers**: Authorization: <mark style="color:red;">API token</mark> (e.g. “adsFcdc34rf…”)

{% hint style="info" %}
By default, the API returns the first 20 measurement points assigned to the organisation. If your organisation contains more than 20 measurement points, you need to use pagination to retrieve the information about all the devices.
{% endhint %}

To retrieve more measurement points use th following request: <https://cloud.efento.io/api/v2/measurement-points?location-ids=><mark style="color:red;">ID-OF-THE-LOCATION</mark>&<mark style="color:red;">limit=20</mark>&<mark style="color:red;">offset=0</mark> (*e.g. <https://cloud.efento.io/api/v2/measurement-points?location-ids=5655\\&limit=20\\&offset=0>*)

**limit** - number of the measurement points you want to retrieve (min. 20, max.100)

**offset**  - offset used to shift the measurement points retrieved by the request (e.g. to retrieve first 100 measurement points use “...\&limit=100\&offset=0”, to retrieve second 100 measurement points use “...\&limit=100\&offset=100”, to retrieve third 100 measurement points, use “...\&limit=100\&offset=200”, etc.)

In the response from Efento API, you will receive JSON that contains the list of all the measurement points assigned to the selected location along with their IDs and names and the value of the most recent measurement:

```json
{
   "measurementPoints": [
       {
           "id": 989330,
           "locationId": 5655,
           "createdAt": "2022-05-25 12:17:22",
           "name": "40EBEC",
           "unconfirmedAlertsCount": 358,
           "activeAlertsCount": 0,
           "status": "OPERATIONAL",
           "measurements": {
               "measuredAt": "2022-06-15 12:15:00",
               "period": 5,
               "channels": [
                   {
                       "number": 1,
                       "name": "40EBEC",
                       "type": "ALARM",
                       "value": 0,
                       "status": "OK"
                   }
               ]
           },
           "device": {
               "id": 1128025,
               "serialNumber": "282C0240EBEC",
               "powerStatus": "BATTERY_OK",
               "signal": 37,
               "nextCommunicationAt": "2022-06-15 13:21:03"
           }
       }
   ],
   "totalCount": 1
}
```

**You will need the ID of the measurement point for the next request ("id": 989330)**

{% endstep %}

{% step %}

## Get measurements from the selected time period

To receive the the measurement from the selected time period use the following request:

**Method**: GET

**Endpoint**: <https://cloud.efento.io/api/v2/measurement-points/><mark style="color:red;">ID-OF-THE-MEASUREMENT-POINT</mark>/measurements?from=<mark style="color:red;">DATE-OF-THE-FIRST-MEASUREMENT-IN-UTC</mark>\&to=<mark style="color:red;">DATE-OF-THE-LAST-MEASUREMENT-IN-UTC</mark> *(e.g. <https://cloud.efento.io/api/v2/measurement-points/989330/measurements?from=2022-06-14> 22:00:00\&to=2022-06-15 21:59:59)*

**Headers**: Authorization: <mark style="color:red;">API token</mark> (e.g. “adsFcdc34rf…”)

In the response from Efento API, you will receive JSON that contains the list of all the measurements taken in the selected time period
{% endstep %}
{% endstepper %}

<br>


# Service Level Agreement (SLA)

This document outlines the support services available for Efento Cloud, including the scope of assistance provided, guaranteed response times, expected resolution times, and the Service Level Agreement (SLA) that defines the availability and performance standards of the Efento Cloud platform. It explains how users can request support, what types of issues are covered, and what level of service they can expect based on the severity of the reported problem. By understanding these guidelines, users can ensure efficient communication with the Efento support team and receive timely, effective help when needed.

## Efento support organisation

The Support Structure for Customer is divided into two lines of support: 1st Line Support and 2nd Line Support. On top of the Customer support, Efento has a DevOps team responsible for monitoring of undisturbed operations of Efento Cloud.

### First Line Support - Efento Support Team

Efento Support Team, a single point of contact for the Customers. The team is responsible for solving customer issues reported through Efento Support portal according to SLA. The scope of the topics handled by Efento Support Team include: answering technical questions, proceeding RMA requests and providing the Customers with technical documentation.

The preferred way of contacting the Efento Support Team is through the Efento support portal at [help.efento.io](http://www.help.efento.io). This allows us to monitor the response times, time to solve the issue and the overall quality of service. Moreover, it’s easier for the customers to report the issue and include the screenshots and issue description using the dedicated support portal.

Efento support team works Monday to Friday, 8 AM to 4 PM Central European Standard  Time, excluding Polish public holidays.

First Line Support responsibilities:

* Processing Customer’s Tickets, including technical questions, bug / issue reports and RMA requests
* Meeting times defined in the SLAs
* Providing consultations concerning the system usage
* Cooperating with the Second Line Support
* Storing knowledge about SLAs (reaction / repair times, procedures, etc.)
* Creating temporary solutions for problems that cannot be immediately solved/repaired in a ultimate way

### Second Line Support - Efento R\&D

Second Line Support is responsible for Efento Cloud during its whole life cycle, including designing, researching and improving applications. Customers do not have direct access to the 2nd Line Support, it is contacted internally (if needed) by the First Line Support.

Efento R\&D is responsible for making changes in the source code of Efento applications. It provides bug-fixes and patches. It is also responsible for deploying the new releases of the software.

Second Line Support responsibilities:

* Supporting the First Line Support in Customer reported issues analysis – providing consultations to the First Line Support
* Errors / bugs correction in the application code
* Development of new functionalities according to Product Manager’s requirements
* Deployments of the bug fixes / patches / upgrades

### Efento DevOps team

Efento DevOps team is responsible for monitoring Efento Cloud 24/7 and assuring that all the platform components are available and work as expected.

Customers do not have direct access to the Efento DevOps team.

Efento DevOps team responsibilities:

* Monitoring of operations of all the crucial platform features, including: receiving the data, using the API, generating the reports, sending SMS / email notifications and accessing the historic data
* Monitoring the crucial metrics of the platform, including the services metrics and the CPU load / RAM usage of the servers that host the platform.
* Detecting, diagnosing and solving all potential issues that may cause platform’s downtime
* Cooperating with Efento R\&D to deploy platform updates, patches and bug fixes
* Performing server maintenance, including the updates of the operating systems, patches, etc.
* Developing, improving and maintaining monitoring, deployment, backup and recovery scripts

## Efento Support portal

The official Ticketing System which is used for communication between Customer and Efento is based on JIRA Service Management. This tool utilises dedicated workflows to guide its users through the communication process, including registration of requests, assigning requests to a proper user or group, providing consultations, etc. It stores the full history of discussions related to a subject and makes possible reporting on the processing of requests. After performing any action in JIRA (e.g. adding a comment, changing the status of the ticket) the automatic email notifications are sent to the users involved in the given ticket.&#x20;

The application JIRA is available via the web browser following: [help.efento.io](https://help.efento.io)

All communication concerning incidents should be handled through Efento support portal. Reporting an issue / bug or asking a question using other means of communication does not guarantee the response times listed in the SLA.

It is Efento’s responsibility to remedy the Ticket by finding and delivering a solution acceptable to Customer to restore the affected deliverables to full operation. Efento is fully responsible for requesting from customers all reasonable information, data printouts, parameter settings, memory dumps, software logs, etc. that are needed to make it possible to analyse the failure and clear the faults within the defined time frames. &#x20;

A Ticket shall be closed when the Workaround solution or/and the Final Correction solution have been tested and then accepted by the Customer.

### Creating a Ticket

Efento support portal allows customers to create two types of Tickets:

* Technical Question / bug / issue report - this type of ticket is used to ask any question about Efento products, including their operations and integrations with third party services and report any potential issues or bugs in Efento applications (Efento Cloud, Efento mobile applications, software of Efento sensors and gateways)
* RMA request - this type of Ticket is used to report only the issues with Efento hardware (sensors or gateways)

When creating a Ticket, the customer should fill up all the information required by the Efento support portal. The better the issue description, the quicker the solution will be provided by the Efento support team.

If the customer reports a potential bug or issue, the following information must be included in the ticket’s description:

* Detailed description of the incident / error
* Memory dumps / logs (if applicable)
* User actions up to the time bug / issue was observed
* Serial number of affected device(s) (if applicable)
* Replication algorithm (if possible)

### Ticket workflow

When an issue is created Efento support team follows the workflow, depending on the Ticket type.

**RMA request**

1. Check, if the reported issue is really a RMA request
2. If there is information missing, contact the customer to get all the details needed to solve the issue
3. Check, if the reported device and issue are covered by warranty
4. If the device / reported issue are covered by warranty, follow the warranty procedure, to solve the issue
5. If the device / reported issue are not covered by warranty, inform the customer about the repair cost
6. Close the ticket when the issue is solved

**Technical questions**

1. If all the information required to answer a technical question are included in the ticket, answer the question
2. If there is information missing, contact the customer to get all the details needed to solve the issue
3. Close the ticket when the question is answered

**Bug / issue report**

1. Check, if all the information required to reproduce a bug / issue are included in the ticket
2. If there is information missing, contact the customer to get all the details needed to solve the issue
3. Reproduce the bug / issue
4. Assign the issue severity based on the [guidelines](#severity-levels)
5. Provide a workaround / ultimate solution to the customer
6. Close the ticket

### Closing a Ticket

The Ticket can be closed, if any of the following conditions occurs:

* Any other Ticket opened by the same Customer concerns exactly the same issue
* An update has been provided and installed
* Efento support team is not able to replicate the issue
* The Ticket is a question and the appropriate answer has been already sent to the person submitting the Ticket
* The responsibility for the Ticket execution is out of Efento responsibility (e.g. the Efento support team provided customer with a software upgrade, but updating the devices is Customer's responsibility)
* The Customer is not able to provide information needed by Efento support team to solve the issue for one week period
* The Customer did not give feedback for four weeks since the last contact from Efento support team

## Response / workaround / final correction times

The Response Time will be counted as the period of time that elapses between the time when Customer created a Ticket and the time when Efento confirmed that it was registered.&#x20;

The Workaround Time will be counted as the period of time that elapses between the time when the Trouble Ticket was confirmed by Efento and the time when Efento support team provided the Customer with a solution that allows to use all the functions of Efento Cloud as described in the Efento Cloud User manual. The periods when Efento support team waits for additional information form the Customer (the Trouble Ticket is in status “Waiting for customer”) are not counted as solving time.

The Final Correction Time will be counted as the period of time that elapses between the time when the ticket was registered by Efento and the time when the Ticket was fully solved by Efento (Efento deployed a fix that solves the issue) or rejected. The periods when Efento support team waits for additional information form the Customer (the Ticket is in status “Waiting for customer”) are not counted as solving time.

The time of Final Correction or Workaround shall not include in particular:

* The time necessary to solve the problems out of Efento’s scope, including (but not limited to): issues with Customer’s operating system, network issues or problems with Customer’s 3rd party software / hardware
* The time of waiting for a response to the questions asked by Efento support team on the subject matter of the Ticket
* The time of unavailability of the employee of the Customer who is supposed to provide the personal support necessary to diagnose and fix the issue or to test the proposed solution

### Severity levels

Each Trouble Ticket has the severity level assigned by the Efento support team. There are three available severities: Blocker, Major, Minor.

| Severity Level               | Problem group                                                                                                                                       | Problem definition                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| <p>Level 1</p><p>Blocker</p> | Execution of crucial operations cannot be performed due to an infrastructure issue.                                                                 | <p>Use of the crucial functions is not possible. Efento Cloud functionality / functionalities is severely hindered or completely blocked</p><p>Possible problems include one or more of the following situations:</p><ul><li>It is impossible to login to the platform</li><li>SMS / email notifications are not sent</li><li>The platform does not accept the incoming data from the sensors</li><li>It is impossible to display the data from the sensors</li><li>It is impossible to generate a report</li><li>Platfrom’s API is not responding</li></ul> |
| <p>Level 2</p><p>Major</p>   | Execution of substantial operations is severely impaired due to an error / bug.                                                                     | <p>The use of Efento Cloud is impaired, however working with it is still possible.</p><p>Possible problems include one or more of the following situations: </p><ul><li>It is impossible to create a new user account or a new organisation</li><li>It is impossible to add new devices to the platform</li><li>It is impossible to set a new alert rule</li><li>It is impossible to send an invitation to a new user</li></ul>                                                                                                                              |
| <p>Level 3</p><p>Minor</p>   | Execution of operations is affected by less significant issues / bugs – functioning of Efento Cloud is not hindered or is insignificantly hindered. | <p>Other faults that do not fall into Level 1 and 2. The operation or the intended use of the services is possible with minor impairment.</p><p>Possible problems include one or more of the following situations:</p><ul><li>All problems that can be omitted using other methods</li><li>Translations issues</li><li>Layout (frontend) issues that do not affect the operations of Efento Cloud</li></ul>                                                                                                                                                  |

### SLA times

The tables below present Severity Levels applied by Efento along with intervention deadlines.

| <p><br></p>                      | <p>Level 1<br>Blocker</p>                                    | <p>Level 2<br>Major</p>                                                      | <p>Level 3<br>Minor</p>                                                      |
| -------------------------------- | ------------------------------------------------------------ | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| Efento Support team availability | Solved by Efento DevOps team, 24/7                           | <p>Monday to Friday,<br>8:00 – 16:00\*, excluding Polish public holidays</p> | <p>Monday to Friday,<br>8:00 – 16:00\*, excluding Polish public holidays</p> |
| Response time                    | Not applicable (Blockers are detected by Efento DevOps team) | 8 h                                                                          | 8 h                                                                          |
| Workaround                       | 8 h                                                          | 24 h                                                                         | Not applicable                                                               |
| Final Correction                 | 1 week                                                       | 8 weeks                                                                      | 48 weeks                                                                     |

\* - all times in Central European Standard Time zone

Efento is responsible for taking all necessary actions to provide Customers with a remedy to the emergency situation and restoring the affected Deliverables to trouble free operation in accordance with SLA times.

In case when a Ticket is on the Customer side (e.g. answering questions, testing solution, collection of information depends on Customer) restoration time is not counted (Customer's response time is not included into restoration time).

If it is necessary, Customer is obligated to assign a person who will help in solving a given problem. If this person is not available and his presence is necessary, then SLA times will not be counted.

## Efento Cloud maintenance and monitoring

Efento Cloud is hosted, monitored and maintained by Efento’s DevOps team. This team is responsible for constant monitoring and maintenance of the platform. The team works 24/7 and reacts to any incident / issue as soon as it pops up.

### Efento Cloud hosting

The Efento Cloud platform is hosted on Amazon Web Services servers (data centres in Frankfurt and Dublin). All data of the platform users are stored in the territory of the European Union. The IT infrastructure that AWS provides to its customers is designed and managed in alignment with security best practices and a variety of IT security standards including the following: SOC 1, 2, 3, ISO 9001 / ISO 27001 / ISO 27017 / ISO 27018, HITRUST, FedRAMP, CSA Security, Trust & Assurance Registry (STAR).

Data and settings backup is performed automatically once a day. The backups are always stored in a data centre located in another geographical location than the main database. The data is stored in a database cluster, which ensures its consistency. Data on the platform is stored for a minimum of six years.

### Efento Cloud monitoring

Efento Cloud is monitored by the Efento DevOps team, 24/7. All crucial platform features, including: receiving the data, using the API, generating the reports, sending SMS / email notifications and accessing the historic data are monitored by automatic scripts developed and managed by the Efento DevOps team. The team also monitors the crucial metrics, including the services metrics and the CPU load / RAM usage of the servers that host the platform. All the potential issues are usually detected, diagnosed and solved before the customers notice them.

### Efento Cloud uptimes

| Component / feature                            | Yearly uptime percentage                            |
| ---------------------------------------------- | --------------------------------------------------- |
| Receiving measurements                         | Less than 99.99% but greater than or equal to 99.5% |
| Sending SMS / email notifications              | Less than 99.99% but greater than or equal to 99.5% |
| Generating / sending the reports               | Less than 99.99% but greater than or equal to 99.5% |
| Efento Cloud API                               | Less than 99.9% but greater than or equal to 99%    |
| Access to the data over web browser (frontend) | Less than 99.9% but greater than or equal to 99%    |

### Data recovery from backups

In case of any issues that would require restoring the historical data from backups, the data will be restored in 4 hours. During the process of restoring the data from the backups, the historical data may not be available for the users. This does not affect other platform’s functions / components and their uptimes listed in the table above.

## Customer’s responsibilities&#x20;

### Customer Systems

Data from the Efento Cloud / Efento sensors can be supplied to the Customer Systems over API. Efento is not responsible for Customer Systems. After discovering the problems, Customer is responsible for repairing them and for contacting vendors of these systems.

### Connectivity

Efento is not responsible for any connectivity issues (either wireless or wired). It is Customer’s responsibility to provide (either by its own means or vendors) a stable connectivity for Efento sensors and / or gateways.

### Devices maintenance

It is Customer's responsibility to to make sure that the devices are operating properly, including monitoring of the battery level and replacing it when the battery runs out, providing proper power supply for Efento Gateways, periodically testing if the devices operate as expected and making sure that the devices operate in the conditions as defined in their data sheets.

## Liability, Exclusions, and Force Majeure

### Limitation of liability

To the maximum extent permitted by applicable law, in no event shall Efento be liable to the Customer or any third party for any indirect, incidental, special, punitive, exemplary, or consequential damages, including but not limited to loss of profits, loss of revenue, loss of data, loss of business opportunity, or loss, damage, or spoilage of any physical goods, products, or materials monitored by Efento devices and Efento Cloud, even if Efento has been advised of the possibility of such damages.

Efento’s total aggregate liability arising out of or in connection with this SLA, the performance of Efento Cloud, or any service unavailability, whether in contract, tort (including negligence), strict liability, or otherwise, shall be strictly limited to the total amount actually paid by the Customer to Efento for the Efento Cloud subscription during the twelve (12) months immediately preceding the event giving rise to such liability.

### Third-Party infrastructure and Force majeure exclusions

Efento Cloud relies on third-party infrastructure, including but not limited to cloud hosting providers (Amazon Web Services), telecommunication network operators (GSM/NB-IoT/LTE-M), and external SMS/email gateway providers. Efento shall not be held liable, and the SLA uptime targets and resolution times shall not apply, in the event of any service degradation, delay, or unavailability caused directly or indirectly by:

a) Interruptions, outages, or maintenance carried out by the cloud hosting provider (AWS);

b) Network congestion, lack of coverage, signal interference, or outages on the side of telecommunication operators or internet service providers;

c) Failures or delivery delays on the part of third-party SMS or email delivery gateways;

d) Any events of Force Majeure, including but not limited to natural disasters, acts of war, cyberattacks (DDoS), or government regulations.


# GxP compliance

## About Efento

Efento was founded in 2016. Since the beginning, we have focused on solutions in the field of Internet of Things (IoT), Machine-to-machine communications (M2M) and Cloud computing.

As one of the few companies in the world, we offer an integrated solution for monitoring and analysing various physical parameters, based on wireless sensors (Bluetooth Low Energy and Narrowband IoT), advanced cloud platform, and mobile applications.

Our products are used by more than 8 000 customers on six continents. Every day Efento Cloud platform receives, analyses and stores over 30 million measurements from sensors working on our customers’ sides. Our portfolio contains over 20 types of wireless sensors.

When designing our products, we make sure that both our hardware and software are:

* **Convenient to use** - our solutions are designed to make the setup and operations as easy as possible. Unlike the current hardware, our sensors are easy to install and work for a long time without any maintenance by the users. Data collection and analysis software is hosted by us, so customers do not need to worry about setting up, maintaining and updating server infrastructure.
* **Complete** - we offer a complete solution for data collecting and analysis including sensors, transmission and cloud platform.
* **Cost efficient** - our solutions are designed in a way to be cost effective. Due to simple installation and no maintenance, long battery life, low transmission costs and software hosting in the cloud, the total cost of ownership of Efento products is lower compared to traditional monitoring solutions.
* **Universal** - Efento sensors and cloud platform allow users to integrate with any third party solution and enrich their data with the insights that can be obtained from the wireless sensors.

## System description

Efento Cloud is a server platform that collects and processes data from Efento sensors. The platform is designed for facilities where from a dozen to several hundred measurement points are monitored, e.g. pharmaceutical wholesalers, cold stores or warehouses. Data can be sent to the platform from any location, and the user has access to it via a web browser.

The system consists of Efento sensors that measure and log various physical values including temperature, humidity, water presence and atmospheric pressure, Efento Gateway, which collects and sends the measurement data, and the Efento Cloud platform.

The server platform is the "brain" of the entire system, that collects and analyses the data, informs users about any abnormalities by SMS or e-mail and allows users to access the data via web browser or mobile application. The platform architecture and hosting are based on Amazon Web Services, which enables flexible scaling of the solution. Every day, the platform receives and processes over 30 million measurements from sensors working at our clients’ sites.

All parts of Efento Cloud system, including the cloud platform, Efento sensors and Efento Gateway, are compliant with the requirements of GxP (Good Laboratory Practices (GLP), Good Clinical Practices (GCP), Good Manufacturing Practices (GMP). All its parts of the system meet the regulatory requirements in the fields of security, data integrity and have the features required by the GxP regulations.

### Key features

Efento Cloud provides users with all the features needed to monitor the environmental parameters in a GxP compliant manner.

* **Alarm rules**\
  You can define any number of alarm rules and assign sensors to each rule. The rule consists of an input, condition and action, for example: if the temperature rises above 10 degrees, the platform will send an SMS notification to selected recipients. The rules can be configured in any way, e.g. sending notifications to different recipients depending on the threshold being exceeded.
* **Notifications**\
  The platform allows you to send notifications to any number of users, in the form of e-mails, SMS, phone call and push notifications.
* **Data storage**\
  All measurements from Efento sensors are saved in the Efento Cloud platform. You can access them 24 hours a day from anywhere in the world via a web browser or mobile application. Measurements are stored in the platform for six years.
* **Locations**\
  Thanks to Efento Cloud, you can easily organise the locations and assign the sensors to them. The platform enables mapping the structure of an organisation in the form of a tree and assigning individual sensors to its branches. The method of grouping is not subject to any restrictions, you can use a geographical division (e.g. Country -> States -> Cities -> Facilities), functional (e.g. Type of facility -> City -> Exact location) or other, better suited to your organisation.
* **Permission levels**\
  For organisation users, you can create accounts for administrators who can configure the system (e.g. edit alarm rules, transfer sensors between locations, add new users), managers who have access to data and the ability to edit some settings (e.g. alarm rules) and analysts, who only have access to the data without the possibility to edit any settings.
* **Access to your locations**\
  In addition, the rights may be granted to individual locations, thanks to which a person from “Branch 1” does not have access to data from the sensors working in “Branch 2”.
* **Maps / floor plans**\
  You can assign a map or a room plan to each location and place sensors on it. Thanks to this, you can quickly see where the sensor that measured the high temperature is located. The map also shows the status of the sensors with the possibility of filtering them.
* **Reports**\
  Measurements from a selected period of time can be exported at any time in the form of a report (pdf and csv). What's more, Efento Cloud allows you to automatically send reports to any email address with a selected frequency (e.g. once a day, once a week, once a month).
* **Charts**\
  Data from any period of time can be displayed in the form of a graph, so you can quickly check whether the set alarm thresholds have not been exceeded.
* **History of events**\
  All events such as the occurrence of alarms caused by exceeding the alarm thresholds, loss of communication with the sensor, return of measured values ​​to safe ranges are saved in the system and after logging in, you can quickly restore the list of events along with the dates and times of their occurrence.
* **Sensor statuses**\
  Efento Cloud enables quick and convenient filtering and sorting of sensors. You can filter sensors by name, serial number, measurement type or location. In addition, you can quickly filter out inoperative sensors, sensors with low battery level or sensors turned off.
* **Audit trail**\
  All changes and operations performed by users in the system are recorded in the audit trail. Thanks to this, administrators can see all changes within the system (including adding / removing a sensor, changing alarm rules, adding / changing user permissions) along with information when they were made and what user made them.
* **Integrations**\
  Efento Cloud offers multiple integration options that let you seamlessly connect the platform with your existing IT systems, analytics tools, or third-party applications. Whether you need to pull measurement data into an external dashboard, push alerts to another system, or automate workflows, Efento Cloud provides flexible, secure solutions. Integrations are available through our REST API, Webhooks, and ready-to-use connectors, ensuring smooth data exchange and enabling you to build customized, end-to-end monitoring processes tailored to your organization’s needs.

## Data security

Efento Cloud and Efento devices have been designed to provide full data security and integrity at each step. When designing communication protocols and ways of storing the data, we perform risk assessments to make sure that measurements, configuration and other data, which is crucial in case of GxP, is secure and no information is missing. As a result, the Efento Cloud system provides high reliability and data integrity.

### Security of data transmission

* At each stage of communication, the data transmission is encrypted, which makes it nearly impossible to capture and / or modify them ("man in the middle" attack).
* Communication between the sensors and Gateway can be encrypted using AES 128.
* Communication between Efento Gateway and the Efento Cloud platform is based on the HTTPS protocol with TLS / SSL. TLS ensures the confidentiality and integrity of data transmission as well as server and client authentication. It is based on asymmetric encryption and X.509 certificates.
* The server-browser communication (access to the platform by the user) takes place using the HTTPS protocol.

### Security of data storage

* The Efento Cloud platform is hosted on Amazon Web Services servers (data centres in Frankfurt and Dublin). All data of the platform users are stored in the territory of the European Union
* Amazon Web Services servers are GxP (Good Laboratory Practices (GLP), Good Clinical Practices (GCP), Good Manufacturing Practices (GMP) compliant. [More information](https://aws.amazon.com/compliance/gxp-part-11-annex-11/)
* The IT infrastructure that AWS provides to its customers is designed and managed in alignment with security best practices and a variety of IT security standards including the following: SOC 1, 2, 3, ISO 9001 / ISO 27001 / ISO 27017 / ISO 27018, HITRUST, FedRAMP, CSA Security, Trust & Assurance Registry (STAR)
* Data and settings backup is performed automatically once a day and is stored for 30 days from the date of execution. The backups are always stored in a data centre located in another geographical location than the main database.
* The data is stored in a database cluster, which ensures its consistency. Data on the platform is stored for a minimum of six years.
* The stability of Efento Cloud's work is supervised by a team that watches over the correctness of the platform's operation 24/7. More information about platform availability can be found in the [SLA](/efento-cloud/documents/service-level-agreement-sla) section.

### Data access security and data integrity

* The Efento Cloud platform provides three [levels of access](/efento-cloud/advanced/editor/users):
  * Administrator - access to data, the ability to change settings, the ability to edit users,
  * Manager - access to data, the ability to change settings,
  * Analyst - access to data.
* Users (regardless of the permission level) have no access to the database and cannot edit the measurement data.
* In the process of transmitting measurements and saving them on the platform, the security mechanisms introduced (encryption and identification of the device they come from) make it impossible to edit measurement data or send them via an unauthorised device.
* Measurement reports can be generated as non-editable files (PDF). It is possible to verify the reports by the re-generation of a report from a selected period of time by the inspection body.

### Security - responsibilities on the customer’s side

Please note that part of the responsibility of data security is on the customer’s side. Efento Cloud provides a set of tools that allow them to control the access to the data and platform features within their organisation. It's the customer's responsibility to assign proper permissions for each user that has access to their data and introduce policies within their organisation that prevent potential data leakages / manipulation caused by the human factor. Customer responsibility includes, but is not limited to: setting strong passwords to Efento Cloud accounts, changing default passwords on Efento Gateways and managing access permissions to Efento Cloud.

## Data Integrity (ALCOA++)

ALCOA++ represents enhanced data integrity standards for regulated industries (clinical trials, pharmaceuticals), ensuring data is **A**ttributable, **L**egible, **C**ontemporaneous, **O**riginal, **A**ccurate, **C**omplete, **C**onsistent, **E**nduring, **A**vailable, and **T**raceable. Efento Cloud and Efento wireless data loggers are aligned with ALCOA++ principles as outlined below:

| Principle       | Regulatory requirement                                                | Efento Cloud fulfilment and features                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| --------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Attributable    | Data must be traceable to the person or device that generated it.     | <ul><li>Unique User Accounts: Every user has their own credentials. Shared logins are prohibited by system policy</li><li>Audit Trail: Logs "Who, What and When" Every configuration change, alarm acknowledgement, or user addition is linked to a specific user ID</li><li>Device Identification: Each logger has a unique serial number permanently assigned to its data stream.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Legible         | Data must be clear, readable, and permanent throughout its lifecycle. | <ul><li>Digital Storage: Eliminates handwriting errors. Data is stored in a structured Cassandra database cluster.</li><li>Human-Readable Reports: Generates standardised PDF and CSV reports that are easy to read and interpret.</li><li>Web Interface: Real-time dashboards provide clear visualisations (graphs/tables) of all measurement data.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Contemporaneous | Data must be recorded at the time of the measurement/event.           | <ul><li>Time-stamped measurements: Each measurement is recorded in the logger’s memory along with the corresponding timestamp.</li><li>Automatic Time-stamping: The system uses network time synchronisation (NTP) to ensure all measurements are timestamped accurately at the moment of recording.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Original        | Data must be the first capture or a "certified true copy."            | <ul><li>Primary Source: Data is transmitted directly from the sensor to the cloud without manual transcription.</li><li>Memory Buffer: Loggers store up to 40,000 measurements locally. If connection is lost, data is automatically re-sent from the device's original memory once restored, ensuring the "original" data is never lost.</li><li>Data Encryption: AES-128 encryption prevents "man-in-the-middle" tampering during transmission.</li><li>Cryptographically signed measurements: In the case of Efento NB-IoT sensors, measurements are cryptographically signed using a unique device key, ensuring that the data originates exclusively from that specific device.</li></ul>                                                                                                                                                                                                                              |
| Accurate        | Data must be correct, valid, and free from error.                     | <ul><li>Digital Precision: No human error in reading values; data is transmitted digitally with checksums.</li><li>Calibration Certificates: Efento provides calibration certificates for sensors to ensure the physical accuracy of the source data.</li><li>Data Encryption: AES-128 encryption prevents "man-in-the-middle" tampering during transmission.</li><li>No Modification Policy: Data collected by Efento sensors is neither altered by users nor modified by Efento on the cloud platform and is presented exactly as measured by the device. The only exception applies to devices using channel formulas (e.g., 4–20 mA, 0–10 V, resistance, pulse counters), where users can define a formula to calculate the displayed values.</li></ul>                                                                                                                                                                 |
| Complete (+)    | All data must be present, including any changes or re-measurements.   | <ul><li>Six years of data storage: The measurements are stored on the platform for six years</li><li>No Deletion Policy: Measurement data on Efento Cloud cannot be deleted or modified by users (including admins).</li><li>Event History: All alarms, communication losses, and system events are kept as part of the permanent record.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Consistent (+)  | Data should follow a chronological sequence.                          | <ul><li>Sequential Logging: Data points are stored and displayed in strict chronological order based on their unique timestamps.</li><li>Database Integrity: The Cassandra cluster architecture ensures data consistency across the platform.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Enduring (+)    | Data must be stored and readable for the entire retention period.     | <ul><li>Cloud Storage: Data is stored for six years</li><li>Redundant Backups: Infrastructure includes automated backups to prevent data loss due to hardware failure.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Available (+)   | Data must be accessible for review or audit at any time.              | <ul><li>24/7 Access: The web-based platform is accessible globally via browser or mobile app.</li><li>Automated Reporting: Users can schedule daily/weekly reports to be sent automatically to quality managers.</li><li>Export Capability: Data can be exported at any time for third-party audits or regulatory inspections</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Traceable (++)  | Cradle-to-grave metadata.                                             | <p></p><ul><li>Lifecycle Traceability: Every measurement point has a history log that records when it was created or modified.</li><li>Notification Traceability: In the event of an alarm, Efento Cloud logs not just that an alarm occurred, but the exact delivery status: <em>Who</em> was notified, <em>via which channel</em> (SMS, Email, Push), and <em>at what exact time</em>.</li><li>Configuration Traceability: All changes made to any asset within the platform are recorded in the audit trail. For example, when a manager modifies a temperature threshold, the system captures the previous value, the updated value, the identity of the individual who performed the change, the timestamp, and the documented reason for the modification (as recorded in system logs). This ensures full traceability and provides a complete audit history of the environmental monitoring configuration.</li></ul> |

## Software development

### Software development process

The software development process is standardised and used by all teams that develop Efento software, no matter if it’s Efento Cloud, Efento mobile application or firmware used by Efento embedded devices. Software development flow always requires the following steps:

{% stepper %}
{% step %}

### Defining the requirements and work planning

At this stage, a project team consisting of programmers, business analysts and product owners define the requirements for the features that will be implemented in the software. Once the requirements are defined and written down, tasks are divided between the development team members along with the estimation of the workload required to develop each feature. The adopted software development method allows the team to control the quality of the development process, as the features developed in one cycle can be easily and quickly tested to check, if the software works properly and if the newly developed features works as defined by the requirements.
{% endstep %}

{% step %}

### Development

At this stage, the features defined in the previous step are developed. Each of the features is integrated and tested with the entire application on an ongoing basis. During the development and integration of the application, unit tests of individual software components and an integration test are developed. The project team meets periodically to discuss the current progress of work, emerging problems and the compliance of the developed functionalities with the design assumptions / requirements. Once the code has been developed, it undergoes a mandatory peer-review process and static code analysis to ensure quality, security, and compliance before it is merged into the repository.

The result of this stage is a software in the test version with implemented features defined in the first stage. The software is built and marked as the test version. It is impossible to update the production software with the test versions of the software.
{% endstep %}

{% step %}

### Testing

At this stage, the Quality Assurance team (separate from the development team) starts the tests of the software based on the defined test cases. Majority of the tests are automated by the QA team, some are performed manually.

{% stepper %}
{% step %}

#### System testing

Testing conducted on a complete integrated system to evaluate the system's compliance with its specified requirements. System testing takes, as its input, all of the integrated components that have passed integration testing.
{% endstep %}

{% step %}

#### Acceptance testing

Formal testing with respect to user needs, requirements, and business processes conducted to determine whether a system satisfies the acceptance criteria defined during the requirements development to determine whether to accept the developed features.
{% endstep %}
{% endstepper %}
{% endstep %}

{% step %}

### Release

Once the software is tested, a new version of software is released and available for the users.
{% endstep %}
{% endstepper %}

### Code pathway

Efento uses a standardised code pathway, used by all teams that develop Efento software, no matter if it’s Efento Cloud, Efento mobile application or firmware used by Efento embedded devices. This process is executed for both new code and changes to an existing codebase.

{% stepper %}
{% step %}
Developer writes the code in an approved and standardised integrated development environment.
{% endstep %}

{% step %}
Once the feature is finished, the code is deployed in a repository and assigned to another developer(s) for code review.
{% endstep %}

{% step %}
The code goes through a code review in which at least one additional developer reviews the code and approves it. The list of approvals is stored in a log that is retained within the code review tool.
{% endstep %}

{% step %}
The code is then built from source code to the appropriate type of deployable code package (which varies from language to language) / software package in an internal build system adjusted to the specification of the software which is being developed.
{% endstep %}

{% step %}
After successful build, including successful passing of all unit tests, integration tests and static code analysis the code:

* gets pushed to a test environment (Efento Cloud software)
* is built as a software package which may be deployed on a particular device type (Efento sensors software, Efento gateway software, Efento mobile application)
  {% endstep %}

{% step %}
The code goes through automated integration and verification tests in the pre-production environments and upon successful testing the code is pushed to production.
{% endstep %}
{% endstepper %}

### Change management and issue tracking software

Every change in Efento software (both new features or modifications of the existing ones) goes through the same Software development process. Efento uses an issue tracking tool that stores the information about the requirements, tasks, tests and bugs. This provides us with full visibility of the software development progress, allows us to control the test coverage and track all the changes between the software versions.

## Hardware

### ISO 9001

All Efento devices are produced by subcontractors who have implemented a Quality Management System based on ISO 9001 norm. We constantly monitor our subcontractors and check if they have implemented the QMS and have a valid ISO certificate issued by a Certification body.

### Devices production and testing

**Production documentation**

Production process of all Efento devices is standardised, documented and monitored during all stages. Information about each production batch is stored in a tracking system that provides us with full traceability of every single device.

**Testing**

Efento devices are subject to tests, performed during the production process. The tests include:

* **AOI tests** - for every produced device,
* **AXI** - for the few first unit within a batch (performed to verify the machines settings, soldering profiles, etc.),
* **Self test** - Self test is a part of the production process to ensure the quality of Efento’s devices. Self tests are triggered automatically once the device's production is fully finished (device is assembled and programmed with the software). Self test scenarios depend on the type of the device which is being tested. The test scenarios include:
  * Checking communication with cellular modem and SIM card (only devices equipped with the cellular modem)
  * Checking communication with flash memory
  * Checking measurements from each installed sensor
  * Checking the status of the button on the PCB
  * Checking processor status
  * Checking Bluetooth communication
  * Checking, if the device was programmed (flashed) properly

On top of that, during the tests, detailed information about each produced device is gathered and stored in the production report file along with the test results. Production report contains information about: modem’s IMEI, SIM card ID (if the SIM card is inserted / soldered at the time of production), modem version, modem firmware version, Efento’s software version.

### Certificates of compliance with EU requirements (CE)

All Efento devices are compliant with the requirements included in the relevant Community standards. The devices have been tested by an external laboratory and meet the requirements of the Radio Equipment Directive (RED) 2014/53/EU, Including the Health and Safety, EMC and Radio requirements. The CE certificates for all types of the devices are available in the [Support section of Efento website](https://getefento.com/support/).

### Calibration certificates

Efento temperature and humidity sensors can be supplied with calibration certificates that meet the requirements of ISO/IEC 17025. Calibration is performed by ILAC/MRA-accredited laboratories, capable of calibrating devices at any measurement points within the ranges of –196 to 150°C and 0 to 94% RH. All instruments used during calibration are themselves calibrated against standards traceable to the Central Office of Measures, ensuring full measurement credibility.

The calibration certificate confirms the accuracy of the device at the moment of testing and does not have a formal expiration date. However, organizations may choose to establish their own recalibration schedules based on internal procedures or regulatory requirements.

Calibration is an optional, additionally charged service.

## Validation

The system has been validated according to the requirements and the guidelines of GxP. On customer’s request, Efento can provide the description of the test cases (IQ, OQ, PQ) for self validation after the implementation of Efento Cloud system in customer’s premises.


# Terms of use

The conditions below (the “Conditions”) together with the privacy policy regulate the access to and use of the Efento Cloud website, mobile applications, products and services (collectively the “Site”).

The Service is offered and provided by Efento Sp. z o. o. (“we”, “us” or “our”). In some cases, the use of our Service requires that our software be installed on a computer or mobile device (“Software”). By accessing the Service and to install or use the software, the user must agree to these Terms without modification by the User. The User may terminate these Terms at any time by uninstalling the software and canceling the account on the Service. Some provisions will continue to apply after the expiration of these Terms. These conditions constitute a legal agreement between us and you.

## **Definitions**

“User” is a person who has access, browses or uses the Site or Software in any way\
“Our Content” means all content (including text, images, photos, audio, video) created, developed and placed by us on any of Efento’s websites including [www.efento.pl](http://www.efento.pl), [www.getefento.com](http://www.getefento.com), cloud.efento.io, cloud.getefento.com, cloud.efento.pl, [www.efento.io\\](http://www.efento.io\\)
“User’s Content” means all data saved and sent by the User to / via the Service, including sensor measurements, location maps, alarm comments, email addresses and phone numbers of notification recipients, sensor names.\
“Third-Party’s Content” means content that is made available on the Site by entities other than us or Users, such as data providers who have a license for the data we use on the Service.\
“Site Content” means all content that is made available on the Site, including Content, User Content, Third Party Content.\
“Software” means the software provided by us and downloaded by Service Users, such as computer software, mobile applications, and firmware.\
“Equipment” means any device sending data to the Site – sensor or gateway.

## **Privacy policy**

We encourage you to read our privacy policy, which can be found [here](https://getefento.com/privacy-policy/). By agreeing to these Terms, you also agree to our Privacy Policy. Our Privacy Policy regulates the collection, use and disclosure of information collected from you. The information we collect is stored and processed by us on servers in the European Union. By installing software or creating an account on the Site, you consent to the collection and processing of data for the purposes of using the Site.

## **Amendments to the Regulations**

We can change the terms of use of the Site. Any changes to the terms of use will appear on this page, and in the event of significant changes to the terms of use, we will additionally notify you by e-mail, which will be sent to the address provided at registration. The user should track changes in the conditions of use on a regular basis, as the current version of the conditions of use is binding. Any change to the terms of use will be effective upon updating the terms of use on the Site. The User understands and agrees that the continuation of access to and use of the Site or Software after each written modification of the Terms constitutes acceptance of the modification.

## **User accounts**

To use some functions on the Site, the User must set up an account and provide information about himself. You are responsible for keeping the account password confidential. You are also responsible for all activities related to your account. You agree to notify us immediately of any unauthorized use of your account. We reserve the right to close your account due to non-compliance with the Terms of Use. Creating an account, the User may not impersonate anyone, create accounts for anyone other than himself, provide an email address other than his own, or create multiple accounts. Some features of the website allow you to send text messages (SMS) to the User’s mobile devices or to third parties. The user gives us permission to send SMS messages to recipients (phone numbers) entered by him on the Site. Sending an SMS is associated with fees about which the User is notified on the Site. By using the Site’s functions that enable sending SMS messages, the User undertakes to pay such fees. At any time, the User may opt-out of receiving text messages (SMS) by deleting his number from the Site. Telephone numbers and email addresses registered by Users on the Site will not be used for marketing purposes or transferred to third parties without the User’s consent.

## **Use of the Site**

We provide the User with access to the Site in accordance with the restrictions described in these Terms. We strive to ensure trouble-free operation of the Site, but we do not guarantee its continuous and trouble-free operation. The User uses the Site at his own risk. We do not guarantee that all data sent to or from our Site will be accurate and without errors. User’s content sent to the Site will be saved and stored on the Site for at least two years from the moment they are sent.

## **Restrictions on use**

The User agrees that he will not allow third parties and will not:

* use the Site for promotional or commercial purposes, except for express written consent by us;
* use the Site in a way that violates any third party rights, including any breach of trust, copyrights, trademarks, patents, trade secrets, privacy, image rights and other intellectual property or property rights;
* use the Site in violation of these Terms or applicable law;
* modify, adapt, reproduce, distribute, translate, create derivative works or adaptations, publicly reproduce, sell or otherwise use the Site and Our content except as expressly provided by us;
* reproduce the operation of the Website or Equipment using “reverse engineering”, except as expressly authorized in writing by us;
* remove or modify any copyrights, trademarks or other property rights on the Site;
* use the Site to obtain information about other Users;
* use the Site for positioning purposes;
* take any action that causes or may cause an unreasonable or disproportionate burden on our technological infrastructure;
* attempt to gain unauthorized access to the Site, user accounts, systems or networks connected to the Site by hacking, analyzing passwords or other IT resources;
* use the Site or any Site Content to send computer viruses, worms, Trojan horses or other destructive elements (collectively, “Viruses”);
* use any devices, software or procedures that interfere with the proper functioning of the Site or otherwise interfere with the proper functioning of the Site;

## **Responsibility for content**

Only the User is responsible for User’s Content and assumes all risk associated with content, including the risk related to the accuracy and completeness of User’s Content. You may not imply that the content is in any way certified by us.

You may be liable if, for example, User’s Content violates any third party rights, including copyrights, trademarks, patents, trade secrets, image rights or other intellectual property or property rights; contains material that is false, intentionally misleading; contains material that is unlawful; or violates any law or regulation.

## **Use of content**

We may delete or restore User’s Content at our sole discretion. We have no obligation to retain User’s Content after a period of two years has elapsed since they were uploaded to the Site, nor can we guarantee confidentiality or liability with respect to content. For example, sensor measurements sent to the Site may be deleted two years after they have been sent.

## **Software license and restrictions**

When using the Site and creating an account on the Site, we grant the User a personal, limited, non-transferable, non-exclusive license to use and install the software on a computer or mobile device and / or use the software and the Site. These are the only rights with respect to the Software and Site. The User may not help third parties or become involved in decoding, backward modification, decompilation or other activities aimed at obtaining the source code of the Software / Site. All communication between the Equipment and the Site and / or Software and content stored on our servers and the Site contains our confidential information, which cannot be published, transferred or otherwise used except when such functions are performed by the Site in the ordinary course of business.

## **Site availability**

We reserve the right to modify, update or cease development and provide access to the Site at our sole discretion, at any time, for any reason or for no reason. In the event of significant modifications to the Site, the User will be notified by e-mail sent to the address provided during account registration. In the event of ceasing to provide access to the Site, the User will be notified by e-mail sent to the address provided when registering the account three months in advance.

## **Unauthorized access**

We reserve the right to use legal means that we deem necessary to prevent unauthorized access to the Site, including but not limited to: mapping IP addresses and contacting your Internet Service Provider (ISP) to identify and eliminate repeated attempts by unauthorized access.

## **Termination**

We may delete or block your account on the Site, in whole or in part, at our sole discretion, due to your violation of these Terms and Conditions.\
The User may terminate these Terms at any time by deleting the account on the Site, which will prevent further use of the Site, and if he has installed the Software by uninstalling it. If the User deletes his account on the Site, all User’s Content will be deleted.\
In the event of any denunciation, whether by us or by you, sections 1, 7, 8, 13-15 of these Terms will continue to apply fully.

## **Property**

We are the owner of the property rights and copyrights of all Our Content on the Site, including but not limited to trademarks, visual interfaces, interactive functions, graphics, computer code, products, software, and all other elements and components of the Site, excluding the Third-Party’s Content. You may not modify, reproduce, distribute, create derivative works or adaptations, publicly reproduce or in any way use our materials or Software in whole or in part, except as expressly provided by us.

## **Guarantees, reservations and limitations of liability**

THE SOFTWARE, SITE AND ALL SITE CONTENT IS MADE AVAILABLE TO YOU ON AN “AS IS” BASIS. WE (FOR THE PURPOSES OF SECTION 24 AND 25, WE AND OUR AFFILIATES, WIRELESS CARRIER AND OTHER SERVICE PROVIDERS, DISTRIBUTORS, ORIGINAL EQUIPMENT MANUFACTURERS, SUPPLIERS AND PARTNERS ARE COLLECTIVELY REFERRED TO AS “OUR,” “WE” OR “US”) MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, TO THE EXTENT PERMITTED BY APPLICABLE LAW, REGARDING ANY IMPLIED WARRANTY OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE CONCERNING (1) THE OPERATION AND FUNCTIONALITY OF THE SOFTWARE OR SITE, (2) THE ACCURACY, INTEGRITY, COMPLETENESS, QUALITY, LEGALITY, USEFULNESS, SAFETY, AND IP RIGHTS OF ANY OF THE SOFTWARE, SITE CONTENT, OR DATA TRANSMITTED THROUGH THE SITE, AND (3) THE PRODUCTS AND SERVICES ASSOCIATED WITH THE SOFTWARE, SITE OR SITE CONTENT.WE CAN’T PROMISE UNINTERRUPTED OR ERROR–FREE SERVICE, THAT DEFECTS WILL BE CORRECTED OR THAT THE SITE IS FREE FROM VIRUSES OR OTHER HARMFUL OR MALICIOUS COMPONENTS AND WE DON’T AUTHORIZE ANYONE TO MAKE ANY WARRANTIES ON OUR BEHALF. THIS DOESN’T DEPRIVE YOU OF ANY WARRANTY RIGHTS YOU MAY HAVE AGAINST ANYONE ELSE. WE MAKE NO REPRESENTATIONS OR WARRANTIES ON THE ACCURACY, COMPLETENESS OR TIMELINESS OF ANY LOCATION OR OTHER DATA MADE AVAILABLE TO YOU. YOUR USE OF ANY INFORMATION AVAILABLE THROUGH THE PRODUCTS, SOFTWARE AND/OR SERVICES IS AT YOUR OWN RISK AND RESPONSIBILITY.\
UNLESS THE LAW FORBIDS IT IN ANY PARTICULAR CASE, THE LIMITATIONS AND WAIVERS IN THIS SECTION WILL APPLY REGARDLESS OF THE THEORY OF LIABILITY, WHETHER STATUTORY, FRAUD, MISREPRESENTATION, BREACH OF CONTRACT, PERSONAL INJURY, PRODUCTS LIABILITY OR ANY OTHER THEORY. YOU WILL NOT BE ENTITLED TO SEEK ANY ATTORNEYS FEES, INDIRECT, SPECIAL, TREBLE, CONSEQUENTIAL OR PUNITIVE DAMAGES FROM US. YOU AGREE THAT WE ARE NOT LIABLE FOR PROBLEMS CAUSED BY YOU OR A THIRD PARTY; BY WIRELESS CARRIERS, DATA CENTERS, BUILDINGS, ACCIDENTS, HILLS, NETWORK CONGESTION, TUNNELS, TOWERS, WEATHER OR OTHER THINGS WE DON’T CONTROL; OR BY ANY ACT OF GOD. YOU ACKNOWLEDGE AND AGREE THAT YOU HAVE NO CONTRACTUAL RELATIONSHIP WHATSOEVER WITH ANY OF OUR SERVICE PROVIDERS AND YOU ARE NOT A THIRD PARTY BENEFICIARY OF ANY AGREEMENT BETWEEN US AND SUCH SERVICE PROVIDERS. UNLESS YOU HAVE A SEPARATE CONTRACT WITH OUR SERVICE PROVIDERS, SUCH SERVICE PROVIDERS HAVE NO LEGAL, EQUITABLE OR OTHER LIABILITY OF ANY KIND TO YOU AND YOU WAIVE ANY AND ALL CLAIMS OR DEMANDS FOR SUCH LIABILITY. OUR MAXIMUM LIABILITY TO YOU UNDER ANY THEORY (INCLUDING BUT NOT LIMITED TO FRAUD, MISREPRESENTATION, BREACH OF CONTRACT, PERSONAL INJURY, OR PRODUCTS LIABILITY) IS LIMITED TO THE VALUE OF THE PURCHASED PRODUCTS.

## **Release from liability**

YOU UNDERSTAND AND AGREE THAT EFENTO, ITS LICENSORS, EMPLOYEES, DIRECTORS, OWNERS AND AFFILIATES ARE NOT LIABLE FOR THE FOLLOWING EFFECTS OF USE OF THE SITE AND THE SOFTWARE BY YOU:

* CONSEQUENTIAL, INDIRECT, INCIDENTAL, PUNITIVE OR SPECIAL DAMAGES;
* DAMAGE RESULTING FROM LOSS OF PROFITS, REVENUE OR USE;
* INTERRUPTIONS.

THESE RESTRICTIONS APPLY EVEN IN THE EVENT OF ERROR, MISTAKE, NEGLIGENCE, OR TOTAL LIABILITY OR LIABILITY FOR THE PRODUCT. YOU ACCEPT ALL RISKS RELATED TO USING THE SITE.


# Privacy policy

By using the Efento Cloud platform (“Site” or “Platform”) you provide us with your data. Below we describe what data we collect, how we use it, your legal rights, and how we handle it.

## Data controller and contact information

The data controller responsible for your personal data is Efento Sp. z o.o., with its registered office at Przemyslowa 12, 30-701, Krakow, Poland (hereinafter referred to as "Efento", "we", or "us").

If you have any questions about this Privacy Policy or wish to exercise your data protection rights, you can contact us at <gdpr@efento.pl>.

## What data we collect, why, and on what legal basis

We process your personal data strictly in accordance with the General Data Protection Regulation (GDPR). The table below outlines what we collect, our purpose, and our legal justification:

| **Data category**                                                                                                | **Purpose of processing**                                                                                      | **Legal basis (GDPR)**                                                                                        |
| ---------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| <p>Account Data</p><p><br></p><p>(Name, surname, email, telephone number, language preference, payment info)</p> | To register your account, manage your subscription, process payments, and send technical/system notifications. | Contractual Necessity (Art. 6(1)(b) GDPR) – Necessary to provide the Efento Cloud service.                    |
| <p>Device Information</p><p><br></p><p>(Serial numbers of sensors and gateways)</p>                              | To link hardware to your account and display correct environmental measurements on the Site.                   | Contractual Necessity (Art. 6(1)(b) GDPR) – Necessary for the core functionality of the service.              |
| <p>Usage Data</p><p><br></p><p>(IP address, browser type, device identifiers, system logs)</p>                   | To maintain network security, diagnose technical bugs, and optimize platform performance.                      | Legitimate Interest (Art. 6(1)(f) GDPR) – Our interest in maintaining a secure, functional platform.          |
| <p>Location Data</p><p><br></p><p>(Only if explicitly enabled on your device)</p>                                | To map the physical location of your sensors or gateways within the application interface.                     | Consent (Art. 6(1)(a) GDPR) – You may grant or withdraw this permission via your device settings at any time. |
| Cookies & Similar Technologies                                                                                   | To remember your login state, default language, and analyze usage trends to improve the platform.              | Consent (Art. 6(1)(a) GDPR) for non-essential cookies; Legitimate Interest for strictly necessary cookies.    |

## How we NOT use your data

* No Selling or Sharing: We do not sell or share your data with advertisers or third parties for marketing purposes.
* No Automated Profiling: We do not use your data for automated decision-making or profiling that produces legal effects.
* No Marketing Without Consent: We will never use your data to send advertising or marketing materials unless you have given us explicit, opt-in consent.

## Data retention: How long we keep your data

We do not store your data longer than necessary for the purposes it was collected:

* Account Data: Retained for the duration of your active subscription. If you delete your account, your personal profile data is permanently deleted within 30 days.
* Measurement Data: Sensor and gateway measurement history is securely retained for a standard period of 6 years to provide you with historical reporting, after which it is automatically purged or anonymized.
* Technical Logs: Server and security logs (including IP addresses) are automatically overwritten after 90 days unless required for an active security investigation.

## Who has access to the collected data?

Your data is strictly protected, but may be accessed by the following parties under specific conditions:

* Administrators of the Site: Designated Efento system administrators can view account details (name, email, phone number, device serial numbers) to provide technical support. They cannot see or change your encrypted password.
* Users within your Organization: If you belong to a shared team or organization, other authorized users in that team can see your name and email address in system logs (e.g., when you edit a sensor name or send an invite).
* Other Applications (API): You can explicitly authorize third-party software to access your data via the Efento API. We will never share this without your active, system-level authorization.
* Legal Obligations: We may disclose data to law enforcement or judicial authorities if strictly required by EU or national law to comply with a legal obligation, prevent fraud, or protect Efento's vital legal rights.

## Data localization

All personal data, system logs, and environmental measurements are stored exclusively on secure physical or cloud servers located within the European Economic Area (EEA). We do not transfer your personal data outside the EEA.

## Your GDPR rights

As a data subject in the EU, you hold the following statutory rights, which you can exercise by emailing us or using your profile settings:

* Right of Access (Art. 15): You can request a copy of all personal data we hold about you.
* Right to Rectification (Art. 16): You can update inaccurate data directly via your Profile tab.
* Right to Erasure / "To Be Forgotten" (Art. 17): You can delete your data by deleting your account via the Profile tab.
* Right to Restrict Processing (Art. 18): You have the right to limit how we process your data under certain conditions.
* Right to Object (Art. 21): You can object to data processing based on our "legitimate interests."
* Right to Data Portability (Art. 20): You can request a machine-readable export of the data you provided to us.
* Right to Withdraw Consent: Where processing is based on consent (e.g., location/cookies), you can withdraw it at any time without penalty.
* Right to Lodge a Complaint: If you believe Efento is processing your data unlawfully, you have the absolute right to lodge a formal complaint with a supervisory authority. You can contact the local data protection authority in your EU Member State, or our lead supervisory authority: The President of the Personal Data Protection Office (UODO) in Poland (*ul. Stawki 2, 00-193 Warsaw, Poland*).

## Corporate changes and policy updates

* Corporate Mergers/Acquisitions: If Efento is involved in a merger, acquisition, or asset sale, your data may be transferred. We will notify you well in advance via email, giving you the opportunity to delete your account or object before the transfer takes place.
* Policy Updates: We may update this Privacy Policy from time to time. The latest version will always be live on this page, and material changes will be announced to you via an in-app notice or email notification.


# Overview

The Efento Gateway is a network device designed to collect and transfer data from Efento wireless loggers to Efento Cloud or other cloud platforms/servers. The gateway is available in **two variants**:

* **LTE - Bluetooth Low Energy**
* **Ethernet - Bluetooth Low Energy**

Both versions support up to 128 wireless loggers and feature onboard memory capable of storing up to 500,000 measurements. The gateway not only receives current logger readings but can also **download historical data stored in the loggers’ internal memory**, ensuring no measurements are lost. In the event of a network outage, the gateway automatically retries transmission and sends any missing data once the connection is restored.

Data is transmitted to the server using the **REST protocol** (HTTPS or optionally HTTP). To ensure secure operation, the Gateway uses **AES128 encryption** for communication between loggers and the gateway, and **TLS/SSL** for communication between the gateway and the server. Additional features include **proxy server support** and **authorization via custom HTTP headers**.

Wireless communication range is up to **100 meters** in open areas and **20–30 meters indoors**, depending on building structure.

The Efento Gateway can be easily configured using the free Efento mobile application.

## Markings

You may find the following symbols on the Efento Gateway or its packaging:

<table data-header-hidden><thead><tr><th width="121.54296875"></th><th></th></tr></thead><tbody><tr><td><img src="/files/lfQKP7r1dMl8oJpoPKPP" alt=""></td><td>CE Mark of Conformity: Indicates compliance with the Radio Equipment Directive (RED) 2014/53/EU.</td></tr><tr><td><img src="/files/HIqWMyWwVqSUSmJe6wjY" alt=""></td><td>Dustbin Symbol: Efento products should not be disposed of with household waste. Please dispose of them according to local laws and regulations.</td></tr><tr><td><img src="/files/QTcIrewnRV6pvCXywaeJ" alt=""></td><td>RoHS Symbol: Indicates compliance with the RoHS Directive 2002/95/EC.</td></tr></tbody></table>

## Liability

The information provided in this operating manual describes the product’s functions and intended use but does not constitute a guarantee of specific performance or features. Efento shall not be held liable for any damage, malfunction, or loss resulting from, but not limited to:

* **Improper or unintended use** of the device.
* **Failure to follow the instructions** and safety guidelines described in this manual.
* **Unauthorized modifications, alterations, or tampering** with the Efento Gateway or its components.
* **Improper installation, handling, or operation** of the device.
* **Unauthorized repairs or attempts to service** the device by persons not certified by Efento.
* **Use of incompatible accessories, power supplies, or antennas.**
* **Damage caused by accidents, external factors, or environmental conditions**, including but not limited to moisture, extreme temperatures, or mechanical shock.
* **Events classified as force majeure**, such as natural disasters, power surges, lightning, or other situations beyond the manufacturer’s control.
* **Operation outside the specified technical parameters** or use in environments not recommended for the device.

These exclusions ensure clarity on the conditions under which warranty and liability may be voided. Please follow all guidelines to ensure safe and reliable operation of the Efento Gateway.

## Manufacturer&#x20;

Efento sp. z o.o., Ul. Przemysłowa 12, 30-701 Krakow, Poland

## Technical support

* We encourage you to read this manual thoroughly to fully understand and leverage all the features of Efento Gateways.
* If you have any questions while using the Gateway, start by asking our AI assistant (Type your question into the search field in the page header and click **Ask**).
* If you can’t find an answer, our support team is ready to help at [help.efento.io](https://help.efento.io).

<br>


# Safety guidelines

Before installing or operating the Efento Gateway, please read the safety information carefully. The device contains components and features that, if used incorrectly, may pose certain risks. These include:

* **Li-Po backup battery risks (LTE Gateway only)**, such as potential damage or reduced performance if the device is exposed to extreme conditions or mishandled.
* **Risks associated with connecting the device to a power supply**, including the use of incompatible or low-quality power adapters that may cause overheating, electrical faults, or decreased device reliability.
* **Risks related to operating the gateway without the required antennas**, which may lead to device malfunction or permanent damage to the communication modules.

## **Li-Po backup battery risks (LTE Gateway only)**

The Efento LTE Gateway is equipped with a Li-Po (lithium-polymer) backup battery that ensures continued operation during power outages.&#x20;

{% hint style="danger" %}
**While Li-Po batteries are safe when handled correctly, improper use may lead to reduced performance, damage, or safety hazards.**
{% endhint %}

To minimize risk, follow these guidelines:

* **Avoid exposure to extreme temperatures.** Do not operate or store the device in very high or very low temperatures. Excessive heat may cause battery swelling or degradation, while cold conditions can reduce battery capacity and performance.
* **Do not puncture, crush, or apply pressure to the device.** Physical damage may compromise the battery’s integrity and lead to leakage, overheating, or failure.
* **Keep the device away from moisture.** Water or high humidity can damage the battery and increase the risk of malfunction.
* **Do not attempt to open or replace the battery.** The battery is built into the device and must only be serviced or replaced by authorized personnel. Tampering may result in safety risks and void the warranty.
* **Watch for signs of battery issues.** If you notice unusual heat, odor, discoloration, or swelling of the device, disconnect it from the power supply immediately and stop using it.
* **Store the device properly when not in use.** For long-term storage, keep the gateway in a cool, dry place and charge it periodically to maintain battery health.

## **Power supply risks**

The Efento Gateway must be connected to a suitable power source to operate safely and reliably.&#x20;

{% hint style="danger" %}
**Incorrect power supply usage may damage the device or create electrical hazards.**
{% endhint %}

To avoid these risks, follow the guidelines below:

* **Use only a certified 5V, 1A USB power adapter.** Using power supplies with incorrect voltage or current ratings may cause overheating, unstable operation, or permanent damage to the gateway.
* **Avoid low-quality or unapproved adapters.** Poor-quality chargers may generate electrical noise, voltage spikes, or insufficient power, which can lead to data transmission issues or device malfunction.
* **Inspect the power cable and adapter regularly.** Do not use damaged, frayed, or loose cables. Faulty connectors may increase the risk of short circuits or fire.
* **Ensure the power adapter is used in a dry environment.** Water or moisture near power connectors may cause electric shock or damage to the gateway.
* **Prevent overheating.** Do not place the power adapter under objects or in confined spaces. Ensure sufficient airflow around both the adapter and the gateway.
* **Do not connect or disconnect the power supply with wet hands.** This may lead to electric shock or damage to the device.
* **Use surge protection where possible.** In areas with unstable power grids, using surge protectors reduces the risk of voltage spikes damaging the gateway.

## Antenna related risks

The Efento Gateway requires properly connected antennas to ensure safe and reliable operation of its wireless communication modules.&#x20;

{% hint style="danger" %}
**Using the device without antennas, or with antennas improperly installed, may lead to performance issues or permanent hardware damage.**
{% endhint %}

To avoid these risks, follow the guidelines below:

* **Always install the antennas before powering on the device.** Operating the gateway without antennas may cause the LTE or Bluetooth modules to transmit at unsafe power levels, potentially damaging the internal radio components.
* **Do not use incompatible antennas.** Only use the antennas supplied with the device or approved replacements. Incorrect antenna types may lead to reduced performance or hardware stress.
* **Avoid bending, crushing, or modifying antennas.** Damaged antennas can impair wireless performance and increase the risk of overheating in the communication modules.

## **Other risks**

Several other factors may affect the safe and reliable operation of the Efento Gateway. To prevent device damage or operational issues, observe the following guidelines:

* **Do not expose the device to liquids or high humidity.** The gateway is not waterproof. Contact with water may cause internal damage, corrosion, or electrical failure.
* **Protect the device from mechanical shock.** Dropping, striking, or applying excessive force to the gateway may damage internal components, connectors, or the enclosure.
* **Avoid installing the device in unstable or vibrating locations.** Continuous movement or vibration can loosen connectors, damage components, or interrupt communication.
* **Keep the device away from strong electromagnetic fields.** Placing the gateway near high-power electrical equipment, industrial machinery, or magnetic sources may interfere with wireless communication or disrupt device operation.
* **Do not block ventilation openings.** Ensure sufficient airflow around the device to prevent overheating, which may shorten component lifespan or cause performance issues.
* **Use the device only as intended.** Modifying the hardware, using non-approved accessories, or attempting to repair the gateway without authorization may result in malfunction, safety risks, and voided warranty.
* **Follow local regulations and installation guidelines.** Improper mounting or use in restricted areas (e.g., near medical or aviation equipment) may cause interference or violate regulatory requirements.


# Technical parameters

Efento offers three types of gateways to suit different connectivity and deployment needs: **Ethernet**, **Ethernet with PoE** and **LTE**. Each variant provides the same core functionality (collecting data from Efento wireless loggers and transmitting it to the cloud) but differs in network connection options, power supply methods, and ideal use cases.

<table><thead><tr><th width="146.52734375"></th><th>Ethernet Gateway</th><th>Ethernet Gateway with PoE</th><th>LTE Gateway</th></tr></thead><tbody><tr><td></td><td><img src="https://getefento.com/wp-content/uploads/2020/02/efento-bluetooth-gateway-side.jpg" alt=""></td><td><img src="https://getefento.com/wp-content/uploads/2020/02/efento-bluetooth-gateway-side.jpg" alt=""></td><td><img src="https://getefento.com/wp-content/uploads/2024/08/Efento-gateway-LTE-BLE.png" alt=""></td></tr><tr><td><strong>Bluetooth</strong></td><td>Communication: Bluetooth Low Energy (BLE)<br>Encryption: AES128<br>Radio frequency: 2,4 GHz<br>Power: 2,5 mW (4 dBm)<br>Range: up to 100 m (LOS)<br>Transmission frequency: 1 s</td><td>Communication: Bluetooth Low Energy (BLE)<br>Encryption: AES128<br>Radio frequency: 2,4 GHz<br>Power: 2,5 mW (4 dBm)<br>Range: up to 100 m (LOS)<br>Transmission frequency: 1 s</td><td>Communication: Bluetooth Low Energy (BLE)<br>Encryption: AES128<br>Radio frequency: 2,4 GHz<br>Power: 2,5 mW (4 dBm)<br>Range: up to 100 m (LOS)<br>Transmission frequency: 1 s</td></tr><tr><td><strong>Communication</strong></td><td>Standard: IEEE 802.3, IEEE 802.3u Ethernet interface: RJ45 socket</td><td>Standard: IEEE 802.3, IEEE 802.3u Ethernet interface: RJ45 socket</td><td><p>Standard: LTE Cat 1</p><p>Supported bands: LTE-FDD 1/3/5/7/8/20/28</p></td></tr><tr><td><strong>Supported protocols</strong></td><td>HTTP, HTTPS, REST</td><td>HTTP, HTTPS, REST</td><td>HTTP, HTTPS, REST</td></tr><tr><td><strong>Power supply</strong></td><td>Power adapter: USB C, 230V AC, 5V DC / 1.0 A</td><td>Power adapter: USB C, 230V AC, 5V DC / 1.0 A<br>PoE: 802.3af (802.3at Type 1)</td><td><p>Power adapter: USB C, 230V AC, 5V DC / 1.0 A</p><p>Backup battery: LI-Po, 2000 mAh (up to 12 hours backup power)</p></td></tr><tr><td><strong>Working conditions</strong></td><td><p>0 – 40°C, 10 – 90% RH</p><p>Indoor use only</p></td><td><p>0 – 40°C, 10 – 90% RH</p><p>Indoor use only</p></td><td><p>0 – 40°C, 10 – 90% RH</p><p>Indoor use only</p></td></tr><tr><td><strong>Dimensions</strong></td><td><p>Size: 110 x 80 x 25 mm</p><p>Weight: 105 g</p></td><td><p>Size: 110 x 80 x 25 mm</p><p>Weight: 105 g</p></td><td><p>Size: 110 x 80 x 25 mm</p><p>Weight: 150 g</p><p>SIM card: Nano size (4FF) (not included)</p></td></tr></tbody></table>


# Connecting power and network

Before powering on the Efento Ethernet Gateway, please ensure that all [safety and installation guidelines](/efento-gateways/important-information/safety-guidelines) have been followed. Proper preparation helps prevent hardware damage and ensures stable operation from the moment the device starts up.

{% stepper %}
{% step %}

### **Connect the antenna**

Always connect the antenna **before** powering on the gateway. Operating the device without the antenna attached may cause damage to the internal radio module or reduce communication performance.

<figure><img src="/files/VG675KVMUyZmD21i7mzn" alt="" width="325"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### **Connect the power source and Ethernet cable**

The Efento Ethernet Gateway supports two power supply options:

#### **5V USB power supply**

A USB power supply is included with the gateway. Connect the power adapter to the **USB-C port** on the back panel of the device. **You will also need to connect an Ethernet cable to provide network communication for the gateway.** Once connected to a power source, the gateway will **turn on automatically**.

<figure><img src="/files/VA62Q92ksEzMGUcD5gBI" alt="" width="325"><figcaption></figcaption></figure>

#### **Power over Ethernet (PoE)**

In this setup, both power and Ethernet communication are delivered through the same twisted-pair cable. Simply connect the Ethernet cable to the gateway - no separate power adapter is required. If you plan to use PoE, ensure that your router or switch supports the PoE standards **802.3af / 802.3at Type 1** or **PoE+ (802.3at Type 2)**. Once connected to a power source, the gateway will **turn on automatically**.

<figure><img src="/files/9uSGBApQD4cFm1taXj9A" alt="" width="325"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### **Confirm startup and configuration mode**

When powering on a gateway that has not been configured before, it automatically enters **configuration mode**. In this mode, the device can be configured using either the **Efento mobile app** or a **web browser**.

* Configuration mode is indicated by a **blinking orange LED**.
* This mode remains active for **2 minutes**.

To re-enter configuration mode at any time, press the button located on the **back panel** of the gateway **twice**.

<figure><img src="/files/aiUAhJAXLsl5O0XaSAP9" alt="" width="325"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### You can now configure your gateway

Configure the Efento Ethernet Gateway to send the data to:

* [Efento Cloud](/efento-gateways/lte-gateway/configuration-with-efento-cloud)
* [a custom server](/efento-gateways/ethernet-gateway/configuration-with-a-custom-server)
  {% endstep %}
  {% endstepper %}


# Configuration with Efento Cloud

You can configure your Efento Gateway to send the data to Efento Cloud using one of the following methods: [follow the instructions for configuration via the mobile application](#efento-mobile-application), use a [web browser](#web-browser), or [watch the instructional video](#movie-efento-ethernet-gateway-configuration) demonstrating gateway configuration through a web browser.

## Before you start

The Efento Gateway relies on your network infrastructure to communicate with Efento Cloud. Ensure that there are **no network restrictions** that could block this communication. If a firewall is in use, make sure that connections are allowed to the following domains and ports:

* **api.efento.io, gwm.efento.io, update.efento.io** on **ports 443 and 80**
* **pool.ntp.org** on **port 123**

{% hint style="warning" %}
Failure to allow these connections will prevent the gateway from sending data to Efento Cloud.
{% endhint %}

## Efento mobile application

Configuration of Efento Gateways with mobile application is the quickest and easiest way of the device configuration.

{% stepper %}
{% step %}

### Place the gateway in its location

Place the gateway in its installation location.

{% hint style="info" %}
**Ensuring Good Signal Conditions**

To ensure optimal Bluetooth communication performance, consider the following recommendations when selecting the installation site for the gateway:

* Place the gateway in an open area, at least 1 meter above the ground.
* Avoid installing the gateway close to corners, or large metal surfaces that may block or reflect Bluetooth signals.
* Keep the gateway away from sources of electromagnetic interference such as Wi-Fi routers or industrial equipment.
* Avoid placing the gateway inside cabinets, enclosures, or behind objects that may reduce signal strength.
* If multiple gateways are used, maintain sufficient spacing between them to minimize mutual interference.
* After installation, verify Bluetooth signal quality and communication stability with all connected devices to confirm proper operation.
  {% endhint %}
  {% endstep %}

{% step %}

### Run the mobile application

Download Efento mobile application for [Android](https://play.google.com/store/apps/details?id=pl.efento.cloud\&hl=en) or for [iOS](https://apps.apple.com/pl/app/efento/id6479740909). Select the option to use the mobile application with Efento Cloud and sign in to your Efento account. If you don't have an account yet, please create one before proceeding.
{% endstep %}

{% step %}

### Navigate to *Add Gateway*

From the main menu (three lines in the upper right corner), select **Organization settings > Add sensors > Bluetooth Low Energy** and tap on ***Add gateway**.*
{% endstep %}

{% step %}

### Follow the instructions on the screen

The gateway provisioning process in the mobile application has been designed for maximum simplicity and ease of use.\
Follow the on-screen instructions carefully to complete the gateway configuration.
{% endstep %}
{% endstepper %}

## Web browser

{% stepper %}
{% step %}

### Connect to the gateway via web browser

Use an Ethernet cable to connect the gateway to your computer. Finally, adjust the settings of the network card on your computer that is connected to the gateway:

* IP address: 192.168.120.0/24 (e.g. 192.168.120.2),
* Subnet mask 255.255.255.0.

Access the Efento Gateway by opening your internet browser and navigating to **192.168.120.89**. This is the default gateway address. Log in using the default **username and password printed on the label at the bottom of the device**.
{% endstep %}

{% step %}

### Configure the network settings

To configure your Efento Gateway for internet access, go to the **Settings > Network** section and input all the required network settings. You can find more information about network configuration in the [Network settings](/efento-gateways/ethernet-gateway/network-settings) section.
{% endstep %}

{% step %}

### Set the Organisation token

An Organization token, a unique number assigned to your Organization, is used to assign a gateway to your Organization. By entering this token into the Efento Gateway, measurement data from all loggers within range will be automatically sent to your Organization's Efento Cloud account. This allows data from multiple Efento Gateways, even those in distant locations, to be assigned to a single Organization, enabling measurement data from numerous facilities to be sent to your Organization's account.

To locate your Organization token, log into your Efento Cloud account. Then, select the settings icon (gearwheel) on the left side menu, and click on *Organization settings*.

![](/files/cd8a7e4c0b3a143edef7a69d4bd186bcc1dbc15d)

To automatically transmit measurements from all loggers within range to the Efento Cloud platform, input the Organization token into the 'Token' field on the Efento Gateway configuration page, found under **Settings > Server**.

<figure><img src="/files/XEmYEl3UPgABmUl1HnqE" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Place the gateway in its location

After completing the configuration, disconnect the Efento Gateway from your computer and connect it to the network using an Ethernet cable.

Once the necessary connections are made, place the gateway in its final installation location.

{% hint style="info" %}
**Ensuring Good Signal Conditions**

To ensure optimal Bluetooth communication performance, consider the following recommendations when selecting the installation site for the gateway:

* Place the gateway in an open area, at least 1 meter above the ground.
* Avoid installing the gateway close to corners, or large metal surfaces that may block or reflect Bluetooth signals.
* Keep the gateway away from sources of electromagnetic interference such as Wi-Fi routers or industrial equipment.
* Avoid placing the gateway inside cabinets, enclosures, or behind objects that may reduce signal strength.
* If multiple gateways are used, maintain sufficient spacing between them to minimize mutual interference.
* After installation, verify Bluetooth signal quality and communication stability with all connected devices to confirm proper operation.
  {% endhint %}
  {% endstep %}

{% step %}

### Check communication with Efento Cloud

Reconnect to the gateway using the new IP address. If the gateway has been properly configured, in the "Status" tab it will show the date and time of the last server connection, as well as Network status and Server status information.

![](/files/db4903aa0fb256061750872995c588b346786cf6)
{% endstep %}

{% step %}

### Add loggers to your Efento Cloud Organisation

Once the Gateway is configured, you can add Bluetooth Low Energy loggers to your Organisation
{% endstep %}
{% endstepper %}

## Movie: Bluetooth - Ethernet Gateway configuration

{% embed url="<https://www.youtube.com/watch?v=x0TMhk0vusM>" %}


# Configuration with a custom server

The Efento Gateway sends data to external systems using a **REST API** over **HTTP or HTTPS**, depending on your configuration. Data is delivered to the selected endpoints in JSON format. The full API documentation is available [here](/efento-gateways/integration/api-documentation).

To configure the gateway to work with your custom server, follow the steps below:

{% stepper %}
{% step %}

### **Select “Custom settings” as the connection type**

In the **Settings > Server > Connection to server** field, choose **Custom settings**. This enables manual configuration of server parameters instead of using Efento Cloud defaults.

<figure><img src="/files/UsdcRFSZDetch5V5tc95" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### **Configure the server address and port**

Enter the **server URL or IP address** and the **port number** your application uses to receive data. Ensure that the server is accessible from the network the gateway is connected to.

<figure><img src="/files/vJSahOqbmIsTv3kMJ9Ca" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### **Enable or disable TLS**

Choose whether the communication should use **TLS encryption**.

{% hint style="info" %}
We strongly recommend **enabling TLS** to ensure secure, encrypted data transmission and protect your infrastructure from unauthorized access. If required, you can add [custom CA certificates](/efento-gateways/ethernet-gateway/other-settings#custom-ca-certificates).
{% endhint %}
{% endstep %}

{% step %}

### **Enable measurements buffering**

Set the toggle next to **Synchronize with server** to **ON**.\
When enabled, the gateway will **buffer logger measurements in its internal memory** and **automatically resend all missing data** to the server after a temporary connection loss. This ensures continuity of data even when the network or server is unavailable for a period of time.
{% endstep %}

{% step %}

### **Optionally configure authentication and custom endpoint**

* You may enter a value in the **Token** field. This value will be included in the HTTP headers of **every message** sent by the gateway, allowing you to implement simple authentication or routing logic on your server.
* Additionally, you can **optionally set a custom endpoint** (path) where the gateway should send measurement and heartbeat messages, if your server does not use the default API paths.
  {% endstep %}
  {% endstepper %}

## Optional configuration parameters

### Heartbeat

The Efento Gateway can send **heartbeat messages** to a user-defined endpoint at regular intervals. These messages allow the server to monitor the gateway’s status, including whether it is online, its uptime, and the number of loggers within range.

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

To enable heartbeat messages:

1. Toggle the switch next to **“Send heartbeat messages”** to **ON**.
2. Specify the **endpoint** where the messages should be sent. By default the heart beat messages are sent to **/api/v2/gateways/heartbeat**.
3. Set the **time interval** (in minutes) for sending the heartbeat messages.

The structure and details of the heartbeat message payload are described in the [**API Documentation**](/efento-gateways/integration/api-documentation#heartbeat) section of this manual.

### Custom HTTP  headers

By default, the Efento Gateway includes the value from the **“Token”** field in the HTTP "X-Api-Token" header. The default headers are:

```http
Content-Type: application/json
charset=UTF-8
X-Api-Token: <value of the “Token” field>
```

If needed, you can configure the gateway to use **custom headers that will overwrite the default "X-Api-Token" header**. To do this, enable the **“Custom headers”** toggle and add the desired header names and values. You can define **up to ten custom headers**, which will be sent in the same order as they appear in the list. The headers **“Content-Type”** and **“charset”** are always included automatically.

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

For example, if you add a custom header named **“Token”** with the value **“sdffsWED34sdfFG6wddV3”**, the gateway will send:

```http
Content-Type: application/json
charset=UTF-8
Token: sdffsWED34sdfFG6wddV3
```

{% hint style="warning" %}
**Important:** The server’s response to the gateway must not contain more than **ten headers**. If the response includes more than ten, the gateway will treat it as invalid and reject the message.
{% endhint %}

## **Hands-on tutorial: Build a server for Efento Gateways**

If you want to see a complete, working example of how to receive measurements from Efento Gateways and store them in a database, make sure to check out our [step-by-step tutorial](/efento-gateways/integration/example-server-application-in-python). It includes sample Python code, a simple server application, and instructions for saving incoming data to PostgreSQL - perfect as a starting point for your own integration.


# Status page

The Efento Gateway provides a **Status Page** accessible through a web browser after logging in to the device. This page offers a comprehensive overview of the gateway’s operational state, network connectivity, and logger environment, allowing users to monitor and verify proper functioning.

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

The status page includes the following key information:

* **Device Identification:**
  * **Name:** The user-assigned name of the gateway.
  * **Model:** Gateway model identifier.
  * **Firmware Version:** Current version of the gateway firmware.
  * **UI Version:** Version of the user interface.
  * **MAC Address:** Unique hardware address of the gateway.
* **Local Time:** Displays the time currently set on the gateway.
* **Last Connection to Server:** Timestamp of the gateway’s most recent communication with the server. If the device has not yet communicated, this field will be empty.
* **Uptime:** Time elapsed since the last device reset or power-on, showing how long the gateway has been operating continuously.
* **Sensors in Range:** Number of loggers currently detected by the gateway. Each gateway supports a maximum of **128 loggers**.
* **Network Status:** Shows the current status of the gateway’s network connection. Possible values include:
  * **OK** – The device successfully connects to the Internet.
  * **DNS error** – The device cannot resolve the domain name. This may indicate an issue with the DNS server configuration or an incorrect domain address.
  * **NTP bad address** – The device cannot resolve the NTP server address.
  * **NTP connection error** – The device is unable to connect to the configured NTP server.
  * **NTP invalid time received** – The device communicated with the NTP server but did not receive a valid time response.
* **Server:** Shows the server to which the gateway sends its data. A value of **“Efento”** indicates that data is transmitted to **Efento Cloud**.
* **Organisation Token:** Displays the HTTP token used to assign the gateway to an organization within Efento Cloud.
* **Server Status:** Indicates the gateway’s ability to communicate with the configured server. Possible values include:
  * **OK** – Communication is successful and data is being transmitted properly.
  * **Invalid address** – The server address is incorrect.
  * **Connection error** – The gateway cannot reach the server (no response received).
  * **Maintenance** – The server is temporarily unavailable (HTTP 503). The gateway will resend any missing measurements once the server becomes operational again.
  * **Invalid certificates** – The gateway cannot establish a secure HTTPS connection due to invalid or untrusted certificates.
  * **Unknown error** – A non-specific issue is preventing successful communication with the server.

The Status Page provides a clear and detailed view of the gateway’s current operational and network state, enabling users to quickly verify configuration, connectivity, and logger coverage.


# Loggers list

The **Sensors** tab displays all loggers currently within the range of the Efento Gateway. For each logger, you can view:

* Serial number
* Name
* Status
* Current measurements
* Signal strength
* Measurement interval
* Timestamp of the last communication
* Information on whether measurements are buffered in the gateway’s memory (used when connectivity issues occur; the gateway will automatically resend missing data)

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

A search bar is available above the list, allowing you to quickly locate a logger by its serial number. You can also use the filter buttons (![](/files/hXkaIr3pMTwjt34EZ4ey)) to display only loggers with specific statuses (e.g., downloading, OK, lost, low battery, issue, encrypted).

If the Efento Gateway is configured to work with **Efento Cloud**, it automatically synchronizes all measurements stored in its internal memory with the cloud. Loggers whose measurements are currently being buffered are highlighted in blue. If a logger is bounded, the gateway will also automatically download data from the logger's internal memory whenever the logger goes out of range and reconnects later, ensuring no measurements are lost. By selecting a logger, you can view its data as a chart or table or export it as a **TXT** or **CSV** file.


# Network settings

The **Network Settings** tab allows you to configure the gateway so it can connect to the Internet and send data to Efento Cloud or any other cloud platform/server. To access the Network settigns go to **Settings > Network**.

{% hint style="warning" %}
**Important:** Network configuration should be performed by someone who is familiar with your network setup. If you are unsure about any of the required parameters or settings, contact your **network administrator** to avoid connectivity issues.
{% endhint %}

## DHCP / Static IP

The Efento Gateway supports **DHCP**. When the DHCP toggle is set to **ON**, all network parameters will be automatically assigned by your router. *(Ensure that DHCP is also enabled on your router.)*

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

Alternatively, you can manually configure the network settings. This includes specifying:

* The gateway’s **IP address**
* The **network gateway** address
* The **subnet mask**
* The **DNS server** address

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

## NTP server

You must also configure the **NTP server** address so the gateway can synchronize its time. You may keep the default setting (**pool.ntp.org**) or enter a different NTP server depending on your network requirements.

## Ethernet mode

The Efento Gateway supports two modes for Ethernet network speed configuration. By default, it operates at **10 Mbit, half-duplex** with **auto-negotiation disabled**. If needed, you can enable **auto-negotiation**, allowing the gateway and the network infrastructure (switch/router) to automatically determine the optimal connection speed and mode.

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


# Other settings

## Custom CA certificates

The Efento Gateway comes with several commonly used **preloaded CA certificates**. If you wish to use a **custom CA certificate**, you can upload it through the gateway by navigating to **Settings > CA Certificates**.

Efento Gateway supports any certificate in PEM format. For security reasons, we strongly recommend using certificates signed by a trusted Certification Authority. However, for development or demonstration purposes, you may also [use a self-signed certificate](/efento-gateways/integration/self-signing-ca-certificate).

<figure><img src="/files/6P0cEDN3nA7ZMHvLlyqO" alt=""><figcaption></figcaption></figure>

## Proxy

The Efento Gateway can connect to **Efento Cloud** or a **third-party server** through a proxy server. By default, the proxy feature is **disabled**. Efento Cloud supports both **anonymous** and **non-anonymous** proxy servers.

To configure proxy settings:

1. Go to the **Settings > Proxy** tab.
2. Select the **proxy type**.
3. Enter the **server address** and **port**.
4. If using a **non-anonymous proxy**, provide the **login credentials**.

These settings allow the gateway to communicate with the server securely and reliably through your network’s proxy.

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

## Encryption

Communication between Efento loggers and the Efento Gateway can be **encrypted** using a user-defined key. When encryption is enabled, only devices that have the correct key can decode the transmissions and read loggers measurements.

The gateway allows you to add up to **five encryption keys**. Once a key is added, the gateway can decrypt and read measurements from all loggers using that same key. Encryption keys for loggers can be [configured using the **Efento mobile application**](/efento-ble-loggers/using-loggers/standalone-mode/logger-settings#encryption).

<figure><img src="/files/1w5bOFTNrStMxeaWW3OK" alt=""><figcaption></figcaption></figure>

## Password

In the **Settings** > **Password** tab, you can change the gateway’s login password. To update the password, enter the **new password twice** and provide the **current password** for verification. It is **strongly recommended** to change the password during the initial gateway configuration to ensure secure access.

<figure><img src="/files/81l4rNOF8eJ6D7WXh6e7" alt=""><figcaption></figcaption></figure>

## Reset

The **Settings > Reset** tab allows you to manage the gateway’s restart and factory reset functions:

* **Restart the Gateway:** The device will power off and on again without affecting any existing settings or configurations.
* **Reset the Gateway:** The device will restore **factory default settings**. All custom configurations will be lost, and the gateway will need to be reconfigured.

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

A factory reset can also be performed using the physical button on the back of the gateway:

* **Older models:** Press and hold the button for **10 seconds**.
* **Newer models:** Press the button **7 times** in succession.


# Troubleshooting

## LED indicators

The Efento Gateway is equipped with four LEDs that provide visual feedback about the device’s status. These LED indicators help you monitor the gateway’s operation and identify issues quickly.

The meaning of each LED color and blinking pattern is described below:

<table data-header-hidden><thead><tr><th width="275.90625">LED</th><th>Status / Meaning</th></tr></thead><tbody><tr><td><mark style="color:blue;"><strong>Blue – quickly blinking</strong></mark></td><td>The gateway is connected to the mobile app and ready for configuration.</td></tr><tr><td><mark style="color:blue;"><strong>Blue – slowly blinking</strong></mark></td><td>The device is trying to establish a network connection. If this step is taking too long, check the Ethernet cable to ensure it’s securely connected.</td></tr><tr><td><mark style="color:blue;"><strong>Blue – constant</strong></mark></td><td>The gateway is connected to a network.</td></tr><tr><td><mark style="color:orange;"><strong>Orange – quickly blinking</strong></mark></td><td>The gateway is in configuration mode and waiting for a connection with the mobile app.</td></tr><tr><td><mark style="color:orange;"><strong>Orange – slowly blinking</strong></mark></td><td>No loggers are currently within the gateway’s range.</td></tr><tr><td><mark style="color:orange;"><strong>Orange – single blink</strong></mark></td><td>The gateway button has been pressed.</td></tr><tr><td><mark style="color:green;"><strong>Green – blinking</strong></mark></td><td>The gateway is actively communicating with the server.</td></tr><tr><td><mark style="color:green;"><strong>Green – constant</strong></mark></td><td>Communication with the server completed successfully.</td></tr><tr><td><mark style="color:red;"><strong>Red – constant</strong></mark></td><td>An error has occurred. Contact support at <a href="https://help.efento.io">help.efento.io</a>.</td></tr><tr><td><strong>All LEDs blinking sequentially</strong></td><td>The device is powering off, resetting to factory settings, or clearing memory.</td></tr><tr><td><strong>All LEDs flashing simultaneously</strong></td><td>Critical error. Contact support at <a href="https://help.efento.io">help.efento.io</a>.</td></tr></tbody></table>

## Troubleshooting using the Status Page

Most issues can be quickly identified and resolved by reviewing the information shown on the **Status** page. In general, communication problems between the gateway and Efento Cloud or a custom server are caused by either **network configuration errors** or **server-side issues**. Follow the steps below to diagnose and resolve the problem:

1. **Start by connecting to the gateway and checking the** [**Status page**](/efento-gateways/ethernet-gateway/status-page)**.**\
   Review the **Network** and **Server Status** fields and address any issues indicated there.
2. **If you cannot access the gateway through its IP address, try pinging it.**\
   If the gateway does not respond, it may be using a different IP address than expected.\
   In this case, [**restore the factory default settings**](/efento-gateways/ethernet-gateway/other-settings#reset) and configure the device again.
3. **If network settings appear correct (Network Status = OK) but communication with the server still fails** verify that your [**firewall settings**](/efento-gateways/ethernet-gateway/network-settings) allow communication with all required Efento services / your custom application.


# Qualifications and approvals

## Bluetooth Qualified Products

Efento Ethernet gateway is a Bluetooth Qualified Product. [More information](https://qualification.bluetooth.com/Listings/Search)&#x20;

## European Union regulatory compliance

Information about European Union regulatory compliance for Efento Gateway is available in the Declaration of Conformity.

{% file src="/files/nzI5kexjagt7tZnGOwKO" %}

## Compliance with the RoHS directive

Efento Gateway complies with the "Directive 2015/863/EU” (RoHS 3) of the European Parliament and the Council on the Restriction of Use of certain Hazardous Substances in Electrical and Electronic Equipment (RoHS).

## NCC Taiwan compliance

Efento Gateway complies with NCC requirements

#### Taiwan NCC Warning Statement:

取得審驗證明之低功率射頻器材，非經核准，公司、商號或使 用者均不得擅自變更頻率、加大\
功率或變更原設計之特性及功能\
低功率射 頻器材之使用不得影響飛航安全及干擾合法通信；經發現有干擾現象時，應立即，並\
改善至無干擾時方得繼續使用。前述合法通信，指依電信管理 法規定作業之無線電通信。低功\
率射頻器材須忍受合法通信或工業、科學及醫療用電波輻射性電機設備之干擾。

#### Statement translation:

* Without permission granted by the NCC, any company, enterprise, or user is not allowed to change frequency, enhance transmitting power or alter original characteristic as well as performance to approved low power radio-frequency devices.
* The low power radio-frequency devices shall not influence aircraft security and interfere legal\
  communications; If found, the user shall cease operating immediately until no interference is\
  achieved. The said legal communications means radio communications is operated in compliance with the Telecommunications Act. The low power radio-frequency devices must be susceptible with the interference from legal communications or ISM radio wave radiated devices.

## KCC South Korea compliance

Efento Gateway complies with KC requirements

<p align="center"><img src="/files/Jc9O8osZ3rvzUtbVZ80q" alt=""><br>R-R-8aA-Efento-Gateway</p>


# Connecting power and inserting SIM card

Before powering on the Efento LTE Gateway, please ensure that all [safety and installation guidelines](/efento-gateways/important-information/safety-guidelines) have been followed. Proper preparation helps prevent hardware damage and ensures stable operation from the moment the device starts up.

{% stepper %}
{% step %}

### **Connect the antennas**

Always connect the antennas **before** powering on the gateway. Operating the device without the antennas attached may cause damage to the internal radio modules or reduce communication performance.

<figure><img src="/files/gGmgLe3ECj5uBf1p3ImO" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Insert the SIM card

Insert a 4FF (nano-SIM) card into the LTE Gateway by sliding the card into the SIM slot with the metal contacts facing down and the cut corner oriented according to the slot’s outline. Gently push the SIM card in until it clicks into place, ensuring it sits flush with the device.

<figure><img src="/files/60Qe1ePKfkdcubFungl6" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### **Connect the power supply**

A USB power supply is included with the gateway. Connect the power adapter to the **USB-C port** on the back panel of the device.

<figure><img src="/files/R8c5hq1vrdId2WkYrDTO" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Powering on the gateway

&#x20;To turn on the Efento LTE Gateway, press the PWR button located on the back panel of the device.

<figure><img src="/files/IYWKHR5AorwxOmw0TZ0m" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### **Confirm startup and configuration mode**

When powering on a gateway that has not been configured before, it automatically enters **configuration mode**. In this mode, the device can be configured using the **Efento mobile app**.

* Configuration mode is indicated by a **blinking orange LED**.
* This mode remains active for **2 minutes**.

To re-enter configuration mode at any time, press the button located on the **back panel** of the gateway **twice**.
{% endstep %}

{% step %}

### You can now configure your gateway

Configure the Efento LTE Gateway to send the data to:

* [Efento Cloud](/efento-gateways/lte-gateway/configuration-with-efento-cloud)
* [a custom server](/efento-gateways/lte-gateway/configuration-with-a-custom-server)
  {% endstep %}
  {% endstepper %}


# Configuration with Efento Cloud

To configure the Efento LTE Gateway to send data to Efento Cloud, use the **free Efento mobile application for Android or iOS**.

{% stepper %}
{% step %}

### Place the gateway in its location

Place the gateway in its installation location.

{% hint style="info" %}
**Ensuring Good Signal Conditions**

To ensure optimal Bluetooth communication performance, consider the following recommendations when selecting the installation site for the gateway:

* Place the gateway in an open area, at least 1 meter above the ground.
* Avoid installing the gateway close to corners, or large metal surfaces that may block or reflect Bluetooth signals.
* Keep the gateway away from sources of electromagnetic interference such as Wi-Fi routers or industrial equipment.
* Avoid placing the gateway inside cabinets, enclosures, or behind objects that may reduce signal strength.
* If multiple gateways are used, maintain sufficient spacing between them to minimize mutual interference.
* After installation, verify Bluetooth signal quality and communication stability with all connected devices to confirm proper operation.
  {% endhint %}
  {% endstep %}

{% step %}

### Run the mobile application

Download Efento mobile application for [Android](https://play.google.com/store/apps/details?id=pl.efento.cloud\&hl=en) or for [iOS](https://apps.apple.com/pl/app/efento/id6479740909). Select the option to use the mobile application with Efento Cloud and sign in to your Efento account. If you don't have an account yet, please create one before proceeding.
{% endstep %}

{% step %}

### Navigate to *Add Gateway*

From the main menu (three lines in the upper right corner), select **Organization settings > Add sensors > Bluetooth Low Energy** and tap on ***Add gateway**.*
{% endstep %}

{% step %}

### Follow the instructions on the screen

The gateway provisioning process in the mobile application has been designed for maximum simplicity and ease of use.\
Follow the on-screen instructions carefully to complete the gateway configuration.
{% endstep %}
{% endstepper %}


# Configuration with a custom server

o configure the Efento LTE Gateway to send data to a custom server, use the **free Efento mobile application for Android or iOS**.

{% stepper %}
{% step %}

### Place the gateway in its location

Place the gateway in its installation location.

{% hint style="info" %}
**Ensuring Good Signal Conditions**

To ensure optimal Bluetooth communication performance, consider the following recommendations when selecting the installation site for the gateway:

* Place the gateway in an open area, at least 1 meter above the ground.
* Avoid installing the gateway close to corners, or large metal surfaces that may block or reflect Bluetooth signals.
* Keep the gateway away from sources of electromagnetic interference such as Wi-Fi routers or industrial equipment.
* Avoid placing the gateway inside cabinets, enclosures, or behind objects that may reduce signal strength.
* If multiple gateways are used, maintain sufficient spacing between them to minimize mutual interference.
* After installation, verify Bluetooth signal quality and communication stability with all connected devices to confirm proper operation.
  {% endhint %}
  {% endstep %}

{% step %}

### Download the mobile application and go to *Nearby devices* mode

Download Efento mobile application for [Android](https://play.google.com/store/apps/details?id=pl.efento.cloud\&hl=en) or for [iOS](https://apps.apple.com/pl/app/efento/id6479740909). Select the option to use the mobile application with Nearby devices
{% endstep %}

{% step %}

### Enable configuration mode on the gateway

Press the button located on the **back panel** of the gateway **twice**.

<figure><img src="/files/IYWKHR5AorwxOmw0TZ0m" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Connect to the Gateway

Tap the Gateway in the list to connect, then enter its password. You can find the password on the label attached to the bottom of the device.
{% endstep %}

{% step %}

### Configure the Gateway

The gateway’s configuration is split into five tabs (you can switch the tabs by selecting them from the upper bar):

<figure><img src="/files/0vPtwZktxA6Ji53JW3uv" alt=""><figcaption></figcaption></figure>

**Network Parameters**:

1. **APN (Access Point Name)**: Enter the APN provided by your SIM card provider. If login and password are required, check “Use username and password,” or select “Automatic” to use the default APN.
2. **PLMN (Public Land Mobile Network)**: Enter the unique code for your mobile network or select “Obtain automatically.”
3. **DNS (Domain Name System)**: Set the address of the DNS server. By default it is set to 8.8.8.8
4. **NTP (Network Time Protocol)**: Set the address of the NTP server. By default it is set to pool.ntp.org

{% hint style="info" %}
If you are not certain which network settings to use, begin by selecting automatic APN and PLMN and keep the default DNS and NTP servers. If the gateway fails to connect, reach out to your connectivity provider for the correct APN and PLMN settings.
{% endhint %}

**Server settings:**

1. **Server address**: Address of the server to which the Gateway sends the data. Both IP and domain address are accepted
2. **Server port**: Port to which the data is sent
3. **TLS**: Enable or disable secure communication between the Gateway and the server. We strongly recommend **enabling TLS** to ensure secure, encrypted data transmission and protect your infrastructure from unauthorized access. If required, you can add [custom CA certificates](/efento-gateways/lte-gateway/other-settings#custom-ca-certificates).
4. **Organization token**: Optional API token sent to the server in HTTP header by the Gateway along with the data.
5. **Configure optional parameters:**&#x20;
   1. **Custom Heartbeat endpoint:** The Efento Gateway can send **heartbeat messages** to a user-defined endpoint at regular intervals. These messages allow the server to monitor the gateway’s status, including whether it is online, its uptime, battery status, and the number of loggers within range. Specify the **endpoint** where the messages should be sent. By default the heart beat messages are sent to **/api/v2/gateways/heartbeat**. The structure and details of the heartbeat message payload are described in the [**API Documentation**](/efento-gateways/integration/api-documentation#heartbeat) section of this manual.
   2. **Custom API endpoint:** By default, the Efento Gateway sends measurements to the **/api/v4/measurements** endpoint. If needed, you can override this and specify your preferred endpoint address.
   3. **Custom headers:**&#x20;

      By default, the Efento Gateway includes the value from the **“Token”** field in the HTTP "X-Api-Token" header. The default headers are:

      ```http
      Content-Type: application/json
      charset=UTF-8
      X-Api-Token: <value of the “Token” field>
      ```

      If needed, you can configure the gateway to use **custom headers that will overwrite the default "X-Api-Token" header**. To do this, enable the **“Custom headers”** toggle and add the desired header names and values. You can define **up to ten custom headers**, which will be sent in the same order as they appear in the list. The headers **“Content-Type”** and **“charset”** are always included automatically.

<figure><img src="/files/5afcMaDMTUl0l46D5Ogi" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Verify the connection

After saving the settings, the gateway will attempt to connect to the server. You can verify the current network and server communication status in **Status** (three dots in the upper-right corner → **Status**). The **Registration status** should show **REGISTERED** or **REGISTERED\_ROAMING**, and the **Communication status** should display **Success**.
{% endstep %}
{% endstepper %}

## **Hands-on tutorial: Build a server for Efento Gateways**

If you want to see a complete, working example of how to receive measurements from Efento Gateways and store them in a database, make sure to check out our [step-by-step tutorial](/efento-gateways/integration/example-server-application-in-python). It includes sample Python code, a simple server application, and instructions for saving incoming data to PostgreSQL - perfect as a starting point for your own integration.


# Loggers list

The **Loggers** tab displays all loggers currently within the range of the Efento Gateway. For each logger, you can view: Serial number, Name, Status, Current measurements, Signal strength and information on whether measurements are buffered in the gateway’s memory (used when connectivity issues occur; the gateway will automatically resend missing data).

To access the loggers list:

1. **Open the Efento Mobile App**: launch the Efento mobile app on your mobile device and navigate to the “Nearby devices” section.
2. **Activate Configuration Mode**: when the gateway powers on, it automatically enters configuration mode (indicated by the blue LED blinking rapidly). To re-enter configuration mode later, quickly press the “PWR” button twice.
3. **Connect to the Gateway**: locate the gateway’s serial number in the app and tap it to connect.
4. **Set encryption keys:** Go to the **Loggers list** tab (list icon).

<figure><img src="/files/LEnLoyjti4SAB9fWOIud" alt="" width="375"><figcaption></figcaption></figure>

If the Efento Gateway is configured to work with Efento Cloud, it automatically synchronizes all measurements stored in its internal memory with the cloud. When a logger's measurements are being buffered in the gateway’s memory, it appears in the **Bounded devices** section. Devices that are in the gateway’s range but whose measurements are not currently being buffered are listed in the **Unbounded devices** section.\
If a device is **bounded**, the gateway will also automatically download all measurements stored in the logger's internal memory whenever the logger returns to the gateway’s range after being temporarily out of reach. This ensures that no data is lost, even if the logger was disconnected for some time.


# Other settings

## Encryption keys

Communication between Efento loggers and Efento Gateway can be encrypted with a key set by the user. If the communication is encrypted, devices which do not have the encryption key added, will not be able to decode the transmission and read the logger's measurements. You can add up to four encryption keys to Efento Gateway. Once a key is added, the gateway will be able to decrypt and read the measurements from all the loggers, which use the same encryption key.

Follow these steps to set or change the encryption keys:

1. **Open the Efento Mobile App**: launch the Efento mobile app on your mobile device and navigate to the “Nearby devices” section.
2. **Activate Configuration Mode**: when the gateway powers on, it automatically enters configuration mode (indicated by the blue LED blinking rapidly). To re-enter configuration mode later, quickly press the “PWR” button twice.
3. **Connect to the Gateway**: locate the gateway’s serial number in the app and tap it to connect.
4. **Set encryption keys:** Go to the **Encryption** tab (lock icon), enter the security key(s) and tap **Save**.

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

## Changing the password

You can secure the gateway configuration with a password. Once set, users must provide the password to view or modify settings. Follow these steps to set or change the password:

1. **Open the Efento Mobile App**: launch the Efento mobile app on your mobile device and navigate to the “Nearby devices” section.
2. **Activate Configuration Mode**: when the gateway powers on, it automatically enters configuration mode (indicated by the blue LED blinking rapidly). To re-enter configuration mode later, quickly press the “PWR” button twice.
3. **Connect to the Gateway**: locate the gateway’s serial number in the app and tap it to connect.
4. **Change the Password**: Tap the three dots in the top-right corner of the app screen and select “Change Password”. Enter the new password and save the settings.

<figure><img src="/files/KPUpM2cG7GcOfGia3pBi" alt="" width="315"><figcaption></figcaption></figure>

## Custom CA certificates

The Efento Gateway comes with several commonly used **preloaded CA certificates**. If you wish to use a **custom CA certificate**, to do that:

1. **Save the custom certificate on your mobile phone: c**ertificates are uploaded to the gateway using the mobile application. To send a certificate to the gateway, it must first be stored locally on your mobile device.
2. **Open the Efento Mobile App**: launch the Efento mobile app on your mobile device and navigate to the “Nearby devices” section.
3. **Activate Configuration Mode**: when the gateway powers on, it automatically enters configuration mode (indicated by the blue LED blinking rapidly). To re-enter configuration mode later, quickly press the “PWR” button twice.
4. **Connect to the Gateway**: locate the gateway’s serial number in the app and tap it to connect.
5. **Upload a custom certificate:** Go to the **Security** tab (shield icon), tap **Pick certificate file**, select the certificate you want to upload, and tap **Save**.

Efento Gateway supports any certificate in PEM format. For security reasons, we strongly recommend using certificates signed by a trusted Certification Authority. However, for development or demonstration purposes, you may also [use a self-signed certificate](/efento-gateways/integration/self-signing-ca-certificate).

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

## Restoring factory defaults

To restore the gateway to its factory default settings:

1. Quickly press the "**PWR**" button on the back panel **7 times**.
2. The LEDs will blink sequentially, indicating that the gateway is resetting all settings and clearing all stored measurements from its memory.
3. Once the process is complete, the gateway will restart with its default settings.

## Powering off the Gateway

To turn off the gateway press and hold the PWR button on the back panel for 7 seconds. The blue LED will switch off, confirming that the gateway is powered down.

<br>


# Troubleshooting

## **Status information in the mobile app**

Information about the gateway’s status is available in the mobile application under the *Status* tab. This section provides all the details needed to diagnose connectivity or operational issues with the gateway. To retrieve the status information from the gateway:

{% stepper %}
{% step %}

### Enable configuration mode on the gateway

Press the button located on the **back panel** of the gateway **twice**.

<figure><img src="/files/IYWKHR5AorwxOmw0TZ0m" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Open the mobile application and go to *Nearby devices* mode

Open the mobile application and change the view to Nearby devices by selecting **Main menu** (three lines in the upper-left corner) → **Nearby devices**.
{% endstep %}

{% step %}

### Connect to the Gateway

Tap the Gateway in the list to connect, then enter its password. You can find the password on the label attached to the bottom of the device.
{% endstep %}

{% step %}

### Display the *Status* tab

Tap the **three dots** in the upper-left corner of the app and select ***Status***. The Status screen displays detailed information about the gateway, including:

* **Serial Number:** Unique identifier for the gateway.
* **Software Version:** Current version of the gateway’s software.
* **Last Communication:** Date and time of the gateway’s most recent communication with the server.
* **Communication Status:** Outcome of the last attempt to communicate with the server:
  * **Success:** Communication was successful.
  * **Server Connection Error:** The gateway was unable to connect to the server.
  * **Communication Issue Indicators:** Specific issues preventing communication, such as:
    * DNS error,
    * invalid NTP address,
    * NTP connection error,
    * NTP invalid time received,
    * server invalid address,
    * server connection error,
    * server unknown error.
* **Registration Status:** Current network registration state of the gateway:
  * **Registered (Home/Roaming):** The gateway is registered on a home or roaming network.
  * **Not Registered:** The gateway is not registered on any network.
  * **Searching:** The gateway is searching for a network.
  * **Registration Denied:** The selected network does not permit registration.
* **IMEI:** IMEI number of the LTE module in the gateway.
* **ICCID:** ID of the SIM card used by the gateway.
* **PLMN:** PLMN code of the network the gateway is connected to.
* **Signal Quality Parameters:**
  * **RSSI:** Received Signal Strength Indicator.
  * **RSRP:** Reference Signal Received Power.
  * **SINR:** Signal-to-Interference-plus-Noise Ratio.
  * **RSRQ:** Reference Signal Received Quality.

<figure><img src="/files/VcouSXedNO17Momf55ya" alt="" width="310"><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

## LED indicators

The Efento Gateway is equipped with four LEDs that provide visual feedback about the device’s status. These LED indicators help you monitor the gateway’s operation and identify issues quickly.

The meaning of each LED color and blinking pattern is described below:

| <mark style="color:blue;">**Blue – quickly blinking**</mark>     | The gateway is connected to the mobile app and ready for configuration.                |
| ---------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| <mark style="color:blue;">**Blue – slowly blinking**</mark>      | The gateway is searching for an LTE signal and initiating communication.               |
| <mark style="color:blue;">**Blue – constant**</mark>             | The gateway is connected to an LTE network.                                            |
| <mark style="color:orange;">**Orange – quickly blinking**</mark> | The gateway is in configuration mode and waiting for a connection with the mobile app. |
| <mark style="color:orange;">**Orange – slowly blinking**</mark>  | No logger is within range of the gateway.                                              |
| <mark style="color:orange;">**Orange – single blink**</mark>     | The gateway button has been pressed.                                                   |
| <mark style="color:green;">**Green – blinking**</mark>           | The gateway is communicating with the server.                                          |
| <mark style="color:green;">**Green – constant**</mark>           | Communication with the server was successful.                                          |
| <mark style="color:red;">**Red – slowly blinking**</mark>        | Low battery level (only when USB power is not connected).                              |
| <mark style="color:red;">**Red – constant**</mark>               | An error has occurred. Contact support at [help.efento.io](https://help.efento.io).    |
| **All LEDs blinking sequentially**                               | The device is powering off, resetting to factory settings, or clearing memory.         |
| **All LEDs flashing simultaneously**                             | Critical error. Contact support at [help.efento.io](https://help.efento.io).           |


# Qualifications and approvals

## Bluetooth Qualified Products

Efento LTE gateway is a Bluetooth Qualified Product. [More information](https://qualification.bluetooth.com/Listings/Search)&#x20;

## European Union regulatory compliance

Information about European Union regulatory compliance for Efento Gateway is available in the Declaration of Conformity.

{% file src="/files/3hREIzDf7yQ6tJ0HbTfe" %}

## Compliance with the RoHS directive

Efento Gateway complies with the "Directive 2015/863/EU” (RoHS 3) of the European Parliament and the Council on the Restriction of Use of certain Hazardous Substances in Electrical and Electronic Equipment (RoHS).

<br>


# API documentation

When integrating the Efento Gateway with a custom application or server, several key factors must be considered to ensure reliable communication, data integrity, and security:

1. **Message Format and Structure**
   * Messages from the gateway are sent in **JSON format** and may include:
     * **Measurements messages**, containing logger data, measurement timestamps, and parameter values.
     * **Heartbeat messages**, containing gateway status, power information, logger count, and uptime.
2. **Server Response Requirements**
   * The server **must respond with HTTP status code `201 Created`** for every message sent by the gateway. If any other response is returned, the gateway will interpret the message as **not received** and will **resend it repeatedly** until a valid acknowledgment is received. This ensures no data is lost due to temporary network interruptions or server errors.
   * A **`503 Service Unavailable`** response indicates that the server is temporarily unable to process the request—for example, due to maintenance, overload, or other temporary conditions. Efento Gateway receives a **503** response, it will pause for **5 minutes** and then attempt to resend the data.
   * Your application must correctly parse these messages to extract measurements, identify loggers, and handle synchronization instructions sent to the gateway in the server response.
3. **Custom headers**
   * You can configure up to **ten custom HTTP headers** on the Gateway. These headers are included with every message sent by the gateway and can be used, for example, to **authenticate the gateway** with your server.
4. **Security Considerations**
   * Ensure that communication between the gateway and your server is **encrypted using TLS/SSL (HTTPS)**. You may upliad custom certificates to the Gateway
   * Validate any API keys or tokens sent via custom headers to prevent unauthorized access.

## Measurements

The measurements message provides logger data collected by the Efento Gateway and sent to the server in **JSON format**. Each message can contain multiple measurements, either from a single logger—such as when the gateway reconnects to the Internet and resends stored data—or from multiple loggers if several are within the gateway’s range. This structure allows efficient transmission of all relevant sensor data in one message.

The JSON body includes key details about each measurement, including the logger serial number, battery and signal status, measurement timestamps, and the recorded parameters with their values and statuses.&#x20;

<table data-header-hidden><thead><tr><th width="132.80078125"></th><th></th></tr></thead><tbody><tr><td>ENDPOINT</td><td><p>/api/v4/measurements</p><p>(default endpoint, can be overwritten in Server settings)</p></td></tr><tr><td>METHOD</td><td>POST</td></tr><tr><td>HEADERS</td><td><p>Content-Type: application/json</p><p>charset=UTF-8</p><p>X-Api-Token: &#x3C;value of the “Organization Token” field><br>&#x3C;Name of the 1st custom header>: &#x3C;Value of the 1st custom header><br>&#x3C;Name of the 2nd custom header>: &#x3C;Value of the 2nd custom header><br>...</p></td></tr></tbody></table>

The structure of the measurements JSON is as follows:

```json
{
  "measurements" : [
        {
"serial" : [string], // serial number of the logger
"response_handle":[number], // logger ID in response (optional)
"battery" : [string], // battery level: ok/low
"signal" : [number], // RSSI
"measured_at" : [string], // UTC date
"measurement_interval" : [number], // measurement interval in seconds  
             "next_measurement_at" : [string], // next connection date
"params" : [
  {
               "channel" : [number], // logger channel number: 1/2/3
               "type" : [string], // temperature / humidity / pressure / pressure_diff / open-close
               "value" : [string],
               "status" : [string] // status of the measurement - ‘ok’ or ‘error’
              }
           ]
        }
    ]
}
```

Examples of the messages sent by Efento Gateway to the server:

{% code expandable="true" %}

```json
{
"measurements" : [
{
"serial" : "282C024FFFB1",
"response_handle": 1,
"battery" : "ok",
"signal" : -70,
"measured_at" : "2024-10-12 15:28:21 UTC",
"measurement_interval" : 180,
"next_measurement_at" : "2024-10-12 18:28:21 UTC",
"params" : [
{ "channel": 1, "type": "temperature", "value": 6 , "status" : "ok"}
]
},


{
"serial" : "282C024FFFB2",
"response_handle": 2,
"battery" : "ok",
"signal" : -70,
"measured_at" : "2024-10-12 15:28:21 UTC",
"measurement_interval" : 180,
"next_measurement_at" : "2024-10-12 18:58:21 UTC",
"params" : [
{ "channel": 1, "type": "temperature", "value": 12, "status": "ok"},
{ "channel": 2, "type": "humidity", "value": 51, "status": "ok"}
]
},
{
"serial" : "282C024FFFB3",
"response_handle": 3,
"battery" : "ok",
"signal" : -70,
"measured_at" : "2024-10-12 15:28:21 UTC",
"measurement_interval" : 180,
"next_measurement_at" : "2024-10-12 20:28:21 UTC",
"params" : [
{ "channel": 1, "type": "temperature", "value": 50, "status": "ok"},
{ "channel": 2, "type": "humidity", "value": 30, "status": "ok"},
{ "channel": 3, "type": "pressure_diff", "value": 21, "status": "ok"}
]
},


     {
"serial" : "282C024FFFB4",
"response_handle": 4,
"battery" : "ok",
"signal" : -70,
"measured_at" : "2024-10-12 15:28:21 UTC",
"measurement_interval" : 180,
"next_measurement_at" : "2024-10-12 16:28:21 UTC",
"params" : [
{ "channel: 1, "type: "open-close", "value": "open", "status": "ok"},
{ "channel":2, "type":"open-close", "value":"closed", "status":"ok"},
{ "channel":3, "type":"open-close", "value":"closed", "status":"ok"}
                ]
}
   ]
}

```

{% endcode %}

The server must respond with **“201 Created”** for each message received from the Efento Gateway. If any other response is returned, the gateway will treat the message as **not received** and will **resend it repeatedly** until a valid response is received.

Additionally, the server’s response body should be a **JSON** containing a list of **accepted loggers IDs** and indicate whether the gateway should **save in its memory and synchronize the measurements** of these loggers with the server. Each logger ID corresponds to the **“response\_handle”** field sent by the gateway in the original JSON message.

```json
{
"Y": [number], // IDs of loggers, which should be synchronised with the server
"N": [number] //  IDs of loggers, which should NOT be synchronised with the server
}
```

Example of the response body sent to the gateway:

```json
{
"Y":[1,2,3],
"N":[4]
}
```

## Heartbeat

The heartbeat message provides regular status updates from the Efento Gateway. These messages are by default sent automatically every **15 minutes** and allow monitoring of the gateway’s health, connectivity, and power status. The HTTP request body contains the information in **JSON format**, detailing key parameters such as gateway identification, software version, uptime, logger count, and power status.

This message helps ensure that the gateway is operating correctly and allows the server or cloud platform to track its status in real time. On the other hand, it allows for proactive monitoring and helps detect issues such as power outages, connectivity problems, or unexpected gateway downtime.

<table data-header-hidden><thead><tr><th width="129.64453125"></th><th></th></tr></thead><tbody><tr><td>ENDPOINT</td><td><p>/api/v4/gateways/heartbeat</p><p>(default endpoint, can be overwritten in Server settings)</p></td></tr><tr><td>METHOD</td><td>POST</td></tr><tr><td>HEADERS</td><td><p>Content-Type: application/json</p><p>charset=UTF-8</p><p>X-Api-Token: &#x3C;value of the “Organization Token” field><br>&#x3C;Name of the 1st custom header>: &#x3C;Value of the 1st custom header><br>&#x3C;Name of the 2nd custom header>: &#x3C;Value of the 2nd custom header><br>...</p></td></tr></tbody></table>

The structure of the heartbeat JSON is as follows:

```json
{
    "name" : [string], // Name of the Gateway
    "model" : [string], // Model of the Gateway
    "software_version" : [string], // Software version
    "current_time" : [int], // Current time on the Gateway (Unix representation)
    "uptime" : [int], // Number of seconds since power up
    "mac" : [string], // MAC address
    "sensors_number" : [string], // number of loggers in the Gateway's range
    "next_communication_at" : [int], // Timestamp of the next communication
    "power_monitor" : {
        "is_usb_connected" : [boolean], // Information if the USB power adapter is connected
        "is_charging" : [boolean], // Information if the battery is charging
        "battery_level" : [int] // Battery level in %. ‘Null’, if power supply is connected
    }
}

```

Example of a heartbeat message:

```json
{
    "name": "Efento-Gateway-030A",
    "model": "HG6-v1.2-LECH",
    "software_version": "01.00.00-c723d",
    "current_time": 1731074192,
    "uptime": 2401,
    "mac": "28:2C:02:4F:03:0A",
    "sensors_number": "128/128",
    "next_communication_at": 1731075392,
    "power_monitor": {
        "is_usb_connected": true,
        "is_charging": true,
        "battery_level": null
    }
}
```

The server must respond with **“201 Created”** for each message received from the Efento Gateway. If any other response is returned, the gateway will treat the message as **not received** and will **resend it repeatedly** until a valid response is received.

## 503 response code

A **503 Service Unavailable** response indicates that the server is temporarily unable to process the request—for example, due to maintenance, overload, or other temporary conditions. When the Efento Gateway receives a **503** response, it will pause for **5 minutes** and then attempt to resend the data.

If the server responds with **201 Created** after the retry, the gateway will continue transmitting all remaining buffered measurements. However, if the server again returns **503**, the gateway will wait another **5 minutes** and repeat the process.

This retry mechanism ensures that no data is lost during temporary server downtime and applies to both types of messages: measurements and heartbeat.


# Example server application in Python

This tutorial shows how to set up a simple HTTP server with a database and configure an Efento Gateway to send measurement data to it. In the example, we use **Python**, **Flask**, and a **PostgreSQL** database, but the same concept can easily be implemented in other programming languages or with different databases.

{% hint style="info" %}
If you have any questions or run into issues, feel free to contact us at **help.efento.io**.
{% endhint %}

## Before you start

Before beginning, ensure that you have installed and configured the following components:

* **PyCharm** or any Python 3 IDE
* **PostgreSQL** database
* **Efento Gateway** and **Efento Bluetooth Low Energy loggers**

## PostgreSQL Database Setup

{% stepper %}
{% step %}

### Create the database

After installing PostgreSQL, you will be prompted to create your first database during setup. By default, it will be created using the following credentials:

```
DATABASE_HOST = 'localhost'
DATABASE_USER = 'postgres'
DATABASE_PASSWORD = 'your_password'
DATABASE_NAME = 'postgres'
```

You may change these values if needed. Be sure to write down your credentials, as they will be required later.

To check or modify database credentials, open **pgAdmin**, then navigate to:\
**Object → Properties → General**

<figure><img src="/files/qwUHY9NVBqODHWMmubyd" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Create the measurements table

To store measurements sent from the Efento Gateway, you must create a table. In this example, we create a very simple structure containing five columns, all of type `text`. This design is only for demonstration purposes - your production database should be structured according to your project needs.

You may create the table using pgAdmin’s interface or by running a SQL query.

In pgAdmin, select your database and navigate to:\
**Tools → Query Tool**

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

Insert the query below and click **Execute (▶)**:

```sql
CREATE TABLE measurements (
    measured_at text,
    serial_number text,
    low_battery text,
    type text,
    value text
);
```

Running `CREATE TABLE` creates a new, initially empty table owned by the user who executed the command.
{% endstep %}
{% endstepper %}

## Python Server

The script you will create sets up a simple HTTP server. Efento Gateway sends data as **JSON over REST**, and a single message may contain multiple measurements.

When the server receives a request:

1. It parses the JSON payload.
2. It saves all measurements to the PostgreSQL database.
3. It returns **HTTP 201** to confirm that the data was successfully processed.
4. If something goes wrong (e.g., database connection failure), the server returns **HTTP 503**, and the gateway will automatically retry sending the data later.

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

{% stepper %}
{% step %}

### Install the required Python components

To run the server, you will need:

* **Flask** – a micro-framework for building web applications\
  Install it via PyCharm or using:

  ```
  pip install -U Flask
  ```
* **psycopg2** – a popular PostgreSQL adapter for Python\
  Install using:

  ```
  pip install psycopg2
  ```

{% endstep %}

{% step %}

### Run the script

Copy the code below into a `.py` file. Update the database credentials, run the script, and the server will begin listening for data from the Efento Gateway.

{% code expandable="true" %}

```python
import psycopg2
from flask import Flask, request, Response, json, g

app = Flask(__name__)

# Enter your database host, database user, database password and database name
DATABASE_HOST = 'DATABASE_HOST'
DATABASE_USER = 'DATABASE_USER'
DATABASE_PASSWORD = 'DATABASE_PASSWORD'
DATABASE_NAME = 'DATABASE_NAME'

# Making the initial connection:
conn = psycopg2.connect(
    dbname=DATABASE_NAME,
    user=DATABASE_USER,
    host=DATABASE_HOST,
    password=DATABASE_PASSWORD
)

# Set up "/api/v4/measurements" endpoint, which will be receiving the data sent by Efento Gateway using POST method.
@app.route('/api/v4/measurements', methods=['POST'])
def respond():
    data = request.json
    record = []
    response_handle = []

    # iteration in list data/measurement
    for measurement in data['measurements']:
        # iteration in list data/measurement/params, creating a list of sensor parameters(measured_at,serial,battery) and measurement results
        for param in measurement['params']:
            record.extend([(measurement['measured_at'], measurement['serial'], measurement['battery'], param['type'],
                            param['value'])])
        response_handle.append(measurement['response_handle'])
    response = json.dumps(({'Y': response_handle, 'N': []}))

    measurements = "INSERT INTO measurements(measured_at, serial_number, low_battery, type, value) VALUES (%s, %s, %s, %s, %s)"
    with conn.cursor() as cur:
        try:
            # inserting a list of sensor parameters and measurement to table in PostgresSQL
            cur.executemany(measurements, record)
            conn.commit()
            cur.close()
        except (Exception, psycopg2.DatabaseError) as error:
            print(error)
            return Response(status="503")
    return Response(response, status="201")

# Start the application on Your port. Default port 5000
if __name__ == "__main__":
    app.run(host='0.0.0.0', port=5000)
```

{% endcode %}
{% endstep %}

{% step %}

### Configure Efento Gateway

#### Ethernet Gateway

1. Log in to the Efento Gateway web panel. Navigate to:\
   **Settings → Server settings**
2. In **Connection to Server**, select **Custom Settings**.
3. Enter the **server address** (your PC/server IP or domain) in the *Server Address* field.
4. Set the **Server Port** to `5000`.
5. Switch **TLS OFF** for this tutorial.

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

{% hint style="warning" %}
When TLS is disabled, data is sent unencrypted. For production deployments, always [upload your server certificate in the CA Certificate](/efento-gateways/ethernet-gateway/other-settings#custom-ca-certificates) tab and enable encrypted HTTPS communication (TLS - ON).

For development or demonstration purposes you may [use a self-signed certificate](/efento-gateways/integration/self-signing-ca-certificate).
{% endhint %}
{% endstep %}
{% endstepper %}

## Results

Once the Python script is running, all data sent from the Efento Gateway will be saved in your PostgreSQL database.

To view measurements:

1. Open **pgAdmin 4**
2. Select your database
3. Go to **Tools → Query Tool**
4. Enter and execute:

```sql
SELECT * FROM measurements;
```

You will now see all measurements received from the Efento Gateway stored in your database.

<figure><img src="/files/8AhQOZmlpshjr4I8yRjw" alt=""><figcaption></figcaption></figure>


# Self signing CA certificate

To secure communication between the gateway and your server, you will need SSL/TLS certificates. **The most robust approach is to use a certificate signed by a trusted Certification Authority.** However, for demonstration purposes, we will generate and use self-signed certificates.

## Before you start

* Ensure that OpenSSL is installed on your computer (it is included with Git, so you likely have it already).
* Register a domain name and point it to the IP address of the server that will receive data from the gateway.

## Set up

{% stepper %}
{% step %}

### **Generate a private key**

Open the command line and navigate to the folder where OpenSSL is installed (e.g., `Git\usr\bin`). Then run:

```bash
openssl genrsa -out rootCA.key 2048
```

This command generates a 2048-bit private key and saves it in a file named **rootCA.key** in the current directory. This key will later be used to sign all certificates.
{% endstep %}

{% step %}

### **Create a certificate signing request (CSR)**

Run the following command:

```bash
openssl req -new -nodes -key rootCA.key -out signing_request.csr
```

You will be prompted to enter several optional fields, which form the certificate's *Distinguished Name (DN)*. These fields may be left blank.

<figure><img src="/files/P1oRgFxOs0hGjNfXDmLT" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### **Generate and sign the root certificate**

Create a self-signed root certificate using:

```bash
openssl x509 -in signing_request.csr -out rootCA.pem -req -signkey rootCA.key -days 365
```

The `-days` parameter sets the certificate's validity period (default is 30 days if omitted).
{% endstep %}

{% step %}

### **Upload the certificate to the gateway**

Log in to the Efento Gateway via a web browser and navigate to:\
**Settings → CA certificates**

Select **rootCA.pem** and upload it. Confirm the change by clicking **Save**.

<figure><img src="/files/x145D0nvItyg6arY2xrv" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### **Generate the server certificate and key pair**

Generate the server’s key pair and certificate signing request:

```bash
openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr
```

**Important:** When prompted, make sure to enter the correct domain name or IP address of your server.

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

Next, sign the server certificate with the root certificate:

```bash
openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 365
```

{% endstep %}

{% step %}

### **Update the server application to support HTTPS**

Your server application must support HTTPS communication. How you enable this depends on the programming language and framework you are using.

For example Python’s Flask framework supports HTTPS natively. Copy **server.crt** and **server.key** into your project folder, then update your `app.run()` call:

```python
app.run(host='0.0.0.0', port=5000, ssl_context=('server.crt', 'server.key'))
```

This enables encrypted HTTPS communication.
{% endstep %}

{% step %}

### **Configure the Efento Gateway to use HTTPS**

#### Ethernet gateway

1. Log in to the gateway and go to: **Settings → Server**
2. Enter your server’s domain in **Server address**, specify the port number, enable **TLS**, and click **Save**.

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

#### LTE gateway

\
From this point on, the gateway will send all data using secure HTTPS communication.
{% endstep %}
{% endstepper %}


# Overview

## What are Efento Bluetooth Low Energy loggers

Efento Bluetooth Low Energy (BLE) Loggers are wireless measurement devices designed to monitor environmental or process parameters (such as temperature, humidity, air pressure, VOC, open/close status, water leakage, or pulse counting) and transmit data over a Bluetooth Low Energy interface.

These loggers can be used in two basic modes:

* [**Standalone mode**](/efento-ble-loggers/using-loggers/standalone-mode) — direct connection to a smartphone/tablet using the free mobile application, for local reading and configuration.
* [**Connected mode**](/efento-ble-loggers/using-loggers/using-loggers-with-efento-cloud) — via Efento Gateway, which forwards logger data to Efento Cloud (or any other compatible cloud platform), enabling remote monitoring and centralized data collection.

They are battery‑powered and, depending on the usage settings, can operate maintenance‑free for up to 5 years.

## Key features and capabilities

* **Multiple sensor channels** — A single logger can support up to six measurement channels, allowing one device to monitor several parameters simultaneously (e.g., temperature + humidity + pressure).
* **Flexible measurement intervals** — The interval between consecutive measurements can be configured by the user, from as frequent as 1 second up to once every 10 days.
* **Large local memory** — Loggers store a large number of measurements internally (up to 40 000 records depending on model/configuration), allowing for long-term data logging even without frequent data extraction.
* **Bluetooth Low Energy communication** — Enables wireless data retrieval or configuration using a smartphone (or via Efento Gateway), without cables or physical connections.
* **Battery‑powered with long autonomy** — Designed for up to 5 years of battery life under typical settings, reducing maintenance needs.
* **Compact and easy to install** — enclosures made from ABS, with small form factor and multiple mounting options.
* **Secure data transmission** — Supports AES‑128 encryption and secure pairing to protect measurement data and prevent unauthorized access.

## Markings

You may find the following symbols on the Efento BLE logger or its packaging:

<table data-header-hidden><thead><tr><th width="121.54296875"></th><th></th></tr></thead><tbody><tr><td><img src="/files/lfQKP7r1dMl8oJpoPKPP" alt=""></td><td>CE Mark of Conformity: Indicates compliance with the Radio Equipment Directive (RED) 2014/53/EU.</td></tr><tr><td><img src="/files/HIqWMyWwVqSUSmJe6wjY" alt=""></td><td>Dustbin Symbol: Efento products should not be disposed of with household waste. Please dispose of them according to local laws and regulations.</td></tr><tr><td><img src="/files/QTcIrewnRV6pvCXywaeJ" alt=""></td><td>RoHS Symbol: Indicates compliance with the RoHS Directive 2002/95/EC.</td></tr></tbody></table>

## Liability

The information provided in this operating manual describes the product’s functions and intended use but does not constitute a guarantee of specific performance or features. Efento shall not be held liable for any damage, malfunction, or loss resulting from, but not limited to:

* **Improper or unintended use** of the device.
* **Failure to follow the instructions** and safety guidelines described in this manual.
* **Unauthorized modifications, alterations, or tampering** with the Efento Blutooth Low Energy loggers or their components.
* **Improper installation, handling, or operation** of the device.
* **Unauthorized repairs or attempts to service** the device by persons not certified by Efento.
* **Use of incompatible accessories, power supplies, or antennas.**
* **Damage caused by accidents, external factors, or environmental conditions**, including but not limited to moisture, extreme temperatures, or mechanical shock.
* **Events classified as force majeure**, such as natural disasters or other situations beyond the manufacturer’s control.
* **Operation outside the specified technical parameters** or use in environments not recommended for the device.

These exclusions ensure clarity on the conditions under which warranty and liability may be voided. Please follow all guidelines to ensure safe and reliable operation of the Efento Bluetooth Low Energy loggers.

## Manufacturer&#x20;

Efento sp. z o.o., Ul. Przemysłowa 12, 30-701 Krakow, Poland

## Technical support

* We encourage you to read this manual thoroughly to fully understand and leverage all the features of Efento products.
* If you have any questions while using the loggers, start by asking our AI assistant (Type your question into the search field in the page header and click **Ask**).
* If you can’t find an answer, our support team is ready to help at [help.efento.io](https://help.efento.io).


# Safety guidelines

## General

* Always **read the full user manual** before using the device.
* The loggers must be used only for their intended purpose: to measure physical or environmental values and wirelessly transmit these measurements to a phone or a network gateway, under the operating conditions described in the manual.
* Do **not** perform modifications, unauthorized repairs or internal alterations to the loggers or their enclosures - doing so voids warranty and may create safety hazards.
* **In case you have any questions, please contact our technical support at** [**help.efento.io**](https://help.efento.io)

## Battery safety

* When [replacing the battery](/efento-ble-loggers/installation/replacing-the-battery), ensure proper battery orientation and **use only approved battery type** - a single **AA-size battery, type ER14505, 2700 mAh, 3.6 V**. Improper battery insertion may cause damage or risk of fire / explosion.
* Never use **damaged**, **deformed** or **otherwise compromised** batteries.
* **Do not puncture, crush, or apply pressure to the device.** Physical damage may compromise the battery’s integrity and lead to leakage, overheating, or failure.
* **Do not recharge the battery**
* In case of battery malfunction or battery leakage **discontinue use immediately**; do not attempt to repair.

## Environmental / Operating conditions

* Do not expose the logger to **temperatures outside its specified operating range**. Exposing the device to extreme temperatures (too low, too high) may cause malfunction, damage, or loss of measurement accuracy.
* Store the device **protected from direct sunlight, heat sources, fire**, or other harsh environmental conditions.
* Avoid exposing the logger to **moisture, corrosive substances, or harsh chemicals** - unless the specific model is designed for such conditions (e.g. waterproof probes).

## Installation and maintenance

* During logger installation, be sure to follow the [installation guidelines](/efento-ble-loggers/installation/logger-specific-installation-guidelines) and [best practices](/efento-ble-loggers/installation/installation-best-practices) to ensure optimal performance and accuracy.
* Do **not** disassemble or tamper with the internal electronics of the logger. **Only perform maintenance recommended by manufacturer** (e.g., [battery replacement](/efento-ble-loggers/installation/replacing-the-battery)).
* IP30 devices should be cleaned using dedicated electronics-safe cleaning products (such as those used for computers) or, alternatively, with a suitable disinfectant.
* IP67 devices installed in rooms may be cleaned using the same methods applied for room cleaning, provided that the water pressure does not exceed **100 kPa (15 psi)**.


# Technical data

## Memory

Efento loggers are equipped with built-in memory capable of storing up to 40,000 records. When the memory becomes full, the oldest records are automatically overwritten by new ones (circular buffer).

The length of time this memory can cover depends on the measurement interval, which is user-configurable from 1 second to 10 days.

## **Battery**

Efento loggers are powered by a single AA‑size battery (ER14505) with 3.6 V and 2700 mAh capacity. More information on: [battery safety](/efento-ble-loggers/general-information/safety-guidelines#battery-safety), [battery replacement](/efento-ble-loggers/installation/replacing-the-battery), and [proper disposal](/efento-ble-loggers/installation/replacing-the-battery#general-notes).

## Measured values

Efento loggers are capable of monitoring a broad range of physical and environmental parameters. Each logger can support up to six channels, each assigned to a dedicated sensor or probe. Devices can measure over 25 different parameters, including temperature, humidity, air pressure, differential pressure, open/close status, pulse counts, VOC levels, and water leakage.

All features described in this manual apply to every sensor model, while some sensors offer additional model-specific configuration options, such as calibration.

For the complete and up-to-date list of supported sensors, including their accuracy and measurement ranges, visit [getefento.com](https://getefento.com/product-categories/bluetooth-low-energy-sensors/).&#x20;

## Bluetooth Low Energy

Efento loggers use Bluetooth Low Energy (BLE) to transmit data. They utilize both BLE advertising and BLE connections for communication.

## **Types of enclosures**

Efento loggers are available in two enclosure types: **IP30** and **IP67**, each suited for different environments and measurement needs.

{% hint style="info" %}
**General guidelines for choosing the enclosure type:**

* For precise environmental measurements using the logger’s internal sensors, select **IP30**.
* If the logger will be exposed to moisture or harsh conditions, select **IP67** and use external probes.
  {% endhint %}

### **IP30 Enclosure**

#### **Characteristics**

* **Protection level:** protected against solid objects larger than 2.5 mm, such as tools and thick wires, no protection against liquids
* **Airflow:** Allows free airflow, making it suitable for loggers that measure temperature, humidity or air quality using built-in sensors
* **Use cases:** Indoor environments, including offices, warehouses, laboratories, server rooms or other sheltered indoor environments
* **Material:** ABS, inflamable
* **Mounting**: 3M adhesive pad with acrylic glue
* **Advantages:**
  * Provides the best measurement accuracy for built-in environmental loggers
  * Smaller size, suitable for indoor use

#### Size

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

### **IP67 Enclosure**

#### **Characteristics**

* **Protection level:** Fully dustproof and waterproof.
* **Airflow:** The enclosure is airtight and does not allow airflow. Therefore, IP67 devices cannot be used for built-in measurements of temperature, humidity, or air quality. IP67 devices must use external probes when environmental monitoring is required.
* **Use cases:** Industrial environments, outdoor installations, places exposed to moisture, wash-downs, dust, or chemicals
* **Material:** ABS, inflamable
* **Mounting**: screws or cable ties
* **Advantages:**
  * Provides strong protection against water and dust
  * Suitable for installation in harsh environments or outdoor

#### Size

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


# Qualifications and approvals

## Bluetooth Qualified Product

Efento Bluetooth Low Energy loggers are Bluetooth Qualified Products. [More information](https://qualification.bluetooth.com/Listings/Search)&#x20;

## European Union regulatory compliance

Information about European Union regulatory compliance for Efento Bluetooth Low Energy loggers is available in the Declaration of Conformity.

{% file src="/files/p6uOUrnyLyIsVa3WUnaC" %}

## USA - FCC

This device complies with Part 15 of the FCC Rules. Operation is subject to the following two conditions: (1) this device may not cause harmful interference, and (2) this device must accept any interference received, including interference that may cause undesired operation.

**FCC identifier: 2BALY-HS6**

Note: This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates, uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation.

{% file src="/files/2FgzPixkJS0j2Xwl0CA4" %}

## Canada - ISED

Efento has not approved any changes or modifications to this device by the user. Any changes or modifications could void the user’s authority to operate the equipment.

Efento n’a approué aucune modification apportée à l’appareil par l’utilisateur, quelle qu’en soit la nature. Tout changement ou toute modification peuvent annuler le droit d’utilisation de l’appareil par l’utilisateur.

#### Innovation, Science and Economic Development Canada (ISED) regulatory information

This device complies with Innovation, Science and Economic Development Canada licence-exempt RSS standard(s). Operation is subject to the following two conditions: (1) this device may not cause interference, and (2) this device must accept any interference, including interference that may cause undesired operation of the device.

**IC: 33240-HS6**

#### Avis de conformité à la réglementation d’Innovation, Sciences et Développement économique Canada (ISDE)

Le présent appareil est conforme aux CNR d’Innovation, Sciences et Développement économique Canada applicables aux appareils radio exempts de licence. L’exploitation est autorisée aux deux conditions suivantes : (1) l’appareil ne doit pas produire de brouillage, et (2) l’utilisateur de l’appareil doit accepter tout brouillage radioélectrique subi, même si le brouillage est susceptible d’en compromettre le fonctionnement.

**IC: 33240-HS6**

{% file src="/files/lutq4hCRy2VObI4Glihw" %}

#### Class B digital device notice

This Class B digital apparatus complies with Canadian RSS-Gen and RSS-247.

Cet appareil numérique de la classe B est conforme à la norme CNR-Gen et CNR-247 du Canada.

<br>


# Powering on the loggers

## IP30 enclosure

To power on an Efento BLE logger in an IP30 enclosure, simply remove the battery-isolating foil that prevents the battery from making contact with the holder. The foil protrudes from the back of the device, so there is no need to open the enclosure.

<figure><img src="/files/Qbdt9FoEeG5z4WEx9Tck" alt="" width="375"><figcaption></figcaption></figure>

{% hint style="info" %}
If you ordered a logger with a calibration certificate, the battery-isolating foil was removed by the laboratory during the calibration process. This means the device is already powered on and operating.
{% endhint %}

## IP67 enclosure

IP67 logger provide waterproof and dustproof protection. Because the enclosure is fully sealed, extra care is required when opening and closing the device to maintain its environmental rating.

{% stepper %}
{% step %}

### Open the enclosure

Using a cruciform screwdriver (PZ1 / PH1), remove all screws from the enclosure.

<figure><img src="/files/X0LFMQdNUQsysKLKqnfX" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Remove the battery-isolating foil

Take out the battery-isolating foil that prevents the battery from making contact with the holder.

<figure><img src="/files/Qbdt9FoEeG5z4WEx9Tck" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Close the enclosure

Align the cover so the gasket sits evenly. Close the enclosure and reinstall all screws.

{% hint style="danger" %}
**Ensure every screw is tightened securely** -loose screws may allow water to enter the enclosure and damage the internal electronics.
{% endhint %}

<figure><img src="/files/bPyKxmOuKggCz3Sw3d0R" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}


# Installation best practices

Efento Bluetooth Low Energy (BLE) loggers are designed to provide reliable wireless communication and accurate environmental measurements. Proper installation is essential to ensure optimal performance, measurement precision, and long-term durability. **The following best practices apply to all Efento BLE loggers and models**.

## **Ensuring the best possible BLE coverage**

### **Choose optimal** logger **placement**

* Install loggers in locations with a clear path to the receiving device (smartphone, Efento Gateway, or custom hardware).
* Avoid placing loggers behind metal objects, inside metal cabinets, or in locations with thick reinforced concrete walls - these significantly weaken BLE signal strength.
* For best performance, mount loggers at least:
  * **1–2 meters above the floor**
  * **30 cm away from large metal surfaces**
  * **1 meter away from other radio-emitting devices** (Wi-Fi routers, industrial machinery, etc.), when possible.

### **Consider the environment**

* Install loggers in areas with minimal radio interference (Wi-Fi, industrial motors, dense IoT networks).
* In long corridors or large spaces, maintain a clear line of sight between loggers and gateways where possible.

### **Use additional gateways when needed**

* For large buildings, multi-room layouts, or areas with heavy structural shielding:
  * Install additional Efento Gateways to ensure seamless coverage.
  * Position gateways centrally relative to logger groups for balanced signal distribution.

## **Ensuring valid environmental measurements**

### **Avoid direct influence from heat or cooling sources**

To obtain accurate measurements, loggers **must not** be installed directly next to:

* heaters, radiators, air vents, or HVAC outlets
* doors, windows, or drafty areas
* direct sunlight or artificial heat sources (monitors, lamps)

Maintain a **minimum distance of 0.5–1 m** from such sources.

### **Consider airflow and** logger **exposure**

* Ensure good, natural airflow around the logger - do not block vents or fully enclose the device.
* Avoid locations where the logger may be affected by localized microclimates, such as corners, high shelves, or behind heavy equipment.

### **Mount** loggers **securely**

* Use proper mounting accessories (screws / adhesive pads / cable ties) to prevent the logger from falling or shifting position, which may affect measurement stability.


# Mounting guidelines

Proper installation ensures reliable Bluetooth communication and accurate measurements. Verify that the chosen location follows the [installation best practices](/efento-ble-loggers/installation/installation-best-practices).

{% hint style="warning" %}
Before mounting any logger, **make sure it is powered on** and visible to a smartphone or gateway.&#x20;
{% endhint %}

## **Mounting IP30** loggers

Efento loggers in IP30 enclosures are lightweight and designed for quick installation using **3M adhesive pads**, included in the package.

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

### **Mounting steps**

1. Clean the surface where the logger will be placed (dry, smooth, and dust-free).
2. Peel off the protective film covering the 3M adhesive pad on the back of the logger.
3. Press the logger firmly against the surface for several seconds.
4. Avoid touching or repositioning the logger for a few minutes to ensure proper adhesion.

{% hint style="info" %}
Adhesive mounting is ideal for walls, doors, racks, and other flat indoor surfaces.
{% endhint %}

## **Mounting IP67** loggers

Efento loggers in IP67 enclosures are designed for harsh or outdoor environments and require more secure mounting.

### **Mounting options**

* **Screws** – use mounting holes in the enclosure to fix the device to walls, equipment, or structural surfaces.
* **Cable ties** – suitable for poles, frames, or places where drilling is not possible.

### **Mounting steps**

#### **Using screws**

Use the screws included in the set, as they are corrosion-resistant. If using alternative screws, make sure they are also corrosion-resistant.

1. Position the logger on the wall and mark the locations for drilling.
2. Drill holes using a 5 mm drill bit.
3. Remove dust from the holes and insert wall plugs.
4. Mount the logger using the screws, ensuring it is firmly secured.

#### **Using cable ties**

1. Choose cable ties of appropriate length and strength for the mounting location. The cable tie used should not exceed a width of 10 mm.
2. Thread the cable ties through the logger's mounting slots and tighten them firmly so the logger does not move or vibrate during operation.


# Replacing the battery

Efento BLE loggers are powered by a single **AA 3.6 V lithium battery (type ER14505)**. Battery life depends on the logger model and configuration, but when the battery becomes depleted, it must be replaced to ensure continuous operation and accurate measurements.

## General notes

* Always use the recommended battery type: **ER14505, 3.6 V lithium, 2700 mAh**.
* Do **not** use rechargeable batteries or standard alkaline AA batteries.
* Dispose of used batteries according to local regulations.
* Measurements stored in the logger's internal memory are **retained during battery replacement** and will not be lost.

## IP30 enclosure

1. **Remove the back cover**\
   Use a cruciform screwdriver (PZ1 / PH1) to remove all screws from the housing.
2. **Replace the battery**
   1. Pull the old battery out of the holder.
   2. Insert the new battery, ensuring correct polarity (+/–).
3. **Reattach the back cover**\
   Insert and tighten all screws evenly.

The device will automatically restart and resume operation using the existing configuration.

## IP67 enclosure

IP67 loggers provide waterproof and dustproof protection. Because the enclosure is fully sealed, extra care is required when opening and closing the device to maintain its environmental rating.

1. **Open the enclosure**
   * Use a cruciform screwdriver (PZ1 / PH1) to remove all screws from the housing.
   * Lift the cover carefully to avoid damaging the sealing gasket.
2. **Check the gasket**\
   Inspect the rubber seal for dirt, wear, or deformation. Clean if necessary to ensure proper sealing.
3. **Replace the battery**
   * Remove the old battery from the holder.
   * Insert the new battery, ensuring correct polarity.
4. **Close the enclosure**
   * Align the cover so the gasket sits evenly.
   * Insert and tighten all screws evenly.
   * Make sure every screw is fully tightened - **insufficiently tightened screws may compromise waterproofness and damage the electronics**.

The logger will power on automatically once the battery is inserted.


# Logger-specific installation guidelines

{% content-ref url="/pages/pSRW4eXWeZN0UJYqbvXq" %}
[External probes installation](/efento-ble-loggers/installation/logger-specific-installation-guidelines/external-probes-installation)
{% endcontent-ref %}

{% content-ref url="/pages/wgwj384DTBFyLAC5he7s" %}
[Pulse counters wiring](/efento-ble-loggers/installation/logger-specific-installation-guidelines/pulse-counters-wiring)
{% endcontent-ref %}

{% content-ref url="/pages/NjH51mvnwSsmMJDyGs3e" %}
[4-20 mA loggers wiring](/efento-ble-loggers/installation/logger-specific-installation-guidelines/4-20-ma-loggers-wiring)
{% endcontent-ref %}

{% content-ref url="/pages/pksg9XM1lMSr8sn367Ur" %}
[Soil moisture sensor installation](/efento-ble-loggers/installation/logger-specific-installation-guidelines/soil-moisture-sensor-installation)
{% endcontent-ref %}


# External probes installation

Many Efento loggers use temperature or other probes for measurements in refrigerators, freezers, cold rooms, or industrial environments. Proper installation is critical to maintain both measurement accuracy and environmental safety.

### **Avoid damaging the probe cable**

* Route the probe cable along stable surfaces (racks, walls) to prevent accidental pulling, pinching, or abrasion.
* Use cable ties or clips to secure the cable and prevent movement caused by opening/closing doors.
* Do not bend the cable sharply - maintain smooth curvature.

### **Prevent air leakage into refrigerators/freezers**

Refrigerators and freezers must remain airtight to maintain consistent temperature and energy efficiency.

**To avoid air ingress:**

* Never run the probe cable through the door seal without protection - it may damage the seal and cause frost buildup or temperature fluctuations.
* Instead, use:
  * Dedicated cable passages (often found at the back or side of refrigerators).
  * A soft seal or foam grommet around the cable to maintain insulation and airtightness.
* Ensure the seal or insulation material closes tightly around the probe cable.

### **Probe placement inside cold chambers**

* Position the probe in the center area of the refrigerated space - not touching walls, shelves, or products.
* Avoid areas close to air vents or evaporators, as temperature there may not reflect true storage conditions.
* For freezers:
  * Ensure the probe is rated for low temperatures.
  * Protect the cable from becoming brittle by securing it and avoiding tight bends.


# Pulse counters wiring

## Wiring scheme

Efento pulse counters support up to three separate channels. The wiring configuration varies depending on the number of channels in use.

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

The pulse counters support devices that provide dry-contact (SO) pulses. Connect the pulse-generating device to the Efento counter using the **CH** and **GND** pins (for multi-channel counters: CH1–GND, CH2–GND, CH3–GND).

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

## **Electricity Meter Connection**

{% hint style="danger" %}
**DANGER – Risk of Electric Shock**

**IMPORTANT: Installation and electrical connections must be performed exclusively by qualified, trained electricians in accordance with all applicable electrical codes and safety standards.**

To prevent electric shock:

1. Turn off all power sources and equipment before making connections.
2. Attach all cables to the devices while power is off.
3. Turn on all power sources only after connections are complete.

Always read and follow the user manual of the electricity meter being connected to the Efento pulse counter.
{% endhint %}

When connecting to an electricity meter, wire the Efento pulse counter to the meter’s SO output.

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


# 4-20 mA loggers wiring

Efento 4–20 mA loggers are designed to measure the output of 4–20 mA sensor probes and transmit data over NB-IoT networks to Efento Cloud or any other server. Each logger can support up to three analog channels, compatible with 2-wire probes, 3-wire PNP/NPN probes, and 4-wire probes.

{% hint style="info" %}
The loggers can supply power (up to **16 V**) to connected passive probes (2-wire, 3-wire PNP/NPN, and 4-wire). Alternatively, 2-wire, 3-wire PNP, and 4-wire probes may be powered by an external source (active mode). **3-wire NPN probes cannot be powered externally**.
{% endhint %}

Efento 4–20 mA loggers measure currents within the **−24 to 24 mA** range, with a resolution of **0.001 mA**. The shunt resistance (Rs) is **3 Ω**.

### Channel Configuration

Each channel can be configured for the required probe type using jumpers on the PCB:

* **Channel 1:** Jumpers J1, J2
* **Channel 2:** Jumpers J5, J6
* **Channel 3:** Jumpers J3, J4

#### Jumper Settings

{% hint style="danger" %}
Warning! Always power off the device before changing jumper settings or wiring sensor probes.
{% endhint %}

| Probe Type              | Channel 1 (J1/J2) | Channel 2 (J5/J6) | Channel 3 (J3/J4) |
| ----------------------- | ----------------- | ----------------- | ----------------- |
| **2-wire, passive**     | open / closed     | open / closed     | open / closed     |
| **2-wire, active**      | open / open       | open / open       | open / open       |
| **3-wire PNP, passive** | open / closed     | open / closed     | open / closed     |
| **3-wire PNP, active**  | open / closed     | open / closed     | open / closed     |
| **3-wire NPN, passive** | closed / open     | closed / open     | closed / open     |
| **4-wire, passive**     | open / open       | open / open       | open / open       |

{% hint style="danger" %}
**Warning:** Never set the jumpers to the closed/closed position (J1 & J2 closed, J3 & J4 closed, or J5 & J6 closed). This configuration may damage the device.
{% endhint %}

### Wiring

Efento 4–20 mA loggers include a 12-input terminal block. Each terminal is labeled on the PCB (V1–V3, I1–I3, O1–O3, G1–G3), indicating both the channel number and input type. Wiring varies depending on the probe type:

#### **2-wire probe powered by Efento logger (passive)**

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

#### **2-wire probe with external power supply (active)**

<figure><img src="/files/0tyea0AtNPnsfgbl05UX" alt=""><figcaption></figcaption></figure>

#### **3-wire PNP probe powered by Efento logger (passive)**

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

#### **3-wire PNP probe with external power supply (active)**

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

#### **3-wire NPN probe powered by Efento logger (passive)**

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

#### **4-wire probe powered by Efento logger (passive)**

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


# Soil moisture sensor installation

## **Before installation – probe hydration**

The WATERMARK soil moisture probe (model 200ss) contains air when new and must be fully hydrated before installation. **Do not install a dry probe, as this will result in incorrect readings**. Proper hydration replaces the air in the sensor’s porous material with water, ensuring accurate performance. This preparation process is essential and must be followed carefully. After completing the hydration cycle once, the probe is ready for use. Always install a fully soaked probe.

Follow the hydration procedure below:

1. Submerge the probe **less than halfway** in water for **30 minutes**.\
   ![](/files/YHVkebQVTNI3aWxnKEKo)
2. Allow it to **dry for 10 hours**.
3. Submerge it again **less than halfway** for **30 minutes**, then **dry for 10 hours**.
4. Repeat a third cycle: **30-minute submersion (less than halfway)** + **10-hour drying**.
5. Finally, fully immerse the probe in water for **8 hours** (air bubbles may be visible as the remaining air escapes).\
   ![](/files/LQp8juCYcAU3UJj95mdj)

Once these steps are completed, the probe is fully hydrated and ready for installation.

## **Installation**

{% hint style="danger" %}
Soil moisture and temperature probe cables must be routed inside a PVC pipe with an internal diameter of **at least 23 mm**. Cables placed directly in soil may be damaged by rodents.
{% endhint %}

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

1. Dig a hole at the intended measurement depth.
2. Mix the excavated soil with water until it reaches a **thick, honey-like consistency**.
3. Pour some of this slurry into the bottom of the hole.
4. Place the hydrated probe at the bottom, ensuring **direct contact** between the probe and the soil.
5. Fill the remaining space in the hole with the prepared soil slurry to eliminate air gaps and ensure proper sensor-to-soil contact.

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


# Using loggers with Efento Cloud

Efento BLE loggers can seamlessly integrate with **Efento Cloud**, a platform designed for continuous monitoring, alerting, and data analysis. Efento Cloud enables remote access to measurement data, device management, and long-term storage - all accessible through a web browser or mobile app.

Efento BLE loggers communicate with Efento Cloud through a gateway. The gateway collects BLE data from loggers and sends it securely to the cloud. Before adding your loggers to Efento Cloud you need to configure your gateway. There are two types of Efento Gateway:

* **Efento LTE Gateway** – transfers data using the mobile network, ideal for locations without ethernet access. [Efento LTE gateway configuration guide](/efento-cloud/adding-devices/bluetooth-low-energy-loggers/publish-your-docs)
* **Efento Ethernet Gateway** – sends data via a wired network connection, suitable for fixed installations with available LAN infrastructure. [Efento Ethernet gateway configuration guide](/efento-cloud/adding-devices/bluetooth-low-energy-loggers/publish-your-docs-1)

A detailed description of all configuration features, including gateways, logger management, alert creation, and reporting, is available in the [**Efento Cloud user manual**](https://docs.efento.io/efento-cloud/).


# Standalone mode

In standalone mode, Efento loggers measure and store data in their internal memory. Users can simply approach the device with a mobile phone or tablet to read the measurements or change the logger’s configuration.

To use the logger in standalone mode, the user must install the Efento mobile application from [**Google Play**](https://play.google.com/store/apps/details?id=pl.efento.cloud\&hl=en) or the [**App Store**](https://apps.apple.com/pl/app/efento/id6479740909).

After launching the app, select the **“Nearby devices”** mode to begin using the logger.

{% hint style="warning" %}
To use the mobile application with Efento loggers, you must grant permission for the app to use Bluetooth. **The app will request all required permissions during the first startup**. Without these permissions, the application will not be able to communicate with the devices.
{% endhint %}


# Loggers list

## Detecting Loggers

Open the Efento mobile application. After a few seconds, the app will automatically detect all loggers within the range of your phone or tablet. The list displays each logger’s name, serial number, and current measurement values.

<p align="center"><img src="/files/2iQGDJOINKocFsAS4eWq" alt=""></p>

## Communication encryption

A padlock icon shown next to the logger’s serial number indicates that communication between the logger and the mobile device is encrypted. If a padlock icon appears instead of the measurement value, it means the logger uses encrypted communication and the mobile device is not able to decrypt the data.

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

## Warnings

If a logger encounters an issue that requires the user’s attention, it will be highlighted in yellow (the device is operating, but the issue should be addressed) or in red (the device is not operating correctly and immediate action is required) in the mobile application’s device list. The application may display the following warnings:

**Low battery level** – shown as a yellow battery icon next to the logger’s name. After this icon appears, the battery should be [replaced](/efento-ble-loggers/installation/replacing-the-battery) within approximately 30 days. Stored measurement data will not be lost, and you will be able to read them after replacing the battery.

<figure><img src="/files/IgCzc8mIp0wjP6HT0IGF" alt="" width="375"><figcaption></figcaption></figure>

**Sensor not calibrated / calibration in progress** – Some sensors (e.g., IAQ, CO₂) require manual or automatic calibration to ensure high-accuracy measurements. If a device needs calibration or is currently performing automatic calibration, this information will appear below the sensor’s serial number.

<figure><img src="/files/ALFXFAk6qf45364sM2K3" alt="" width="375"><figcaption></figcaption></figure>

**Synchronization required** – This message appears for pulse counters that have not had their initial value set or were restarted during operation. As a result, the values they report may be incorrect. The warning is shown in yellow beneath the device’s serial number.

<figure><img src="/files/AtpWs9u5ELiteChzmiXH" alt="" width="375"><figcaption></figcaption></figure>

**Sensor defective** – a red indicator appears next to the sensor's name along with the message *“sensor defective”* under the serial number. This means the logger is unable to take valid measurements (values are out of range or unavailable). For sensors with external probes, this issue is most often caused by a disconnected or physically damaged probe.

<figure><img src="/files/5WfAcLXuQGOvg6aaXUNR" alt="" width="375"><figcaption></figcaption></figure>

**Device error** – A general error indicating a problem with the sensor’s operation. Please contact our support team at [help.efento.io](https://help.efento.io) for diagnostics and assistance.

<figure><img src="/files/4y7PIMuWcgsLCyd0RBU7" alt="" width="375"><figcaption></figcaption></figure>

**Firmware update available** – if a new firmware version is available, the information will appear below the logger’s name and serial number. To update the firmware, tap the logger on the list and enter its PIN code (located on the device’s enclosure label).

<figure><img src="/files/q5aaGJKo25AOrrsEhtSH" alt="" width="360"><figcaption></figcaption></figure>


# Reading data from the logger memory

To retrieve data from a selected logger’s memory, tap the logger in the list. When connecting for the first time, the application will ask for the logger’s PIN code. The PIN code is printed on the label on the side of the device.

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

After connecting to the logger and downloading the stored measurements, the application displays a summary screen. This summary includes:

* Minimum and maximum values for each monitored parameter, along with their timestamps
* A chart showing measurement trends over time
* The current measurement interval, available memory, and an estimate of how long the memory will last
* Date and time of the first and last stored measurements
* Logger software version

## Charts

Tap the chart in the summary view to open a detailed version.\
You can:

* Zoom in and out using pinch gestures
* Scroll through the chart to view data over time

Red and blue lines show the minimum and maximum values in the measurement series.\
If the logger monitors more than one parameter, you can choose which one to display using the dropdown menu at the top of the chart.

## Exporting the data

To export data, tap the **export icon** (first icon on the left in the top menu).

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

Then:

{% stepper %}
{% step %}

#### Select the export format

* **CSV** – contains raw data; compatible with Excel, MATLAB, and most data-processing tools
* **PDF** – contains a non-editable report including a chart; suitable for documentation
  {% endstep %}

{% step %}

#### Select the type of data to export

* **Raw data** – Individual measurement values recorded by the logger.
* **Daily statistics** – Daily averages, minimums, and maximums stored in the logger’s memory.
* **Monthly statistics** – Monthly averages, minimums, and maximums stored in the logger’s memory.
* **Vineyard statistics (SAAT and GDDC)** – Indicators used in grape cultivation. Available only for loggers that measure temperature.
* **Mean kinetic temperature** – Calculated MKT values. Available only for loggers that measure temperature.
  {% endstep %}

{% step %}

#### Select the time range

Select the start and end date (including time) for the data you want to export.
{% endstep %}

{% step %}

#### Export the data

Press the Export button and select how do you want to share the exported files. You can use any application installed on your device (e-mail, Google Drive, Dropbox, FTP, Bluetooth/Wi-Fi printers, etc.).
{% endstep %}
{% endstepper %}

<p align="center"><img src="/files/neiGIHXviPFiSDuQ1PYU" alt=""></p>

## Statistics

The application can calculate statistical parameters based on the downloaded data. To view statistics, tap the **statistics icon** (first icon on the right in the top menu).&#x20;

<figure><img src="/files/7VVT1VhqBQh9cyfpSpFA" alt=""><figcaption></figcaption></figure>

Available statistics include:

* **Average values** – daily or monthly averages
* **Minimum and maximum values** – daily or monthly extremes
* **SAT and GDDC** – parameters used in viticulture. Available only for loggers that measure temperature.
* **Mean Kinetic Temperature** – evaluates the impact of temperature fluctuations on drug quality and is useful when assessing temporary excursions outside recommended storage temperatures. Available only for loggers that measure temperature.
* **Length of the Growing Season (LGS)** – number of days with average daily temperature above 10 °C; values above 182 indicate conditions suitable for viticulture. Available only for loggers that measure temperature.
* **Huglin Index (HI)** – sum of active temperatures from April to September (northern hemisphere); includes day length, average temperature, and maximum temperature. Used to classify climate suitability for grape cultivation.

  If the user allows, the application uses GPS to determine location and calculate the Huglin Index accurately for the specific measurement site. Available only for loggers that measure temperature.
* **Cool Nights Index (CNI)** – average minimum temperature during the month before harvest (September in the northern hemisphere, March in the southern hemisphere).\
  If the user allows, the application uses GPS to determine location and calculate the Cool Nigths Index accurately for the specific measurement site. Available only for loggers that measure temperature.

<figure><img src="/files/6mwePq82T7bBPJR5IJOy" alt="" width="375"><figcaption></figcaption></figure>


# Logger settings

To access the logger’s settings, connect to a logger and tap three dots in the upper-right corner.

<figure><img src="/files/4X28cViX6wZSf5huzija" alt="" width="375"><figcaption></figcaption></figure>

The list of the settings depend on the logger type. Available options include:

## **Logger name**

Enter a new name for the selected logger. The device name will be updated and visible on every phone or tablet that connects to the logger.

## **Measurement period / Clear logger memory**

Use the sliders to select a new measurement period. The application automatically calculates how many measurements will fit in the logger’s memory based on the selected period; this information is shown at the bottom of the screen. Tap **Save** to apply the new measurement period. To clear the logger’s memory, select the **Clear Memory** checkbox.

* **Default measurement period:** 5 minutes
* **Physical or chemical sensors** (e.g., temperature, humidity) record measurements at the selected interval.
* **Pulse counters** count the number of pulses within each measurement interval (e.g., a 60-minute period counts pulses occurring during that hour).

## **Encryption**

Communication between Efento loggers and mobile devices or Efento Gateways can be secured using AES-128 encryption. Enabling encryption secures the data transmitted by the logger over the Bluetooth Low Energy (BLE) interface. Encrypted data can only be decrypted by a device that has the correct encryption key. This ensures that only authorized personnel can access the logger’s measurements; users without the key will not be able to read the data.

<figure><img src="/files/3hmBqWypQ4O9i1RR6e82" alt=""><figcaption></figcaption></figure>

When logger communication is encrypted:

* **Authorized devices** (with the encryption key) can read the data (right).
* **Unauthorized devices** (without the encryption key) cannot access the measurements (left).

#### Setting the encryption key

1. In the settings menu select **Advanced** → **Turn encryption on**.
2. Enter the encryption key twice and make sure to record it, as it will be needed on any device that accesses the logger data.

Once enabled, all logger communication is encrypted. You must [add the encryption key in the Efento mobile application](/efento-ble-loggers/using-loggers/standalone-mode/mobile-app-settings) to view the logger’s data. If you use loggers with Efento Gateway, the same encryption key must be added in the gateway configuration ([Ethernet Gateway](https://docs.efento.io/efento-gateways/) / [LTE Gateway](/efento-gateways/lte-gateway/other-settings#encryption-keys)).

To turn off encryption from the settings menu select **Advanced** → **Turn encryption off**.

#### Notes on using encryption

* When connecting to an encrypted logger for the first time, the application will prompt you to enter the encryption key.
* Once entered, the application stores the key, allowing future access without re-entering it.
* The Efento mobile application supports up to [**five default encryption keys**](/efento-ble-loggers/using-loggers/standalone-mode/mobile-app-settings). If a logger is encrypted with any of the added keys, the application will automatically decrypt its data.

## Restore default settings

If you need to reset a logger to its factory defaults, follow these steps:

1. From the settings menu select **Advanced** → **Restore Default Settings**.
2. Confirm the action when prompted.

Restoring default settings will:

* Reset the measurement period to its factory value
* Clear any custom device name
* Remove configured encryption settings
* Clear the logger’s memory

{% hint style="info" %}
After restoring default settings, it is recommended to reconfigure the logger, including setting the measurement period, time, and any required encryption keys.
{% endhint %}


# Batch actions

The Efento mobile application allows performing certain actions on multiple sensors simultaneously. Three batch actions are available:

1. **Set device time / synchronize time on multiple devices** – Synchronize the time on the selected loggers so they measure and record data simultaneously. This is useful, for example, in temperature mapping, as all loggers’ values will be aligned in the reports.
2. **Generate a report from multiple sensors** – The app downloads data from the selected sensors one by one and generates a single report containing data from all devices. The report can be configured and shared in the same way as a regular [report from a single logger](/efento-ble-loggers/using-loggers/standalone-mode#exporting-the-data).
3. **Change measurement period** – Set a new measurement interval for the selected device(s). Optionally, you can clear the devices’ memory and synchronize their time by selecting the corresponding checkboxes.

To enter **batch action mode**, go to the list of nearby devices and:

{% stepper %}
{% step %}

#### Select the first device

Tap and hold the first sensor you want to include. It will be **highlighted in blue**.
{% endstep %}

{% step %}

#### Select other devices

Tap the other devices you wish to add.

<figure><img src="/files/nJClrdmsGD8MxxcI56J8" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Select the batch action

Tap the three dots in the upper-left corner and choose from the available batch actions.

<figure><img src="/files/uhyLAIjhqEZmR2e4pXKM" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Enter PIN codes

Enter the PIN code for each device. The PIN codes are printed on the devices’ enclosures. Once entered, the app will remember the code and will not ask for it again on the same mobile device.
{% endstep %}
{% endstepper %}


# Mobile app settings

To configure the application settings, tap the menu in the upper-left corner of the app and open **Configuration**.

<figure><img src="/files/mg6zO0yw1jga3SEmR4fg" alt="" width="375"><figcaption></figcaption></figure>

The following options are available:

* **Activation Energy** – A constant used when calculating the Mean Kinetic Temperature (MKT). The default value is **83.14472 kJ/mol**.
* **Default Encryption Keys** – These keys are used to automatically decrypt logger communications that are encrypted with the same key. For example, if the key *“qwerty123”* is added as a default, any logger using this key will be decrypted automatically. You can add up to **five default encryption keys**.
  * **To add a key:** Tap **Add encryption key**, enter the new key and its description, and save the settings.
  * **To remove a key:** Tap and hold the key you want to delete.
* **Location in PDF Reports** – When enabled, the address of the location where the report was generated will be added to the footer of PDF reports. The location is determined using GPS via Google Maps.
* **Forget Logger** – Removes the encryption keys and reset codes of the selected logger(s) from the application.
* **Downloading Measurements** – By default, the app downloads the full logger memory, which may take time. Using this setting, you can choose to download only the most recent data (e.g., last 24 hours or last 7 days) to speed up the process.


# Special settings by sensor type

Certain Efento logger models include sensor-specific settings that allow users to fine-tune how individual sensor types operate. These options are designed to optimize measurement accuracy, adapt the device to specific applications, and ensure reliable operation of sensors with unique requirements.

Depending on the logger type, these settings may allow you to adjust how a measurement is performed (for example, adding a stabilization delay before reading a PT1000 probe or configuring debounce time for open/close sensors) or define parameters essential for proper functionality (such as setting the initial value of a pulse counter).

Calibration options are divided into two categories:

* **Manual calibration** is performed during the initial setup of the logger and is often required to ensure accurate and reliable measurements. Typical examples include setting the initial value of a pulse counter or calibrating a CO₂ sensor in fresh air.
* **Calibration parameters**, on the other hand, are used to fine-tune how individual sensor types operate. These settings optimize measurement accuracy, adapt the device to specific applications, and ensure stable operation of sensors with unique characteristics.

This chapter describes all special settings available for individual logger types and explains how to configure them correctly.

## Accessing sensor-specific configuration

To access **Calibration Parameters**, connect to the logger, tap the three dots in the upper-right corner, and navigate to **Advanced → Calibration → Calibration Parameters**, then select the channel you want to configure.\
If the logger has multiple configurable sensors, the list will display each measurement type along with its channel number in brackets. Available parameters depend on the selected sensor type.

**Manual calibration** is accessed the same way: connect to the logger → tap the three dots in the upper-right corner → **Advanced → Calibration → Manual calibration**.

## Settings by sensor type

{% content-ref url="/pages/o5xL0lkJxjb7Q4RTqubw" %}
[Low / high temperature (Pt100/ Pt1000/Pt...)](/efento-ble-loggers/using-loggers/special-settings-by-sensor-type/low-high-temperature-pt100-pt1000-pt...)
{% endcontent-ref %}

{% content-ref url="/pages/r8KE1Ntk9M4dzv3oAbQS" %}
[Thermocouples](/efento-ble-loggers/using-loggers/special-settings-by-sensor-type/thermocouples)
{% endcontent-ref %}

{% content-ref url="/pages/XJoltVI8HaT0MlchQSvZ" %}
[Binary input (open / close or OK / Alarm)](/efento-ble-loggers/using-loggers/special-settings-by-sensor-type/binary-input-open-close-or-ok-alarm)
{% endcontent-ref %}

{% content-ref url="/pages/U7LjV6rgYCtiIHFl7O9A" %}
[Pulse counters](/efento-ble-loggers/using-loggers/special-settings-by-sensor-type/pulse-counters)
{% endcontent-ref %}

{% content-ref url="/pages/i5XZIEqFFGmvrRA0MbDU" %}
[Soil moisture sensor](/efento-ble-loggers/using-loggers/special-settings-by-sensor-type/soil-moisture-sensor)
{% endcontent-ref %}

{% content-ref url="/pages/EkCoU71iUJ2RqnRzlICu" %}
[Light sensor](/efento-ble-loggers/using-loggers/special-settings-by-sensor-type/light-sensor)
{% endcontent-ref %}

{% content-ref url="/pages/fjaOYM1lu96tSEV3qi8Z" %}
[Atmospheric pressure sensor](/efento-ble-loggers/using-loggers/special-settings-by-sensor-type/atmospheric-pressure-sensor)
{% endcontent-ref %}

{% content-ref url="/pages/rTPnJqZMxZrJo6SWyFTU" %}
[Motion Sensor](/efento-ble-loggers/using-loggers/special-settings-by-sensor-type/motion-sensor)
{% endcontent-ref %}

{% content-ref url="/pages/Tlwy2QB3610bpdSyMfU9" %}
[Water leak sensor](/efento-ble-loggers/using-loggers/special-settings-by-sensor-type/water-leak-sensor)
{% endcontent-ref %}

{% content-ref url="/pages/Tn3arnwtoUFRWby6v8VS" %}
[4-20 mA / 0-10 V analog loggers](/efento-ble-loggers/using-loggers/special-settings-by-sensor-type/4-20-ma-0-10-v-analog-loggers)
{% endcontent-ref %}

{% content-ref url="/pages/F7670eWdCcMYALQlk8cx" %}
[CO2 sensor](/efento-ble-loggers/using-loggers/special-settings-by-sensor-type/co2-sensor)
{% endcontent-ref %}


# Low / high temperature (Pt100/ Pt1000/Pt...)

The following parameters allow you to configure RTD sensors connected to Efento logger. These settings ensure accurate temperature readings by selecting the correct sensor type, curve standard, excitation current, and optional stabilization delay.

{% hint style="info" %}
If the logger is supplied by Efento together with RTD probes, it is already calibrated to that specific probe type and will provide accurate measurements out of the box. The calibration parameters described below should be adjusted **only** when the logger is used with user-supplied or custom probes.
{% endhint %}

| PT Sensor Type     | Specifies the RTD sensor variant connected to the device.                                                                                                                                                                                                                                                                                                                                                                                                           | PT10, PT50, PT100, PT200, PT500, PT1000 sensor.          |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
| Curve Type         | For each type of RTD (Resistance Temperature Detector) curve there is an equation that describes the relationship between resistance (R) and temperature (T) of RTD. The type of the curve depends on the material the probe is made of and is used for calculating temperature values ​​based on resistance.                                                                                                                                                       | European standard, American, Japanese, ITS 90.           |
| Excitation Current | <p>Sets the measurement current supplied to the RTD sensor. For PT10 / PT1000 probes, the appropriate Excitation Current depends on the wiring method:</p><ul><li><strong>2-wire and 4-wire probes:</strong> 100 µA</li><li><strong>3-wire probes:</strong> 50 µA</li></ul><p>After adjusting the excitation current, verify the readings in the Efento mobile app. If a measurement error appears, decrease the Excitation Current by one step and test again.</p> | 5 µA, 10 µA, 25 µA, 50 µA, 100 µA, 250 µA, 500 µA, 1 mA. |
| Extra Delay        | Adds a delay (in 100 µs steps) between powering the sensor and taking the measurement. If additional capacitance is introduced—for example, by using a longer RTD probe—this parameter adjusts the extra time needed for the measurement circuit’s capacitors to charge properly.                                                                                                                                                                                   | Range: 0 (no delay) to 255 (255 000 µs).                 |


# Thermocouples

The following parameters allow you to configure thermocouples connected to Efento logger. These settings ensure accurate temperature readings by selecting the correct thermocouple type, curve standard, excitation current, and optional stabilization delay.

{% hint style="info" %}
If the logger is supplied by Efento together with RTD probes, it is already calibrated to that specific probe type and will provide accurate measurements out of the box. The calibration parameters described below should be adjusted **only** when the logger is used with user-supplied or custom probes.
{% endhint %}

| Thermocouple type    | Specifies the thermocouple variant connected to the device.                                                                                                                                                                                                                                                                                                                                                                                                         | <p></p><p>Thermocouple type:  B, E, J, K, N, R, S, T</p> |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
| Curve type           | For each type of RTD (Resistance Temperature Detector) curve there is an equation that describes the relationship between resistance (R) and temperature (T) of RTD. The type of the curve depends on the material the probe is made of and is used for calculating temperature values ​​based on resistance.                                                                                                                                                       | European standard, American, Japanese, ITS 90.           |
| Excitation current   | <p>Sets the measurement current supplied to the RTD sensor. For PT10 / PT1000 probes, the appropriate Excitation Current depends on the wiring method:</p><ul><li><strong>2-wire and 4-wire probes:</strong> 100 µA</li><li><strong>3-wire probes:</strong> 50 µA</li></ul><p>After adjusting the excitation current, verify the readings in the Efento mobile app. If a measurement error appears, decrease the Excitation Current by one step and test again.</p> | 5 µA, 10 µA, 25 µA, 50 µA, 100 µA, 250 µA, 500 µA, 1 mA. |
| Extra delay          | Adds a delay (in 100 µs steps) between powering the sensor and taking the measurement. If additional capacitance is introduced—for example, by using a longer RTD probe—this parameter adjusts the extra time needed for the measurement circuit’s capacitors to charge properly.                                                                                                                                                                                   | Range: 0 (no delay) to 255 (255 000 µs).                 |
| Open circuit current | Open circuit current is used to detect fault in thermocouple probes.                                                                                                                                                                                                                                                                                                                                                                                                | 10 µA, 100 µA, 500 µA, 1 mA                              |


# Binary input (open / close or OK / Alarm)

This section describes the settings common for Efento binary loggers. These parameters control how the relay interprets measurement states and determine the conditions required to trigger or reset the alarm. Adjusting these settings ensures reliable operation according to your application requirements.

| Logic Type          | Specifies whether the relay is considered “OK” when the channel is in a low state (wires not connected) or a high state (wires connected). **Normal logic:** low state = OK, high state = alarm; **Reversed logic:** low state = alarm, high state = OK. | Normal logic, Reversed logic.     |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- |
| Minimal Stable Time | The minimum time (in milliseconds) the alarm condition must be stable before the device changes its state.                                                                                                                                               | Range: 15 to 10,000 milliseconds. |


# Pulse counters

This section covers the general configuration parameters for pulse-based loggers. The settings define how pulses are interpreted, filtered, and converted into final measurement values, ensuring accurate counting and reliable operation across different pulse-generating devices.

## Manual calibration

When the pulse counter is activated for the first time, the Efento application will display a message indicating that all channels must be synchronized (i.e., their starting points must be set).

<figure><img src="/files/146m8KkL4YnER9YPkrcx" alt="" width="375"><figcaption></figcaption></figure>

To set the starting point, connect to the device and navigate to:\
**Advanced → Calibration → Manual calibration → Select channel → Set starting point**.

If the device includes multiple measurement channels, make sure to set the starting point for each one. After completing the calibration, wait for one full measurement period (5 minutes by default). The sensor will begin recording data from the configured starting point, and the calibration notification will disappear.

<figure><img src="/files/uYCbu5Ic77zijtMwl8B0" alt="" width="375"><figcaption></figcaption></figure>

## Calibration parameters

In addition to manual calibration, pulse counters includes extra calibration parameters that allow users to fine-tune their operation and adapt it to their specific requirements.

| Conversion Ratio  | Defines the relationship between the number of pulses and the final result value.                                                                                                    | 0.000001 to 65,535: Each pulse adds this number to the result.                                                                       |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ |
| Pulse Timeout     | The maximum allowed length (duration) of a single pulse, in milliseconds.                                                                                                            | <p>0: Max pulse length is not checked.</p><p>1 to 65,535: Max pulse length in milliseconds (must be greater than Debounce Time).</p> |
| Debounce Time     | State changes shorter than this time (in milliseconds) are ignored. Prevents counting electrical 'noise'.                                                                            | <p>0: Debounce time is not used.</p><p>1 to 65,535: Debounce time in milliseconds (must be lower than Pulse Timeout).</p>            |
| Logic Type        | Defines the electrical logic for counting pulses. **Normal logic** - change from low to high state (NO) = 1 pulse, **Reversed logic** - change from high to low state (NC) = 1 pulse | Normal logic, Reversed logic.                                                                                                        |
| Accumulation mode | Determines if the counter resets after each measurement period.                                                                                                                      | 0: Resets counter after each period. 1: Continues to count up (accumulates) after each period.                                       |

## Notes on pulse counter settings - **Debounce Time**

This parameter helps prevent false pulse counting caused by electrical interference from nearby machinery or long cable connections between the pulse counter and the meter. It also mitigates errors caused by contact bouncing. The debounce time defines a period during which additional pulses are ignored after a state change on the pulse input. For example, if the debounce time is set to **300 ms**, the sensor will ignore any further pulses within 300 milliseconds after detecting a change.

<figure><img src="/files/5SeZ6NsJT377N00is38A" alt=""><figcaption></figcaption></figure>

## Notes on pulse counter settings - Logic type

For pulse counter applications, we recommend using **normal logic (NO – Normally Open)**. This configuration minimizes power consumption and ensures optimal battery life.

Using **reversed logic (NC – Normally Closed)** requires the input to remain continuously active, which results in increased power consumption and reduced battery lifetime. For battery-powered devices, this impact can be significant.

For this reason, NC logic should only be used when it is strictly required by the application or the device is powered with an external power supply.


# Soil moisture sensor

Soil moisture sensors measure values from –200 kPa to 0 kPa and are factory-calibrated, so no initial calibration is needed. Over time, accuracy may drift and recalibration may become necessary. To recalibrate, fully submerge the probe in water; if the reading differs from 0 kPa, adjust the **Measurement Offset** parameter so that the displayed value is exactly 0 kPa.

{% hint style="warning" %}
**Important!** Proper installation of the soil moisture sensor is essential for accurate measurements. Always follow the provided [installation instructions](/efento-ble-loggers/installation/logger-specific-installation-guidelines/soil-moisture-sensor-installation) carefully.
{% endhint %}

| Measurement Offset | Adds or subtracts an offset value to the pressure measurement result in kilopascals (kPa). | Range: -100 to 100 kPa. |
| ------------------ | ------------------------------------------------------------------------------------------ | ----------------------- |

{% hint style="info" %}
A fully wet soil moisture probe should display **0 kPa**.\
A completely dry probe should display **–200 kPa**, though full drying may take up to **24 hours**.
{% endhint %}

Important


# Light sensor

The  Light Sensor parameters allow you to adjust how the device interprets light levels based on the type of window or cover used in the installation. These settings ensure that the sensor provides accurate readings even when light is partially blocked or filtered. Use these options only when the physical installation conditions differ from the default configuration.

| Attenuation Factor | Specifies the light-reduction factor of the window or cover placed over the sensor. The entered value should be the actual factor multiplied by 1000. **This parameter is preset for the standard Efento cover and should be changed only if a different cover type is used.** | Range: 0 to 100,000. |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------- |


# Atmospheric pressure sensor

| Oversampling | Controls how many internal samples are taken for pressure and temperature measurements to enhance accuracy. | 0: No oversampling, 1: x2, 2: x4, 3: x8, 4: x16, 5: x32 oversampling. |
| ------------ | ----------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |


# Motion Sensor

## **How it works**

Motion and presence sensors detect movement or the presence of people in a room. They are binary devices with two possible states:

* **0 (OK):** No presence detected
* **1 (ALARM):** Presence detected

1. The user sets the measurement interval.
2. The sensor counts movements within each measurement period.
3. If the number of movements exceeds the **Movement Detection Sensitivity**, the period is flagged as "1" (movement detected).
4. If the number of movements is below the threshold, the period is flagged as "0" (no movement detected).
5. The sensor evaluates consecutive periods:
   * If the number of consecutive "1" periods exceeds the **Movement Detection Periods** threshold, the sensor state changes to "1" (presence detected).
   * If the number of consecutive "0" periods exceeds the **No Movement Detection Periods** threshold, the sensor state changes to "0" (no presence detected).
6. If thresholds are not met, the sensor state remains unchanged.

This logic ensures accurate detection while filtering out short-term fluctuations or noise.

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

## Configurable parameters

| Sensitivity threshold: Movement               | The number of movements within a measurement period required to mark the period with a "1" (presence detected). For example, if the threshold is 3, any period with more than 3 movements is flagged as "1."     | Range: 1 to 65,535 (must be higher than Sensitivity Threshold: No Movement).                       |
| --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| Sensitivity threshold: No Movement            | The number of movements within a measurement period required to mark the period with a "0" (no presence detected). For example, if the threshold is 2, any period with fewer than 2 movements is flagged as "0." | Range: 0 to 65,535 (must be lower than Sensitivity Threshold: Movement).                           |
| Consecutive measurement periods: Movement     | The number of consecutive measurement periods flagged as "1" needed to change the sensor’s overall state to "presence detected."                                                                                 | Range: 1 to 65,535.                                                                                |
| Consecutive measurement  periods: No Movement | The number of consecutive measurement periods flagged as "0" needed to change the sensor’s overall state to "no presence detected."                                                                              | Range: 1 to 65,535.                                                                                |
| Logic types                                   | Controls the logic for the pulse input and the logic for the final returned value (movement/no movement).                                                                                                        | Normal logic, Reversed logic                                                                       |
| Pulse timeout                                 | The maximum allowed length (duration) of a single pulse, in milliseconds. (Currently Unused)                                                                                                                     | 0: Max pulse length is not checked. 1 to 65,535 milliseconds (must be greater than Debounce Time). |
| Debounce time                                 | Ignore state changes shorter than this time (in milliseconds).                                                                                                                                                   | 0: Debounce time not used. 1 to 65,535 milliseconds (must be lower than Pulse Timeout).            |

## Configuration examples

#### **Motion detector**

If the device is used as a standard motion detector (changing state whenever movement is detected), set the parameters as follows:

* **Movement Detection Sensitivity:** 1
* **No Movement Detection Sensitivity:** 0
* **Movement Detection Periods:** 1
* **No Movement Detection Periods:** 1

#### **Presence detector**

Other settings are intended for use when the device functions as a presence detector. They help filter out short movements that could cause false positives (e.g., a door opening briefly triggering "presence detected") or false negatives (e.g., a person sitting still causing "no presence detected"). These parameters can be adjusted based on the characteristics and usage patterns of the room where the sensor is installed.

An example of using a presence detector in an office room with six workstations is shown in the picture below. The device was installed on the wall and covers all the desks in the room.

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

Efento motion sensor configuration:

* Movement detection sensitivity = 10
* No movement detection sensitivity = 0
* Movement detection periods = 1
* No movement detection periods = 2

The five-day measurement results for this configuration are shown in the chart below. The device detected movement only between 7:00 and 18:00 - office working hours. At other times, no movement was detected.

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


# Water leak sensor

Water leak detection is based on monitoring a voltage drop. When the external probe (water rope) is completely dry, the measured voltage remains within the defined minimum and maximum thresholds. When the rope becomes wet, the voltage decreases. If the measured value falls below the minimum threshold, the device switches its state to **ALARM**. Efento water leak sensors are pre-calibrated at the factory, so initial calibration is not required. If the sensor does not react sensitively enough when the probe is flooded, you may increase the minimum threshold. If the device triggers an alarm despite a dry probe, first check the probe for damage, then consider increasing the maximum threshold.

The acceptable voltage range, during which the sensor reports **OK**, is defined as a percentage of the maximum measured voltage using two calibration parameters: **Minimum threshold**\
(defines the lowest voltage considered normal (no alarm). Default: 75%) and **Maximum threshold**\
(defines the highest voltage considered normal (no alarm). Default: 100%).

## Calibration parameters

| Logic Type        | Defines whether a leak is detected when the measurement (voltage percentage) is inside or outside the defined threshold range. | <ul><li>Normal logic (NO leak if Minimum Threshold ≤ measurement ≤ Maximum Threshold).</li><li>Reverse logic (LEAK detected if Minimum Threshold ≤ measurement ≤ Maximum Threshold).</li></ul> |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Minimum Threshold | The lower boundary (in percentage of supply voltage) for the condition check.                                                  | Range: 0 to 100 % (must not be greater than Maximum Threshold).                                                                                                                                |
| Maximum Threshold | The upper boundary (in percentage of supply voltage) for the condition check.                                                  | Range: 0 to 100 % (must not be less than Minimum Threshold).                                                                                                                                   |


# 4-20 mA / 0-10 V analog loggers

## Manual calibration

Efento 4–20 mA and 0-10 V loggers are factory-calibrated and provide accurate current measurements by default. However, if necessary, users may perform a manual calibration to further improve measurement precision. Calibration is carried out at four reference points (4 mA, 12 mA, 16 mA, and 20 mA for a 4–20 mA loggers and 1 V, 2 V, 6 V, 10 V for 0-10 V loggers) with a loop calibrator to supply the logger with a known, stable current / voltage.

To begin the manual calibration process, connect to the logger using the mobile application, then tap **three dots in the upper-right corner → Advanced → Calibration → Manual calibration**, select the channel you want to calibrate, and follow the on-screen instructions.

{% hint style="warning" %}
Perform manual calibration only if the current accuracy does not meet your requirements. Using a low-quality or unstable loop calibrator can degrade the logger’s accuracy by introducing incorrect reference values, resulting in poorer measurement performance.
{% endhint %}

## Calibration parameters

| Measurements Number | The number of samples used to calculate the average. The highest and lowest readings are ignored.         | Range: 3 to 32.                                                                          |
| ------------------- | --------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| Startup Time        | The time (in milliseconds) the device waits after powering the sensor board before starting measurements. | Range: 0 to 300,000 milliseconds.                                                        |
| Factor              | A multiplier used to convert the raw ADC reading into the final Voltage (mV) or Current (mA) result.      | Range: 0 to 4,294,967,295 (Note: this value is the real factor multiplied by 1,000,000). |
| Always on           | Keeps the power supply to the sensor board on constantly.                                                 | <ul><li>Disabled (uses Startup Time).</li><li>Enabled (ignores Startup Time).</li></ul>  |


# CO2 sensor

The CO₂ sensor includes a set of calibration parameters designed to maintain long-term measurement stability and accuracy in changing environmental conditions. These settings allow users to control when and how automatic calibration is performed, as well as how measurement samples are processed to produce the final CO₂ reading. In addition to automatic adjustments, the sensor also supports manual calibration, which is performed in a known CO₂ concentration (fresh outdoor air or a calibration gas cylinder) to correct measurement offset and ensure high accuracy from the start.

## Manual calibration

Manual calibration must be performed in an environment with a known CO₂ concentration and is necessary to reduce measurement offset. Calibration can be done using a reference gas cylinder or in fresh outdoor air. Before starting, place the device in the calibration environment for at least 15 minutes to allow it to stabilize.

<figure><img src="/files/0bAjhy0Q0CcdgJ0sjtz5" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Calibrate the sensor before its first use. Without calibration, accuracy is significantly reduced and the measured values may not be reliable.
{% endhint %}

To perform manual calibration, connect to the sensor using the mobile application and navigate to **Settings (three dots in the upper-right corner) → Advanced → Calibration → Manual calibration → CO₂.**<br>

Enter the CO₂ concentration present at the calibration site:

* **Fresh air calibration:** Atmospheric CO₂ averages around 420 ppm. Enter this value into the application. Note that CO₂ concentration varies by location, time of day, and season, so outdoor calibration may not provide maximum accuracy.
* **Calibration with a gas cylinder:** Enter the exact CO₂ concentration specified for the reference gas used.

## Calibration parameters

In addition to manual calibration, several configuration parameters are available to further improve the sensor’s accuracy and tailor its operation to the user’s requirements.

| Auto-calibration day               | Selects the days of the week when the automatic calibration feature will be active.                          | Disabled or days from Monday through Sunday.                                                                                |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------- |
| Auto-calibration time              | Sets the time of day (UTC) when auto-calibration should be performed, in minutes from midnight (00h00m).     | Range: 00:00 to 23h59m.                                                                                                     |
| Auto-calibration CO2 concentration | The target CO2 concentration (in ppm) the sensor will calibrate towards. Default: 400 ppm (atmospheric CO2). | Range: 0 to 65,535 ppm.                                                                                                     |
| Average samples number             | The number of measurement samples used to calculate the final CO2 result.                                    | Range: 1 to 10                                                                                                              |
| Remove min/max Samples             | Option to exclude the highest and lowest sampled values when calculating the average.                        | 0: Calculate average using all samples. 1: Remove minimum and maximum samples (requires number of samples to be 3 or more). |

## Notes on automatic calibration

The CO₂ sensor may experience a gradual reduction in accuracy over time. To maintain optimal performance, the device should automatically recalibrate once per week at the scheduled time (e.g., every Sunday at 2:00 AM). Select a moment when the air in the room is clean - no people present and sufficient ventilation to ensure fresh-air conditions. For most spaces, such as offices or schools, Sunday night is the most suitable choice. In typical scenarios, calibration takes place in fresh air, so the target CO₂ concentration should be set to **420 ppm**.




---

[Next Page](/llms-full.txt/1)

