KPN Conditionsensor CO2 II

KPN Conditionsensor CO2 II

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

DecodersdecoderSpecificationUUIDDescription

+ LoRa Geolocation data

cd23156d-6b57-42fd-b6f5-ecacd6c9bcb1

Add LoRa Geolocation 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'

EncodersencoderSpecificationUUIDDescription

‹ 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 data to messages where location could be calculated.

› Decoded payload for environment monitoring

Decoder for v9 Elsys ERS payload.

Expected SenML records

nametypeunit

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 ts instead of negative ts.

  • acceleration values were processed as unsigned values, but they should have been processed as signed values.

This decoder also decodes Geolocation and Local Gateway data.

The following SenML records can be present, amongst others:

nametypeunitexampledescription

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

0: No detection 1: Entering/leaving 2:Occupied

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

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.

Long payload

[
    {
        "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

[
    {
        "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)

Last updated