LoRaWAN radio settings live on the device profile, on its LoRaWAN tab. Every LoRaWAN device of the profile uses them. The tab appears on profiles whose transport is LoRaWAN; any other profile shows This profile is not a LoRaWAN profile.
For profiles in general, see Device profiles.
The built-in profiles
Hermetry creates two profiles the first time you add a LoRaWAN gateway or device:
| Profile | Used by | Online rule |
|---|---|---|
| LoRaWAN EU868 Class A OTAA (1.0.3) | Every end device you add with New device > LoRaWAN device | Recent message: online while the last uplink is younger than three expected intervals (expected interval 3,600 s, so 3 hours) |
| LoRaWAN gateway | Every Basics Station gateway | Live connection: online while the gateway’s connection is open |
Both are found by an internal key, so renaming them is fine. They cannot be deleted and their transport cannot change.
You can also create your own profile with the transport LoRaWAN, for example one per sensor type. Devices that pairing mode adds are placed on the profile where you ran pairing.
Open the tab
- Open Device Profiles in the IoT menu and open the profile.
- Select the LoRaWAN tab.
- Change the fields and select Save. Only changed fields are sent.
Viewing needs the permission to view LoRaWAN devices; saving needs the permission to add, edit and delete LoRaWAN devices (administrators by default). Every save is audited as iot_lorawan.profile.settings_updated.
Radio
| Field | Meaning | Default | Allowed |
|---|---|---|---|
| Region | The frequency plan. | EU868 | EU868 only (the field is locked) |
| LoRaWAN version | The version given to devices that pairing mode adds. A device you add by hand keeps the version chosen in its own form. | 1.0.3 | 1.0.2, 1.0.3, 1.0.4 |
| Class | The class given to devices that pairing mode adds. Each device’s own class is set on its LoRaWAN tab. | A | A, C |
| RX1 delay (seconds) | How long after an uplink the device opens its first receive window. Sent to the device when it joins; a device that already runs with another delay is asked to change with a MAC command until it confirms. | 5 | Whole seconds 1–15 |
| Adaptive data rate (ADR) | Lets the network server raise the data rate and lower the transmit power of devices with a good signal. | On | On or off |
| Lowest data rate (DR) | The lowest data rate ADR may use. | DR0 | DR0–DR5, not above the highest |
| Highest data rate (DR) | The highest data rate ADR may move a device to. | DR5 | DR0–DR5 |
| De-duplication window (ms) | How long copies of one uplink from several gateways are collected. | 200 | Whole milliseconds 50–1,000 |
| Confirmed downlink: wait for the acknowledgement (seconds) | Class C only: a confirmed downlink is sent again when the device has not acknowledged it in this time. | 60 | Whole seconds 5–3,600 |
Keep the RX1 delay at 5 seconds unless all your gateways have a fast, stable internet link. A cloud network server needs time to answer through the internet; with a 1-second delay, slow gateways miss RX1.
Decoding
| Field | Meaning | Default |
|---|---|---|
| Codec | The codec of the profile’s devices that are set to Automatic. See Codecs. | Automatic (by maker and port) |
| Add the radio values (lora.rssi, lora.snr, …) to every message | Adds lora.rssi, lora.snr, lora.gw_count, lora.dr, lora.freq, lora.fcnt_up (and, when the device reports them, lora.battery_level and lora.margin_db) to each device message. | On |
Decoded keys enter your flows; they are stored only where a flow saves them (the default root flow does).
Joining
| Field | Meaning | Default |
|---|---|---|
| Accept any JoinEUI | A profile-level switch for devices whose JoinEUI is not known. | Off |
| Devices added by pairing mode are ready at once (no approval) | Off: devices pairing mode adds wait for approval. On: they work at once. | Off |
| Shared AppKey | One AppKey for the profile’s devices. Needed for pairing mode. | None |
The join check itself compares each device’s JoinEUI unless that device’s own anyJoinEui setting is on. You set it per device through the API (PATCH /tenant/<tenantId>/api/iot/lorawan/devices/<deviceId> with { "anyJoinEui": true }).
The shared AppKey
- The tab says A shared AppKey is stored (never shown). or No shared AppKey.
- To set or replace it, type 32 hexadecimal digits in New shared AppKey (32 hexadecimal digits) and select Save.
- To remove it, tick Remove the shared key and save.
- The key is stored encrypted and never shown again.
Devices that pairing mode adds use the profile’s shared key. Devices you add by hand always have their own AppKey.
Online status
The tab shows the profile’s online rule read-only, for example Online rule: Recent message. Change it on the profile’s Online status tab.
Settings available through the API only
PUT /tenant/<tenantId>/api/iot/lorawan/profiles/<profileId>/settings accepts these in addition to the fields above:
| Field | Meaning | Default | Allowed |
|---|---|---|---|
rx1DrOffset | RX1 data-rate offset | 0 | 0–5 |
rx2Dr | RX2 data rate; null = region default (DR0) | null | 0–7 or null |
rx2Freq | RX2 frequency in Hz; null = region default (869.525 MHz) | null | 100,000,000–1,000,000,000 or null |
installationMarginDb | Safety margin ADR keeps, in dB | 10 | 0–30 |
devStatusIntervalH | How often the device is asked for its battery and link margin, in hours; 0 = never | 24 | 0–720 |
maxRetries | Sends of a confirmed downlink before it is given up | 3 | 0–10 |
classCMaxAgeS | How long after its last uplink a Class C device is still reached directly, in seconds | 900 | 60–86,400 |
maxDutyCycle | Aggregated duty-cycle limit asked of the device (0 = none) | 0 | 0–15 |
The body is strict: an unknown field is refused. sharedAppKey is write-only; null removes it.
Pairing mode
Below the settings, the tab has the Pairing mode section. See Pairing mode.

