Skip to main content
Version: 8.3

LoRaWAN Network Server

Overview

The LoRaWAN module transforms Ignition into a complete LoRaWAN network server. It accepts connections from LoRaWAN gateways using the Semtech Packet Forwarder UDP protocol (v0.02), manages device registrations, handles device activation (OTAA join server and ABP), and exposes all device and gateway data through the real-time managed [LoRaWAN] tag provider.

The implementation targets the LoRaWAN specification TS001-1.0.4 with regional parameters RP002-1.0.5.

Specification Support

The module implements LoRaWAN 1.0.x only. LoRaWAN 1.1 is not supported.

Features

  • LoRaWAN Network Server - Semtech Packet Forwarder UDP network server (v0.02)
  • Multi-Gateway Support - Connect multiple gateways with automatic uplink deduplication (DevAddr:FCnt, 5-second window; best gateway chosen by RSSI then SNR)
  • OTAA & ABP Activation - Over-the-Air Activation (join server with DevNonce replay protection and session-key derivation) and Activation By Personalization
  • Class A & C Devices - Battery-optimized (Class A) and always-listening (Class C) device support. Class B is not implemented.
  • MAC Command Engine - LinkCheck, LinkADR, DutyCycle, RXParamSetup, DevStatus, NewChannel, RXTimingSetup, TXParamSetup, DLChannel
  • Adaptive Data Rate (ADR) - Automatic optimization of device transmission parameters
  • Downlink Queue - Per-device queue (max 10), confirmed-downlink retry, and RX2 fallback
  • Device Status Tracking - Periodic and on-demand DevStatusReq (battery and margin)
  • JavaScript Payload Decoders - GraalJS sandbox with the ChirpStack/TTN decodeUplink(input) contract; decoded fields become dynamic tags
  • Managed Tag Provider - All device and gateway data exposed via the [LoRaWAN] tag provider
  • CSV Bulk Import/Export - Bulk device and gateway management
  • Scripting API - system.lorawan.* functions for automation
  • Web Configuration - Admin web UI for settings, gateways, devices, and decoders
  • REST API - HTTP API for status, registration, and downlink management

Technical Specifications

SpecificationValue
Module IDcom.operametrix.ignition.lorawan
Module NameLoRaWAN
Current Version1.4.0
Minimum Ignition Version8.3.0
Required ModuleNone
ScopeGateway, Designer
LicenseProprietary — © 2026 OperaMetrix SAS (paid, with trial)

Licensing

The LoRaWAN module is a paid module and participates in Ignition licensing. It supports trial mode with no limitation.

Trial Expired Behavior

When the trial expires, the network layer is disabled: the UDP server, uplink, and downlink processing stop, [LoRaWAN] tags report a Bad_TrialExpired quality, and the downlink REST endpoint returns HTTP 503. Registered gateways, devices, and decoders are untouched.

Re-activating the license restarts the network layer live, with no module restart. Activate a license or reset the trial from Platform > System > Licensing. Licenses are available from the OperaMetrix marketplace.

Supported Regions

The module supports 11 regional frequency plans, selected with the Region setting — see Configuration → Supported Regions for the list.

Architecture

The module implements a LoRaWAN network server inside the Ignition gateway. When a device transmits data:

  1. LoRaWAN gateways receive the RF transmission and forward it via UDP (Semtech Packet Forwarder protocol) to the module's UDP server (default port 1700)
  2. The network server performs uplink deduplication across multiple gateways
  3. The device registry validates the frame (OTAA join or data frame) and manages session keys
  4. Payload decoders (JavaScript) transform raw bytes into meaningful values
  5. All data is exposed in real time through the [LoRaWAN] tag provider (Devices/*, Gateways/*, _Meta/*)
  6. For downlinks, messages are queued and transmitted during the device's RX window

Data Flow

  1. Uplink: Device transmits → Gateway receives → UDP to Ignition → Tags updated
  2. Downlink: Queue via REST/tags → Wait for RX window → Gateway transmits → Device receives
  3. Join (OTAA): Device sends JoinRequest → Server validates → JoinAccept sent → Session established

Download

Download LoRaWAN Module