Uplink Message
{
"DevEUI_uplink": {
"Time": "2024-12-17T09:16:55.911+00:00",
"DevEUI": "0018B20000000BEE",
"FPort": 1,
"FCntUp": 368,
"LostUplinksAS": 0,
"ADRbit": 1,
"MType": 4,
"FCntDn": 370,
"payload_hex": "9e184856043000211770baae0bc9",
"mic_hex": "d0ffa164",
"Lrcid": "000000CB",
"LrrRSSI": -84.0,
"LrrSNR": 9.75,
"LrrESP": -84.437256,
"SpFact": 7,
"SubBand": "G1",
"Channel": "LC3",
"Lrrid": "10001273",
"Late": 0,
"LrrLAT": 47.934113,
"LrrLON": 1.196017,
"Lrrs": {
"Lrr": [
{
"Lrrid": "10001273",
"Chain": 0,
"LrrRSSI": -84.0,
"LrrSNR": 9.75,
"LrrESP": -84.437256
}
]
},
"DevLrrCnt": 1,
"CustomerID": "100002164",
"CustomerData": {
"loc": null,
"alr": {
"pro": "ADRF/FIELD",
"ver": "1"
},
"tags": ["Site=Paris", "Key=Value", "Bruno Devices"],
"doms": [],
"name": "Adeunis FieldTester #Bruno"
},
"BaseStationData": {
"doms": [
{ "n": "EMEA/France", "g": "Geography" },
{ "n": "TempMonitoring", "g": "Use Case" }
],
"name": "Paris Office"
},
"ModelCfg": "1:ShowRoomTag",
"DriverCfg": {
"mod": {
"pId": "adeunis",
"mId": "field-test",
"ver": "1"
},
"app": {
"pId": "adeunis",
"mId": "field-test",
"ver": "1"
},
"id": "actility:adeunis-field-test:1"
},
"InstantPER": 0.0,
"MeanPER": 0.0,
"DevAddr": "040006CC",
"AckRequested": 1,
"rawMacCommands": "",
"TxPower": 2.0,
"NbTrans": 1,
"Frequency": 868.5,
"DynamicClass": "A",
"PayloadEncryption": 0,
"payload": {
"triggeredByAccelerometer": false,
"triggeredByPushbutton": false,
"temperature": 24,
"gps": {
"latitude": { "hemisphere": "NORTH", "degrees": 48, "minutes": 56.043 },
"longitude": { "hemisphere": "EAST", "degrees": 2, "minutes": 11.77 }
},
"uplinkFrameCounter": 186,
"downlinkFrameCounter": 174,
"batteryVoltage": 3017
},
"points": {
"temperature": { "unitId": "Cel", "record": 24 },
"location": { "unitId": "GPS", "record": [1.1962, 47.934] },
"batteryVoltage": { "unitId": "mV", "record": 3017 },
"batteryLevel": { "unitId": "%", "record": 81.54 }
},
"downlinkUrl": "https://community.thingpark.io/iot-flow/downlinkMessages/387c6d87-9e12-4d1a-bbe8-a005074d4961"
}
}
Note
If decoding fails, the payloadDecodedError
field provides the error reason. See Decoding failure
Message Structure
- All uplink (UL) and downlink (DL) messages use JSON format.
- All datetime values follow the ISO-8601 format.
The connection configuration can impact the output format, such as applied processors.
Uplink Example
Important Note
For more information, refer to the full documentation. You can find endpoint details, examples, and descriptions of all fields.
Device Properties
Property | Description |
---|---|
Time | Time when the message is sent. |
DevEUI | ID of the device that sent the message. |
FPort | Port used by the device. |
FCntUp | Uplink frame counter, to track lost frames. |
ADRbit | ADR bit set by the device (0 or 1). |
MType | LoRaWAN® MType of the packet (0-7). |
FCntDn | Downlink frame counter. |
payload_hex | Encrypted message payload. |
mic_hex | MIC in hexadecimal ASCII format. |
CustomerID | ID of the customer. |
InstantPER | Instant Packet Error Rate (PER). Float value. |
MeanPER | Mean Packet Error Rate (PER). Float value. |
DevAddr | Device address in hexadecimal format. |
AckRequested | Acknowledgment requested (0 or 1). |
rawMacCommands | Hexadecimal dump of LoRaWAN® MAC options/payload. |
NbTrans | Number of transmissions requested for each uplink message. |
TxPower | Transmission power of the device (in dBm). |
Gateway Properties
Property | Description |
---|---|
Lrcid | ID of the LRC that processed the packet. |
LrrRSSI | Signal strength received by the gateway (including noise). |
LrrSNR | Signal-to-noise ratio (-20 to 19). Higher values indicate a cleaner signal. |
SpFact | Spreading factor used by the device (7 to 12). |
SubBand | Sub-band used by the device. |
Channel | Channel used to send the packet. |
DevLrrCnt | Frame counter for the gateway. |
Lrrid | ID of the gateway. |
Late | Indicates if the packet was queued by the LRR (0: no, 1: yes). |
LrrLAT | Latitude of the gateway. |
LrrLON | Longitude of the gateway. |
Message Properties
Property | Description |
---|---|
ModelCfg | Internal routing configuration for the output connection. |
DriverCfg.mod | Device model definition. |
DriverCfg.app | Application protocolId used by the device. |
DriverCfg.id | Driver ID used to decode the payload. See Supported Drivers. |
payloadDecodedError | Error message when decoding the payload fails. |
payload | Contains the decoded payload. |
points | Actility standardized decoded driver data. See Ontology. |
Error while decoding the message
When an uplink is not properly decoded due to any possible reason, the payload received while look similar to this:
{
"DevEUI_uplink": {
"Time": "2022-02-09T12:45:00.380+00:00",
"DevEUI": "70B3D531C00027C8",
"FPort": 1,
"FCntUp": 80,
"ADRbit": 1,
"MType": 2,
"FCntDn": 3,
"payload_hex": "4c0500021d0f3701573c627f38385a553c313b343d3937301b2b292c201e221f161611120a0a0a07",
"mic_hex": "50e6783d",
"Lrcid": "000000CB",
xxxxxxxx
"TxPower": 13,
"NbTrans": 1,
"Frequency": 867.1,
"DynamicClass": "A",
"payloadDecodedError": {
"code": "com-5002",
"message": "driver internal error: Error: Invalid fPort!"
}
}
}
Legacy format
When you expect to receive the legacy format (Dx-Dataflow product), on your connection configuration, you need to set the parameter sendMetadata=true
.
{
"Time": "2020-01-06T12:46:54.285+01:00",
"DevEUI": "20635F0108000E09",
"FPort": 17,
"FCntUp": 265,
"ADRbit": 1,
"MType": 2,
"FCntDn": 9,
"payload_hex": "0520be8800400108c9000000",
"mic_hex": "3bcf2927",
"Lrcid": "00000127",
"LrrRSSI": -65.0,
"LrrSNR": 9.5,
"SpFact": 7,
"SubBand": "G1",
"Channel": "LC3",
"DevLrrCnt": 2,
"Lrrid": "08050376",
"Late": 0,
"LrrLAT": 43.615501,
"LrrLON": 7.066182,
"Lrrs": {
"Lrr": [
{
"Lrrid": "08050376",
"Chain": 0,
"LrrRSSI": -65.0,
"LrrSNR": 9.5,
"LrrESP": -65.461838
},
{
"Lrrid": "C0001BC3",
"Chain": 0,
"LrrRSSI": -69.0,
"LrrSNR": 8.75,
"LrrESP": -69.543648
}
]
},
"CustomerID": "100002164",
"CustomerData": {
"alr": {
"pro": "ABEE/APY",
"ver": "1"
}
},
"ModelCfg": "1:TWA_100002157.11278.AS",
"DriverCfg": {
"app": {
"mId": "asset-tracker",
"pId": "abeeway",
"ver": "1"
},
"id": "abeeway:asset-tracker:1"
},
"payload": {
"messageType": "HEARTBEAT",
"mode": "MOTION_TRACKING",
"batteryVoltage": 3.85,
"ackToken": 0,
"firmwareVersion": "1.8.201",
"bleFwVersion": "0.0.0",
"resetCause": 40,
"periodicPosition": false,
"temperature": 24.8,
"userAction": 0,
"appState": 0,
"moving": false,
"onDemand": false,
"payload": "0520be8800400108c9000000",
"InstantPER": 0.0,
"MeanPER": 0.0,
"DevAddr": "055E1C4E",
"AckRequested": 0,
"rawMacCommands": "",
"TxPower": 2.0,
"NbTrans": 1,
"Frequency": 867.9,
"DynamicClass": "A"
}
}