# KPN LocationTag III (with GPS)

![KPN LocationTag III (with GPS)](https://portal.kpnthings.com/assets/images/device-types/kpn-locationtag-iii-gps.png)

Also known as StreamLineTM-2000/P1A3, with GPS.

* Supported network type(s): `KPNLORA`
* Device Specification ID: `kpn-locationtag-iii-gps`
* Device Specification UUID: `ea870061-8094-4d32-9c14-fd9597780f18`

| Decoders                                              | decoderSpecificationUUID               | Description                                                                                                                                                                       |
| ----------------------------------------------------- | -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| + LoRa Geolocation data                               | `7117d639-c7b0-4d43-ad83-65366dd254b5` | Add [LoRa Geolocation](https://docs.kpnthings.com/kpn-things/getting-started/tutorials/technical-overview/location-data) data to messages where location could be calculated.     |
| + Location by LoRa On Premises Gateway reception      | `659631d5-ec8b-4d87-8862-5811259b6ebe` | Add location data to messages that are received by known [LoRa On Premise Gateways](https://docs.kpnthings.com/kpn-things/building-blocks/data-processing/decoders-and-encoders). |
| › Decoded payload for Asset Tracking application      | `d0961ee4-919f-4427-9fad-fee7344725a3` | Decoder outputting legacy SenML naming, compatible with Asset Tracking v1.x application.                                                                                          |
| › Decoded payload for Asset Tracking application (v2) | `5ae5fff6-cda5-5612-b7e6-67114e3d885d` | Decoder for Streamline lora messages encoded as P3K3 (loctagiiiv2) with RotationCount (byte length 2-49).                                                                         |
| › Decoded payload with motion indication              | `a6e4ae85-a654-4161-803b-b14eff80b45e` | Decoder for Streamline LoRa devices configured with motion indicator configuration.                                                                                               |
| › Decoded payload with motion indication (v2)         | `cece0231-ee60-5d1a-8634-d150a066d4bf` | Decoder for Streamline LoRa devices configured with motion indicator configuration.                                                                                               |

| Encoders                       | encoderSpecificationUUID               | Description                              |
| ------------------------------ | -------------------------------------- | ---------------------------------------- |
| ‹ Encoded device send interval | `47d0c6e4-9cdd-42a9-b6a5-4800e578fd5c` | Change the send interval of your Device. |

### + LoRa Geolocation data

Add [LoRa Geolocation](https://docs.kpnthings.com/kpn-things/getting-started/tutorials/technical-overview/location-data) data to messages where location could be calculated.

### + Location by LoRa On Premises Gateway reception

Add location data to messages that are received by known [LoRa On Premise Gateways](https://docs.kpnthings.com/kpn-things/building-blocks/data-processing/decoders-and-encoders).

### › Decoded payload for Asset Tracking application

Decoder outputting legacy SenML naming, compatible with Asset Tracking v1.x application.

**Expected SenML records**

| name    | type    | unit |
| ------- | ------- | ---- |
| AccX    | number  | m/s2 |
| AccY    | number  | m/s2 |
| AccZ    | number  | m/s2 |
| CompX   | number  | T    |
| CompY   | number  | T    |
| CompZ   | number  | T    |
| DvLat   | number  | lat  |
| DvLon   | number  | lon  |
| Heading | number  | rad  |
| Io31    | boolean |      |
| IoButt  | boolean |      |
| IoMot   | boolean |      |
| IoRxd   | boolean |      |
| Speed   | number  | m/s  |
| Temp    | number  | Cel  |
| VBat    | number  | V    |

### › Decoded payload for Asset Tracking application (v2)

Decoder for Streamline lora messages encoded as P3K3 (loctagiiiv2) with RotationCount (byte length 2-49).

{% hint style="info" %}
This decoder also decodes [Geolocation and Local Gateway](https://docs.kpnthings.com/kpn-things/getting-started/tutorials/technical-overview/location-data) data.
{% endhint %}

The following SenML records can be present, amongst others:

| name                  | type    | unit | example  | description                            |
| --------------------- | ------- | ---- | -------- | -------------------------------------- |
| batteryVoltage        | number  | V    |          |                                        |
| devEui                | string  |      |          | Not present in detail level 1 messages |
| DvLat                 | number  | lat  |          | Latitude                               |
| DvLon                 | number  | lon  |          | Longitude                              |
| firmwareCRC           | string  |      |          | Not present in detail level 1 messages |
| firmwareVersion       | string  |      |          | Not present in detail level 1 messages |
| gpsActiveStill        | boolean |      | `true`   |                                        |
| gpsFixStill           | boolean |      | `true`   |                                        |
| gpsModuleActive       | boolean |      | `true`   | Not present in detail level 1 messages |
| nfcScanned            | boolean |      | `true`   |                                        |
| nfcState              | string  |      |          | Not present in detail level 1 messages |
| nrOfLoraTransmissions | number  |      |          | Not present in detail level 1 messages |
| orientationX          | number  |      |          | Not present in detail level 1 messages |
| orientationY          | number  |      |          | Not present in detail level 1 messages |
| powerupTime           | number  | min  |          | Not present in detail level 1 messages |
| rotationCount         | number  |      |          |                                        |
| rotationLeft          | number  |      |          | Not present in detail level 1 messages |
| rotationRight         | number  |      |          | Not present in detail level 1 messages |
| settingsCRC           | string  |      |          | Not present in detail level 1 messages |
| status                | string  |      |          | Not present in detail level 1 messages |
| temperature           | number  | Cel  | `18.334` |                                        |
| transmissionTime      | number  | s    |          | Not present in detail level 1 messages |

#### Example SenML

{% hint style="info" %}
SenML can be structured in different ways, and we do not guarantee the examples below will look the same as what you will receive on your Destination. To make sure you can handle the SenML optimally, take a look at our documentation about [Understanding and Interpreting SenML Data](https://docs.kpnthings.com/kpn-things/building-blocks/data-processing/thingsml-and-senml/senml/understanding-and-interpreting-senml-data).
{% endhint %}

```json
[
    {
        "bn": "urn:dev:DEVEUI:0123456789012345:",
        "bt": 1693136532.83,
        "n": "gpsActiveStill",
        "vb": true
    },
    {
        "n": "gpsFixStill",
        "vb": true
    },
    {
        "n": "nfcScanned",
        "vb": false
    },
    {
        "n": "batteryVoltage",
        "u": "V",
        "v": 3
    },
    {
        "n": "DvLat",
        "u": "lat",
        "v": 51.90717
    },
    {
        "n": "DvLon",
        "u": "lon",
        "v": 4.48940
    },
    {
        "n": "rotationCount",
        "v": 154
    },
    {
        "n": "temperature",
        "u": "Cel",
        "v": 1
    },
    {
        "n": "firmwareVersion",
        "vs": "cdab"
    },
    {
        "n": "firmwareCRC",
        "vs": "2143"
    },
    {
        "n": "settingsCRC",
        "vs": "7698"
    },
    {
        "n": "gpsModuleActive",
        "vb": true
    },
    {
        "n": "nfcState",
        "vs": "NFC_OFF"
    },
    {
        "n": "powerupTime",
        "u": "min",
        "v": 872379
    },
    {
        "n": "transmissionTime",
        "u": "s",
        "v": 238792
    },
    {
        "n": "nrOfLoraTransmissions",
        "v": 55
    },
    {
        "n": "devEui",
        "vs": "babcdef012"
    },
    {
        "n": "rotationLeft",
        "v": 3407873
    },
    {
        "n": "rotationRight",
        "v": 1507507
    },
    {
        "n": "orientationX",
        "v": 122
    },
    {
        "n": "orientationY",
        "v": 12
    },
    {
        "n": "status",
        "vs": "9a"
    },
    {
        "n": "timeOrigin",
        "vs": "NETWORK"
    }
]
```

### › Decoded payload with motion indication

Decoder for Streamline LoRa devices configured with motion indicator configuration.

**Expected SenML records**

| name               | type    | unit |
| ------------------ | ------- | ---- |
| AccX               | number  | m/s2 |
| AccY               | number  | m/s2 |
| AccZ               | number  | m/s2 |
| CompX              | number  | T    |
| CompY              | number  | T    |
| CompZ              | number  | T    |
| DvLat              | number  | lat  |
| DvLon              | number  | lon  |
| GpsFix             | string  |      |
| Heading            | number  | rad  |
| Io31               | boolean |      |
| IoButt             | boolean |      |
| IoMot              | boolean |      |
| IoRxd              | boolean |      |
| Speed              | number  | m/s  |
| Temp               | number  | Cel  |
| VBat               | number  | V    |
| movementIndication | string  |      |

### › Decoded payload with motion indication (v2)

Decoder for Streamline LoRa devices configured with motion indicator configuration.

{% hint style="info" %}
This decoder also decodes [Geolocation and Local Gateway](https://docs.kpnthings.com/kpn-things/getting-started/tutorials/technical-overview/location-data) data.
{% endhint %}

The following SenML records can be present, amongst others:

| name               | type   | unit | example        | description                                              |
| ------------------ | ------ | ---- | -------------- | -------------------------------------------------------- |
| AccX               | number | m/s2 | `-1.3`         | Measured acceleration in the X-axis                      |
| AccY               | number | m/s2 | `-0.5`         | Measured acceleration in the Y-axis                      |
| AccZ               | number | m/s2 | `3.0`          | Measured acceleration in the Z-axis                      |
| CompX              | number | T    | `0.0000010`    | Measured compass orientation in the X-axis               |
| CompY              | number | T    | `-0.001507`    | Measured compass orientation in the Y-axis               |
| CompZ              | number | T    | `-0.002638`    | Measured compass orientation in the Z-axis               |
| DvLat              | number | lat  | `51.90717`     | Latitude                                                 |
| DvLon              | number | lon  | `4.48940`      | Longitude                                                |
| GpsFix             | string |      | `"RECENT"`     | Either `"RECENT"` or `"OUTDATED"`                        |
| Heading            | number | rad  | `3.316`        |                                                          |
| Io31               | number |      | `1.0`          | arbitrary bit                                            |
| IoButt             | number |      | `1.0`          | whether the Device's button was pressed                  |
| IoMot              | number |      | `1.0`          | whether the Device is in motion                          |
| IoRxd              | number |      | `1.0`          | Device's external digital i/o value                      |
| movementIndication | string |      | `"STATIONARY"` | Either `"STATIONARY"`, `"STOP"`, `"START"` or `"MOVING"` |
| Speed              | number | m/s  | `4.12`         |                                                          |
| Temp               | string | Cel  | `7.0`          | Temperature                                              |
| VBat               | number | V    | `3.59`         | Battery voltage                                          |

#### Example SenML

{% hint style="info" %}
SenML can be structured in different ways, and we do not guarantee the examples below will look the same as what you will receive on your Destination. To make sure you can handle the SenML optimally, take a look at our documentation about [Understanding and Interpreting SenML Data](https://docs.kpnthings.com/kpn-things/building-blocks/data-processing/thingsml-and-senml/senml/understanding-and-interpreting-senml-data).
{% endhint %}

```json
[
    {
        "bn": "urn:dev:DEVEUI:0123456789012345:",
        "bt": 1701882708.84,
        "n": "DvLon",
        "u": "lon",
        "v": 4.48940
    },
    {
        "n": "DvLat",
        "u": "lat",
        "v": 51.90717
    },
    {
        "n": "Speed",
        "u": "m/s",
        "v": 4.12
    },
    {
        "n": "Heading",
        "u": "rad",
        "v": -3.944
    },
    {
        "n": "IoButt",
        "v": 1.0
    },
    {
        "n": "IoRxd",
        "v": 1.0
    },
    {
        "n": "IoMot",
        "v": 0.0
    },
    {
        "n": "Io31",
        "v": 0.0
    },
    {
        "n": "AccX",
        "u": "m/s2",
        "v": 9.5002
    },
    {
        "n": "AccY",
        "u": "m/s2",
        "v": 0.7661
    },
    {
        "n": "AccZ",
        "u": "m/s2",
        "v": 0.1532
    },
    {
        "n": "CompX",
        "u": "T",
        "v": 0.0000010
    },
    {
        "n": "CompY",
        "u": "T",
        "v": -0.001507
    },
    {
        "n": "CompZ",
        "u": "T",
        "v": -0.002638
    },
    {
        "n": "Temp",
        "u": "Cel",
        "v": 7.0
    },
    {
        "n": "movementIndication",
        "vs": "STATIONARY"
    },
    {
        "n": "GpsFix",
        "vs": "RECENT"
    },
    {
        "n": "VBat",
        "u": "V",
        "v": 3.59
    },
    {
        "n": "timeOrigin",
        "vs": "NETWORK"
    }
]
```

### ‹ Encoded device send interval

* Protocol: LoRa downlink
* Description: Change the send interval of your Device.
* Multiple commands in one downlink: No

Input mapping:

* Name: `interval`
  * Value: `2h` (translates into → `1500b402201c1500b802201c16`)
