LogoLogo
  • KPN THINGS USER GUIDE
    • Introduction
    • Getting started
      • Registration and setup
      • Device simulator app
      • Connect devices
        • SIM cards
        • Supported devices and KPN Devices
        • SODAQ R412M
        • Smartrak
        • Marvin development board
        • LoPy5
        • Arduino MKR WAN 1300/1310
        • Arduin MKR NB 1500
    • All videos
    • Tutorials
      • Configure a flow
      • Connect a HTTPs destination
      • Create a simple IoT web applicationPage
      • Send instruction to LoRa DevicePage
      • Send your data to Azure SQL
      • Technical overview
        • Management data model
        • Uplink communication
        • Downlink communication
        • Location data
      • Accounts and projects
        • Customer accounts and users
        • Projects
        • Customer management
        • Cost overview and contract
    • Frequently asked
      • Multi Factor Authentication
  • GENERAL FUNCTIONS
    • Quick reference videos
    • APIs
  • THE PORTAL EXPLAINED
    • Things Manager
      • Devices
        • Bulk operations
      • Data
        • Device data graph
      • Connectivity
        • LoRa connectivity configuration
      • Bulk reports
    • Things Creator
    • Support
      • News
      • Release notes
      • Real-time status
      • Service reports
      • Documents
      • Support tickets
      • Invoices
      • Contact info
    • Shop
  • BUILDING BLOCKS
    • Devices
      • Sensors
        • KPN Conditionsensor CO2 II
        • KPN Conditionsensor CO2 III
        • KPN Conditionsensor CO2 III motionPage 1
        • KPN FillTag I
        • KPN FillTag II
        • 1M2M ED1608
        • Elsys ERS
        • Device Simulator (Mobile Phone app)
        • Generic Device (Internet connected)
        • Generic LoRa device (preset connectivity)
        • Generic LoRa device (programmable)
        • Generic M2M device
        • Generic M2M device (with Internet connection)
      • Trackers
        • KPN Global Tracker Autonomous
        • KPN Global Tracker Wired
        • KPN LocationTag I
        • KPN LocationTag II
        • KPN LocationTag II v2
        • KPN LocationTag II v2 Expert Mode
        • KPN LocationTag II v3
        • KPN LocationTag III (with GPS)
        • KPN LocationTag III (without GPS)
        • KPN LocationTag III v2
        • KPN LocationTag III v2 Buffer
        • KPN LocationTag III v3
        • KPN LocationTag III v4
        • KPN LocationTag V
        • KPN LocationTag VI
        • KPN LocationTag WS
        • Streamline LoRa
        • Streamline M2M
        • Viloc
      • Routers
      • Gateways
        • KPN FSK Basestation
      • Device SDK
    • Connectivity
      • Connecting LoRa devices
        • LoRa connectivity configuration
      • Connecting M2M devices
      • Connecting Internet devices
      • Connecting MQTT Devices
    • Data Processing
      • ThingsML and SenML
        • ThingsML
        • SenML
          • Understanding and Interpreting SenML Data
          • Changes in KPN SenML
      • Device Twin
      • Decoders and encoders
        • Common measurements list
        • Decoder migrations
        • DIY Decoder
          • DIY decoder scripts
      • Merger
      • Device data
      • Devices
    • Destinations
      • HTTPS destination
      • MQTT broker
      • Cumulocity IoT Platform
      • Azure Event Hubs
      • Azure IoT Hub
      • Test Endpoint
      • ThingsBoard
      • Datacake
      • AWS Lambda
      • Google Cloud Run functions
  • IOT LINE UP
    • Freemium
      • Test SIM cards
    • Explorer
    • Modular
    • Tailored
    • Terms and Conditions
Powered by GitBook

© 2024 KPN - All rights reserved.

On this page
  • Decoder migrations
  • Changes
  • Configuration

Was this helpful?

Export as PDF
  1. BUILDING BLOCKS
  2. Data Processing
  3. Decoders and encoders

Decoder migrations

PreviousCommon measurements listNextDIY Decoder

Last updated 5 months ago

Was this helpful?

Decoder migrations

Currently, we are working on improving our decoders. Some older decoders on our platform contain some bugs and output SenML that is not in line with the . Besides improving the output, we are also updating the decoders from a technical perspective. This will provide the basis for the 'DIY-decoder' feature that will be available in the future. This document will give you information on what will change and how it might affect you and how you can use these new decoders.

Changes

General changes

For all the relevant decoders, a new version is available in the KPN Things Portal. All these new versions have some common changes to improve the SenML output.

  • String values should not have a unit

  • Wherever the time origin was set as {"n": "TIME_ORIGIN", "vs": "THINGSENGINE"} it is now set as { "n": "timeOrigin", "vs": "NETWORK" }

  • Time values (t and bt) are more precise and may contain decimal places.

  • Valueless 'base records' have been removed and base values are now correctly set on the first real record of the SenML pack.

  • LoRa Geolocation and Location by LoRa On Premises Gateway data decoding is included by all new LoRa decoders, thus you do not need to use specific extra decoders to receive this data.

With the previous decoder versions, you would typically see SenML as illustrated below:

[
  {
    "bn": "urn:dev:DEVEUI:0123456789012345:",
    "bt": 1693136532.83
  },
  {
    "n": "mode",
    "vs": "active"
  },
  {
    "n": "batteryLevelLow",
    "vb": false
  },
  {
    "n": "batteryVoltage",
    "u": "V",
    "v": 3.59
  },
  {
    "n": "TIME_ORIGIN",
    "vs": "THINGSENGINE"
  }
]

Whereas the new version would output SenML like:

[
  {
    "bn": "urn:dev:DEVEUI:0123456789012345:",
    "bt": 1693136532.83,
    "n": "mode",
    "vs": "active"
  },
  {
    "n": "batteryLevelLow",
    "vb": false
  },
  {
    "n": "batteryVoltage",
    "u": "V",
    "v": 3.59
  },
  {
    "n": "timeOrigin",
    "vs": "NETWORK"
  }
]

Specific changes

Configuration

When you head over to the decoder configuration of your flow, you will see that a new version is available. To use the new version, just press the toggle. Don't forget to disable the previous version, otherwise you might receive your data twice, since it will be decoder with both the old and the new version.

Note that if you use + LoRa Geolocation data or + Location by LoRa On Premises Gateway reception decoders, this functionality is also a part of the new version of your LoRa decoder. To make sure you do not receive duplicate location data you should disable these as well.

If you want to test if you can process the improved payloads without impacting your current flow, you can configure a new flow, using the new version of the decoder.

Please ensure your solution is compatible with the updated decoder version, as the old versions will be retired from the 9th of December 2024.

For more information on how to interpret and parse SenML data please visit page.

Besides general changes, some decoders may have some specific changes as well, like bug fixes. To see what has changed for a specific decoder, you can head over to the and choose your device type. Here you can find the documentation for its decoders and examples of their output.

SenML RFC specification
this
device type page
Configuration where the new decoder is enabled.