Support for batch report comming from devices
Is your feature request related to a problem? Please describe. Some LoRa Device doesn't send only unitary frames. They can send also a batch of telemetry inside the same payload. Each telemetry has it's own timestamp inside this batch. The batch is considered as an unitary telemetry message.
Describe the solution you'd like I would sugest to have a simple contract between the Network Server and the decoders that specify an array of telemetry item as a result of decoding. In that way the network server could iterate through the results to post each messages separatly. Since each message have a timestamp, the NetworkServer should also take that timestamp and set a message property comming from that timestamp.
Describe alternatives you've considered Actually, we need to use a specific Edge Module to flatten the messages... but we would loose the original sender at that time.
Additional context Exemple for the decoding context:
{
"batch_counter": 0,
"batch_relative_timestamp": 35400,
"batch_absolute_timestamp": "2021-10-05T12:11:53.058",
"dataset": [
{
"data_relative_timestamp": 811,
"data": {
"value": 2400,
"label": 0,
"label_name": "Temperature"
},
"data_absolute_timestamp": "2021-10-05T02:35:24.058Z"
},
{
"data_relative_timestamp": 841,
"data": {
"value": 2420.0,
"label": 0,
"label_name": "Temperature"
},
"data_absolute_timestamp": "2021-10-05T02:35:54.058Z"
},
{
"data_relative_timestamp": 811,
"data": {
"value": 4500,
"label": 1,
"label_name": "RelativeHumidity"
},
"data_absolute_timestamp": "2021-10-05T02:35:24.058Z"
},
{
"data_relative_timestamp": 841,
"data": {
"value": 5400.0,
"label": 1,
"label_name": "RelativeHumidity"
},
"data_absolute_timestamp": "2021-10-05T02:35:54.058Z"
},
{
"data_relative_timestamp": 811,
"data": {
"value": 20.0,
"label": 2,
"label_name": "Luminosity"
},
"data_absolute_timestamp": "2021-10-05T02:35:24.058Z"
},
{
"data_relative_timestamp": 841,
"data": {
"value": 320.0,
"label": 2,
"label_name": "Luminosity"
},
"data_absolute_timestamp": "2021-10-05T02:35:54.058Z"
},
{
"data_relative_timestamp": 844,
"data": {
"value": 0,
"label": 3,
"label_name": "Disposable_BatteryLevel"
},
"data_absolute_timestamp": "2021-10-05T02:35:57.058Z"
},
{
"data_relative_timestamp": 840,
"data": {
"value": 3000,
"label": 4,
"label_name": "Rechargeable_BatteryLevel"
},
"data_absolute_timestamp": "2021-10-05T02:35:53.058Z"
}
]
}