Built-in decoders

Decoding is the first phase in data processing in uplink communication. In this phase incoming data is normalized into SenML and additional (meta)data is enabled if applicable.

Data decoders

A regular data decoder transforms incoming payload into measurements in SenML, following the data protocol of the specific device.

ThingsML for LoRa payload

ThingsML is a generic LoRa payload format, allowing you to send multiple measurements encoded in your payload in a compact way. Learn more about the ThingsML for Lora data protocol.

Additional data

With additional data (decoders), metadata corresponding to the message received is enabled.

LoRa Geolocation data

Add LoRa Geolocation data to messages where location could be calculated.

Location by LoRa On Premises Gateway reception

To extend the reach of our LoRa network on your location, we offer LoRa On Premise Gateways. A LoRa On Premise Gateway is an extension of our regular LoRa network. They have a smaller reach than our regular outdoor gateways, but you can position it for example in your warehouse to guarantee coverage for your LoRa devices.

Additionally, in KPN Things we have integrated the LoRa On Premises Gateway with our localisation service. When you enable Location by LoRa On Premises Gateway reception, KPN Things will detect when data from your device is received by one of your On Premise Gateways. Then KPN Things will add the administrative location of that gateway to the message. That way, the application can use that data to locate the device at the moment the message was sent.

To get this to work, you need to register your On Premise Gateways in your KPN Things account through the KPN Things API's by giving the gateway ID and the coordinates of the location you have positioned the gateway.


With no-decoders incoming data is not interpreted, it is only put into SenML.

Raw LoRa payload

Raw LoRa payload extended

In adition to the regular 'Raw LoRa payload' this extended decoder adds the lora network meta data to the SenML.

This decoder will initially be available for 'own-Lora' device types. See payload example below:

LoRa Payload extended example
{"bn": "urn:dev:DEVEUI:7CC6C40900000104:", "bt": 1673939507.0}, 
{"n": "payload", "vs":"f105e43ed7aabda9337483c23a58ed33da"}, 
{"n": "port", "v": 1.0}, 
{"n": "FCntUp", "v": 3.0}, 
{"n": "FCntDn", "v": 3.0}, 
{"n": "LrrRSSI","vs": "-90.0"}, 
{"n": "LrrSNR", "vs": "-17.0"}, 
{"n": "LrrESP", "vs": "-107.0858"}, 
{"n": "DevLrrCnt", "v": 1.0}, 
{"n": "SpFact", "v": 12.0}, 
{"n": "SubBand", "vs": "G1"}, 
{"n": "Channel", "vs": "LC2"}, 
{"n": "ADRbit", "v": 1.0}, 

SenML data

If your device uses the SenML data format to send data to KPN Things, the data will be accepted as is, without further decoding.

Last updated