IT / Data integration

LoRaWAN onboarding

OTAA provisioning, regional alignment, codec install, and LNS checklist.

← Home

Activation model

ParameterValue
ActivationOTAA (production default)
ClassA
LoRaWAN MAC version1.0.3 (RP002-1.0.3 regional parameters on the LNS)
Supported regionsEU868, IN865, US915, AU915, AS923-1 — see Regional provisioning
Default confirmed uplinksNo (configurable rejoin policy)

Regional provisioning (LNS)

The LoRaWAN region configured on the device (Harvestree Toolbox, USB) must match the device profile and gateway channel plan on your network server. Mismatch is a common cause of join failure or missing uplinks.

Region matrix

Device region (Toolbox)LNS device profileChannel plan on deviceLNS / gateway alignment
EU868 (5) LoRaWAN MAC 1.0.3 · EU868 Default EU868 125 kHz channel plan Standard EU868 gateway profile. Ensure gateway and NS use the same EU868 plan as your operator.
IN865 (7) LoRaWAN MAC 1.0.3 · IN865 Default IN865 125 kHz channel plan Standard IN865 gateway profile (865–867 MHz band).
US915 (8) LoRaWAN MAC 1.0.3 · US915 Hybrid sub-band 1 (factory default): 125 kHz channels 0–7 + 500 kHz channel 64 Match gateway/LNS to the device PARAM_LORA_REGION plan (see channel-plan table below).
AU915 (1) LoRaWAN MAC 1.0.3 · AU915 Hybrid sub-band 1 (factory default): 125 kHz channels 0–7 + 500 kHz channel 64 Match gateway/LNS to the device PARAM_LORA_REGION plan (see channel-plan table below).
AS923 (0) LoRaWAN MAC 1.0.3 · AS923-1 AS923-1 channel plan (915–928 MHz default group) Use AS923-1 on the LNS, not AS923-2/3/4 or AS923-1-JP unless the device firmware and Toolbox region are changed to match (factory build targets AS923-1).

US915 / AU915 — channel plan

Channel plan is encoded in PARAM_LORA_REGION (Toolbox → Network). Factory delivery uses hybrid sub-band 1 (US915 = 8 / AU915 = 1). Other codes select standard full plan or hybrid sub-bands 2..8.

Region codePlan125 kHz channels500 kHz
US915 = 8 / AU915 = 1Hybrid sub-band 1 (factory default)0 – 764
9 / 17Standard full plan0 – 6364 – 71
10..16 / 18..24Hybrid sub-band 2..8Eight consecutive channels of that sub-band64 + (sb − 1)

Integrator action: provision gateways and the LNS for the same plan as the device. On ChirpStack, ThingPark, TTS, etc., select or derive the channel plan that includes those channels.

Common pitfall: gateway on a different US915/AU915 sub-band (or full plan) than the device — join may succeed on some stacks but uplinks will not be received.

Data rates (device limits)

After join, the configured data rate must stay within firmware-valid values per region (set via Toolbox; ADR may change DR when enabled):

RegionAllowed DR (device)
IN865DR0 – DR5
EU868DR0 – DR5
US915DR1 – DR3
AU915DR3 – DR5
AS923-1DR3 – DR5 (dwell-time / 51 byte payload limit)

Device profile template (per region)

Create one device profile per LoRaWAN region you deploy (profiles are not interchangeable across regions):

SettingValue
MAC version1.0.3
Regional parameters revisionRP002-1.0.3 (or equivalent on your LNS)
Regional bandEU868 · IN865 · US915 · AU915 · AS923-1 (match device)
Device classA
ActivationOTAA
Application payload codecharvestree_decoder.js on FPort 1

Identifiers

FieldSourceNotes
DevEUIDevice label / USB read8 bytes, unique per unit
JoinEUI (AppEUI)Factory or ToolboxIf user JoinEUI is zero, factory value is used
AppKeyFactory or ToolboxIf user AppKey is zero, factory value is used
serial_numberUplink bytes 5–724-bit little-endian application ID in payload

Application FPorts (integration focus)

Data integration needs FPort 1 only: install the application codec, confirm join, and ingest decoded JSON. FPorts 2 and 4 matter only if you later add remote configuration over LoRaWAN (optional).

FPortDirectionRole in integration
1UplinkPrimary path — measurements (max 51 bytes application payload; port combinations are constrained at commissioning)
2UplinkOptional — command ACK when using FPort 4
4DownlinkOptional — remote parameter changes; see below

Most projects stop at uplink ingestion. Downlink is not required for dashboards, historians, or SCADA fed from FPort 1.

Use it only when you must change settings in the field without USB (e.g. measurement period, alarm thresholds, calibration tuning). Initial commissioning — JoinEUI, AppKey, region, port measurement types — is always done with Harvestree Toolbox over USB.

Command frames, parameter encoding, and ACK format are documented in LoRaWAN remote configuration (user documentation). If you parse ACKs in your pipeline, handle FPort 2 separately — the reference codec targets FPort 1 only (see Data contract).

LNS onboarding checklist

  1. Create application (e.g. harvestree-eu868 — often one per region)
  2. Create device profile for that region (MAC 1.0.3, OTAA, Class A; for US915 / AU915, match the device channel plan — factory default is hybrid sub-band 1)
  3. Configure gateway(s) with the channel plan that matches the device region and PARAM_LORA_REGION plan (EU868 / IN865 default plans; US915/AU915 per table above; AS923-1)
  4. Install application codec harvestree_decoder.js
  5. Set device region in Toolbox to match the profile before field deployment
  6. Register device: DevEUI, JoinEUI, AppKey (must match Toolbox)
  7. Power device until join succeeds; verify FPort 1 uplinks and JSON decode

ChirpStack notes: examples/chirpstack/device-profile.md

Join behaviour

  • Join is attempted when storage voltage reaches voltage_limit
  • Join retry interval: 300 s while waiting
  • Application measurements start after successful join