This document describes version 5 of the configuration payload introduced with Firmware V3.10.0
Older versions of this document:
This payload is used to remotely read / write device configurations over LoRaWAN.
Byte | Property | Description | Uplink Values | Downlink Values |
---|---|---|---|---|
0 | Vendor ID | Always 0xbe for Parametric Devices | be | ignored (*) |
1 | DeviceFamily | Always 0x01 for PCR2 Devices | 01 | ignored (*) |
2 | PayloadVersion | Always 0x05 for V5 Payloads | 05 | ignored (*) |
3 | DeviceType | 00: PCR2-IN 01: PCR2-OD 02: PCR2-R 03: PCR2-T 04: PCR2-XIO |
00-04 | ignored (*) |
4:6 | Firmware | Device Firmware Version, 0x030A00 = V3.10.0 | 030A00-030Aff | ignored (*) |
7 | OperatingMode | 00: Timespan 01: Not Zero 02: Trigger 03: CapacityAlert |
00-03 | 00-03 |
8 | PayloadType | 00: ELSYS 01: Cayenne LPP 02: Extended (Recommended) |
00-02 | 00-02 |
9 | DeviceClass | 00: Class A 02: Class C |
00 or 02 | 00 or 02 |
10 | UplinkType | 00: Uncofirmed 01: Confirmed |
00 or 01 | 00 or 01 |
11:12 | UplinkInterval | 1-1440 Minutes | 0001-05a0 | 0001-05a0 |
13:14 | LinkCheckInterval | 1-1440 Minutes, 0 = No LinkChecks | 0000-05a0 | 0000-05a0 |
15:16 | CapacityLimit | 0-65535 Objects | 0000-ffff | 0000-ffff |
17:18 | HoldoffTime | 0-600s | 0000-0258 | 0000-0258 |
19:20 | InactivityTimeout | 1-1440 Minutes, 0 = Off | 0000-05a0 | 0000-05a0 |
21 | RadarEnabled | 00: Radar Module is disabled, 01: is enabled | 00-01 | 00-01 |
22 | BeamAngle | 30-80° Radar Detection Beam | 1e-50 | 1e-50 |
23:24 | MinDist | Min Distance to Target 10-3000 cm | 000a-0bb8 | 000a-0bb8 |
25:26 | MaxDist | Max Distance to Target 10-3000 cm | 000a-0bb8 | 000a-0bb8 |
27 | MinSpeed | Min Detection Speed 1-MaxSpeed km/h | 01-50 | 1e-50 |
28 | MaxSpeed | Max Detection Speed MinSpeed-80km/h | 01-50 | 1e-50 |
29 | RadarAutotune | Radar Autotuning, 01: active | 00 or 01 | 00 or 01 |
30 | RadarSensitivity | Radar Sensitivity, 100% = very sensitive | 0a-64 | 0a-64 |
31:33 | SBXFirmware | Solar Charger Module Firmware Version, 0x040101 = V4.1.1 | 040000-04ffff | ignored (*) |
(*) These fields values are ignored by the device when downlinking this payload
These examples show some example configuration payloads you might use as a starting point.
Default Settings be010500030a0000020001000a05a00000000000780128003200c80107003c040101
Uplink | Port 190 |
Downlink | Port 190 |
PCR2 devices accept downlink messages to Port 190 in the above format.
After sending the downlink to Port 190 it might take up to the Interval Time before PCR2 receives the data. (PCR2 are Class A devices)
As soon as the device received a proper Configuration Payload it parses the values and restarts with the new settings. Join procedure will start again and you should get the same Configuration Payload you sent before.
Note: Byte 0-6 are read only ROM values and cannot be changed
You can use a config string sent by the device after joining the network and modify it manually. You could also use the PCR Setup tool to generate this string.
PCR2 devices are sending a uplink with this configuration string using Port 190. This is done at least once after devices joined the network.
Saving this information on your application server allows you to always know about your device settings.
Always check for port 190 prior to decoding a configuration payload. Additionally you could also check Bytes 0-2.
// check for valid pcr2 config payload V5
if ( port == 190 && bytes[0] == 0xbe && bytes[1] == 0x01 && bytes[2] == 0x05 )
{
// decode it
}
Find more example code in our public repository.