Kaa Documentation

Configuring Online/Offline State Handling

Written by Pavlo Anikeichyk

Overview

The Kaa platform allows you to monitor device connectivity and track when endpoints are online or offline.
This is useful for device presence monitoring, alerting, and analytics.

To use the online/offline status, configure settings in either the Base configuration or an Application version configuration.

Base configuration vs. Application version configuration

  • The Base configuration applies by default to all versions of a specific application.
  • As soon as you modify the configuration for a specific application version, it overrides the Base configuration.

If you want application-specific settings for online/offline handling, configure them in the application version configuration.

Disconnection event handling configuration

Navigate to: Device managementApplications → **** → **Base configuration** → **KPC**

There are two main options under Endpoint disconnection:

  1. Disconnect idle endpoint
    • When enabled, an endpoint will be disconnected after the specified idle duration.
    • Useful for LoRaWAN integrations, where the transport connection is always active; if the interval between messages exceeds the idle duration, the platform considers the device disconnected.
  2. Disconnect endpoint on its client disconnection
    • When enabled, the Kaa platform updates the state based on client connection/disconnection events (e.g., MQTT direct connections).
    • Not relevant for LoRaWAN, since the integration always keeps the transport connection alive.

Example (Base configuration):

KPC configuration

Lifecycle events and connectivity state

The platform internally generates events when devices connect or disconnect.
In the configuration, you can define:

  • Metadata keys – specify the metadata keys to store the connection state (connected, disconnected) and a timestamp.
  • Time-series – specify the time-series name to store connectivity changes.

Example (Application version configuration):

EPL configuration

Time-series mapping configuration

In this example, we show the configuration for mapping the connectivity state to time-series values.

The configuration includes:

  • Time-series name – e.g., connectivity.
  • Value mapping – maps connectivity.value into numeric values.

Example (Base configuration):

EPTS configuration

How it works together

  1. The platform detects endpoint connection or disconnection, either by idle timeout or client connect/disconnect events.
  2. It then generates endpoint lifecycle events and updates the corresponding metadata and time-series keys.
  3. Finally, the platform maps connectivity values to time-series for further use.

As a result, you can always see the device connectivity state, both in metadata and in time-series storage.

Remember: The Base configuration applies globally until you modify an application version configuration, which then overrides the base settings.