akenza.io
WebsiteAPI DocumentationWhat's newLogin
  • Overview
  • Getting Started
    • Connect a Device
  • Changelog
  • General
    • Applications
    • Organization context
    • Workspace Context
    • Users
      • User Roles
  • Device Management
    • Managing an organization
      • API keys
      • Users (Organization)
        • Add & removing users from your organization
    • Managing a workspace
      • General Settings
        • Device Lifecycle Reports
        • Workspace properties
        • Occupancy settings
        • Device Setup Assistant
      • Custom fields
      • Tags
      • Users (Workspace)
    • Devices
      • Device
      • Device Simulator
      • Bulk actions
      • Bulk import CSV templates
    • Rules
      • Input
      • Logic blocks
        • Comparison
        • Custom Logic
          • Logic Block Scripting
      • Timed Rules
      • Rule Actions
        • Downlink
    • Data Flows
      • Device Connectors
        • Device Security
          • Using Device Credentials
            • Creating Public/Private Key Pairs
            • Using JSON Web Tokens (JWTs)
              • Python
              • Java
        • HTTP
        • MQTT
        • CoAP
        • LoRaWAN
          • Connectivity Management
          • Swisscom LoRaWAN
          • The Things Network
          • Loriot
          • Actility’s ThingPark Wireless
          • EWZ
          • Cibicom
          • Helium
          • ChirpStack
        • NB-IoT
        • mioty
        • Disruptive Technologies
        • VergeSense
        • Spaceti
        • Haltian
      • Device Types
        • Custom Device Types
          • Uplink
          • Downlink
          • Scripting
        • Library
      • Output Connectors
        • Databases
          • akenza DB
          • InfluxDB
          • SQL Databases
        • Streaming
          • Webhook
          • Azure IoT Hub
          • AWS Kinesis
          • Google Cloud Pub/Sub
          • Apache Kafka
        • Notifications
          • E-Mail
          • SMS
          • Microsoft Teams
          • Slack
    • Custom Components
    • Integrations
    • Reference
      • REST API
        • Filtering
        • Querying Device Data
      • WebSocket API
      • Scripting
        • Stateful Operations
        • Utility Functions
      • Payload Templating
  • Reference
  • Dashboard Builder
    • Managing Dashboards
      • Embedding dashboards
    • Components
      • Map
      • Floorplan
  • Device Setup Assistant
    • Device Setup Assistant - Overview
  • Tutorials
    • BI Tools
      • Grafana Data Source Plugin
      • How to build a dashboard with Retool
      • How to analyze data with AWS QuickSight
    • Devices
      • How to integrate the XDK device from Legic via MQTT on akenza
      • How to connect the Disruptive Technologies-cloud on akenza
      • How to send Downlinks to the Kuando Busylight device
      • How to integrate an Arduino device via MQTT on akenza
      • Integrate a MClimate Vicki LoRaWAN Radiator Thermostat on akenza
      • How to integrate an ERS Elsys device with Loriot on akenza
      • How to integrate the IAM Decentlab device with TTN on akenza
      • How to integrate the Seeed SenseCAP T1000 tracker on akenza
      • How to integrate a Swisscom Multisense device on akenza
    • Notifications
      • How to send SMS notifications
      • How to send notifications to Slack
      • How to send notifications to Microsoft Teams
    • Enterprise solutions
      • How to send data to Azure IoT Hub
      • How to send data to the Google Cloud Pub/Sub
      • How to send data to InfluxDB
      • How to send data to AWS Kinesis
      • How to send data to Azure Event Hubs with Apache Kafka
    • IoT Starter Kits
      • How to integrate the IAQ Kit with Actility on akenza
      • How to integrate the CoWork Kit with Actility on akenza
      • How to integrate the Smart Building Kit with Actility on akenza
      • How to integrate the Pepperl+Fuchs Kit with Actility on akenza
  • Support Center
    • FAQ
    • Status Page
    • Service Desk
    • Request a feature
  • Deprecated
    • SIM-Cards
    • Everynet
    • Sigfox
    • How to connect the Yanzi Lifecycle cloud on akenza
Powered by GitBook
On this page
  • Identifiers
  • Configuration
  • Data
  • Custom Fields
  • Uplink Metrics

Was this helpful?

  1. Device Management
  2. Devices

Device

Devices (a "thing") represent deployed hardware in the field capable of connecting to the internet via a supported Connectivity. Devices send data via Uplinks and optionally receive commands via Downlinks. Devices can be managed in the Asset inventory.

Identifiers

Devices are uniquely identified by both the device id, which can be set during device creation and the akenza device ID which is generated by the system.

Usually, the device ID maps to the physical ID of the device (for LoRaWAN devices the devEUI, for HTTP and MQTT devices any suitable identifier). The device ID can be changed during the lifetime of a device (e.g. when a sensor is replaced), whereas the akenza device ID remains the same.

Data is sent using the device ID and all REST API operations require the akenza device id.

Configuration

A device has different fields based on the assigned data flow (i.e. LoRaWAN connectivity parameters).

Data

Devices send data to the cloud using uplinks. Usually, devices send data either interval or event-based. Uplinks trigger the data processing pipeline specified by a data flow.

Data can be partitioned into Topics based on its purpose or schema. This helps to retain the structure of the data.

One data point is referred to as a Sample, it is uniquely identifiable by the akenza device id, topic and timestamp.

It is only possible to access historical device data when an akenzaDB output connector is used.

Custom Fields

It is possible to assign custom fields to a device which can be used to store additional metadata.

Uplink Metrics

Uplink metrics are recorded and updated each time a device sends an uplink. They contain information about the payload size, signal strength, spreading factor and more.

Different metrics are recorded depending on connectivity and provider

Example HTTP, MQTT, CoAP Uplink Metrics

{
    "uplinkSize": 478,
    "timestamp": "2021-09-17T07:10:16Z",
}

Example LoRa Uplink Metrics

{
    "uplinkSize": 301,
    "timestamp": "2021-09-17T07:01:17Z",
    "port": 85,
    "frameCountUp": 113,
    "frameCountDown": 115,
    "rssi": -95,
    "snr": 1.25,
    "sf": 7,
    "txPower": 2,
    "numberOfGateways": 1,
    "esp": -97.43,
    "sqi": 3,
    "batteryLevel": 80.3
}

Battery Level

The battery level is extracted from the sample once the script has been processed. The sample has to contain either the property batteryLevel or batteryPercent in order for the uplink metric to be set.

If multiple samples, containing one of the battery level properties, are emitted in the same uplink, the lowest value will be stored.

For passthrough data flows the battery level is directly extracted from the uplink payload, if it contains the above mentioned properties.

Signal Quality Indicator (SQI)

LoRa uplinks usually provide the necessary information to calculate the SQI. It is calculated based on snr (signal to noise ratio) and rssi (receive signal strength indicator) and indicates the signal quality on a scale of 1 (weak signal) to 3 (strong signal).

The Signal Quality Indicator is also extraced from the sample once the script has been processed. The sample has to contain one of the following properties: sqi, signalQuality or signalQualityIndicator. If more than one of these properties are specified, the above order will take precedence. The values must range from 1 to 3, floating numbers will be rounded down. If the values are outside of this range, the value will be ignored.

If multiple samples, containing one of the SQI properties, are emitted in the same uplink, the lowest value will be stored.

For passthrough data flows the signal quality indicator is directly extracted from the uplink payload, if it contains the above mentioned properties.

PreviousDevicesNextDevice Simulator

Last updated 5 months ago

Was this helpful?