Cayenne LPP historical data

How does the LPP codec handle the LPP 2.0 “historical data” type? As I understand this data type, it allows you to send a payload of past data. How does this data get timestamped and passed along to the database?

I think it would be desirable if the timestamps of the historical data were used.

I have to look into LPP 2.0. I’ll come back on this :slight_smile:

Is the LPP 2.0 standard fully defined? I don’t see anything here: This is the format that is implemented by LoRa App Server.

I do see this discussion:, but I’m not sure if this is defined. I don’t think a forum is a good place to use as a reference to implement a specification :wink:

Yeah, I haven’t been able to determine if the 2.0 spec has been finalized or even when it might be finalized. Not much discussion about this that I can find anywhere so far.

Hello @brocaar and @sslupsky,

It seems that LPP 2.0 was defined:

I wonder if loraserver support LPP 2.0

With best regards


I don’t see a reference to LPP 2.0 on that page? However the data types on the page you linked to are supported by LoRa App Server.

There is a reference in the LPP 2.0 discussion thread that talks about “History Sensor Data” (see below). The author of the thread (appears to be a myDevice’s guy) suggests that all of the data types disclosed are supported in the LPP spec but that the official docs have not been updated.

Does the App Server support this type of data format with the delta timestamp?

4.4. History Sensor Data

When sending history data, the data channel is identified with the Frame Port. The device must send data on the Frame Port equals to the data channel added to 100.

Frame Port = Data Channel + 100

First byte of the Payload must be the Data Type, then each data is prefixed with the time elapsed between the measurement and the frame TX, expressed in seconds with a 2 bytes integer.

1 Byte 2 Bytes N Bytes 2 Bytes N Bytes
Data Type Delta1 Data(t-Delta1) Delta2 Data(t-Delta2)

This is not (yet) supported, but I would welcome contributions for this :slight_smile:

Hi All,
I presume this is still the case, as it doesn’t look like any cayenne_lpp code actually supports this feature yet. :upside_down_face: