# KPN Conditionsensor CO2 II

![KPN Conditionsensor CO2 II](https://portal.kpnthings.com/assets/images/device-types/kpn-conditionsensor-co2-ii.png)

Also known as Elsys ERS device. A Smart Building Sensor for indoor environment monitoring.

* Supported network type(s): `KPNLORA`
* Device Specification ID: `kpn-conditionsensor-co2-ii`
* Device Specification UUID: `1dafa763-a81c-4452-a593-0517cd55e4d0`

| Decoders                                          | decoderSpecificationUUID               | Description                                                                                                                                                                   |
| ------------------------------------------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| + LoRa Geolocation data                           | `cd23156d-6b57-42fd-b6f5-ecacd6c9bcb1` | Add [LoRa Geolocation](https://docs.kpnthings.com/kpn-things/getting-started/tutorials/technical-overview/location-data) data to messages where location could be calculated. |
| › Decoded payload for environment monitoring      | `0645c267-8879-4e5f-82ee-1aec1b57c5c3` | Decoder for v9 Elsys ERS payload.                                                                                                                                             |
| › Decoded payload for environment monitoring (v2) | `755d7ac5-7318-5285-95e8-e3324e17ff88` | Decoder for Elsys ERS payloads. Fixes bugs in '› Decoded payload for environment monitoring'                                                                                  |

| Encoders                  | encoderSpecificationUUID               | Description                                                           |
| ------------------------- | -------------------------------------- | --------------------------------------------------------------------- |
| ‹ Encoded device commands | `ad77f15c-5ddb-4339-8856-d3bdc4606e08` | Set the send interval and reboot, or let device calibrate CO2 Sensor. |

### + 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.

### › Decoded payload for environment monitoring

Decoder for v9 Elsys ERS payload.

**Expected SenML records**

| name                  | type    | unit  |
| --------------------- | ------- | ----- |
| CO2Concentration      | number  | ppm   |
| Pulse2                | number  | count |
| accelerationX         | number  | m/s2  |
| accelerationY         | number  | m/s2  |
| accelerationZ         | number  | m/s2  |
| analog1               | number  | V     |
| analog2               | number  | V     |
| batteryVoltage        | number  | V     |
| digitalExternal       | boolean |       |
| digitalIn2            | boolean |       |
| distance              | number  | m     |
| grideye               | number  | Cel   |
| grideye0-0            | number  | Cel   |
| grideye0-1            | number  | Cel   |
| grideye0-2            | number  | Cel   |
| grideye0-3            | number  | Cel   |
| grideye0-4            | number  | Cel   |
| grideye0-5            | number  | Cel   |
| grideye0-6            | number  | Cel   |
| grideye0-7            | number  | Cel   |
| grideye1-0            | number  | Cel   |
| grideye1-1            | number  | Cel   |
| grideye1-2            | number  | Cel   |
| grideye1-3            | number  | Cel   |
| grideye1-4            | number  | Cel   |
| grideye1-5            | number  | Cel   |
| grideye1-6            | number  | Cel   |
| grideye1-7            | number  | Cel   |
| grideye2-0            | number  | Cel   |
| grideye2-1            | number  | Cel   |
| grideye2-2            | number  | Cel   |
| grideye2-3            | number  | Cel   |
| grideye2-4            | number  | Cel   |
| grideye2-5            | number  | Cel   |
| grideye2-6            | number  | Cel   |
| grideye2-7            | number  | Cel   |
| grideye3-0            | number  | Cel   |
| grideye3-1            | number  | Cel   |
| grideye3-2            | number  | Cel   |
| grideye3-3            | number  | Cel   |
| grideye3-4            | number  | Cel   |
| grideye3-5            | number  | Cel   |
| grideye3-6            | number  | Cel   |
| grideye3-7            | number  | Cel   |
| grideye4-0            | number  | Cel   |
| grideye4-1            | number  | Cel   |
| grideye4-2            | number  | Cel   |
| grideye4-3            | number  | Cel   |
| grideye4-4            | number  | Cel   |
| grideye4-5            | number  | Cel   |
| grideye4-6            | number  | Cel   |
| grideye4-7            | number  | Cel   |
| grideye5-0            | number  | Cel   |
| grideye5-1            | number  | Cel   |
| grideye5-2            | number  | Cel   |
| grideye5-3            | number  | Cel   |
| grideye5-4            | number  | Cel   |
| grideye5-5            | number  | Cel   |
| grideye5-6            | number  | Cel   |
| grideye5-7            | number  | Cel   |
| grideye6-0            | number  | Cel   |
| grideye6-1            | number  | Cel   |
| grideye6-2            | number  | Cel   |
| grideye6-3            | number  | Cel   |
| grideye6-4            | number  | Cel   |
| grideye6-5            | number  | Cel   |
| grideye6-6            | number  | Cel   |
| grideye6-7            | number  | Cel   |
| grideye7-0            | number  | Cel   |
| grideye7-1            | number  | Cel   |
| grideye7-2            | number  | Cel   |
| grideye7-3            | number  | Cel   |
| grideye7-4            | number  | Cel   |
| grideye7-5            | number  | Cel   |
| grideye7-6            | number  | Cel   |
| grideye7-7            | number  | Cel   |
| humidity              | number  | %RH   |
| illuminance           | number  | lx    |
| lattitude             | number  | lat   |
| longitude             | number  | lon   |
| motion                | number  | count |
| occupancy             | number  | count |
| pressure              | number  | Pa    |
| pulse                 | number  | count |
| pulseAbsolute         | number  | count |
| pulseAbsolute2        | number  | count |
| soundAverage          | number  | dB    |
| soundPeak             | number  | dB    |
| temperature           | number  | Cel   |
| temperatureExternal1  | number  | Cel   |
| temperatureExternal2  | number  | Cel   |
| temperatureIRExternal | number  | Cel   |
| temperatureIRInternal | number  | Cel   |
| waterLeak             | number  | count |

### › Decoded payload for environment monitoring (v2)

Decoder for Elsys ERS payloads. Fixes bugs in '› Decoded payload for environment monitoring':

* `distance` was incorrectly converted to `dm` instead of `m`. Now the containing value is in meters.
* `soundAverage` was decoded incorrectly, resulting in a number that is way too large.
* `soundPeak` was decoded incorrectly, resulting in a number that is way too large.
* The `grideye` fields were decoded incorrectly, where most results would be too big.
* Time offsets were added as positive `t`s instead of negative `t`s.
* `acceleration` values were processed as unsigned values, but they should have been processed as signed values.

{% 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                                                                                        |
| --------------------- | ------- | ----- | --------------------- | -------------------------------------------------------------------------------------------------- |
| accelerationX         | number  | m/s2  | `0.31132222222222217` |                                                                                                    |
| accelerationY         | number  | m/s2  | `15.566111111111107`  |                                                                                                    |
| accelerationZ         | number  | m/s2  | `13.231194444444442`  |                                                                                                    |
| analog1               | number  | V     | `35.124`              | External analog input voltage                                                                      |
| analog2               | number  | V     | `49.287`              |                                                                                                    |
| batteryVoltage        | number  | V     | `3.596`               |                                                                                                    |
| CO2Concentration      | number  | ppm   | `638`                 |                                                                                                    |
| CO2                   | number  | ppm   | `638`                 | contains the same value as `CO2Concentration` and is included for backwards compatibility          |
| digitalExternal       | boolean |       | `false`               |                                                                                                    |
| digitalIn2            | boolean |       | `false`               |                                                                                                    |
| distance              | number  | m     | `261.42`              |                                                                                                    |
| grideye0-0            | number  | Cel   | `21.234`              | All the `grideye` fields combined make up the room infrared temperature.                           |
| grideye0-1            | number  | Cel   |                       |                                                                                                    |
| grideye0-2            | number  | Cel   |                       |                                                                                                    |
| grideye0-3            | number  | Cel   |                       |                                                                                                    |
| grideye0-4            | number  | Cel   |                       |                                                                                                    |
| grideye0-5            | number  | Cel   |                       |                                                                                                    |
| grideye0-6            | number  | Cel   |                       |                                                                                                    |
| grideye0-7            | number  | Cel   |                       |                                                                                                    |
| grideye1-0            | number  | Cel   |                       |                                                                                                    |
| grideye1-1            | number  | Cel   |                       |                                                                                                    |
| grideye1-2            | number  | Cel   |                       |                                                                                                    |
| grideye1-3            | number  | Cel   |                       |                                                                                                    |
| grideye1-4            | number  | Cel   |                       |                                                                                                    |
| grideye1-5            | number  | Cel   |                       |                                                                                                    |
| grideye1-6            | number  | Cel   |                       |                                                                                                    |
| grideye1-7            | number  | Cel   |                       |                                                                                                    |
| grideye2-0            | number  | Cel   |                       |                                                                                                    |
| grideye2-1            | number  | Cel   |                       |                                                                                                    |
| grideye2-2            | number  | Cel   |                       |                                                                                                    |
| grideye2-3            | number  | Cel   |                       |                                                                                                    |
| grideye2-4            | number  | Cel   |                       |                                                                                                    |
| grideye2-5            | number  | Cel   |                       |                                                                                                    |
| grideye2-6            | number  | Cel   |                       |                                                                                                    |
| grideye2-7            | number  | Cel   |                       |                                                                                                    |
| grideye3-0            | number  | Cel   |                       |                                                                                                    |
| grideye3-1            | number  | Cel   |                       |                                                                                                    |
| grideye3-2            | number  | Cel   |                       |                                                                                                    |
| grideye3-3            | number  | Cel   |                       |                                                                                                    |
| grideye3-4            | number  | Cel   |                       |                                                                                                    |
| grideye3-5            | number  | Cel   |                       |                                                                                                    |
| grideye3-6            | number  | Cel   |                       |                                                                                                    |
| grideye3-7            | number  | Cel   |                       |                                                                                                    |
| grideye4-0            | number  | Cel   |                       |                                                                                                    |
| grideye4-1            | number  | Cel   |                       |                                                                                                    |
| grideye4-2            | number  | Cel   |                       |                                                                                                    |
| grideye4-3            | number  | Cel   |                       |                                                                                                    |
| grideye4-4            | number  | Cel   |                       |                                                                                                    |
| grideye4-5            | number  | Cel   |                       |                                                                                                    |
| grideye4-6            | number  | Cel   |                       |                                                                                                    |
| grideye4-7            | number  | Cel   |                       |                                                                                                    |
| grideye5-0            | number  | Cel   |                       |                                                                                                    |
| grideye5-1            | number  | Cel   |                       |                                                                                                    |
| grideye5-2            | number  | Cel   |                       |                                                                                                    |
| grideye5-3            | number  | Cel   |                       |                                                                                                    |
| grideye5-4            | number  | Cel   |                       |                                                                                                    |
| grideye5-5            | number  | Cel   |                       |                                                                                                    |
| grideye5-6            | number  | Cel   |                       |                                                                                                    |
| grideye5-7            | number  | Cel   |                       |                                                                                                    |
| grideye6-0            | number  | Cel   |                       |                                                                                                    |
| grideye6-1            | number  | Cel   |                       |                                                                                                    |
| grideye6-2            | number  | Cel   |                       |                                                                                                    |
| grideye6-3            | number  | Cel   |                       |                                                                                                    |
| grideye6-4            | number  | Cel   |                       |                                                                                                    |
| grideye6-5            | number  | Cel   |                       |                                                                                                    |
| grideye6-6            | number  | Cel   |                       |                                                                                                    |
| grideye6-7            | number  | Cel   |                       |                                                                                                    |
| grideye7-0            | number  | Cel   |                       |                                                                                                    |
| grideye7-1            | number  | Cel   |                       |                                                                                                    |
| grideye7-2            | number  | Cel   |                       |                                                                                                    |
| grideye7-3            | number  | Cel   |                       |                                                                                                    |
| grideye7-4            | number  | Cel   |                       |                                                                                                    |
| grideye7-5            | number  | Cel   |                       |                                                                                                    |
| grideye7-6            | number  | Cel   |                       |                                                                                                    |
| grideye7-7            | number  | Cel   |                       |                                                                                                    |
| humidity              | number  | %RH   | `34`                  |                                                                                                    |
| illuminance           | number  | lx    | `56273`               |                                                                                                    |
| motion                | number  | count | `5`                   | Number of detected PIR motions                                                                     |
| occupancy             | number  | count | `0`                   | <p><code>0</code>: No detection<br><code>1</code>: Entering/leaving<br><code>2</code>:Occupied</p> |
| pressure              | number  | Pa    | `102900`              |                                                                                                    |
| pulse                 | number  | count |                       | Relative value, reset every transmission                                                           |
| Pulse2                | number  | count |                       | Relative value, reset every transmission                                                           |
| pulseAbsolute         | number  | count |                       | Absolute value, never reset                                                                        |
| pulseAbsolute2        | number  | count |                       | Absolute value, never reset                                                                        |
| soundAverage          | number  | dB    | `42`                  |                                                                                                    |
| soundPeak             | number  | dB    | `80`                  |                                                                                                    |
| temperature           | number  | Cel   | `23.5`                |                                                                                                    |
| temperatureExternal1  | number  | Cel   |                       |                                                                                                    |
| temperatureExternal2  | number  | Cel   |                       |                                                                                                    |
| temperatureIRExternal | number  | Cel   | `24.9`                |                                                                                                    |
| temperatureIRInternal | number  | Cel   | `23.3`                |                                                                                                    |
| waterLeak             | number  | count |                       |                                                                                                    |

#### 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 %}

**Long payload**

```json
[
    {
        "bn": "urn:dev:DEVEUI:0123456789012345:",
        "bt": 1693136532.83,
        "n": "temperature",
        "t": -16,
        "u": "Cel",
        "v": 21
    },
    {
        "n": "humidity",
        "t": -10,
        "u": "%RH",
        "v": 32
    },
    {
        "n": "accelerationX",
        "u": "m/s2",
        "v": 0.15566111111111108
    },
    {
        "n": "accelerationY",
        "u": "m/s2",
        "v": 0.31132222222222217
    },
    {
        "n": "accelerationZ",
        "u": "m/s2",
        "v": 0.46698333333333325
    },
    {
        "n": "illuminance",
        "u": "lx",
        "v": 354
    },
    {
        "n": "CO2Concentration",
        "u": "ppm",
        "v": 478
    },
    {
        "n": "CO2",
        "u": "ppm",
        "v": 478
    },
    {
        "n": "batteryVoltage",
        "u": "V",
        "v": 3.245
    },
    {
        "n": "analog1",
        "u": "V",
        "v": 57.071
    },
    {
        "n": "pulse",
        "u": "count",
        "v": 61438
    },
    {
        "n": "pulseAbsolute",
        "u": "count",
        "v": 2144202751
    },
    {
        "n": "temperatureExternal1",
        "u": "Cel",
        "v": 21.7
    },
    {
        "n": "digitalExternal",
        "vb": true
    },
    {
        "n": "distance",
        "u": "m",
        "v": 4.643
    },
    {
        "n": "motion",
        "u": "count",
        "v": 255
    },
    {
        "n": "temperatureIRInternal",
        "u": "Cel",
        "v": 24.5
    },
    {
        "n": "temperatureIRExternal",
        "u": "Cel",
        "v": 23
    },
    {
        "n": "occupancy",
        "u": "count",
        "v": 2
    },
    {
        "n": "waterLeak",
        "u": "count",
        "v": 0
    },
    {
        "n": "grideye0-0",
        "u": "Cel",
        "v": 16
    },
    {
        "n": "grideye1-0",
        "u": "Cel",
        "v": 16.1
    },
    {
        "n": "grideye2-0",
        "u": "Cel",
        "v": 16.2
    },
    {
        "n": "grideye3-0",
        "u": "Cel",
        "v": 16.3
    },
    {
        "n": "grideye4-0",
        "u": "Cel",
        "v": 16.4
    },
    {
        "n": "grideye5-0",
        "u": "Cel",
        "v": 16.5
    },
    {
        "n": "grideye6-0",
        "u": "Cel",
        "v": 16.6
    },
    {
        "n": "grideye7-0",
        "u": "Cel",
        "v": 16.7
    },
    {
        "n": "grideye0-1",
        "u": "Cel",
        "v": 16.8
    },
    {
        "n": "grideye1-1",
        "u": "Cel",
        "v": 16.9
    },
    {
        "n": "grideye2-1",
        "u": "Cel",
        "v": 17
    },
    {
        "n": "grideye3-1",
        "u": "Cel",
        "v": 17.1
    },
    {
        "n": "grideye4-1",
        "u": "Cel",
        "v": 17.2
    },
    {
        "n": "grideye5-1",
        "u": "Cel",
        "v": 17.3
    },
    {
        "n": "grideye6-1",
        "u": "Cel",
        "v": 17.4
    },
    {
        "n": "grideye7-1",
        "u": "Cel",
        "v": 17.5
    },
    {
        "n": "grideye0-2",
        "u": "Cel",
        "v": 17.6
    },
    {
        "n": "grideye1-2",
        "u": "Cel",
        "v": 17.7
    },
    {
        "n": "grideye2-2",
        "u": "Cel",
        "v": 17.8
    },
    {
        "n": "grideye3-2",
        "u": "Cel",
        "v": 17.9
    },
    {
        "n": "grideye4-2",
        "u": "Cel",
        "v": 18
    },
    {
        "n": "grideye5-2",
        "u": "Cel",
        "v": 18.1
    },
    {
        "n": "grideye6-2",
        "u": "Cel",
        "v": 18.2
    },
    {
        "n": "grideye7-2",
        "u": "Cel",
        "v": 18.3
    },
    {
        "n": "grideye0-3",
        "u": "Cel",
        "v": 18.4
    },
    {
        "n": "grideye1-3",
        "u": "Cel",
        "v": 18.5
    },
    {
        "n": "grideye2-3",
        "u": "Cel",
        "v": 18.6
    },
    {
        "n": "grideye3-3",
        "u": "Cel",
        "v": 18.7
    },
    {
        "n": "grideye4-3",
        "u": "Cel",
        "v": 18.8
    },
    {
        "n": "grideye5-3",
        "u": "Cel",
        "v": 18.9
    },
    {
        "n": "grideye6-3",
        "u": "Cel",
        "v": 19
    },
    {
        "n": "grideye7-3",
        "u": "Cel",
        "v": 19.1
    },
    {
        "n": "grideye0-4",
        "u": "Cel",
        "v": 19.2
    },
    {
        "n": "grideye1-4",
        "u": "Cel",
        "v": 19.3
    },
    {
        "n": "grideye2-4",
        "u": "Cel",
        "v": 19.4
    },
    {
        "n": "grideye3-4",
        "u": "Cel",
        "v": 19.5
    },
    {
        "n": "grideye4-4",
        "u": "Cel",
        "v": 19.6
    },
    {
        "n": "grideye5-4",
        "u": "Cel",
        "v": 19.7
    },
    {
        "n": "grideye6-4",
        "u": "Cel",
        "v": 19.8
    },
    {
        "n": "grideye7-4",
        "u": "Cel",
        "v": 19.9
    },
    {
        "n": "grideye0-5",
        "u": "Cel",
        "v": 20
    },
    {
        "n": "grideye1-5",
        "u": "Cel",
        "v": 20.1
    },
    {
        "n": "grideye2-5",
        "u": "Cel",
        "v": 20.2
    },
    {
        "n": "grideye3-5",
        "u": "Cel",
        "v": 20.3
    },
    {
        "n": "grideye4-5",
        "u": "Cel",
        "v": 20.4
    },
    {
        "n": "grideye5-5",
        "u": "Cel",
        "v": 20.5
    },
    {
        "n": "grideye6-5",
        "u": "Cel",
        "v": 20.6
    },
    {
        "n": "grideye7-5",
        "u": "Cel",
        "v": 20.7
    },
    {
        "n": "grideye0-6",
        "u": "Cel",
        "v": 20.8
    },
    {
        "n": "grideye1-6",
        "u": "Cel",
        "v": 20.9
    },
    {
        "n": "grideye2-6",
        "u": "Cel",
        "v": 21
    },
    {
        "n": "grideye3-6",
        "u": "Cel",
        "v": 21.1
    },
    {
        "n": "grideye4-6",
        "u": "Cel",
        "v": 21.2
    },
    {
        "n": "grideye5-6",
        "u": "Cel",
        "v": 21.3
    },
    {
        "n": "grideye6-6",
        "u": "Cel",
        "v": 21.4
    },
    {
        "n": "grideye7-6",
        "u": "Cel",
        "v": 21.5
    },
    {
        "n": "grideye0-7",
        "u": "Cel",
        "v": 21.6
    },
    {
        "n": "grideye1-7",
        "u": "Cel",
        "v": 21.7
    },
    {
        "n": "grideye2-7",
        "u": "Cel",
        "v": 21.8
    },
    {
        "n": "grideye3-7",
        "u": "Cel",
        "v": 21.9
    },
    {
        "n": "grideye4-7",
        "u": "Cel",
        "v": 22
    },
    {
        "n": "grideye5-7",
        "u": "Cel",
        "v": 22.1
    },
    {
        "n": "grideye6-7",
        "u": "Cel",
        "v": 22.2
    },
    {
        "n": "grideye7-7",
        "u": "Cel",
        "v": 22.3
    },
    {
        "n": "pressure",
        "u": "Pa",
        "v": 27054496
    },
    {
        "n": "soundPeak",
        "u": "dB",
        "v": 64
    },
    {
        "n": "soundAverage",
        "u": "dB",
        "v": 40
    },
    {
        "n": "Pulse2",
        "u": "count",
        "v": 235
    },
    {
        "n": "pulseAbsolute2",
        "u": "count",
        "v": 122
    },
    {
        "n": "analog2",
        "u": "V",
        "v": 17.767
    },
    {
        "n": "temperatureExternal2",
        "u": "Cel",
        "v": 28.1
    },
    {
        "n": "digitalIn2",
        "vb": true
    },
    {
        "n": "timeOrigin",
        "vs": "NETWORK"
    }
]
```

**Short payload**

```json
[
    {
        "bn": "urn:dev:DEVEUI:0123456789012345:",
        "bt": 1704798016.891,
        "v": 17,
        "n": "temperature",
        "u": "Cel"
    },
    {
        "v": 32,
        "n": "humidity",
        "u": "%RH"
    },
    {
        "v": 262,
        "n": "illuminance",
        "u": "lx"
    },
    {
        "v": 1391,
        "n": "CO2Concentration",
        "u": "ppm"
    },
    {
        "v": 1391,
        "n": "CO2",
        "u": "ppm"
    },
    {
        "v": 3.607,
        "n": "batteryVoltage",
        "u": "V"
    },
    {
        "n": "timeOrigin",
        "vs": "NETWORK"
    }
]
```

### ‹ Encoded device commands

* Protocol: LoRa downlink
* Description: Set the send interval and reboot, or let device calibrate CO2 Sensor.
* Multiple commands in one downlink: Yes

Input mapping:

* Name: `interval`
  * Value: `5m` (translates into → `3E06140000012CFE`)
  * Value: `10m` (translates into → `3E061400000258FE`)
  * Value: `15m` (translates into → `3E061400000384FE`)
* Name: `calibrateCO2`
  * Value: `nowWithABC` (translates into → `3E031201FE`)
  * Value: `nowWithoutABC` (translates into → `3E031203FE`)
  * Value: `autoOn` (translates into → `3E031200FE`)
  * Value: `autoOff` (translates into → `3E031202FE`)
* Name: `nfcLockPrefix`
  * Value: `set` (translates into → `3E0620`)
* Name: `nfcLockPincode` (raw input)
* Name: `nfcLockPostfix`
  * Value: `set` (translates into → `FE`)
* Name: `nfcUnlock`
  * Value: `now` (translates into → `3E062000000000FE`)
