Activation model
| Parameter | Value |
|---|---|
| Activation | OTAA (production default) |
| Class | A |
| LoRaWAN MAC version | 1.0.3 (RP002-1.0.3 regional parameters on the LNS) |
| Supported regions | EU868, IN865, US915, AU915, AS923-1 — see Regional provisioning |
| Default confirmed uplinks | No (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 profile | Channel plan on device | LNS / 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 code | Plan | 125 kHz channels | 500 kHz |
|---|---|---|---|
US915 = 8 / AU915 = 1 | Hybrid sub-band 1 (factory default) | 0 – 7 | 64 |
9 / 17 | Standard full plan | 0 – 63 | 64 – 71 |
10..16 / 18..24 | Hybrid sub-band 2..8 | Eight consecutive channels of that sub-band | 64 + (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):
| Region | Allowed DR (device) |
|---|---|
| IN865 | DR0 – DR5 |
| EU868 | DR0 – DR5 |
| US915 | DR1 – DR3 |
| AU915 | DR3 – DR5 |
| AS923-1 | DR3 – 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):
| Setting | Value |
|---|---|
| MAC version | 1.0.3 |
| Regional parameters revision | RP002-1.0.3 (or equivalent on your LNS) |
| Regional band | EU868 · IN865 · US915 · AU915 · AS923-1 (match device) |
| Device class | A |
| Activation | OTAA |
| Application payload codec | harvestree_decoder.js on FPort 1 |
Identifiers
| Field | Source | Notes |
|---|---|---|
| DevEUI | Device label / USB read | 8 bytes, unique per unit |
| JoinEUI (AppEUI) | Factory or Toolbox | If user JoinEUI is zero, factory value is used |
| AppKey | Factory or Toolbox | If user AppKey is zero, factory value is used |
| serial_number | Uplink bytes 5–7 | 24-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).
| FPort | Direction | Role in integration |
|---|---|---|
| 1 | Uplink | Primary path — measurements (max 51 bytes application payload; port combinations are constrained at commissioning) |
| 2 | Uplink | Optional — command ACK when using FPort 4 |
| 4 | Downlink | Optional — remote parameter changes; see below |
Remote configuration over LoRaWAN (optional)
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
- Create application (e.g.
harvestree-eu868— often one per region) - 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)
- Configure gateway(s) with the channel plan that matches the device region and
PARAM_LORA_REGIONplan (EU868 / IN865 default plans; US915/AU915 per table above; AS923-1) - Install application codec
harvestree_decoder.js - Set device region in Toolbox to match the profile before field deployment
- Register device: DevEUI, JoinEUI, AppKey (must match Toolbox)
- 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